下列各题A、B、C、D四个答案中,只有一个选项是正确的,请将
每题的正确答案写在答题纸对应序号的横线上,答在试卷上不能得分
1、一个C语言程序的执行是以()
A、main()函数开始,直到main函数结束
B、第一个函数开始,直到最后一个函数结束
C、第一个语句开始,直到最后一个语句结束
D、main()函数开始,直到最后一个函数结束
<标准答案>=a
2、C 语言编译逻辑运算时,以 (__) 代表"真"和"假"。
A、T,F B、1,0 C、‘1’,‘0’ D、0,1
<标准答案>=b
3、设x、y、z和k都是int型变量,则执行表达式:x=(y=8, z=y+2, k=z+y)后
的值为( )。
A、8 B、10 C、0 D、18
<标准答案>=d
4、若: char s[15][15];则数组元素的非法引用是(。
A、s[4][9] B、s[14][2]
C、s[3][4] D、s[4][15]
<标准答案>=d
5、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w A、4 B、3 C、2 D、1 <标准答案>=d 6、下列可以正确表示字符型常数的是 ( ) A、"a" B、'\\r' C、"\\n" D、297 <标准答案>=b 7、若定义语句 float bb[300],则该数组array元素的 上、下界为 ( 7 ) 。 A、 0,300 B、299,0 C、300,1 D、0,299 <标准答案>=d 8、下列各组字符序列中,可用作C语言程序标识符的是(8)。 A、SBSD B、 _1$234 C、spr#it D、 4_cf_1在 <标准答案>=a 9、已知:char ch='g';则下列表达式的值是 ( 9 ) ch = (ch>='a'&&ch<='z') ? (ch-32) : ch; A、a B、g C、Z D、G <标准答案>=d 10、以下程序段的输出结果是( 10 ) 。 Char s[]="abcbcd\\\\\"; printf("%d\\n",strlen(s)); A、8 B、11 C、9 D、10 <标准答案>=a 11、能正确表达数学关系10<|a|的表达式是(11) 。 A、-10>a ||10C、a>10 ;-10>a D、-a<-10 && 10<标准答案>=a 12、以下程序的输出结果是 ( 12 )。 main() {int x=0,a=0, b=0; switch(x) { case 0: b++; case 1: a++;b++;break; case 2: a++;b++; } printf("a=%d,b=%d\\n",a,b); } A、a=1,b=1 B、a=1,b=2 C、a=2,b=2 D、a=0,b=0 <标准答案>=b 13、以下数据中不属于int类型的是(13)。 A、-32768 B、0x23 C、036 D、3276 <标准答案>=d 14、若有定义:int aa[8]; 则以下表达式中不能代表数组元素aa[1]的 的地址是( ) A、&aa[0]+1 B、&aa[0]++ C、aa[1] D、aa+1 <标准答案>=c 15、假定有以下变量定义 int k=10, x=5; 则能使值为0的表达式是( 15 )。 A、x%k B、k%x C、k/x D、3%k <标准答案>=b 16、以下程序的输出结果是(16) 。 #include main() { int x,t; x=12; t=(++x)+(++x); printf("%d\\n",t); } A、27 B、26 C、28 D、24 <标准答案>=c 17、合法的数组定义是 ( 17 )。 A、char a={'O', 'K', '!'}; B、char a[4]={"O", "K", "!"}; C、char a[4]={'O','K','!'}; D、char a="OK!"; <标准答案>=c 18、有以下定义语句: int a[10]={3, 9, 11, 14, 20, 32, 60}, *p; p=a; 则 *++p+*p++ 的值是 (28) A、 12 B、18 C、20 D、6 <标准答案>=b 19、以下程序的输出结果是( 19 ) 。 #include main() { int a=2, b=5; printf("a=%%%d,b=%%%d\\n",a, b); } A、a=%2, b=%5 B、a=2, b=5 C、a=%%d, b=%%d D、a=%d, b=%d <标准答案>=a 20、以下程序的输出结果是:( 20 ) main() {char s[]="abcdef"; s=s+3; printf("%s\\n",s); } A、abcdef B、ef C、abc D、def <标准答案>=d 21、若变量a是int类型,并执行了语句:a='B'+2.6; 则正确的叙述是( 21 )。 A、a的值是字符C b、a的值是字符'B'的ASCII值加上2 C、a的值是浮点型 D、不允许字符型和浮点型相加 <标准答案>=B 22、以下程序的输出结果是( 22 )。 main() { int i; for (i=1;i<=5;i++) { if(i%2==0) printf("#"); else printf("*"); } printf("$\\n"); } A、***$ B、###$ C、*#*#*$ D、#*#*#$ <标准答案>=c 23、若有说明语句:int a, b, c, *d=&c;, 则能正确从键盘读入三个整数 分别赋给变量a、b、c的语句是( 23 )。 A、scanf("%d%d%d",&a,&b,&d); B、scanf("%d%d%d",&a,&b,d); C、scanf("%d%d%d",a,b,d); D、scanf("%d%d%d",a,b,*d); <标准答案>=b 24、以下程序的输出结果是( 24 )。 main() {int a=0,b=0,d,e; b=2/5&&++a; printf("a=%d,b=%d ",a,b); } A、a=1,b=0 B、a=0,b=0 C、a=0,b=1 D、a=1,b=1 <标准答案>=b 25、以下的for循环( 25 ) 。 for(x=1; x>0;x++); A、是无终止的循环 B、一次也不执行 C、执行4次 D、执行3 次 <标准答案>=a 二、填空题(两题,共16分) 26、由键盘输入任意3个数 a,b,c,计算以这3个数为边长的三角形面积。 将方括号[26][27][28][29]空的补充。先填[26] # include [26] main() { float a,b,c,s,area; scanf("[27]",&a,&b,&c); if(a+b>c&&a+c>b&&[28]) { s=0.5*(a+b+c); [29]=sqrt(s*(s-a)*(s-b)*(s-c)); printf("\\n area=%0.2f",area); } else printf("incorrect input"); } <标准答案>= 27、题的第二空[27]。 float a,b,c,s,area; scanf("[27]",&a,&b,&c); <标准答案>=%f,%f,%f或%f%f%f 28、题的第三空。 if(a+b>c&&a+c>b&&[28]) <标准答案>=b+c>a或c+b>a 29、题的第四空。 [29]=sqrt(s*(s-a)*(s-b)*(s-c)); <标准答案>=area 30、 * 程序如下,将方括号 *** [30][31][32][33]空的部 ***** 分补充,完善程序. ******* (先填[30]) ********* main() { int i,j; for (i=1;i<=5;i++) { for (j=1;j<=[30];j++) printf(" "); for(j=1;j<=[ 31 ];j++) { [32];} [33]; } } <标准答案>=5-i 31、题的第二空[31]。 for(j=1;j<=[ 31 ];j++) <标准答案>=2*i-1 32、题的第三空。 for(j=1;j<=[ 31 ];j++) { [32];} <标准答案>=printf("*") 33、题的第四空。 [33]; } } <标准答案>=printf("\\n")下载本文