1、二级C省考题含答案1、选择题1、语言程序中的函数是由(C)组成A、函数名和函数体 B、返回值类型和函数名C、函数首部和函数体D、函数名和参数2、下列叙述错误的是(C)a) C语言程序一行内可以有多条语句b) C语言程序一条语句可以分写在多行c) 一个C语言程序可以有多个main()函数d) 一个C语言程序只能有一个main()函数3、结构化程序设计的3种基本结构是顺序结构、()和循环结构。a) 选择结构b) 逻辑结构c) 递归结构d) 嵌套结构4、结构化程序设计采用的方法不包括(B)a) 模块化设计b) 封装、继承和多态c) 自顶向下、逐步细化d) 结构化编码5、下列关于C语言程序的叙述错误的
2、是(C)a) 注释内容必须放在/*和*/之间b) 一个C语言程序由一个或多个函数组成c) 编译时注释部分的错误会被发现d) 可以在“”内写若干条语句,构成复合语句6、Turbo C中,每个signed short int型数据占用的内存空间为(B)字节a) 8个b) 2个c) 1个d) 4个7、若已定义:int x=2,y=3,z=5;则表达式值为2的是()。a) z=x,zb) x+y+zc) z=(x,z)d) x=y=z8、下列叙述错误的是()a) 程序中算术表达式的书写形式与数学公式完全相同b) 赋值运算符的结合方式是“自右向左”c) 整数与字符型变量混合运算的结果是整数d) 自增和自
3、减运算符可以用于float型变量9、要使语句scanf(“%d,%d”,&m,&n);能够正确接收从键盘输入的值,正确的数据输入形式是()。a) 10 20b) 10,20c) 1020d) 102010、能正确表示数学关系式“k0或k10”的C语言表达式是()。a) (k=10)b) (k=10)c) (k=0) | (k=0) & (k=10)11、若已定义:char c=E;int a=9;float x=5;则表达式c/x-a的值是()【已知A的ASCII码为65】a) 13.8b) 4.8c) 4d) 512、()为合法用户标识符。a) 3cb) _a$bcc) voidd) _ab
4、c13、若已定义:char c;则()是错误的赋值表达式a) c=nb) c=ac) c=32d) c=09714、若已定义:int m=3,n=4;则表达式(m+)+n的值是()a) 5b) 7c) 8d) 415、puts(char *str)函数的功能是向终端输出()a) 一个实型变量的值b) str指向的字符串c) 一个整数变量的值d) str指向的第一个字符16、若已定义:int a=1,b=2,c=3;语句(+b,a) | (a+,c+);执行后变量a、b、c的值分别是()a) 2 3 4b) 1 3 3c) 1 2 3d) 2 3 317、若已定义:int x=100;则正确的赋
5、值表达式是()a) x=”abc”b) x%=0.3c) x=x+08d) x=A18、下列正确定义符号常量的命令是()a) #define PR 3.3;b) #define PR=3.3;c) #define PR=3.3d) #define PR 3.319、()为合法常量a) Cprogramb) 0x100c) 2E3.3d) 078320、若已定义:int a=1,b=2;()是正确的表达式a) a*=b+2b) a+b=2c) a+b*=2d) a+/b=221、若已定义:int a=3,b=2,c=1;则表达式a+b & c+100的值是()a) 1b) 105c) 0d) 1
6、0422、若已定义:int a=3,b=2,c=1;则表达式(float)(a+b)/(c+a)的值是()a) 8b) 1c) 3.0d) 1.2523、若已定义:int a=3,x=4;语句x+=a+;执行后变量x的值是()a) 7b) 4c) 8d) 624、若已定义:int a=5,b=6;语句printf(“%d*%d=%dn”,a+a,b+b,(a+a)*(b+b);执行后的输出结果是()a) 5*6=30b) 10,12,120c) 5,6,30d) 10*12=12025、若已定义:int a=1,b=2,c=3;表达式值为0的是()a) abbab) a+b & a+cc) a
7、+b=c | b=cd) abba26、若已定义:int a=3,b=2,c=1,t;语句t=+a | !b & c+;执行后a、b、c的值分别是()a) 3 2 1b) 4 2 2c) 4 0 2d) 4 2 127、若已定义:int a=5;则表达式a-=a+=a*a的值为()a) -20b) -25c) 0d) 2528、以下程序段的运行结果是()int m=65,n=66;char k=C;printf(“%c-%c-%dn”,m,n,k);(注:字母A的ASCII码值为65)a) AB67b) 6566Cc) A-B-67d) 65-66-C29、若已定义:int i=1;则表达式i
8、+=10的值为()a) 11b) 1c) 2d) 1030、若已定义:int a=1,b=2,c=3;则表达式a=b=c的值为()a) 1b) 0c) 3d) 231、若已定义:char c;int a;float x;double m;则表达式0.3+a+c+x+m*a的值得类型为()a) floatb) intc) doubled) char32、c语言的数据类型不包括()a) 泛型b) 联合类型c) 整形d) 结构类型33、若已定义:int a=1,b=2,c=3;则正确的表达式是()a) a=b+1=cb) a=bcc) c=(a,b)d) a+b=c34、若已定义:int a=8,b
9、=7,c;语句c=a|b;执行后c的值是()a) 15b) 0c) 7d) 835、若已定义:int x;则从键盘输入一个值赋予x;正确的函数调用是()a) scanf(“%d”,&x);b) scanf(“%f”,&x);c) scanf(“%f”,x);d) scanf(“%d”,x);36、以下程序的运行结果是()#include void main() int a=4,b=3,c=2,d=1; if(abc) printf(“%dn”,d); else if(c-1=d) printf(“%dn”,d+1); else printf(“%dn”,d+2);a) 1b) 2c) 3d)
10、437、以下程序执行时,循环体执行了()#include void main() int a=1234,b=0; while(a) b=b*10+a%10; a=a/10; a) 4次b) 无限次c) 3次d) 2次38、以下程序执行后变量m的值为()int x=6,y=4,z=8,m;m=(xy) ? (xz?x:z) : (yz?y:z);a) 1b) 8c) 6d) 439、以下程序段执行后变量a的值为()int i,a=0;for(i=1;i=10;i+) if(i%2=0) continue; a+;+a;a) 10b) 5c) 15d) 040、执行以下程序,输入99,运行结果是(
11、)#include void main() int score; scanf(“%d”,&score); switch(score/10) case 10: case 9: printf(“A”); case 8: printf(“B”); case 7: case 6: printf(“C”); break; default: printf(“D”); printf(“n”);a) ABCDb) ABc) Ad) ABC41、以下程序的运行结果是()#include void main() char c=C; switch(c-65) case 0: putchar(c+1); case 1
12、: case 2: case 3: putchar(c+2); break; default: putchar(c+32); break; 注:已知A的ASCII码值为65,a的ASCII码值为97a) Cb) bc) Ed) D42、若已定义:int k,a,b,c;则语句()与k=ab?b:c语句的功能等价。a) if(ab) k=bb) if(ab) k=b;else k=c;c) if(k=a) k=b;else k=c;d) if(ab) k=a; else k=b;43、以下程序段,()。int a=0;do +a;while(1);a) 循环体执行1次b) 循环体执行2次c) 是
13、无限循环d) 有语法错误44、以下程序段执行后变量a的值为()int i=0,a=0;for(;i-3;i+) a+a) 1b) 0c) 3d) 245、以下程序段的运行结果是()char a5=65,B,67,68,69,i;for(i=4;i=0;i-=2) ai=ai+32; for(i=0;i5;i+) printf(“%3c”,ai);a) a B c D eb) a b c d ec) A B C D Ed) A b C d E46、以下程序段执行后s的值是(B)int a34=1,2,3,4,1,2,3,4,1,2,3,4;int i,j,s=1;for(i=0;i3;i+) f
14、or(j=0;ji+2;j+) s*=aij;a) 16b) 144c) 288d) 1247、下列叙述正确的是()a) 在定义数组时,数组的长度不能使用整形常量b) 在定义数组时,数组的长度可以使用整形变量c) 数组元素的下标可以使用整形常量d) 数组元素的下标不能使用字符常量48、若以定义:int s43=1,6,1,2,8,4,7,3,5;则s31的值是()a) 2b) 3c) 7d) 849、以下程序段执行后,a4的值为()int a8=15,9,23,32,11;a4=a3+a2+a1*a6-a7;a) 55b) 32c) 63d) 6450、若已定义:int a6=1,2,3,4,
15、5,6;char c=b;则表达式值为3的是()a) a3b) ad-cc) acd) ad-c51、以下程序段执行后sum的值是(C)int i,sum=0;int a35=11,12,13,14,15,16,17,18,19,20,22,24,26,28,31;for(i=0;i3;i+) sum+=aii+2;a) 60b) 61c) 63d) 5852、若已定义:int a43;假设元素a00在存储空间中的位置序号为1,则元素a22的位置序号应是(c)a) 7b) 10c) 9d) 853、错误的数组定义是(D)a) int arr3=10,9,8,7,6,5,4,3,2,1;b) i
16、nt arr3=0,1,2,3,1;c) int arr43=1,2,3,0;d) int arr4=0,1,2,3,4,5,6,7,8,9,10,11;54、以下程序段执行结果是(A)int a10=1,1,1,1,1,1,1,1,1,1,i;for(i=1;i=5;i+) ai-1=ai-1-1;for(i=0;i10;i+) printf(“%3d”,ai);a) 0 0 0 0 0 1 1 1 1 1 b) 0 0 0 0 0 0 0 0 0 0c) 1 1 1 1 1 1 1 1 1 1d) 1 1 1 1 1 0 0 0 0 055、以下程序运行结果是( )。main( ) cha
17、r a=abc,*p; for(p=a;pa+3;p+) printf(%s,p); A. abcbccB. abcC. cbabaaD. Cba56答案是: A p为字符串“abc”的首地址然后打印出字符串“abc”;第二次循环p偏移一个单位,为b的地址,打印出“bc”;第三次循环p再偏移一个单位,为c的地址,打印出“c”;所以程序打印出“abcbcc”。3次循环分别打印出“abc”、“bc”、“c”。所以整个程序就打印出它们的组合“abcbcc”。以下程序段的运行结果是(A)char s80=“super”;strcat(s,”market”);printf(“%d”,strlen(s);
18、a) 11b) 10c) 12d) 956、若已定义:int a=3,*p;执行语句p=&a;后,下列(A)均能表示a的地址a) p,&ab) p,ac) *p,&ad) *p,a57、以下程序段的运行结果是(D)char a=”WELL”,*p;for(p=a,pa+2;p+) printf(“%s”,p);a) WELLWELb) WEc) WELLWEd) WELLELL58、以下程序段的运行结果是()char a=”Teacher”;把b复制到achar b=”Driver”;strcpy(a,b);printf(“%s %c”,a,a5);a) Teacher eb) Driver
19、rc) Driver ed) Teacher r59、以下程序段的运行结果是(b)char a53=Y,o,u, ,a,r,e,0,w,e,l,c,o,m,e;printf(“%s”,&a00);a) You areb) Youc) You are welcomed) You are wel60、以下程序段执行后,正确的是(D)char a=”University”;char *p;p=a;a) a3与*p表示的内容相同b) *(p+3)与a0表示的内容相同c) a与p+3表示的地址一致d) strlen(p)与strlen(a)表示的值相等61、以下程序段的运行结果是(B)int a=5,b
20、=2,c,*p1,*p2;p1=&a;p2=&b;if(*p1*p2) c=*p1+2;else c=*p2+4;printf(“%dn”,c);a) 9b) 6c) 4d) 762、以下程序段的运行结果是(C)int x=5;char *s1=”music”,*s2=s1;x=strcmp(s1,s2);s3改成s2printf(“%dn”,x);a) 1b) -1c) 0d) 563、若已定义:char a=”Student”,*p=a;能正确指向存放字符u单元的表达式是(D)a) *(a+5)b) p+5c) a+2d) *(p+2)64、以下程序段的运行结果是(A)int a=2,b=
21、5,*p;p=&a;b=a;printf(“%d,%dn”,b,*p);a) 2,2b) 2,5c) 5,2d) 5,565、以下程序段的运行结果是()Bint a=1,2,3,4,5,6,7,8,9,10,i;int *p;p=a;for(i=0;i10;i+,i+) printf(“%3d”,*(p+i); printf(“n”);a) 6 7 8 9 10b) 1 3 5 7 9c) 2 4 6 8 10d) 1 2 3 4 566、以下程序段的运行结果是()Cint a=6,b=3,m,n,*p,*q;p=&a;q=&b;m=(*p)/(*q)+8;n=(*p)+(*q)*8;a) m
22、=8,n=30b) m=10,n=8c) m=10,n=30d) m=8,n=8067、以下程序段的运行结果是(C)int a=1,b=2,sum,*p,*q;p=&a;q=&b;sum=*p+*q;a=*q;printf(“%d,%dn”,a,sum);a) 1,4b) 1,3c) 2,3d) 2,468、以下程序段的运行结果是(A)int a6=1,2,3,4,5,6;int *p;p=a;*(p+3)+=3;printf(“%d,%dn”,*p,*(p+3);a) 1,7b) 4,4c) 7,7d) 1,469、若已定义:int a23=1,2,3,4,5,6,*p;执行语句p=&a00
23、;后,*(p+4)表示的值是(C)a) 6b) 3c) 5d) 470、若已定义:char sa20=”dictionary”,sb20;则()语句是正确的Aa) sb0=sa0b) scanf(“%s”,&sb);c) sb=sad) printf(“%s”,sa);71、以下程序的运行结果是(D)#include fun(int x, int y)return(x*y+10);void main( ) int a=11, b=2, c;c=fun(a,b); printf(“c=%dn”, c);a) c=22b) 32c) 22d) c=3272、下列叙述错误的是(A)a) 预处理命令只
24、能位于C源程序文件的首部b) 在预处理命令行#defiine WT 5中,符号常量(宏名)是WTc) #include “math.h”属于预处理命令d) 预处理命令必须以“#”开头73、以下程序的运行结果是(B)#include void fun(int x,int *p) *p=x+10;void main() int a,b,c; fun(5,&a); fun(a,&b); fun(b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c);a) a=5,b=15,c=25b) a=15,b=25,c=35c) a=5,b=5,c=5d) a=15,b=15,c=157
25、4、以下语句中fun()函数所含的实参个数有(C)个fun(1,2,3),(4,5),(6, 7+8));a) 8.b) 7c) 3d) 575、以下程序的运行结果是(A)#include fun(int x) static int y=2; y=y+x; return y;void main() int i,s=0; for(i=1;i=2;i+) s=s+fun(2); printf(“%dn”,s);a) 6b) 4c) 10d) 876、下列叙述错误的是(D)a) 宏定义中的符号常量(宏名)可以是小写字母表示b) 编译预处理命令行都必须以“#”号开始c) 文件包含使用预处理命令“#in
26、clude ”来实现d) 宏定义中的符号常量只能用大写字母或数字符号表示77、以下程序的运行结果是(C)#include void fun(int i) int a; a=+i; printf(“%d ”,a);void main() int a=3,b=6; fun(b); printf(“%d ”,a);a) 3 3b) 7 7c) 7 3d) 3 778、c源程序中,预处理命令的位置可以在(D)a) scanf()函数中b) printf(0函数中c) putchar()函数中d) 文件首部79、以下程序的运行结果是()#include void f(int a3) int i; for(i=0;i3;i+) printf(“%2d”,ai0); printf(“n”);void main(D) int a33=1,2,3,1,3,2,2,1,3; f(a);a) 3 2 3b) 1 2 3c) 2 3 1d) 1 1 280、以下程序的运行结果是(D)#include fun(int x,int y) return(x*y+10);void main() int a=11,b=2,c; c=fun(a,b); printf(“c=%dn”,c)a) c=22b) 32c) 22d) c=3281、一个结构变量占用的内存容量由(C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1