《c选择题判断题(1)(8页).doc》由会员分享,可在线阅读,更多相关《c选择题判断题(1)(8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-c选择题判断题(1)-第 8 页判断题1.C语言源程序文件是可执行文件。 ( ) 2.语言源程序文件必须通过编译连接才能运行。 ( )3.C语言源程序文件通过编译得到的目标文件是可执行文件。 ( )4.可以由多个目标文件连接得到可执行文件。 ( )5.C语言源程序只能是一个单独的文件。 ( )6.C语言源程序有且只有一个main()函数。 ( )7.最简单的C语言源程序可以不包含任何函数。 ( )8.C语言源程序可以由多个函数组成,根据函数在文件中的先后秩序依次执行。( )9.C语言源程序由预处理命令、说明语句和函数组成。 ( )10.C语言源程序由语句组成,按语句在文件中的先后秩序依次执行
2、。 ( )11.C语言自定义函数由语句组成,按语句在文件中的先后秩序依次执行。 ( )12.C语言自定义函数中可以定义变量、函数、宏。 ( )13.C语言自定义函数由预处理命令、说明语句和表达式语句组成。 ( )14.C语言自定义函数中说明语句必须放在所有表达式语句之前。 ( )16.C语言中函数说明可以放在调用函数中,也可以放在所有函数之外。 ( )16.C语言中函数和变量必须先定义后使用,但可以通过函数和变量的说明扩充作用域。( )17.C语言中标识符可用作变量名、函数名、宏名。 ( )18.C语言中由字母、数字下划线组成的符号都是标识符。 ( )19.C语言中所有关键字、预定义标识符都不
3、可用作用户自定义标识符。 ( )20.C语言标识符不可包含空格。 ( )21.C语言标识符的默认类型是int类型的变量。 ( )22.C语言标识符中字母不区分大小写。 ( )23.C语言标识符第一个字符只能是字母。 ( )24.C语言中自定义函数只能有一个返回值,所以不能改变调用函数中一个以上的变量的值。 ( )25.C语言中函数参数传递是值传递,所以不能交换调用函数中两个变量的值。 ( )26.C语言中函数形式参数属于局部变量。 ( )27.主函数中的变量属于全局变量,可以在所有函数中访问。 ( )28.静态变量的生存期与应用程序相同,可以在所有函数中访问。 ( )单项选择题1.设以下变量均
4、为int类型,则值不等于7的表达式是( C )。A.(x=y=6,x+y,x+1) B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y) D.(x=6,x+1,y=x,y+1)2.设变量a是整型,b是实型,c是双精度型,则表达式10+a+b*c值的数据类型为( C )。A.int B.float C.double D.不确定3.设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( D )。A.float B.char C.int D.double4.使用语句scanf(x=%f,y=%f,&x,&y);输入
5、变量x、y的值(代表空格),正确的输入是_C_。A. B. C. D.5.C语言中while和do-while循环的主要区别是( A ).A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合句6.若有说明:int a10;,则对a数组最前面一个元素的正确引用是( D )。A.a10 B.a3.5 C.a(5) D.a10-107.以下对二维数组a进行初始化的语句错误的是( C )。A.int a23=0; B.int a3=1,2,0; C.int a23=1
6、,2,3,4,5,6; D.int a3=1,2,3,4,5,6;8.下述对C语言字符数组的描述中错误的是( C )A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符=对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较9.设i和x 都是int类型,则以下for循环( A )for(i=0,x=0;i=0);A.2 B.3 C.4 D.不定23.若有说明: int i, j=7, *p=&i; , 则与i=j;等价的语句是( B )A.i= *p; B.*p=*&j; C.i=&j; D.i=* *p;24.以下叙述正确的是(
7、 C )。A.在C语言中,每行只能写一条语句。B.若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。C.在C程序中,%只能用于整数运算的运算符。D.在C程序中,无论是整数还是实数,都能被准确无误地表示。25.若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( A )。A. B. C. D.26.若调用一个函数,且函数中没有return语句,则正确的说法是( D )。A.该函数没有返回值 B.返回若干个系统默认值C.能返回一个用户所希望的函数值 D.返回一个不确定的值27.假定有以下变量定义: int
8、 k=7,x=12;则能使值为3 的表达式是( D)A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5)28.以下不正确的语句(设有 int q,p)是( D )。A.p*=3; B.p/=q; C.p+=3; D.p&&=q;29.设int n=3,则+n的结果是( C )。A.2 B.3 C.4 D.530.在执行 int a3=1,2,3,4,5,6;语句后,a10的值是( C )。A.1 B.2 C.4 D.531.在执行 int a3=1,2,3,4,5,6;语句后,a12的值是(D )。A.1 B.2 C.5 D.6
9、32.若有说明 int a3=1,2,3,4,5,6,7;,则a数组第一维的大小是( B )。A.2 B.3 C.4 D.无确定值33.假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b) 的值是( B )。A.7 B.8 C.6 D.234.设以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);则(B ) 。A.运行程序后输出0 B.运行程序后输出1C.程序段中的控制表达式是非法的 D.程序段执行无限次35.已知int i=1; 执行语句while (i+4) ;后,变量i的值为_C_。A.3 B.4 C.5 D.636.设变量a是整型,
10、b是实型,c是双精度型,则表达式10+a+b*c值的数据类型为( C )。A.int B.float C.double D.不确定37.在C语言中,当while语句中的条件为( A )时,结束该循环。A.0 B.1 C.true D.非038.下列四组选项中,均不是C语言关键字的选项是( A )。A.define of type B.getc char printf C.include scanf case D.if struct type39.C语言用( C )表示逻辑“真”值。A.True B.T或Y C.非零整数值 D.整数040.已知x=7,y=3,表达式x/y的值是( B)。A.1
11、B.2 C.0 D.其他值41.已知x=023,表达式+x的值是(C )。A.18 B.19 C.20 D.其他值42.已知x=10,表达式x+=x-=x-x的值是(B )。A.10 B.20 C.30 D.043.温度华氏和摄氏的关系是: C=(5/9)(F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是_B_。A.C=5/9(F-32) B.C=5* F-32)/9 C.C=5/9*(F-32) D.三个表达式都正确44.关系式xyz所对应的表达式是( B)。A.xyz B.( xy)&(y=y)|!(y=z) D.045.设int a=10,则执行完语句a+=a-=a
12、*a后,a的值是( D)。A.99 B.110 C.10018046.下面代表一个16进制整数是( D)。A.A B.65 C.0100 D.0x4147.下面代表一个8进制整数是(C )A.A B.65 C.0100 D.0x4148.设u=1,v=2,w=3,则表达式w=(v=-u)执行完后w的值是( A)。A.3 B.2 C.1 D.049.int x=4,y=5;则执行完表达式x*=y-1后x的值是(A )。A.16 B.0 C.1 D.1950.以下对i,j,k进行说明并赋值的方法中,错误的是(A )。A.int i=j=k=1; B.int i,j,k;i=j=k=1;C.int
13、i=1,j=1,k=1; D.int i=1,j=i,k=i;51.int x=4,y=5;则执行完表达式(x*=y-1,x+1)后x的值是(A )。A.16 B.20 C.17 D.1952.int x,y,z,k;则执行完表达式x=(y=4,z=16,k=32)后,x的值是( C)。A.4 B.16 C.32 D.5253.int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( A)。A.a+=a-=(b=4)*(a=3) B.x%(-3) C.a=a*3=2 D.y=float(i)54.在下列选项中,不正
14、确的赋值语句是( D )A.+t; B.n1=(n2=(n3=0); C.k=i=j; D.a=b+c=1;55.不能把字符串:Hello!赋给数组b的语句是( B )A.char b10=H,e,l,l,o,!; B.char b10; b=Hello!;C.char b10;strcpy(b,Hello!); D.char b10=Hello!;56.int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式(m=ab)&(n=cd)后,n的值是( B)。A.1 B.2 C.3 D.057.下列语句中符合C语言语法的赋值语句是( D)。A.a=0x7bc=a7; B.a=0x7b
15、=a7;C.a=0x7b,b,a7; D.a=0x7b,c=a7;58.在C语言中,下列不正确的转义字符是(C )。A. B.t C.074 D.059.若有定义和语句:int *pp, *p, a=10, b=20;pp=&p; p=&a; p=&b; printf(“%d,%dn”,*p,*pp);则输出结果是(D)A.10,20 B.10,10 C.20,10 D.20,2060.以下程序输出结果是: (D)main()int a,b,c=246;a=c / 100 % 9;b=(1)&(1);printf(“%d,%dn”,a,b);A.2,1 B.3,2 C.4,3 D.2,-161
16、.设有如下的变量定义: int i=8,k,a,b; unsinged long w=5; double x=1.42,y=5.2;则以下符合C语言语法的表达式是(A)A.a+=a-=(b=4)*(a=3) B.x%(-3)C.a=a*3=2 D.y=float(i)62.有如下程序 main() int x=l,a0, b0; switch(x) case 0: b; case 1: a; case 2: a; b十; printf(“ad,bdn”, a, b); 该程序的输出结果是(A)A.a2,b1 B.al,b1 C.al,b0 D.a2,b263.有如下程序 main() floa
17、t x 20, y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x; else y l0; printf(“fn”, y); 该程序的输出结果是( C)A. B. C. D.64.有如下程序 main() int a 2, bl, c 2;if(ab) if(b0) c 0; else c; printf(“dn”,c);该程序的输出结果是 ( C ) A.0 B.1 C.265.有如下程序 main() int i, sum=0; for(i l; i3; sum) sumi; printf(“d n” , sum); 该程序的执行结果是 ( C )A.6 B.3
18、 C.死循环 D.066.有如下程序 main() int x 0; do printf(“%d ”,+x); while(x);该程序的执行结果是 ( D )A.321 B.23 C.不输出任何内容 D.陷入死循环67.有如下程序 main() int n 9; while(n6)n-;printf(“%d” ,n);该程序的执行结果是 ( B ) A.987 B.876 C.8765 D.987668.有如下程序 int func(int a, int b) return(a b); main() int x=2, y 5, z 8, r; r func( func(x, y), z);
19、printf(“%d n” ,r);该程序的输出结果是 ( D ) A.12 B.13 C.14 D.1569.有如下程序 long func(int n) if(n 2) return( func( nl) func( n2); else return(2); main() printf(” ldn” , func( 3);该程序的输出结果是 ( B ) A.2 B.4 C.6 D.870.有如下程序 define N 2 define M N l define NUM 2* Ml main() int i; for( i= 1;iNUM;i)printf (” dn”,i);该程序中的for循环执行的次数是 ( C )A.5 B.6 C.7 D.870.有如下程序 main() int n5= 0 ,i ,j, k 4;for(i=0,j=5; ik; i+,j-) ni+1=ni+j; prinif(” dn” ,nk);该程序的输出结果是 ( D )A.不确定的值 B.9 C.12 D.1471.有如下程序 main() int a33=1,2,3,4,5,6, i,j,s 0; for(i=1;i3;i+) for(j=0;j=i;j+) s=aij; printf(“dn”,s); 该程序的输出结果是 ( A )A.18 B.19 C.20 D.21
限制150内