1、一个C语言程序是由( )。(1分) | A、一个主程序和若干子程序组成 | B、函数组成 | C、若干过程组成 | D、若干子程序组成 | | |
|
2、以下叙述中,正确的是( )。(1分) | A、在C程序中,main函数必须位于程序的最前面 | B、C语言本身没有输入输出语句 | C、C程序的每行只能写一条语句 | D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 | | |
|
3、以下叙述中,正确的是( )。(1分) | A、在C程序中,main函数必须位于程序的最前面 | B、C程序的每行中只能写一条语句 | C、C语言本身没有输入输出语句 | D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 | | |
|
4、若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段( )。(1分) | A、输出的是1 | B、输出的是1和-2 | C、输出的是3和0 | D、是死循环 | | |
|
5、下面四个选项中,均是不合法的转义字符的选项是( )。(1分) | A、'\''、'\\'、'\xf' | B、'\1011'、'\'、 '\xyz' | C、'\011'、'\f'、'\}' | D、'\abc'、'\101'、'xlf' | | |
|
6、设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是( )。(1分) | A、7 | B、8 | C、6 | D、2 | | |
|
7、设以下变量均为int类型,则值不等于7的表达式是( )。(1分) | 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、(y=6,y+l,x=y,x+1) | | |
|
8、设有说明:char w;int x; f1oat y;double z;,则表达式w*x+z-y值的数据类型为( )。(1分) | A、float | B、char | C、int | D、double | | |
|
9、已有定义int x;f1oat y;,且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则x的值为( )。(1分) | A、12345 | B、123 | C、45 | D、345 | | |
|
10、已有定义和输入语句:int a1,a2;char c1,c2;scanf("%d%d",&a1,&a2);scanf("%c%c",&c1,&c2);,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是( )。(1分) | A、1020AB<CR> | B、10 20<CR>AB<CR> | C、10 20 AB<CR> | D、10 20AB<CR> | | |
|
11、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。(1分) | A、必须为字母 | B、必须为下划线 | C、必须为字母或下划线 | D、可以是字母,数字和下划线中任一种字符 | | |
|
12、已知各变量的类型说明如下:int k,a,b;unsigned long w= 5; double x=1.42;,则以下不符合C语言语法的表达式是( )。(1分) | A、x%(-3) | B、w+=-2 | C、k=(a=2,b=3,a+b) | D、a+=a-=(b=4)*(a=3) | | |
|
13、下列运算符中,优先级最高的是( )。(1分) | A、< | B、+ | C、&& | D、!= | | |
|
14、putchar函数可以向终端输出一个( )。(1分) | A、整型变量表达式值 | B、实型变量值 | C、字符串 | D、字符或字符型变量值 | | |
|
15、设exp是一个表达式,若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )。(1分) | A、(exp==0) | B、(exp!=0) | C、(exp==1) | D、(exp!=1) | | |
|
16、若希望当A的值为奇数时,表达式的值为“真”, A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。(1分) | A、A%2==1 | B、!(A%2==0) | C、!(A%2) | D、A%2 | | |
|
17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;,执行(m=a>b)&&(n=c>d)后,n的值为( )。(1分) | A、1 | B、2 | C、0 | D、4 | | |
|
18、执行语句片段:int a,b,c;a=b=c=1;++a||++b&&++c;后,a的值为( )。(1分) | A、错误 | B、0 | C、2 | D、3 | | |
|
19、以下正确的描述是( )。(1分) | A、continue语句的作用是结束整个循环的执行 | B、只能在循环体内和switch语句体内使用break语句 | C、在循环体内使用break语句或continue语句的作用相同 | D、从多层循环嵌套中退出时, 只能使用goto语句 | | |
|
20、下列四组选项中,均不是C语言关键字的选项是( )。(1分) | A、define、IF、type | B、getc、char、printf | C、include、scanf、case | D、while、go、pow | | |
|
21、下面四个选项中,均是不合法的浮点数的选项是( )。(1分) | A、160.、0.12、e3 | B、123、2e4.2、.e5 | C、-.18、123e4、0.0 | D、-e3、.234、1e3 | | |
|
22、下面四个选项中,均是非法常量的选项是( )。(1分) | A、'as'、-0fff、'\0xa' | B、'\\'、'\01'、12,456 | C、-0xl8、01177、0xf | D、0xabc、'\0'、"a" | | |
|
23printf函数的作用是向终端、循环语句for(x=0,y=0;(y=123)&&(x<4);x++); 的执行次数是( )。(1分) | A、是无限循环 | B、循环次数不定 | C、执行4次 | D、执行3次 | | |
|
24、若运行int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);时,给变量x输入12,则以下程序的运行结果是( )(1分) | A、0 | B、22 | C、12 | D、10 | | |
|
25、当a=1,b=3,c=5,d=4,执行程序段:if(a<b)if(c<d)x=1;else if(a<c) if(b<d)x=2;else x=3;else x=6;else x=7;后,x的值是( )。(1分) | A、1 | B、2 | C、3 | D、6 | | |
|
26、以下程序:float a,b;scanf("%f",&a);if(a<10.0)b=1.0/a;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0) b=1.0/x ;else b=10.0;printf("%f\n",y);运行时,输入2.0(回车),则上面程序的输出结果是( )。(1分) | A、0.000000 | B、0.500000 | C、1.000000 | D、0.250000 | | |
|
27、为了避免在嵌套的条件语句If-else中产生二义性,C语言规定else子句总是与( )配对。(1分) | A、缩排位置相同的if | B、其之前最近的if | C、之后最近的if | D、同一行上的if | | |
|
28、以下不正确的语句为( )。(1分) | A、if(x>y); | B、if(x=y) && (x!=0) x+= y; | C、if(x!=y)scanf("%d",&x);else scanf("%d",&y); | D、if(x<y){x++;y++;} | | |
|
29、对for(表达式1;;表达式3)可理解为( )。(1分) | A、for(表达式1;0;表达式3) | B、for(表达式1;1;表达式3) | C、for(表达式1;表达式1;表达式3) | D、for(表达式1;表达式3;表达式3) | | |
|
30、设有程序段:int k=10;while(k=0)k=k-1;,则下面描述中正确的是( )。(1分) | A、while循环执行10次 | B、循环是无限循环 | C、循环体语句一次也不执行 | D、循环体语句执行一次 | | |
|
31、逻辑运算符两侧运算对象的数据类型( )。(1分) | A、只能是0或1 | B、只能是0或非0正数 | C、只能是整型或字符型数据 | D、可以是任何类型的数据 | | |
|
32、在C语言中,一维数组的定义方式为:类型说说明符 数组名( )。(1分) | A、[常量表达式] | B、[整型表达式] | C、[整型常量]或[整型表达式] | D、[整型常量] | | |
|
33、以下能对一维数组a进行正确初始化的语句是( )。(1分) | A、int a[10]=(0,0,0,0,0) | B、int a[10]={} | C、int a[]={0}; | D、int a[10]={10*1}; | | |
|
34、若有说明:int a[10];,则对a数组元素的正确引用是( )。(1分) | A、a[10] | B、a[3.5] | C、a[15] | D、a[10-10] | | |
|
35、下面描述中,正确的是( )。(1分) | A、两个字符串所包含的字符个数相同时,才能比较字符串 | B、字符个数多的字符串比字符个数少的字符串大 | C、字符串" STOP"(注:有一个空格)与"STOP"相等 | D、字符串"That"小于字符串"The" | | |
|
36、判断字符串a和b是否相等,应当使用( )。(1分) | A、if(a= =b) | B、if(a=b) | C、if(strcpy(a,b)) | D、if(strcmp(a,b)) | | |
|
37、以下不能对二维数组a进行正确初始化的语句是( )。(1分) | A、int a[2][3]={0}; | B、int a[][3]={{1,2,3},{4,5,6}}; | C、int a[2][4]={{1,2,3},{4,5}{6}}; | D、int a[][3]={{1,0,1},{},{1,1}}; | | |
|
38、以下各组选项中,均能正确定义二维实型数组a的选项是( )。(1分) | A、float a[3][4];、float a[][4];、float a[3][]={{1},{0}}; | B、float a(3,4);、float a[3][4];、float a[][]={{0},{0}}; | C、float a[3][4];、static float a[][4]={{0},{0}};、auto float a[][4]={{0},{0},{0}}; | D、float a[3][4];、float a[3][];、float a[][4] | | |
|
39、以下能对二维数组a进行正确初始化的语句是( )。(1分) | A、int a[2][]={{1,0,1},{5,2,3}}; | B、int a[][3]={{1,2,3},{4,5,6}}; | C、int a[2][4]={{1,2,3},{4,5},{6}}; | D、int a[][3]={{1,0,1},{},{1,1}}; | | |
|
40、若有说明:int a[3][4];,则数组a各元素( )。(1分) | A、可在程序的运行阶段得到初值0 | B、可在程序的编译阶段得到初值0 | C、不能得到确定的初值 | D、可在程序的编译或运行阶段得初值0 | | |
|
41、以下对二维数组a的正确说明是( )。(1分) | A、int a[3][]; | B、floatf a(3,4); | C、double a[1][4]; | D、float a(3)(4); | | |
|
42、若有说明:int a[3][4];,则对a数组元素的正确引用是( )。(1分) | A、a[2][4] | B、a[1,3] | C、a[1+1][0] | D、a(2)(1) | | |
|
43、对两个数组a和b进行如下初始化:char a[]="ABCDEF";char b[ ]={'A','B','C','D','E','F'};,则以下叙述正确的是( )。(1分) | A、a与b数组完全相同 | B、a与b长度相同 | C、a和b中都存放字符串 | D、a数组比b数组长度长 | | |
|
44、在C语言中,形参的缺省存储类别是( )。(1分) | A、auto | B、register | C、static | D、extern | | |
|
45、若用数组名作为函数调用的实参,传递给形参的是( )。(1分) | A、数组的首地址 | B、数组第一个元素的值 | C、数组中全部元素的值 | D、数组元素的个数 | | |
|
46、以下正确的函数定义形式是( )。(1分) | A、double fun(int x,int y) | B、double fun(int x;int y) | C、double fun(int x,int y); | D、double fun(int x,y); | | |
|
47、在宏定义 #define PI "3.14159" 中,用宏名PI代替一个( )。(1分) | A、常量 | B、单精度数 | C、双精度数 | D、字符串 | | |
|
48、程序段:int arr[]={6,7,8,9,10};int * ptr;ptr=arr;*(ptr+2)+=2;printf("%d,%d\n",*ptr,*(ptr+2));的输出结果为( )。(1分) | A、8,10 | B、6,8 | C、7,9 | D、6,10 | | |
|
49、程序段:char str[]="ABC";*p=str;printf ("%d\n",*(p+2));的运行结果是( )。(1分) | A、0 | B、字符'C'的ASCII码 | C、字符'C'的地址 | D、字符'C' | | |
|
50、在C语言中,如果一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。(1分) | A、0~255 | B、0~32767 | C、0~65535 | D、0~2147483647 | | |
|
|
发表评论