好文档 - 专业文书写作范文服务资料分享网站

C语言及程序设计课程试卷答案

天下 分享 时间: 加入收藏 我要投稿 点赞

学年第二学期试卷 承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。 试卷编号: (A)卷 C语言及程序设计 课程 课程类别:必 闭卷 考生注意事项:1、本试卷共6页,总分100分,考试时间120分钟。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 3、所在答案写在答题纸上。 专业 班级 学号 学生签名: 一、选择题(每题2分,共30分) 1、 在C语言中长整型数值在计算机中占用的字节数是( A ) A.2 B.4 C.8 D.1 2、 设int b[]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( B ) A. 2 B.1 C.3 D.4 3、 C程序在作逻辑运算时判断操作数真、假的表述中,正确的是是( C ). A. -1为假 B.只有1为真 C. 0为假,非0为真 D. 0为真,非0为假 4、 设int I,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句 for (i=0;i<3;i++) printf(“%d”,x[i][2-i]);的输出结果是(D) A.147 B.159 C.369 D.357 5、 设有定义: union stu { int a[4]; float b[3]; char c[16]; }aa; 则 printf(“%d\\n”,sizeof(aa)); 的输出是( B ) A.36 B. 16 C. 12 D.8 6、 若int a[]={1,2,3},*p;则下列赋值语句中正确的是( C ) A.p=1; B.*(a+1)=a; C. p=a; D. *p=a; 7、 下列程序的运行结果是( D ) #define A 5 #define B A+1 main( ) {int a; a=B; printf(“%d\\n”,a--);} A. 出错 B.5 C.4 D. 6 8、 若定义char ap= “95”,b= “windows” ;则语句printf(“%s”,strcry(a,b)) ;的输出结果为( A) A. 95windows B.windows C.95 D. windows95 9、 表达式10%2的值是( A ) A.0 B.1 C.5 D.5.0 10、设int i=10;表达式30-i<=i<=9的值是( B) A.0 B.1 C.9 D.20 11、以下合法的用户标识符是( C )。 A.j2*KEY B. 4d C. Double D. %ag 12、设int x=7 ;执行语句x=x<<2 ;后,变量x的值是( D ) A.1 B.3 C.14 D.28 13、以下数组定义中正确的是( D ) A.int x[][]={1,2,3,4,5,6}; B. int x[2][]={1,2,3,4,5,6}; C.int x[2,3]={1,2,3,4,5,6}; D.int x[ ][3]={1,2,3,4,5,6}; 14、设int a[]={1,2,3,4,5},*p=a ;则数组元素的正确表示是( C ) A.a[5] B. &(a+1) C. p[4] D.&p 15 以下不能看成一条C语句的是( D ) A.{ ;} B.a=5,b=5,c=6 ; C.if(x>=0&&y==0); D.if(x==0)a=5 ;b=10; 二、程序分析题(每题4分,共24分) 阅读下列程序,将输出结果写到相应的答题卡的位置。 1.#include main() { int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; printf(\printf(\答案: 4 0 2.#include void main() { int x=1,a=0,b=0,s=0; switch(x) { case 1: a++; case 2: b++; printf(“%d”,b); case 3: a++;b++; break; case 4: a++;b++; } 1 printf(\ 答案: s=4 3.#include main() { int a=0,y=10; if(a=0) y--; else if(a>0) y++; else y+=y; printf(\ } 答案: 20 4.#include int fun( ) { int y=1; static int z=4; z++;++y; return(y*z); } main( ) { int i ; for (i=0;i<3;i++) printf(“]\\n”,fun()); } 答案: 10 12 14 5.#include main() { char *p, s[ ]=””; for (p=s;*p!=’\\0’; ) { printf(“%s\\n”,p); p++; if (*p!=’\\0’) p++; else break; } } 答案: 43210 210 0 6.#include 第 3 页 共 8 页

void main() { int a []={5,8,7,6,2,7,3}; int y,*p=&a[1]; y=(*--p)++; printf(\ \ printf(\} 答案: 5 6 三、程序填空题(每空2分,共12分) 1.输入一个学生的成绩(在0~100分之间,超出此范围显示出错),进行五级评分并显示。 #include main() { int score; scanf(\【 1 】 &score ); printf(“%d->”,score); if ( 【2 】 score>0&&score<=100 ) switch( 【3】score/10 ) { case 9: case 10:printf(“excellent\\n”);break; case 8: printf(“good\\n”);break; case 7: printf(“middle\\n”);break; case 6: printf(“middle\\n”); 【4】 break ; default: printf(“no pass\\n”); } else printf(\ } 2. 以下程序求[10,1000]之间能被3或5或8整除的数之和。请将程序补充完整,给出正确程序运行结果,填入相应窗口。 #include #include main() { ____【5】int i_;_____ long sum; clrscr(); sum=0; for ( i=10;i<=1000;i++) { if ( ______【6】__i%3==0|| i%5==0|| i%8==0_______ ) sum+=i; } printf(\四、程序改错(程序中下划线那行有错误,写出改正后的正确结果)(每行2分,共12分) 1. 以下程序是求n 个偶数的和。(以下按顺序分别是1、2、3、4行.改正后将答案写在答题纸上) include “stdio.h” #include “stdio.h” main() { int a,i,n,sum=0; clrscr(); scanf(\ scanf(“%d”,&n); for(i=1;i<=n;i++) { scanf(\ if(a%2=0) 注意等号与赋值的区别 if(a%2==0) sum+=a; } Printf(\ 注意大小写 printf(“%d\\n”,sum); } 2. (以下按顺序分别是5、6行,改正后将答案写在答题纸上) #include long fun(int n); long fun(int n) { long s; if(n<=2)s=2; else s=n+fun(n-1); printf( ″ %lf\\t ″ , s); printf(“%ld\\t”,s) return s; } main( ) { fun(5); printf( ″ \\n ″ ); } 五、程序设计题(共22分) 1.输出100以内不能被7整除的整数的和与个数。(10分) #include main() {int i,s=1,count=0; for(i=1;i<=100;i++) if(i%7!=0) { s+=i; count++;} printf(“s=%d,count%d”,s,count);} 2.编程计算1/1!+1/2!+….+1/10!(结果保留10位小数) (12分) 1)编写一fac的函数求n!(不要写主函数)。 第 5 页 共 8 页

C语言及程序设计课程试卷答案

学年第二学期试卷承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。试卷编号:(A)卷C语言及程序设计课程课程类别:必闭卷考生注意事项:1、本试卷共6页,总分100分,考试时间120分钟。2、考试结束后
推荐度:
点击下载文档文档为doc格式
8218t5glxr4mu7526k929d31q9p6am00eba
领取福利

微信扫码领取福利

微信扫码分享