西南交通大学19春《高级语言程序设计A》在线作业12
西南交《高级语言程序设计A》在线作业一随机作业请核对题目下载,QQ 761296021
1.[单选题]C语言存贮字符串时,用特殊字符( )表示字符串结束
A.’\x0a’ B.’0’
C.13 D.’\0’
正确答案:——D——
2.[单选题]有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为( )
A.4
B.1
C.2
D.3
正确答案:——D——
3.[单选题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include "stdio.h" main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);}
A.k%11
B.k
C.k/11==0
D.k==0
正确答案:——B——
4.[单选题]以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i <n/2;i++) { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(" %d\n ",s);
A.22
B.10
C.34
D.30
正确答案:————
5.[单选题]下面用scanf语句获得从键盘输入的值,正确的语句是:( )
A.inta;scanf(“%d”,&a)
B.chara;scanf(“%s”,&a)
C.inta;scanf(“%d”,a)
D.inta;scanf(“%d”,a);
正确答案:————
6.[单选题]设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.struct ex是结构体类型名
正确答案:————
7.[单选题]以下说法中错误的是( )
A.a*=1;这个式子等价于a=a*1
B.a/=b+c;这个式子和a=a/b+c等价
C.a/=b-c;这个式子等价于a=a/(b-c)
D.a*=b;这个式子等价于a=a*b
正确答案:————
8.[单选题]以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
正确答案:————
9.[单选题]执行以下程序后,a,b的值分别为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); }
A.-1,5
B.1,6
C.0,7
D.4,10
正确答案:————
10.[单选题]设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:————
11.[单选题]C语言开始执行程序的开始执行点是( )
A.程序中第一条可执行的语句
B.程序中第一个函数
C.程序中的main()函数
D.包含文件中的第一个函数
正确答案:————
12.[单选题]若有宏定义:
#define PI3.14
#define S(r)PI*r*r
则主函数中语句s2=S(r+3);宏替换后的结果为( )
A.s2=PI*r+3*r+3
B.s2=3.14*(r+3)*(r+3)
C.s2=3.14*r+3*r+3
D.s2=PI*r*r
正确答案:————
13.[单选题]设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值
scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:( )
A.10076.5
B.a=100,b=76.5
C.10076.5
D.a=100b=76.5
正确答案:————
14.[单选题]如下程序 :
void main( )
{
int i,sum;
for(i=1;i<=5;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是( )
A.死循环
B.3
C.6
D.15
正确答案:————
15.[单选题]一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:————
16.[单选题]选择下列程序的运行结果( )
main()
{
floatx;
int i;
x=3.6;
i=(int)x;
printf(“%2.1f,%d”,x,i);
}
A.3.6,4
B.3,3
C.3.6,3
D.4,3
正确答案:————
17.[单选题]假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A.ABCDEFG 奥鹏作业答案
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
正确答案:————
18.[单选题]C语言允许函数类型缺省定义,此时函数值隐含的类型是
A.float
B.int
C.long
D.double
正确答案:————
19.[单选题]若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是 ( )
A.0
B.0.5
C.1
D.2
正确答案:————
20.[单选题]在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L
正确答案:————
21.[单选题]设有int x=11;则表达式(x++*1/3)的值是
A.3
B.4
C.11
D.12
正确答案:————
22.[单选题]以下不正确的定义语句是
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={′1′,′2′,′3′,′4′,′5′};
D.char c2[]={′\x10′,′\xa′,′\x8′};
正确答案:————
23.[单选题]有以下程序,程序运行的结果是( )
#include “stdio.h”
main()
{
int x=1;
switch(x)
{
case 0: printf(“0\t”); break;
case 1: printf(“1\t”);
case 2: printf(“2\t”);
case 3: printf(“3\t”); break;
default: printf(“error”);
}
}
A.123
B.23
C.23error
D.2
正确答案:————
24.[单选题]下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
A.a=3,b=11
B.a=2,b=8
C.a=1,b=-1
D.a=4,b=9
正确答案:————
25.[单选题]下列符号中,合法的C常量是( )
A.‘\t’
B.079
C.3.5e2.1
D.0xch
正确答案:————
26.[多选题]关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
正确答案:————
27.[多选题]以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:————
28.[多选题]以下不正确的描述是______。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
正确答案:————
29.[多选题]已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A.int pb=&x;
B.int *pb=x;
C.int *pb=&x;
D.*pb=*x
正确答案:————
30.[多选题]在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:————
31.[多选题]对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元( )
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:————
32.[多选题]下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
正确答案:————
33.[多选题]在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
C.rewind ()
D.putw()
正确答案:————
34.[多选题]关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
正确答案:————
35.[多选题]已知:int x,a,b;下列选项中正确的if语句是______。
A.if(a=b) x++;
B.if(a=<b) x++;
C.if(a-b) x++;
D.if(x) x++;
正确答案:————
36.[多选题]下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案:————
37.[多选题]以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
正确答案:————
38.[多选题]以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
正确答案:————
39.[多选题]以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
正确答案:————
40.[多选题]以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
正确答案:————
41.[判断题]宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。
A.错误
B.正确
正确答案:————
42.[判断题]主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:————
43.[判断题]若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A.错误
B.正确
正确答案:————
44.[判断题]C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。()
A.错误
B.正确
正确答案:————
45.[判断题]switch语句中,各个case和default的出现次序不影响执行结果。()
A.错误
B.正确
正确答案:————
46.[判断题]共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A.错误
B.正确
正确答案:————
47.[判断题]C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。()
A.错误
B.正确
正确答案:————
48.[判断题]使用getchar函数可以不添加#include <stdio.h>命令。()
A.错误
B.正确
正确答案:————
49.[判断题]使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”()
A.错误
B.正确
正确答案:————
50.[判断题]模运算符要求两侧均应为整型数据。()
A.错误
B.正确
正确答案:————
西南交《高级语言程序设计A》在线作业二
1.[单选题]阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中
D.程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:——C——
2.[单选题]选择下列程序的运行结果( )
main()
{
floatx;
int i;
x=3.6;
i=(int)x;
printf(“%2.1f,%d”,x,i);
}
A.3.6,4
B.3,3
C.3.6,3
D.4,3
正确答案:——C——
3.[单选题]函数Func的功能是( )
intFunc(char*ptr)
{char*p;
p=ptr;
while (*p++);
return (p-ptr-1);
}
A.比较两个字串的大小
B.求字符串的长度
C.将串ptr复制到p中
D.以上三种说法都不对
正确答案:——B——
4.[单选题]能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是( )
A.a>=5ora<=10
B.a>=5|a<=10
C.a>=5&&a<=10
D.a>=5||a<=10
正确答案:————
5.[单选题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include "stdio.h" main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);}
A.k%11
B.k
C.k/11==0
D.k==0
正确答案:————
6.[单选题]有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是
A.5
B.6
C.9
D.8
正确答案:————
7.[单选题]C语言中,能识别处理的文件为
A.文本文件和数据块文件
B.文本文件和二进制文件
C.流文件和文本文件
D.数据文件和二进制文件
正确答案:————
8.[单选题]以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
正确答案:————
9.[单选题]函数 rewind 的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:————
10.[单选题]若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A.4
B.16
C.32
D.52
正确答案:————
11.[单选题]已知实型变量a存贮的是一个0--1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是( )
A.printf(“%.2f%%”,a*100)
B.printf(“%.2f%”,a)
C.printf(“%.2f%%”,a/100)
D.printf(“%.2f%%”,100*(a+0.5));
正确答案:————
12.[单选题]C语言中运算对象必须是整型的运算符是( )
A.%
B./
C.=
D.<=
正确答案:————
13.[单选题]有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A.13
B.14
C.208
D.209
正确答案:————
14.[单选题]若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是 ( )
A.0
B.0.5
C.1
D.2
正确答案:————
15.[单选题]若有定义:inta,*p=a;,则p+5表示( )
A.元素a的地址
B.元素a的值
C.元素a的地址
D.元素a的值
正确答案:————
16.[单选题]下面语句的运行结果为( ) #include “stdio.h”
#include “string.h”
void main()
{
char str1={“how”};
char str2={“good”};
strcpy(str1,st
A.g
B.how
C.howgood
D.good
正确答案:————
17.[单选题]假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
正确答案:————
18.[单选题]以下不正确的定义语句是
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={′1′,′2′,′3′,′4′,′5′};
D.char c2[]={′\x10′,′\xa′,′\x8′};
正确答案:————
19.[单选题]有以下程序,程序运行的结果是( )
#include “stdio.h”
main()
{
int x=1;
switch(x)
{
case 0: printf(“0\t”); break;
case 1: printf(“1\t”);
case 2: printf(“2\t”);
case 3: printf(“3\t”); break;
default: printf(“error”);
}
}
A.123
B.23
C.23error
D.2
正确答案:————
20.[单选题]有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为( )
A.4
B.1
C.2
D.3
正确答案:————
21.[单选题]下列程序段的输出结果是( )
void fun(int *x, int *y)
{
printf("%d %d", *x, *y);
*x=3; *y=4;
}
void main()
{
int x=1, y=2;
fun(&y,&x);
printf("%d %d", x, y);
}
A.1212
B.2143
C.1234
D.2112
正确答案:————
22.[单选题]下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
A.4
B.6
C.8
D.10
正确答案:————
23.[单选题]能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是( )
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:————
24.[单选题]返回值为void的函数,其含义为( )
A.调用函数之后,被调用的函数没有返回值
B.调用函数之后,被调用的函数不返回
C.调用函数之后,被调用的函数的返回值为任意的类型
D.该类函数不允许被调用
正确答案:————
25.[单选题]C语言开始执行程序的开始执行点是( )
A.程序中第一条可执行的语句
B.程序中第一个函数
C.程序中的main()函数
D.包含文件中的第一个函数
正确答案:————
26.[多选题]以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
正确答案:————
27.[多选题]以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
正确答案:————
28.[多选题]不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
正确答案:————
29.[多选题]以下______是正确的转义字符。( )
A.‘\\'
B.‘\’
C.‘\81'
D.‘\0'
正确答案:————
30.[多选题]对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元( )
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:————
31.[多选题]以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:————
32.[多选题]若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A.以上两处的*p含义相同,都说明给指针变量p赋值
B.语句“*p=r;”把变量r的地址值赋给指针变量p
C.语句“*p=r;”取变量r的值放回r中
D.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
正确答案:————
33.[多选题]C提供的预处理功能主要有______。
A.宏定义
B.文件包含
C.条件编译
D.异常终止
正确答案:————
34.[多选题]关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
正确答案:————
35.[多选题]C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
正确答案:————
36.[多选题]以下不正确的描述是______。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
正确答案:————
37.[多选题]带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
正确答案:————
38.[多选题]下列关于#include命令的叙述中,正确的是______。
A.一个#include命令中只能指定一个被包含文件
B.一个#include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D.#include命令中,文件名可以用双引号或尖括号括起来
正确答案:————
39.[多选题]在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确答案:————
40.[多选题]内存中供用户使用的存储空间可分为:______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
正确答案:————
41.[判断题]putchar()函数可以输出一个字符串
A.错误
B.正确
正确答案:————
42.[判断题]模运算符要求两侧均应为整型数据。()
A.错误
B.正确
正确答案:————
43.[判断题]语句int pt中的*pt是指针变量名。
A.错误
B.正确
正确答案:————
44.[判断题]C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。()
A.错误
B.正确
正确答案:————
45.[判断题]调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
正确答案:————
46.[判断题]switch语句中,多个case可以共用一组执行语句。()
A.错误
B.正确
正确答案:————
47.[判断题]静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A.错误
B.正确
正确答案:————
48.[判断题]共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A.错误
B.正确
正确答案:————
49.[判断题]宏名必须用大写字母表示。
A.错误
B.正确
正确答案:————
50.[判断题]一个int型与一个double型数据进行混合运算时,其结果是double型。
A.错误
B.正确
正确答案:————
附件是答案,转载注明 无忧答案网
页:
[1]