当前位置:文档之家› 期末测试模拟试题D

期末测试模拟试题D

广州现代信息工程职业技术学院考试模拟卷(D卷)考试时间:2012-2013学年第二学期考查科目:C语言程序设计班级:学号:姓名:成绩:阅卷人:李忠华一、选择题(共30题,每题2分,共60分)1.在C语言程序中,定义符号常量的标识符是()A.main B.define C.include D.float2. 在Turbo C中,编译并运行一个程序需要使用的菜单项是()A.File B.Edit C.Run D.Compile3. 在一个完整的C语言源程序中,必须包含的函数是()A.main( ) B.scanf( ) C.printf( ) D.getch( )4. 下列选项中,不属于C语言双目运算符的是()A.:B.%C.* D.+5. 当运行下列程序时,在键盘上从第一列开始输入10后回车,则程序的输出结果是()main(){<int a; float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%.0f,c=%.0f”,a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=,c=D. a=98,b=,c=6. 下列表达式的值为0的是()A. 3%5B. 3>=5C. 5&&0||3D. 5/37. C语言程序的基本单位是()A.语句B.表达式C.函数D.标识符8. 使用OS Shell退出Turbo C环境进入DOS后,要想返回Turbo C环境应键入()A. RETURNB. EXITC. QUITD. BREAK9. 在c语言中,要求对象必须为整型的是()A. %B. /C. !D.++10. C语言表达式是按运算符的优先级来决定运算顺序的,下列运算符优先级最高的是()A. =B. !C. ,D. &&11. 下列合法的浮点型常量是()A. 3.4e2B. 2e+1.2C. 3eD. 079612. 如果要将476存入变量,则该变量不能定义成()A. floatB. longC. intD. char13. 设x为整型变量,y为双精度型变量,则表达式x*y+3的数据类型是()A. charB. intC. floatD. double14. 在Turbo C中,存储flaot型数据占用的字节数为()B.2}15. 若x和y是double类型,则表达式x=1,y=x+3/2执行后的值为()A. 1B. 2C.D.16. 在C语言中,整数不能使用下列哪种数制表示()A. 二进制B. 八进制C. 十进制D. 十六进制17. 关系表达式x≤y≤z用C语言来描述,正确的是()A. x<=y<=zB. (x<=y)&(y<=z)C. (x<=y)||(y<=z)D. (x<=y)&&(y<=z)18. 若x为double型变量,执行表达式x=1,x+5,x++后,变量x的值为()A. 1B. 2.0C.D.19. 执行C程序段int x,y,t; x=y=3; t=++x||++y;后,y的值为()A. 1B. 3C. 4D. 520. 执行C程序段char ch=’a’;ch=(ch>=’a’&&ch<=’z’(ch-32):ch;后,变量ch的值为()A.‘A’B.‘a’C. ‘z’D.‘Z’21. 在C语言中,关于break和continue,下列说法正确的是()A. break只用于switch开关语句中B. continue只用于循环语句中C. break和continue既可以用于循环体,也可用于switch开关语句D. 程序在执行过程中,一旦遇到break或continue,就会终止程序的执行22. 关于C语言中的do…while循环,下列说法正确的是()A. 必须使用break才能推出循环B. 循环体至少执行一次C. 可以使用continue结束循环D. while后的条件满足时跳出循环23. 下面合法的C语言标识符有()A. A3BB. _4xC. 3xyD. a2+b24. 下列属于C语言保留字的是()A. intB. mainC. expD. scanf'25. 下列不合法的C语言说明语句是()A. int aa[60];B. char aa[];C. char aa[20]=“dream”;D. int aa[5]={3,4,5};26. 下列C语言表达式中,不等价的是()A. x*=3+5B. x*=(3+5)C. (x*=3)+5D. x=x*(3+5)27. 以下程序的输出结果是()# include <>main(){int a=2,c=5;printf("a=%%d,b=%%d\n",a,c);}A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d '28. 以下关于数组的定义和初始化中,错误的是()A、int a[5]={1,2,3,4,5}B、int a[5]={1,2,3}C、int a[ ]={1,2,3,4,5}D、int a[3]={1,2,3,4,5}29. 下列各语句定义了数组,其中哪一个是正确的( )A.int a[5],b[[2],3];B.char no(30);C.int x[];D.int x[5]={1,2,3};30. 已知字母A的ASCII码为十进制的65,下面程序的输出是:main(){char ch1,ch2;ch1=’A’+’5’-‘3’;ch2=’A’+’6’-‘3’;printf(“%d,%c\n”,ch1,ch2);}A、67,DB、B,CC、C,DD、不确定的值二、填空题(共10空,每空2分,共20分)1. 在Turbo C中,默认的源程序文件名是。

¥2. C语言源程序经过编译之后,产生的目标文件扩展名为。

3. C语言的语句结束标志是。

4. 设int a; float f; double i ;则表达式10+'a'+i*f值的数据类型是___________。

5. 在C语言中,与if(x>5) y=1; else y=0;等价的赋值表达式是y=。

6. 如果变量定义有:int a=9,c=8;则表达式(――a!=c++)――a:++c的值为________。

7. 执行C程序段:int k=1; switch(k){case 1: printf(“abc”);case 2: printf(“123”);}后,输出结果是8. 定义一个符号常量EOF,使其与-1等价,则正确的表示方式为________。

9. 表达式(a=3*5,a*4),a+5的值为_________。

`10. C语言中,一个长度为n的字符串要占用n+1个字节的存储空间,多出来的一个用来存放__________。

三、判断题(共10题,每题1分,共10分)1. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。

()2. 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明。

()3. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。

()4. 函数的定义可以嵌套,但函数的调用不可以嵌套。

()5. do…while循环中,根据情况可以省略while。

()6. 形参是虚拟的,不占用存储单元。

( )7. 用户若需要调用标准库函数,调用前必须重新定义。

().8. 若调用一个函数,且此函数中没有return语句,则该函数没有返回值。

()9. 在实际编程中,do…while循环完全可以用for循环替换。

()10. if语句与switch语句可以嵌套,而且嵌套的层数没有限制()四、阅读理解题(共5题,每题4分,共20分)1. 下面是根据学生成绩(cj)输出评定等级(dj )的程序。

成绩为90~100分,输出字符“A”;80~89分,输出字符“B”, 70~79分,输出字符“C”;60~69分,输出字符“D”;否则输出字符“E”。

填空完善程序。

#include <>void main( ){intcj;char dj;printf(“\n请输入学生成绩:”);scanf(”%d”,①);switch( ②){case 9:dj =`A’;break;case 8:dj =`B`;break;case 7:dj =`C`;break;case 6:dj =`D`;break;default:dj =`E`;}prinf (”\n学生的等级是:③”,dj );}2. 以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。

