2007~2008C程序设计1试卷及答案

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………

课程:C 语言程序设计

班级________________________姓名__________________________学号________________________

……………………………… 密 ……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 试 题 纸(一)
题号 得分
一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 总 分

2007~2008 学年第一学期《C 程序设计 1》试卷
考试时间:120 分钟 满分:100 分(作题答案一律写在答题纸上,答案写在试卷无效) 一、单项选择题(每题 1.5 分,共 30 题)45% 1、 以下叙述正确的是___________。 A) 一个 C 程序若干个函数组成 B) C 源程序的注释只能包含一行 C)C 源程序的基本单位是字符 D) C 源程序的注释只能位于一条语句的最后 2、以下不属于合法的标识符或变量名是__________。 A)Goto B)Java C)#Count 3、在 C 语言中数字 086 是一个___________常量。 A)二进制 B) 八进制 C) 十进制 D)非法 4、设有定义语句:’\0x81’;则变量 ch________。 A)4 个字符 B)3 个字符 C)2 个字符

D)_sum

D)1 个字符

5、以下属于合法的长整型常量是_____________。 A)1234 B)3E9 C)3L D)2345679 6、设有语句:int x,y;x=(y=9/2,y*2,x=y%3),x+3;则 x 的值是_____________。 A)4 B)5 C)1 D)2 7、以下语句 int x=8,y=9;if(x=0) y=0;else y=1;执行之后 y 的值是______。 A)0 B)8 C)1 D) 以上都不是 8、假定整型变量 x,y,t 已正确定义,以下不能实现变量 x 与 y 中的数据交换的是__________。 A) x=x+y,y=x-y,x=x-y; B)t=x,x=y,y=t; C)x=x*y,y=x/y,x=x/y; D) x=t,t=y,y=x; 9、设 char x;float y, z;int s;则 s*y+x-z 的值是___________类型。 A)char B) double C) float D)int 10、下列表达式中,满足“当 x 的值为偶数时值为真, x 为奇数时值为假”的要求_____。 A) x%2!=0 B) x%2= =1 C) x/2*2= =x D) x/2*2! =x 11、已知 x=-1,y=0;执行语句 k=(++x>=0)||( --y<=0);后 x、y 的值分别是___________。 A) -1,-1 B) 0,-1 C) -1,0 D) 0,0 12 、关于 C 语言程序书写的说法,以下必须遵守的规则是___________。 A)程序语句必须占一行 B)采用缩进书写格式 B)字母全部采用小写 D)每条语句必须用分号结束 13、下列程序段执行后,m 的值是___________。 int a=10,b=9,c=8,m; m=a>(b>c?b:c)?a:b>c?b:c; A)10 B)9 C) 8 D) 0 14、以下正确的赋值语句是 A)a=b=9 B)h=x+y

C)x=8,y=9

D)y--;

15、设有 int x,y;scanf(“%*3d%3d%4d”,&x,&y);当程序运行时输入 1234567890 后,则___________。 A)x=123,y=6789 B)x=456,y=7890 C)x=123,y=7890 D)x=456,y=6789

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………

课程________________________班级________________________姓名__________________________学号________________________

……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 试 题 纸(二)
16、若 x 为整型变量,则下面与逻辑表达式!x 等价的 C 语言关系表达式式是___________。 A) x= =1 B)x!=1 C) x= =0 D)x!=0 17、if 语句的控制条件是___________。 A)只能是关系表达式 C)只能是逻辑表达式

B)只能是关系表达式或逻辑表达式 D)可以是任意表达式

18、以下不正确的叙述是___________。 A)用 do...while 语句构成的循环,也能用其它语句构成的循环来代替 B)用 do...while 语句构成的循环,不能用 break 语句退出 C)用 do...while 语句构成的循环,在 while 后的表达式值为 0 时结束循环 D)用 do...while 语句构成的循环,在 while 后的表达式值为假时结束循环 19、将两个整型数 x,y 中较大的一个赋值给 z 的正确语句是___________。 A) if(x>y) z=x; B) if(x<y) z=y; C) z=x>y?x:y; D)z=x<y?x:y;

1 ;○ 2 ;○ 3 ) if(....)continue;其中 continue 将转向执行 20、对于 for(○ 2 A) ○
21、有

3 B)○

C)结束循环

1 D○

