北理工20年春季《C语言程序设计》在线作业5docWord文件下载.docx
《北理工20年春季《C语言程序设计》在线作业5docWord文件下载.docx》由会员分享,可在线阅读,更多相关《北理工20年春季《C语言程序设计》在线作业5docWord文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
4.已知:
chars[10],*p=s,则在下列语句中,错误的语句是()。
A.p=s5;
B.s=ps;
C.s[2]=p[4];
D.*p=s[0];
5.以下正确的数组定义语句是()。
A.inty[1][4]={1,2,3,4,5};
B.floatx[3][]={{1},{2},{3}};
C.longs[2][3]={{1},{1,2},{1,2,3}};
D.doublet[][3]={0};
D
6.已知:
inta,*p=&
a;
则下列函数调用中错误的是()
A.scanf("
%d"
a);
B.scanf("
p);
C.printf("
D.printf("
7.执行以下程序段后,c3的值是()。
intc1=1,c2=2,c3;
c3=c1/c2;
A.0
B.1/2
C.0.5
D.1
8.说明语句"
int(*p)();
"
的含义是()。
A.p是一个指向一维数组的指针变量
B.p是一个指针变量,指向一个整型数据
C.p是一个指向函数的指针,该函数的返回值是一个整型
D.以上都不对
9.若在键盘上输入:
283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。
%f"
c);
8.4f"
C.scanf("
%6.2f"
D.scanf("
8f"
10.要判断char型变量m是否是数字字符,可以使用下列表达式()。
A.0=mm=9
B.'
0'
=mm='
9'
C.“0”=mm=“9”
D.前3个答案都是错误的
11.下面个选项组中,均属于C语言关键字的一组是()。
A.auto,enum,include
B.switch,typedef,continue
C.signed,union,scanf
D.if,struct,type
12.指出程序结束时,j、i、k的值分别是()。
main(){inta=10,b=5,c=5,d=5,i=0,j=0,k=0;
for(;
a>
b;
++b)i++;
while(a>
++c)j++;
dok++;
d++);
A.j=5,i=4,k=6;
B.i=5,j=4,k=6;
C.j=6,i=5,k=7
D.j=6,i=6,k=6;
13.若有以下定义和语句:
structstudent{intnum,age;
};
structstudentstu[3]={{1001,20},{1001,19},{1003,21}};
structstudent*p=stu;
则以下错误的引用是()。
A.(p)-num
B.p
C.(*p).num
D.p=stu.age
14.执行下面的语句后x的值为()。
inta=14,b=15,x;
charc='
A'
;
x=((a&
b)&
&
(c<
'
a'
));
A.TRUE
B.FLASE
C.0
15.若inta,b,c;
则为它们输入数据的正确的语句是()。
A.read(a,b,c);
%d%d%d"
a,b,c);
%D%D%D"
16.已知:
structsk{inta;
floatb;
}data,*p;
若有p=&
data,则对data中的成员a的正确引用是()。
A.(*p).data.a
B.(*p).a
C.p-data.a
D.p.data.a
17.下列说法中正确的是()。
A.break用在switch语句中,而continue用在循环语句中。
B.break用在循环语句中,而continue用在switch语句中。
C.break能结束循环,而continue只能结束本次循环。
D.continue能结束循环,而break只能结束本次循环。
18.已知:
intx=1,y=2,z;
则执行z=x>
y?
++x:
++y;
则z的值为()。
A.1
B.2
C.3
D.4
19.以下程序的输出结果是()。
main(){inti,k,a[10],p[3];
k=5;
for(i=0;
i<
10;
i++)a[i]=i;
i++)p[i]=a[i*(i+1)];
i++)k+=p[i]*2;
printf(“%d”,k);
}
A.20
B.21
C.22
D.23
20.下列程序执行的结果是()。
A=1;
b=2;
c=3;
While(b<
a<
c){t=a;
a=b;
b=t;
c--;
}printf(“%d,%d,%d”,a,b,c);
A.1,2,0
B.2,1,0
C.1,2,1
D.2,1,1
21.执行下列程序段后,x、y和z的值分别是()。
intx=10,y=20,z=30;
if(x>
y)z=x;
x=y;
y=z;
A.10,20,30
B.20,30,30
C.20,30,10
D.20,30,20
22.已知“inta=4,b=5,c;
”,则执行表达式“c=a=a>
b”后变量a的值为()。
B.0
C.4
D.5
23.C语言结构类型变量在程序执行期间()。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
24.在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。
A.称为函数的直接递归
B.称为函数的间接递归
C.称为函数的递归定义
D.C语言中不允许这样的递归形式
25.已知:
struct{inti;
charc;
floata;
}test;
则sizeof(test)的值是()。
A.4
B.5
C.6
D.7
26.main(argc,argv)中形式参数argv的正确说明形式应当为()。
A.char*argv[]
B.charargv[][]
C.charargv[]
D.char*argv
27.不能正确为字符数组输入数据的是()。
A.chars[5];
scanf(“%s”,s);
B.chars[5];
C.chars[5];
scanf(“%s”,s[0]);
D.chars[5];
gets(s);
28.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时()。
A."
r"
B."
w"
C."
wb"
D."
ab"
29.if语句的控制条件()。
A.只能用关系表达式
B.只能用关系表达式或逻辑表达式
C.只能用逻辑表达式
D.可以是任何表达式
30.若intx;
则执行下列程序段后输出是()。
for(x=10;
x>
x--){if(x%3)x--;
--x;
printf(“%d”,x);
A.63
B.62
C.74
D.73
31.以下对C语言中联合类型数据的正确叙述是()。
A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B.一个联合变量中可以同时存放其所有成员
C.一个联合变量中不能同时存放其所有成员
D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
32.以下程序的输出结果是()。
main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
i++)printf(“%d,”x[i][2-i]);
A.1,5,9
B.1,4,7
C.3,5,7
D.3,6,9
33.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是()。
A.地址传递
B.值传递
C.由实参传给形参,并由形参传回给实参
D.由用户指定传递方式
34.下列对字符串的定义中错误的是()。
A.charstr[7]="
FORTRAN"
B.charstr[]="
FORTRAN"
C.char*str="
D.charstr[]={'
F'
'
O'
R'
T'
N'
35.下面描述中,不正确的是()。
A.递归法的关键是必须有一个递归终止的条件。
B.递归算法要求语言具有反复自我调用子程序的能力。
C.对于同一个问题,递推算法比递归算法的执行时间要长。
D.递推算法总可以转换为一个递归算法。
36.C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是()。
A.编辑和编译
B.编译和连接
C.连接和运行
D.编辑和运行
37.以下程序的输出是()。
main(){chara[2][5]={“6937”,”8254”};
inti,j,s=0;
2;
i++)for(j=0;
a[i][j]>
a[i][j]<
='
;
j+=2)s=10*s+a[i][j]-‘0’;
printf(“s=%d”,s);
A.6385
B.69825
C.63825
D.693825
38.执行以下程序段后,a,b,c的值分别是()。
inta,b=100,c,x=10,y=9;
a=(--x==y++)?
—x:
++y;
if(x<
9)b=x++;
c=y;
A.9,9,9
B.8,8,10
C.9,10,9
D.1,11,10
39.利用fseek函数可以()。
A.