请填空。

(char fun(char ch){if(ch= ='Z')ch=_____①_____;else if(ch>='A'&&ch<='Y')ch=____②______;return ch;}3.下面程序功能是从键盘上输入10个整数,然后按逆序输出。

请在横线上填上合适的内容,实现此功能。

#include “”void main(){int aa[10],n;for(n= ①;n=9;n++){printf(“\n请输入第%d个整数:”,n+1);scanf(“②“,&aa[n]);}for(n= ③;n>=0;n--)printf(“%d\t”, ④);})4. 下列程序横线左侧语句有误,请在右侧横向上写出正确的语句。

#define M 50void main(); ①{ int x;puts(“请输入一个整数“);scanf(“%d”,x); ②if(x>M)printf(“x>M”) ③elseprintf(“%f”,x); ④}5. 写出下列程序的运行结果。

#include “”main(){ int i,j;for(i=0;i<5;i++){ for(j=0;j<5;j++)printf(“%c”,’A’);printf(“\n”);}}程序的运行结果是:。

五、程序设计题(10分)。

从键盘输入20个数并存放在一个数组中,计算所有元素之和及平均值,并找出最大值和最小值。

参考答案一、选择题1~5 B C A A A[6~10 A C C A D11~15 A D D C D16~20 A D B B A21~25 B B B A B25~30 C A A A A二、填空题1.2..obj3.分号(;)4.double5.>6.y=x>51:07.98.abc1239.#define EOF -110.2011.\0三、判断题对对对错对错错对对对四、阅读理解题1. ①&cj ②cj/10 ③%c】2. ①A ②ch+13. ①0 ②%d ③9 ④aa[n]4. ①void main() ②scanf(“%d”,&x);③printf(“x>M”); ④printf(“%d”,x);五、程序设计题参考答案如下:#include<>#define N 20void main(){`float a[N],sum=0,aver,max,min;int i;for(i=0;i<N;i++){scanf("%f",&a[i]);sum+=a[i];}aver=sum/N;max=min=a[0];for(i=1;i<N;i++){if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];}printf("%.2f,%.2f\n",sum,aver); printf("%.2f,%.2f\n",max,min); return 0;}。

相关主题