int x=5,y=6,z=8;则表达式的值为 1 的是___________。
B)y>z||x>y C)x<y<z-y D)x&&y>z

A)z<y

22、若有 int x;float y;scanf(“% f,% d”,& y,& x);使 x 和 y 的值分别为 88,6.5,则正确的输入是___________。 A)y=6.5 x=88 B)6.5,88 C)y=6.5, x=88, D) 6.5 88 23、下列程序段中 while 循环执行的次数与 k 的值分别是___________。 int k=5;while(k=!k) k++; A)32762,32767 B)0,0 C)无穷次,32768 D)1,1 24、下列程序输出的结果是___________。 #include <stdio.h> main( ){int k=1,n;float x=1,y; n=++k*++k;y=++x*++x;printf(“%d,%f”,n,y);} A)6,6 B)9,6 C)9,9 D)有语法错误 25、以下程序的输出结果是___________。 main( ){int x=2,y=1;float f=9.8,s=10;f=(int)f+x%3*y/(int) s;printf(“%d\n”,f); } A)9 B)9.2 C)0 D) 以上答案都不对 26、以下程序的输出结果是___________。 main( ){int x=2,y=1;float f=9.8,s=10;f=(int)f+x%3*y/(int) s;printf(“%f\n”,f); } A)9 B)9.2 C)0 D) 以上答案都不对 27、以下程序的输出结果是___________。 main( ){int x=2,y=1;float f=9.8,s=10;f=(int)f+x%3*y/s;printf(“%f\n”,f); } A)9 B)9.2 C)0 D) 以上答案都不对 28、运算符%适用于_________。 A)任意类型的两个数 B)两个整型数

C)整型或字符型的两个数

D) 整型或实型的两个数

29、在 TurboC 集成开发环境中,查看程序运行结果的快捷键是_________。 A)F2 B)F3 C)F9 D) Alt+F5 30、以下不正确的是_________。 A)int x=’A’ B)char x=12 C)int x=65 D) char x= “A”

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………

课程________________________班级________________________姓名__________________________学号________________________

……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 安 徽 工 业 大 学 工 商 学 院 试 题 纸(三)

二、改错题(每题 6 分,共 2 题)12% 每个程序中语句右端的标记/*$ERROR$*/表示该语句有错,请改正。 3x+7 1、程序的功能是随机输入 1 个数,计算其函数的值。 程序如下: main() { int x ;float y; printf("Enter a value into x,please!:\n"); scanf(“%f,”,&x); /*$ERROR$*/ if(x<0) y=x/5; else if (6>x>0) y=1; /*$ERROR$*/ else y=3x+7; /*$ERROR$*/ printf("x=%d,y=%f\n",x,y); } Y= 1 x __ 5 _ x>6 6>x>0 x<0

2、

( ?1) k 程序的功能是计算 ? k ? 0 k ?1
49



程序如下: main() {int k; float s=0,f=1; for(k=1;k<50;k++) /*$ERROR$*/ { s=s+f/k; F= -f; /*$ERROR$*// } printf("s=%d",s); /*$ERROR$*/ } 三、填空题(每题 4 分,共 5 题)20% 1、下列程序的执行后的输出结果是_________。 main( ){ int a=1,b=0; switch(a) { case 1: switch(b) {case 0: printf(“**0**”);break; case 1:printf(“**1**”);break; } case 2:printf(“**2**”);break; } } 2、下列程序的执行后的输出结果是_________。 main() {int i,j; for(i=5;i>0;i--) {for(j=i;j>1;j--) printf(" "); for(j=1;j<=i;j++) printf("%d",i); printf("\n"); } } 3、下列程序的执行后的输出结果是_________。 main( ){int i,j,s=0;for(i=0;i<=5;i++) for(j=5;j>=1;j--) if(i%j= =1) s=s-i+j; printf(“%d”,s); }

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………

课程________________________班级________________________姓名__________________________学号________________________

……………………………… 密……………………………… 封 ………………………………… 线 ………………………………

