
c语言期中考试卷.doc
6页2013/2014学年第 2 学期 程序设计与实践 C) 课程期中考核试卷 A■、 B□ 学号 姓名 专业 得分 答案请写在答题纸上,在纸上写明学号_ 姓名__号__座位号一、 单选题(本大题10小题,每题2分,共20分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是 A A. 3 B. 4 C. 11 D. 12 2.执行语句 for ( i=0; i++<3; ) prtinf("%d",i); 后,程序输出为__________A)2345 B)012 C)123 D)234 3. 以下能正确定义且赋初值的语句是 A. int n1=n2=10; B. char c=32; C. float f=f+1.1; D. double x=12.3E2.5; 4. 以下不能正确计算代数式 值的C语言表达式是 。
A. 1/3*sin(1/2)*sin(1/2) B. sin(0.5)*sin(0.5)/3 C. pow(sin(0.5),2)/3 D. 1/3.0*pow(sin(1.0/2),2)5. 设 int x=0, y=1; 表达式(!x||y--)计算完后,y的值是 A. 0 B. 1 C. 2 D. -16. 下列 是计算机能够直接识别的语言A. C语言原程序 B. 汇编语言 C. 高级语言 D. 机器语言7. 与 y=(x>0?(1:(x<0?-1:0));的功能相同的if语句是 A. if (x>0) y=1; B. if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; C. y=-1 D. y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;else if(x==0) y=0; else y=-1;else y=-1;8. 如下程序的输出结果是 。
# include < stdio.h > main ( ) { float x=2.0 , y ; if (x<0.0) y=0.0 else if (x< 10.0) y=1.0/x ; else y=1.0 ; printf("%f\n" , y) ; }A.0. B.0. C.0. D.1.9. 有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 程序运行后的输出结果是______ A.1 2 3 B.2 3 4 C. 2 2 3 D.2 3 310. 源程序要正确运行,必须要有 函数 A.printf函数 B. 自定义的函数 C.main函数 D. 不需要函数二、程序填空题(本大题2小题,每题10分,共20分)1.下面程序的功能是输出10至99之间每位数的乘积大于每位数的和的数,请填(3)空使程序完整如63,6+3=9,6*3=18,18>9,所以要输出63,而17,1+7=8,1*7=7,7<8,所以不输出17【程序t_1.c】#include "stdio.h"main (){ int n,g,s; for (n=10; ① ;n++)//n<=99 { s=n/10; ② //g=n%10或者 g=n-s*10 if ( ③ ) printf("%d\n",n);//s*g>s+g }}2. 学生考查课的成绩以A、B、C、D、E的形式给出,要求输入学生成绩,输出该成绩所对应的考试等级。
【程序t_2.c】main(){__①__ ch;//charprintf(“please input the grade(A-E)\n”);scanf(“%c”,&ch);switch __ ②__)//ch{case ‘A’ : printf(“excellence\n”);break; /* case ‘A’ 入口的语句序列 */case ‘B’ : printf(“good\n”);break; /* case ‘B’ 入口的语句序列*/case ‘C’ : printf(“common\n”);__③____//break;case ‘D’ : printf(“only pass\n”);break;case ‘E’ : printf(“fail\n”);break;default : printf(“error\n”); /* default 入口的语句序列 */}} }三、程序调试题(本大题2小题,每题10分,共20分)1. 统计从键盘输入一行字符的个数错误有2个,改错格式范例:***行应该改为*** #include
错误有2个,请修改.#include
保存为:a4-3.c功能说明:输入1个正整数(表示图形输出的行数),打印输出图形如输入:4则输出: ####******* 4 2*i-1 j 1 j+1 #####***** 3 2 ######*** 2 3 #######* 1 4#include “stdio.h”void main(){int i,j,n;printf(“请输入行数\n”);scanf(“%d”,&n);for(i=n;i<=1;i--){ for(j=0;j<=n-i;j++) printf(“ ”);for(j=1;j<=2*i-1;j++) printf(“*”);pirntf(“\n”);}} 4.编程要求:请按题中的功能要求,编写程序并能得到正确的结果保存为:a4-4.c 编程输出100~200之间所有的素数include “stdio.h”void main(){int i,n,num=0;for(n=100;n<=200;n++){ for(i=2;i<=n-1;i++) if(n%i==0) break;if(i= =n) {printf(“%4d”,n); num=num+1; } if (num%10==0){printf(“\n”);num=0}}。












