A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1
【参考答案】:
B
3.若有以下定义和语句:
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
【参考答案】:
D
4.执行以下程序段后,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
【参考答案】:
B
5.在以下对C语言的描述中,正确的是()。
A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B.C语言函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C语言程序中有定义关系的所有函数都必须放在同一源文件中
【参考答案】:
A
6.下列说法中正确的是()。
A.break用在switch语句中,而continue用在循环语句中。
B.break用在循环语句中,而continue用在switch语句中。
C.break能结束循环,而continue只能结束本次循环。
D.continue能结束循环,而break只能结束本次循环。
【参考答案】:
C
7.以下程序的输出结果是()。
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
【参考答案】:
C
8.下面描述中,不正确的是()。
A.递归法的关键是必须有一个递归终止的条件。
B.递归算法要求语言具有反复自我调用子程序的能力。
C.对于同一个问题,递推算法比递归算法的执行时间要长。
D.递推算法总可以转换为一个递归算法。
【参考答案】:
C
9.不能正确为字符数组输入数据的是()。
A.chars[5];scanf(“%s”,s); B.chars[5];scanf(“%s”,s); C.chars[5];scanf(“%s”,s[0]); D.chars[5];gets(s);
【参考答案】:
A
10.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时()。
A."r" B."w" C."wb" D."ab"
【参考答案】:
A
11.说明语句"int(*p)();"的含义是()。
A.p是一个指向一维数组的指针变量 B.p是一个指针变量,指向一个整型数据 C.p是一个指向函数的指针,该函数的返回值是一个整型 D.以上都不对
【参考答案】:
C
12.已知:
intx=1,y=2,z;则执行z=x>y?
++x:
++y;则z的值为()。
A.1 B.2 C.3 D.4
【参考答案】:
C
13.执行下列程序段后,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
【参考答案】:
B
14.若intx;则执行下列程序段后输出是()。
for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x);}
A.63 B.62 C.74 D.73
【参考答案】:
C
15.C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是()。
A.编辑和编译 B.编译和连接 C.连接和运行 D.编辑和运行
【参考答案】:
D
16.执行下面的语句后x的值为()。
inta=14,b=15,x;charc='A';x=((a&b)&&(c<'a'));
A.TRUE B.FLASE C.0 D.1
【参考答案】:
D
17.main(argc,argv)中形式参数argv的正确说明形式应当为()。
A.char*argv[] B.charargv[][] C.charargv[] D.char*argv
【参考答案】:
A
18.下列对字符串的定义中错误的是()。
A.charstr[7]="FORTRAN" B.charstr[]="FORTRAN" C.char*str="FORTRAN" D.charstr[]={'F','O','R','T','R','A','N','
【参考答案】:
A
19.利用fseek函数可以()。
A.改变文件的位置指针 B.实现文件的顺序读写 C.实现文件的随机读写 D.以上答案均正确
【参考答案】:
D
20.已知:
structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a的正确引用是()。
A.(*p).data.a B.(*p).a C.p-data.a D.p.data.a
【参考答案】:
B
21.已知:
inta,*p=&a;则下列函数调用中错误的是()
A.scanf("%d",a); B.scanf("%d",p); C.printf("%d",a); D.printf("%d",p);
【参考答案】:
D
22.以下对C语言中联合类型数据的正确叙述是()。
A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B.一个联合变量中可以同时存放其所有成员 C.一个联合变量中不能同时存放其所有成员 D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
【参考答案】:
C
23.在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。
A.称为函数的直接递归 B.称为函数的间接递归 C.称为函数的递归定义 D.C语言中不允许这样的递归形式
【参考答案】:
B
24.已知:
chars[10],*p=s,则在下列语句中,错误的语句是()。
A.p=s5; B.s=ps; C.s[2]=p[4]; D.*p=s[0];
【参考答案】:
B
25.执行以下程序段后,c3的值是()。
intc1=1,c2=2,c3;c3=c1/c2;
A.0 B.1/2 C.0.5 D.1
【参考答案】:
D
26.已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。
A.1 B.0 C.4 D.5
【参考答案】:
B
27.if语句的控制条件()。
A.只能用关系表达式 B.只能用关系表达式或逻辑表达式 C.只能用逻辑表达式 D.可以是任何表达式
【参考答案】:
D
28.若有chara[80],b[80];则正确的是()。
A.puts(a,b); B.printf(“%s,%s”a[],b[]); C.putchar(a,b); D.puts(a);puts(b);
【参考答案】:
D
29.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是()。
A.地址传递 B.值传递 C.由实参传给形参,并由形参传回给实参 D.由用户指定传递方式
【参考答案】:
B
30.要判断char型变量m是否是数字字符,可以使用下列表达式()。
A.0=mm=9 B.'0'=mm='9' C.“0”=mm=“9” D.前3个答案都是错误的
【参考答案】:
D
31.以下()不是C语言的特点。
A.语言的表达能力 B.语言定义严格 C.数据结构系统化 D.控制流程结构化
【参考答案】:
B
32.指出程序结束时,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++;while(a>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;
【参考答案】:
B
33.下面程序的输出结果是()。
main(){inti,j;floats;for(i=6;i>4;i--){s=0.0;for(j=i;j>3;j--)s=s+i*j;}printf(“%f”,s);}
A.135.000000 B.90.000000 C.45.000000 D.60.000000
【参考答案】:
C
34.若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);
【参考答案】:
D
35.已知:
struct{inti;charc;floata;}test;则sizeof(test)的值是()。
A.4 B.5 C.6 D.7
【参考答案】:
D
36.以下程序的输出结果是()。
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
【参考答案】:
B
37.C语言结构类型变量在程序执行期间()。
A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中
【参考答案】:
A
38.下面个选项组中,均属于C语言关键字的一组是()。
A.auto,enum,include B.switch,typedef,continue C.signed,union,scanf D.if,struct,type
【参考答案】:
B
39.以下程序的输出是()。
main(){chara[2][5]={“6937”,”8254”};inti,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d”,s);}
A.6385 B.69825