2020C语言期中考试试卷_第1页
2020C语言期中考试试卷_第2页
2020C语言期中考试试卷_第3页
2020C语言期中考试试卷_第4页
2020C语言期中考试试卷_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机与软件学院2020级C语言期中考试班级_姓名_ 学号_选择题(每题2分,共30分)1、以下关于C语言说法错误的是:( )A、语言简洁紧凑B、C语言不区分大小写C、C程序的三种基本结构是顺序、选择、循环D、C语言可移植性好2、请选出可用作C语言用户标识符的一组标识符( ) A、void define WORD B、a3_b3 _123 IF C、For -abc ase D、2a DO sizeof3、sizeof(float)是( )A、-个双精度型表达式 B、-个整型表达式C、-个单精度型表达式 D、-个不合法的表达式4、下面四个选项中,均是不合法的浮点数的选项是()A、-e3 .23

2、4 1e3B、160. 0.12 e3C、123 2e4.2 .e5-.18 123e4 0.05.以下关于运算符优先顺序的描述中正确的是()A、关系运算符算术运算符赋值运算符逻辑运算符B、赋值运算符逻辑运算符关系运算符算术运算符C、算术运算符关系运算符赋值运算符逻辑运算符D、逻辑运算符关系运算符算术运算符赋值运算符6、下面程序的运行结果是( )#includeint main()int i=1,sum=0;dosum+=i;i+;while(i=5)printf(%d,sum);A、 15 B、死循环,没有输出 C、21 D、有语法错误,不运行7、下列程序的输出结果为()#includein

3、t main()int m=7,n=4; float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);return 0;A、28.000000 B、27.500000 C、28.500000 D、27.0000008、有以下程序 #include#define N 2#define M N+1#define MUN (M+1)*M/2int main()printf(%dn,MUN);return 0;程序运行后输出结果是()A、8B、9C、5D、69、设x和y均为int型变量,则执行以下的循环后,y的值为( )。for(y=1,x=1;y=0)bre

4、ak;if(x%2=1)x+=5;continue;x-=3;A.2B.4C.6D.110、已知:char ch=A;则下列表达式的值是( )。 ch = (ch=A&ch=a|ch+60=z?ch+57:ch+32) : ch;A、A B、a C、Z D、z11、下列数组定义错误的是( )A、int x23 = 1,2,3,4,5,6;B、int x23 =1,2,3,4,5,6C、int x3 =1,2,3,4,5,6D、Int x3=012、若有定义语句:char S12=123045067则strlen(S)的值是()A、10 B、9 C、8 D、713、以下函数调用语句中含有( )个

5、实参func(e1,e2),(e3,e4,e5); A、2 B、3 C、5 D、语法错误14、C语言中函数返回值的类型是由( )决定的.A、函数定义时指定的类型 B、return语句中的表达式类型 C、调用该函数时的实参的数据类型 D、形参的数据类型15、下面这段代码的执行结果为()#includevoidmain()inta=1,b=1,c=0,sum;sum=(a+b?b:+c)|b+&+c;printf(“%d%d%d”,a,b,c) A. 232B. 221C. 222D. 122 填空题(每题2分,共30分)C语言属于三大语言中的_语言。C语言中,逻辑真等价于_。C语言规定了以字符_

6、作为字符串结束标志。一个C源程序中至少应包含一个_函数。5、下面的代码是通过数列的思想求圆周率floatp=1;floatn=1;intj;for(j=1;jbc的值是_。8、字符串常量“年轻人不讲武德”的长度是_。9、int a12=1,4,7,10,2,5,8,11,3,6,9,12;i=10;则aa-i的值是_。10、double float char三种类型占字节数分别为_。(三个字节数之间用逗号隔开)11、观察下面的程序作答if(ab)a=1;if(ac)c=1;elsea=1;elseb=1;elsec=1;上面的三个if else中,最后一个else是与第_(写数字1,2,3)个

7、if相配对的。12、inta=5,b=6,c=7,max;max=(ab?a:b)c?(ac?a:c):b;printf(max=%d,max);输出结果值 max = _。13、在定义int a56;后,第10个元素是_。 14、下面代码的运行结果为_。int i=1,sum=0; while(i16)return a+b%2;elseif(ab)return math(a-b,a+b);else if(ab)return math(b+a,b-a);设a=math( 1 , 1 ); a的值为_。判断题(每题1分,共10分)数组的大小是可变的,但所有数组元素的类型必须相同。( )2、任何表

8、达式语句都是表达式加分号组成的。 ( ) 3、程序的执行总是从第一个定义的函数开始。( ) 4、用字符逐个赋值比用字符串方式赋值要多占一个字节。( ) 5、C语言的数据存储单位是位(bite)。( ) 6、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是实参将其地址传递给形参,调用结束时形参再将其地址回传给实参。( )7、只能在循环体内和switch语句体内使用break语句。( ) 8、do-while循环的while后的分号不可以省略。( ) 9、C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( ) 10、C语言不允许函数嵌套定义;也就是说,不能在一个函

9、数中定义另外一个函数,必须在所有函数之外定义另外一个函数。( ) 四、程序补全(共15分)1、通过调用函数getStrLen(),得到字符串的长度(5分)int getStrLen(char str) int len = 0; while( ) return ; int main()char a20;scanf( ); printf(%d,getStrLen(a);return 0;根据图形补全下面代码(10分)#include int main() for(int i = 0; i i; j-) printf( );printf(*);if( ) for(int m = 0; ; m+) p

10、rintf( );printf(*);printf(n);for(int i = 3; i 0; i-) for(int j = 3; j = i; j-) printf( );printf(*);if( ) for(int m = 0; ; m+) printf( );printf(*);printf(n);return 0;五、程序改错(共15分)有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。此代码中有三个错误,请改正。(6分)#includeint main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2

11、,number,end,i,j; printf(原始数组是:n); for(i=0;iend-1) a10=number; else for(i=0;inumber) temp1=ai; ai+=number; for(j=i+1;j11;j+) temp2=aj; aj=temp1; temp1=temp2; break; for(i=0;i11;i+) printf(%4d,ai); printf(n); return 0;_3. _ 2、统计所有小于非负整数n的质数的数量(9分)#include#includeint countPrimes(int n) int numsn + 1; for (int i = 0; i n; i+) numsi = 1; for (int i = 1; i = sqrt(n);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论