C语言程序设计2007~2008学年第二学期期末考试试卷(A).doc_第1页
C语言程序设计2007~2008学年第二学期期末考试试卷(A).doc_第2页
C语言程序设计2007~2008学年第二学期期末考试试卷(A).doc_第3页
C语言程序设计2007~2008学年第二学期期末考试试卷(A).doc_第4页
C语言程序设计2007~2008学年第二学期期末考试试卷(A).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

南昌大学 20072008学年第二学期期末考试试卷 试卷编号: ( A )卷课程编号:T61050002 课程名称: C语言程序设计 考试形式: 闭卷 适用班级:全校非计算机专业 姓名: 学号: 班级: 学院: 专业: 考试日期: 2008、7、4 题号一二三四五六七八九十总分累分人 签名题分30303010 100得分考生注意事项:1、本试卷共 9 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 单项选择题(每题1 分,共 30 分) (请将答案填写在答题纸上) 1、 在语言中,下面运算符要求运算数必须是整型的是:A)% B)* C) D)!2、 下面不正确的字符串常量是_。 A) abc B)1212 C)0 D)3、 正确的标识符是_。A)?a B) a=2 C) a.3 D) a_34、 以下程序段的输出结果是_。inta=1234;printf(%2dn,a); A)12 B)34 C)1 234 D)提示出错、无结果5、 已知ch是字符型变量,下面不正确的赋值语句是_。A)cha+b; B)ch0; C)ch7+9; D)ch=5+9;6、 已知intx10,y20,z30;以下语句执行后x,y,z的值是_。if(xy)z=x;x=y;y=z; A)x10,y20,z30B)x20,y30,z30C)x20,y30,z10D)x20,y30,z207、 表达式-1=3=-5值是_。 A)0 B)1 C)3 D)表达式语法有错8、 已知各变量的类型说明如下:intk,a,b;unsignedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是_。A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=5)*(a=3)9、 假设所有变量均为整型,则表达式(a2,b5,b+,a+b)的值是_。A)7 B)8 C)6 D)210、 若有以下定义和语句:intu=010,v=0x10,w=10;printf(%d,%d,%dn,u,v,w);则输出结果是: _。A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,1011、 逻辑运算符两侧运算对象的数据类型_。A)只能是0或l B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是C的任何类型的数据12、 若有条件表达式达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是_。A)(exp=0) B)(exp!=0) C)(exp=1) D)(exp!=1)13、 执行以下程序段时x=-1;dox=x*x;while(!x); 正确的叙述是_。A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误14、 执行语句:for(i=l;i+4;);后,变量i的值是_。A)3 B)4 C)5 D)不定15、 有以下程序段intn,t=1,s=0;scanf(%d,&n);dos=s+t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是_。A)任意正奇数 B)任意负偶数C)任意正偶数 D)任意负奇数16、 以下能正确定义数组并正确赋初值的语句是_。A)intN=5,bNN;B)inta12=1,3;C)intc2=1,2,3,4;D)intd32=1,2,34;17、 已有定义:chara=xyz,b=x,y,z;,以下叙述中正确的是_。A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对18、 在C语言中,引用数组元素时,其数组下标的数据类型允许是_。 A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式19、 若二维数组a有m列,则在aij前的元素个数为_。A)j*m+i B)i*m+jC)i*m+j-1 D)i*m+j+120、 以下叙述中不正确的是_。A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值B)在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容C)在C中,外部变量的隐含类别是自动存储类别D)在C中,函数形参可以说明为register变量21、 当调用函数时,实参是一个数组名,则向函数传送的是_。A)数组的长度 B)数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值22、 若有以下定义:chars20=programming,*ps=s;则不能代表字符o的表达式是_。A)ps+2 B)s2 C)ps2 D)ps+=2,*ps23、 以下程序输出的值为_。main()inta=1,2,3,D,5,6,7,8,9,0,*p;p=a;printf(%dn,*p+9); A)1 B)9 C)10 D)024、 在C语言程序中_。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套 25、 以下正确的函数原型语句是_。A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int,int);D)double fun(int x,y);26、 循环体至少被执行一次的语句为_。A)for循环 B) while循环 C) do循环 D) 任一种循环27、 在下面循环语句中内层循环体S语句的执行总次数为_。 for(int i=0; in; i+) for(int j=i; jn; j+) S;A) n2 B) (n+1)/2 C) n(n-1)/2 D) n(n+1)/228、 函数调用不可以_。 A)出现在一个表达式中B) 出现在执行语句中C)作为一个函数的实参D)作为一个函数的形参29、 将两个字符串连接起来组成一个字符串时,选用_函数。A) strlen() B) strcap() C) strcat() D) strcmp()30、 以下叙述不正确的是_。A) 宏替换不占用运行时间 B) 宏名无类型C) 宏替换只是字符替换 D) 宏名必须用大写字母表示二、 填空题(每空2 分,共30 分) (请将答案填写在答题纸上)1、 若x为int型变量,则执行以下语句后x的值是_。x=7; x+=x-=x+x;2、 结构化程序设计中的三种基本结构是顺序结构、选择结构、_。3、 如果函数定义时函数值的类型和return语句中表达式的值类型不一致,则以_类型为准。4、 当在程序中执行到_语句时,将结束本层循环类语句或switch语句的执行。5、 当在程序中执行到_语句时,将结束所在循环语句中循环体的一次执行。6、 在程序中执行到_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。7、 以下程序main()int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i=A&ch=Y) ch=_;return ch;9、 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。#include void main(void) int i, j;for(i=0; i10; i+) j = i*10+6;if (_ _ ) continue;printf(%d ,j);10、 以下程序的功能是调用函数fun计算:m=1-2+3-4+9-10,并输出结果。请填空。intfun(intn)intm=0,f=1,i; for(i=1;i=n;i+) m+=i*f; f= _ ; returnm;main()printf(m=%dn,_ _);11、 下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。char x=programming;char y=Fortran;int i=0;while (_ _ _) if (xi=yi) printf (%c,xi); else i+;12、 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main()inti,a20,sum,count;sum=count=0;for(i=0;i20;i+)scanf(%d,_);for(i=0;i0)count+;sum+=_;printf(sum=%d,count=%dn,sum,count);三、 程序阅读题,写出程序运行结果(每题6 分,共30分)(请将答案填写在答题纸上) 1、 以下程序运行后,输出结果是#includemain()inti,j,row,column,m;staticintarray33=100,200,300,28,72,-30,-850,2,6;m=array00;for(i=0;i3;i+)for(j=0;j3;j+)if(arrayij=1);for(i=4;i=0;i-)printf(%d,ai);printf(n); 3、 以下程序运行后,输出结果是main() int a=2,b=5,c=0; if(a+b10) c=a*b; else c=3*a+b; if(c=20) printf(%dn,c*c); else printf(%dn,4+c-5); a=a+b; b=a+b;c+=a+b; printf( a=%d, b=%d, c=%d,a,b,c); 4、 以下程序运行后,输出结果是#include void main(void) int array10 = 1, 2, 4, 5, 6, 0, 0, 0, 0, 0, i; printf(n); for (i=0; i=2; i-) arrayi = arrayi-1; array2 = 3; for (i=0; i10; i+) printf(%3d , arrayi); printf(n);5、 以下程序运行后,输出结果是main() int a8=36,25,48,14,55,40,50,24; int b1, b2,i; b1=b2=a0; for(i=1;ib1) b2=b1; b1=ai; else if(aib2) b2=ai; printf(b1=%d, b2=%d, b1,b2); 四、 程序设计题 (共10 分) 得分评阅人 某班级学生进行百米跑测试,规定成绩在12秒以内(含12秒)为优秀,在12秒以上至15秒为达标,在15秒以上为不达标,编一程序,从键盘上输入每个人的成绩,以x

温馨提示

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

评论

0/150

提交评论