安 徽 工 业 大 学 工 商 学 院 试 题 纸(四)
4、下列程序的执行后的输出结果是_________。 main( ){ int a=1,b=2,c=3,t; while(b<a<c) {t=a;a=b;b=t;c--;} printf(“%d,%d,%d\n”,a,b,c); } 5、 下列程序的执行后的输出结果是_________。 main( ){ int a=2,b=3,c=1; if(a>b) if(a>c) printf(“%d\n”,a); else printf(“%d\n”,b); printf(“It’s Over!\n”); } 四、编写程序题(各题分别是 5、8、10 分,共 3 题)23% 1、利用循环结构设计程序输出以下图形。 1 22 333 4444 55555 2、利用循环语句求 1-1/32+1/52-1/72+......+ 1/(2n-1) 2 的值。(本题求前 50 项的和) 3、"原子核裂变问题"。自然界中有一种元素原子核的 1 颗质子受到中子的轰击会裂变成 2 颗质子和 1 颗中子。以后的质子会按同样的规律连续裂变。 请编写程序求解 1 颗质子受到中子的轰击,在连续 10 次裂变后的质子和中子数分别是多少。

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………

课程:C 语言程序设计

班级________________________姓名__________________________学号________________________

……………………………… 密 ……………………………… 封 ………………………………… 线 ………………………………

安 徽 工 业 大 学 工 商 学 院 答 题 纸
题号 得分 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 总 分

一.

单选题(每题 1.5 分,共 30 题)45% 1~5:ACDDC 6~10:CCDBC

11~15:DDADB

16~20:CDBCB

21~25:CBBBC

26~30:ABCDD

二. 改错题(只写出改正后的语句) (每题 6 分,共 2 题)12% 1: (1) scanf(“%d,”,&x); /*$ERROR$*/ (2) else if (6>x && x>0) y=1; /*$ERROR$*/ (3) else y=3*x+7; /*$ERROR$*/ 2: (1) for(k=1;k<=50;k++) (2) f= -f; (3) printf("s=%f",s); /*$ERROR$*/ /*$ERROR$*// /*$ERROR$*/

三.填空题: (每题 4 分,共 5 题)20% 1:**0****2** 2: 55555 4444 333 22 1 3:4 4:2,1,0 5:It's Over! 四、编写程序题(各题分别是 5、8、10 分,共 3 题)23%

1 . main() {int i,j; for(i=1;i<=5;i++) {for(j=1;j<i;j++) printf(" "); for(j=1;j<=i;j++)printf("%d",i); printf("\n"); } }

2: main() {int i;float s=0,f=1; for(i=1;i<100;i+=2) {s+=f/(i*i);f=-f;} printf("s=%f\n",s); }

3: main() {long s1=1,s2=0,k=1; for(k=1;k<=10;k++) { s2=s2+s1; s1=s1*2; printf("s1=%ld,s2=%ld\n",s1,s2); } }

……………………………… 装 ……………………………… 订 ………………………………… 线 ………………………………











学 工 商 学 院 试 卷 封 面

课程名称《C 程序设计》任课教师___________________实考人数___________________

装订份数:共_______册 本册为第_______册考卷_______份

试卷评阅人和审核人签名
题号 评阅人 审核人
一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十

以下各项在空格内打√或说明
1. 考试类型:全国统考_____省部统考_____校统考_____院统考_____非统考_____ 2. 试题来源:国家题库_____省部题库_____校题库_____教考分离_____任课教师命题_____ 3. 阅卷方式:考评分离_____流水作业_____任课教师批改_____ 4. 卷面成绩是否作技术处理: 是_____否_____,加_____分,减_____分 5. 考试方式:开卷_____闭卷_____考试_____考查_____ 6. 考试时间:_____年_____月_____日自_____时_____分至_____时_____分 7. 缓考(缺考)生姓名:__________________________________________________ 8. 违纪生姓名:__________________________________________________________

填表人签名:







装订人签名:







系(教研室)主任签名:








相关文档

2007_08_1_“程序设计II”试卷答案(计算机专业)
2007_08_1_“程序设计I”试卷(计算机专业)
2007_08_1_“程序设计II”试卷(计算机专业)
Java语言程序设计(一)模拟试卷(07)及答案
2007年数控编程期末考试试卷及答案1
上海大学程序设计基础(C)06-07秋试卷及答案
2007年9月 2008年3月二级C语言程序设计笔试试卷及答案
2007最新数控编程与操作期末考试试卷及答案1
全国2007年10月高等教育自学考试C++程序设计试题答案
全国2007年1月汇编语言程序设计试题
电脑版