C语言期中考试试卷答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1共11页《C语言程序设计》课程考试试题(A卷)题号一二三四五六七八九十总分一.选择题(共36题,每小题1.5分,共54分)(1)以下错误的转义字符是DA)’\\’B)‘\”’C)’\0’D)‘\81’(2)C语言中整数-9在内存中的存储形式是DA)1000000000001000B)1111111111111000C)1111111111111100D)1111111111110111(3)已知intn,i=1,j=2;执行n=ij?i++:j++;后,i和j的值是:CA)1,2B)1,3C)2,2D)2,3(4)为了从键盘输入字符串“howareyou?”,可直接使用函数CA)scanfB)getstrC)getsD)都不能用(5)已知inta=4,b=5,c;则执行表达式c=a=ab后,变量a的值为AA)0B)1C)4D)5(6)已知intw=3,x=10,z=7;则执行下面语句后的输出结果为Cprintf(“%d”,x10?x+100:x-10);printf(“%d”,w++||z++);printf(“%d”,!wz);printf(“%d”,w&&z);A)0111B)1111C)0101D)0100(7)要判断char类型变量m是否数字字符,可以使用下列表达式BA)0=m&&m=9B)‘0’=m&&m=‘9’C)“0”=m&&m=“9”D)前面3个答案都错(8)执行下列语句后的输出结果Aenumweekday{sun,mon=3,tue,wed,thu};enumweekdayworkday;workday=wed;printf(“%d\n”,workday);A)5B)3C)4d)编译错误密封线班级:______姓名:______学号:______2第2页(9)有宏定义如下:#defineX5#defineYX+1#defineZY*X/2则执行下列语句后的输出结果是Dinta=Y;printf(“%d,”,Z);printf(“%d\n”,--a);A)7,6B)12,6C)12,5D)7,5(10)语句typedeflongclass的作用是DA)建立了一种新的数据类型B)定义了一个整型变量C)定义了一个长整型变量D)定义了一个新的数据类型标识符(11)下面程序的输出结果是A#includestdio.hmain(){printf(“%f”,2.5+1*7%2/4);}A)2.500000B)2.750000C)3.375000D)3.000000(12)下面程序执行后的结果A#includestdio.hmain(){inta=3,b=7;printf(“%d\n”,a+++++b);printf(“%d\n”,b%a);printf(“%d\n”,!ab);printf(“%d\n”,a+b);printf(“%d\n”,a&&b);}A)11B)11C)12D)不定020307111121241011大于0的任意整数无值3第3页(13)下面程序的输出是_A_____。#includerstdio.hmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf(“a=%d,b=%d\n”,a,b);}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2(14)在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它3条语句不等价,它是D__。A)if(a)s1;elses2;B)if(a==0)s2;elses1;C)if(a!=0)s1;elses2;D)if(a==0)s1;elses2;(15)以下错误的描述是____B__。A)break语句不能用于循环语句和switch语句外的任何其它语句B)在switch语句中使用break语句或continue语句的作用相同C)循环语句中使用continue是为了结束本次循环,而不是终止整个循环D)循环语句中使用break是为了使流程跳出循环体,提前结束循环(16)执行语句for(i=-1;i++;);后,变量i的值是__C____。A)2B)3C)1D)0(17)与语句while(!x)等价的语句是__A__。A)while(x==0)B)while(x!=0)C)while(x!=1)D)while(~x)(18)下面程序段的运行结果是Dintx;for(x=3;x6;x++)printf((x%2)?“**%d”:“##%d\n”,x);A)**3B)##3C)##3D)**3##4##4**4**4##5**5**5##5班级:______姓名:______学号:______密封线4第4页(19)若有以下程序:#includestdio.hmain(){charc=‘A’;if(‘0’=c=’9’)printf(YES);elseprintf(NO);}执行后的输出结果是___A___。A)YESB)NOC)YESNOD)语句错误(20)下列程序运行结果是__C___#includestdio.hmain(){inta,b,c;a=1;b=2;c=3;if(ab)if(ac)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d\n”,c);}A)12B)23C)3D)没答案(21)下列程序运行结果是_A____#includestdio.hmain(){intn=4;while(n--)printf(“%d”,--n);}A)20B)31C)321D)2105第5页(22)下列程序运行结果是__A___#includestdio.hmain(){intk=1;charc=’A’;do{switch(c++){case’A’:k++;break;case’B’:k--;case’C’:k+=2;break;case’D’:k=k%2;continue;case’E’:k=k*2;break;default:k=k/3;}k++}while(c’F’);printf(“k=%d\n”,k);}A)k=1B)k=15C)k=12D)以上都错(23)以下列出的各组用户标识符中,(C)组全部合法。A)2showB)m*2C)IntD)voidA3intspringa_xshow_xkill.ckv300history100(24)调用strlen(“abcd\0ef\0g”)的返回值是AA)4B)5C)8D)9(25)已知intI,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是Cfor(I=0;I3;I++)printf(“%d”,x[I][2-I]);A)159B)147C)357D)369(26)不能对二维数组a进行正确初始化的语句是CA)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};班级:______姓名:______学号:______密封线6第6页(27)已知在函数外面有inta[][4]={1,1};则下面叙述错误的是DA)数组a的每个元素都可以得到初值0B)二维数组a的第一维大小为1C)二维数组a的行数起始值为0D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值(28)设二维数组a有m列,则在a[i][j]之前的元素个数为BA)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1(29)下面描述正确的是DA)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符少的字符串大C)字符串“STOP”与“sTOP”相等D)字符串“That”小于“The”(30)有以下程序段:inta[]={4,0,2,3,1},i,j,t;for(i=1;i5;i++){t=a[I];j=i-1;while(j=0&&ta[j]){a[j+1]=a[j];j—}a[j+1]=t;}该程序功能是:BA)对数组a进行插入排序(升序)B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序)(31)下面程序程序功能是将字符串s中所有的字符‘C’删除.请选择填空#includestdio.hmain(){chars[80];inti,j;gets(s);for(i=j=0;s[I]!=‘\0’;i++)if(s[i]!=‘c’)As[j]=‘\0’;puts(s);}A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[i];j++D)s[j]=s[i]7第7页(32)已知:union{intI;charc;floata;}test;则sizeof(test)的值是:AA)4B)5C)6D)7(33)已知:unionu_type{intI;charch;}temp;现在执行temp.i=266,则temp.h的值为CA)266B)256C)10D)1(34)以下叙述正确的是CA)一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员B)一个联合变量可以同时存放其所有成员C)一个联合变量不能同时存放其所有成员D)联合数据类型可以出现在结构体类型定义中,但结构体类型数据不能出现在联合类型定义中(35)已知学生记录描述为:structstudent{intno;charname[20],sex;struct{intyear,month,day;}birth;};structstudents;设变量s中的“生日”是“1984年11月11日”,下面对“生日”的正确赋值方式是DA)year=1984;month=11;day=11B)birth.year=1984;birth.month=11;birth.day=11;C)s.year=1984;s.month=11;s.day=11;D)s.birth.year=1984;s.birth.month=11;s.birth.day=11;班级:______姓名:______学号:______密封线8第8页(36)以下对结构类型变量的定义中错误的是DA)#defineSTUDENTstructstudentB)structstudentSTUDENT{intnum;{intnum;floatage;floatage;}std1;}std1;B)structD)struct{intnum;{intnum;floatage;floatage;}std1;}student;structstudentstd1;二.程序填空(有23空,每空2分,共46分)1.下面函数用来计算xy,其中y≥0且为整型变量。floatpower(floatx,inty){floatz;for(z=1;y0;y【1】1)z【2】x;return(z);}2.华氏温度和摄氏温度的转换公式为C=5/9*(F-32),C表示摄氏温度,F表示华氏温度。要求输出从华氏0°到华氏300°,每隔20°输出一个值。main(){intupper,step;floatfahr=0,Celsius;upper=300;step=20;while(【3】upper){【4】;printf(“%4.0f,%6.1f\n”,fahr,celsius);【5】;}}93.下面的程序是求出数组a的两条对角线上的元素之和。第9页#include“stdio.h”main(){inta[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;for(i=0;i3;i++)for(j=0;j3;j++)if(i==j)sum1=sum1+a

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功