配色: 字号:
2020C语言期中考试试卷
2021-07-26 | 阅:  转:  |  分享 
  
选择题(每题2分,共30分)1、以下关于C语言说法错误的是:()A、语言简洁紧凑B、C语言不区分大小写C、C程序的三种基本结构是顺序
、选择、循环D、C语言可移植性好2、请选出可用作C语言用户标识符的一组标识符()A、voiddefineWORD
B、a3_b3_123IFC、For-abcaseD、2aDOsizeof3、sizeo
f(float)是()A、-个双精度型表达式B、-个整型表达式C、-个单精度型表达式D、-个不合法的
表达式4、下面四个选项中,均是不合法的浮点数的选项是()A、-e3?.2341e3B、160.?0.12??e3C、123
?2e4.2?.e5-.18?123e4?0.05.以下关于运算符优先顺序的描述中正确的是()A、关系运算符<算术运算
符<赋值运算符<逻辑运算符B、赋值运算符<逻辑运算符<关系运算符<算术运算符C、算术运算符<关系运算符<赋值运算符<逻辑运算符D、
逻辑运算符<关系运算符<算术运算符<赋值运算符6、下面程序的运行结果是()#includeintmai
n(){inti=1,sum=0;do{sum+=i;i++;}while(i<=5)printf("%d",sum);}A、
15B、死循环,没有输出C、21D、有语法错误,不运行7、下列程序的输出结果为()#
includeintmain(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/
2+na/b+1/2;printf("%f\n",x);return0;}A、28.000000B、27.500000
C、28.500000D、27.0000008、有以下程序#include#defineN2#defi
neMN+1#defineMUN(M+1)M/2intmain(){printf("%d\n",MUN);return
0;}程序运行后输出结果是()A、8B、9C、5D、69、设x和y均为int型变量,则执行以下的循环后,y的值为(??)。f
or(y=1,x=1;y<=50;y++)?{if(x>=0)break;if(x%2==1)?{x+=5;continue;}x
-=3;?}?A.2???????????B.4??????????C.6???????????D.110、已知:charch=
''A'';则下列表达式的值是()。ch=(ch>=''A''&&ch<=''Z'')?(ch+30>=''a''||ch+60>
=''z''?ch+57:ch+32):ch;A、AB、aC、ZD、z1
1、下列数组定义错误的是()A、intx[2][3]={1,2,3,4,5,6};B、intx[2][3]={{1,2
},{3,4},{5,6}}C、intx[][3]={{1,2,3},{4,5,6}}D、Intx[][3]={0}12、若
有定义语句:charS[12]="123\\045\067"则strlen(S)的值是()A、10B、9
C、8D、713、以下函数调用语句中含有()个实参func((e1,e2),(e3,
e4,e5));A、2B、3C、5D、语法错误14、C语言中函数返回值的类型是由(
)决定的.A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、
形参的数据类型15、下面这段代码的执行结果为?(?)#include?void?main()?{填空题(每题2
分,共30分)C语言属于三大语言中的____________语言。C语言中,逻辑"真"等价于_____________。C语言规定
了以字符___________作为字符串结束标志。一个C源程序中至少应包含一个_____________函数。5、下面的代码是通过
数列的思想求圆周率?float?p=1;?float?n=1;?int?j;?for(j=1;j<=num;j++,n++){?i
f(j%2==0){?p=(n/(n+1));?}else{?p=((n+1)/n);?}?}?p=2p;printf("p
的值为:%.7f\n",p);其中num的值__________________(越小/越大/越靠近一个固定数值),求出来的圆周率
p越精确。6、若m是一个三位数,则求个位数字的表达式为_____________。7、当a=3,b=2,c=1时,表达式f=a>
b>c的值是_____________。8、字符串常量“年轻人不讲武德”的长度是_____________。9、inta[12]
={1,4,7,10,2,5,8,11,3,6,9,12};i=10;则a[a[--i]]的值是__________。10、dou
blefloatchar三种类型占字节数分别为________________。(三个字节数之间用逗号隔开)11、观察下面的程
序作答if(a>b)a=1;if(ac)c=1;elsea=1;elseb=1;elsec=1;上面的三个
ifelse中,最后一个else是与第______(写数字1,2,3)个if相配对的。12、int?a=5,b=6,c=7,ma
x;max=(a>b?a:b)>c?(a>c?a:c):b;?printf("max=%d",max);输出结果值max=
_____________。?13、在定义inta[5][6];后,第10个元素是_____________。14、下面代
码的运行结果为__________________________。inti=1,sum=0;while(i<100){++i
;sum+=i;}printf("%d",sum);15、有一递归函数如下:intmath(inta,intb){a++;b
--;if(a+b>16)returna+b%2;else{if(a>b)returnmath(a-b,a+b);elsei
f(a。判断题(每题1分,共10分)数组的大小是可变的,但所有数组元素的类型必须相同。()2、任何表达式语句都是表达式加分号组成的
。()3、程序的执行总是从第一个定义的函数开始。()4、用字符逐个赋值比用字符串方式赋值要多占一个字节。(
)5、C语言的数据存储单位是位(bite)。()6、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是7、
只能在循环体内和switch语句体内使用break语句。()8、do-while循环的while后的分号不可以省略。(
)9、C语言标准输入操作中,gets()函数一次只可读取一个字符。()10、C语言不允许函数嵌套定义;也就是说,
不能在一个函数中定义另外一个函数,必须在所有函数之外定义另外一个函数。()四、程序补全(共15分)1、通过调用函数getS
trLen(),得到字符串的长度(5分)intgetStrLen(charstr[]){intlen=0;while
(){}return;}intmain(){chara[20];scanf();printf("%d",get
StrLen(a));return0;}根据图形补全下面代码(10分)#includeintmain()
{}for(intj=3;j>=i;j--){printf("");}printf("");if(){p
rintf("");}printf("");}printf("\n");}return0;}五、程序改错(共15分)有一个已
经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。此代码中有三个错误,请改正。(6分)#include>intmain(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,te
mp2,number,end,i,j;printf("原始数组是:\n");for(i=0;i<10;i++)printf(
"%4d",a[i]);printf("\n插入一个新的数字:");scanf("%d",&number);end=a[1
0];if(number>end-1)a[10]=number;else{for(i=0;i<10;i++){if(
a[i]>number){temp1=a[i];a[i]+=number;for(j=i+1;j<11;j++){te
mp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i+
+)printf("%4d",a[i]);printf("\n");return0;}__________________
_________________________________________________________________
_____________________________________3._________________________
____________________________________2、统计所有小于非负整数?n?的质数的数量(9分)#in
clude#includeintcountPrimes(intn){intnums[n
+1];for(inti=0;i1;i<=sqrt(n);i++){if(nums[i]){for(intk=2;ki
献花(0)
+1
(本文系叁生花首藏)