A.1,2,0
B.2,1,0
C.1,2,1
D.2,1,1
22.main(argc,argv)中形式参数argv的正确说明形式应当为()。
A.char*argv[]
B.charargv[][]
C.charargv[]
D.char*argv
23.以下对C语言中联合类型数据的正确叙述是()。
A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B.一个联合变量中可以同时存放其所有成员
C.一个联合变量中不能同时存放其所有成员
D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
24.执行下列程序段后,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
25.以下()不是C语言的特点。
A.语言的表达能力
B.语言定义严格
C.数据结构系统化
D.控制流程结构化
26.以下程序的输出结果是()。
main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);}
A.1,5,9
B.1,4,7
C.3,5,7
D.3,6,9
27.执行下面的语句后x的值为()。
inta=14,b=15,x;charc='A';x=((a&b)&&(c<'a'));
A.TRUE
B.FLASE
C.0
D.1
28.以下程序的输出结果是()。
main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k);}
A.20
B.21
C.22
D.23
29.已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。
A.0
B.1
C.4
D.5
30.要判断char型变量m是否是数字字符,可以使用下列表达式()。
A.0<=m&&m<=9
B.'0'<=m&&m<='9'
C.“0”<=m&&m<=“9”
D.前3个答案都是错误的
31.若inta,b,c;则为它们输入数据的正确的语句是()。
A.read(a,b,c);
B.scanf("%d%d%d",a,b,c);
C.scanf("%D%D%D",&a,&b,&c);
D.scanf("%d%d%d",&a,&b,&c);
32.下列对字符串的定义中错误的是()。
A.charstr[7]="FORTRAN"
B.charstr[]="FORTRAN"
C.char*str="FORTRAN"
D.charstr[]={'F','O','R','T','R','A','N','
33.在以下对C语言的描述中,正确的是()。
A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B.C语言函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C语言程序中有定义关系的所有函数都必须放在同一源文件中
34.不能正确为字符数组输入数据的是()。
A.chars[5];scanf(“%s”,&s);
B.chars[5];scanf(“%s”,s);
C.chars[5];scanf(“%s”,&s[0]);
D.chars[5];gets(s);
35.已知:
structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a的正确引用是()。
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
36.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时()。
A."r+"
B."w+"
C."wb+"
D."ab+"
37.下列程序段()。
x=3;do{y=x--;if(!
y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2);
A.输出
B.
C.输出##x
D.是死循环
E.有语法错
38.在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。
A.称为函数的直接递归
B.称为函数的间接递归
C.称为函数的递归定义
D.C语言中不允许这样的递归形式
39.以下正确的数组定义语句是()。
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};
40.下面描述中,不正确的是()。
A.递归法的关键是必须有一个递归终止的条件。
B.递归算法要求语言具有反复自我调用子程序的能力。
C.对于同一个问题,递推算法比递归算法的执行时间要长。
D.递推算法总可以转换为一个递归算法。
二、判断题(共10道试题,共20分。
)V1.“%”运算两侧的数据可以是任意类型的数据。
A.错误
B.正确
2.在标准C语言中,在定义带参数的宏时也要定义参的类型。
A.错误
B.正确
3.在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
A.错误
B.正确
4.在C语言的scanf()中可用”%m.nf”形式的格式字符指定输入数据的精度。
A.错误
B.正确
5.在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。
A.错误
B.正确
6."A"是一个字符常串量。
A.错误
B.正确
7.switch(表达式)中的表达式可以是任意类型的表达式。
A.错误
B.正确
8.在C语言中处理文件时文本文件和