您好,欢迎来到花图问答。
搜索
您的当前位置:首页清华大学C语言程序设计考试试卷A

清华大学C语言程序设计考试试卷A

来源:花图问答
清华大学考试试卷 试卷编号: 2011 — 2012 学年 第____1_____学期 考试性质:[正考]、[补考]、[其它] 课程名称:____ _C_高级语言程序设计___________ 考试方式:[开卷]、[闭卷] 考试时间:__2011_ 年_11_月____日 试卷类别(A、B):[ A ] 共 3 大题 温 馨 提 示 请考生自觉遵守考试纪律,争做文明诚信的大学生。如有违犯考试纪律,将严格按照《学生违纪处分暂行规定》处理。 班级 学号 姓名 题号 得分 一 二 三 总 分 一、填空题(每小题2分,共40分) 请将答案填在横线上。 (1)结构化程序设计的3种基本结构是顺序结构, 选择结构 和 循环结构 。 (2) 一个C程序包含个 一个或多个 源程序文件,有 且仅有一 个主函数。 (3)一个源程序文件的名称为“example.c”,通过编译后,对应的目标文件的名称是: example.obj 。 (4)double x=4.5,y=4.7;int a=5;表达式“x+a%3*(int)(x+y)%2/4”的值是: 4.5 。 (5)设有int x=3,y=5; 则表达式“y+(x+3.8)/5”的值的数据类型是: double 。 (6) double x=2.3456,y=12.5648。用printf函数输出x,y的值,输出结果是x=2.45,y=12.56。请写出输出格式控制字符串: “x=%.2lf,y=%.2lf” 。 (7)char x,y;用scanf从键盘获取x,y的值,从键盘输入的格式是a b。“ ”表示空格字符,请写出输入格式控制字符串: “%c %c” 。 (8)公式c= (F-32)在C语言中对应的表达式 c = 5.0 / 9 * (F - 32) 。 第 1 页 共 8 页 5 9 (9)数学中的关系表达式“20≤x<30”在C语言中的表示形式是: x>=20 && x<30 。 (10)设 int x=0, y=1;表达式“!x||y--”的值是 1 ,表达式求值后,y= 1 。 (11)int x=1,y;双引号中的表达式“y = x>0 ? 2 : x—”求值后,x= 1 ,y= 2 。 (12) 有循环语句“for(i=0,j=1; i<=j+1; i+=2, j--) printf(\"%d \\n\环体中语句执行的次数是 1 。 (13) 字符'A'的ASCII值为65,int x='f';x='A'+(x-'a'+1),x的值是 71 。 (14) 设有数组定义: char array [ ]=\"x\\101y\abc\"; 则数组 array所占的存储空间为 8 个字节。 (15) 语句printf(\"are\\'hi\\'y\\\\ou\\n\");的输出结果是 are’hi’y\\ou 。 (16) int a[]={10,20,30,40,50},*p;p=&a[1];*(p+2)的值是 40 。 (17) int a[]={10,20,30,40,50},*p,*q;p=&a[1];q=&a[4];q-p的值是 3 。 (18) #define S(x,y) x*y int a=2,b=5;S(a+b,a-b)的值是: 7 。 (19) char str1[10]= \"xxx\",str2[10]= \"yyy \";strcat(str2,str1); strlen(str1)= 3 ,strlen(str2)= 6 。 (20) 算法具有5个特性,它们是有穷性、 确定性 、有零个或多个输入、 有一个或多个输出 、有效性。 二、程序阅读题(每小题5分,共40分) 请将程序的运行结果填入网格中,一格填一格字符 (1)请写出下面程序运行的结果 #include void main() { int x=2,y=8; x += 5; y %=3; printf(\"x=%4d,y=%4d\\n\} 第 2 页 共 8 页 运行结果: x = 7 , y = 2 (2)请写出下面程序运行的结果 #include void main() { int x; printf(\"Please input a number:\"); scanf(\"%d\ printf(\"The number you input is %d.\\n\} 运行结果: P l e a s e i n p u t a n u m b e r : 1 2 T h e n u m b e r y o u i n p u t i s 1 2 . (3)请写出下面程序运行的结果 #include void main() { int score; printf(\"Please input a number:\"); scanf(\"%d\ if (score>100) printf(\"Input error\\n\"); else if (score>=60) printf(\"Pass\\n\"); else if (score>=0) printf(\"Sorry!You failed.\\n\"); else printf(\"Input error\\n\"); } 运行结果: P l e a s e i n p u t a n u m b e r : 7 6 P a s s (4)请写出下面程序运行的结果 #include void main() { int i,t,a[8]={1,2,3,4,5,6,7,8}; 第 3 页 共 8 页 for (i=0;i<4;i++) { t = a[i]; a[i] = a[7-i]; a[7-i] = t; } for (i=0;i<8;i++) { printf(\"%2d\ } printf(\"\\n\"); } 运行结果: 8 7 6 5 4 3 2 1 (5)请写出下面程序运行的结果 #include void main() { int i=0; char str[]=\"abcdefg\"; while (str[i++]!='\\0') { if (i%3) { continue; } putchar(str[i]); } printf(\"\\n\"); } 运行结果: d g (6)请写出下面程序运行的结果 #include #define M 3 #define N 3 void main() { int i,j; double score[M][N]={{70,80,90},{60,80,70},{60,90,60}}; 第 4 页 共 8 页 double average[M]; for (i=0;i int x=3; int fun1(int a) { int m=0; m++; printf(\"%d,%d\\n\ return x + a + m; } int fun2(int a) { static int m=0; m++; printf(\"%d,%d\\n\ return x + a + m; } void main() { int m,n,x=2; m = x + fun1(5); n = x + fun2(5); printf(\"%d,%d,%d\\n\第 5 页 共 8 页 m = x + fun1(5); n = x + fun2(5); printf(\"%d,%d,%d\\n\} 运行结果: 1 , 3 1 , 3 2 , 1 1 , 1 1 1 , 3 2 , 3 2 , 1 1 , 1 2 (8)请写出下面程序运行的结果 #include void fun1(int x,int y) { x--; y++; } void fun2(int *x,int *y) { (*x)--; (*y)++; } void main() { int m=2,n=2; fun1(m,n); printf(\"%d,%d\\n\ fun2(&m,&n); printf(\"%d,%d\\n\} 运行结果: 2 , 2 1 , 3 三、程序设计题(第1小题8分,第二小题12分,共20分) 第 6 页 共 8 页 (1)设有一个函数: x x<1; y= 2x-1 1≤x<10; 3x-11 x≥10 请写一个C程序,输入x的值,输出y的值。(要求有输入提示) #include void main() { double x,y; printf(“请输入x的值:”); scanf(“%lf”,&x); if (x<1) { y = x; } else if (x<10) { y = 2*x-1; } else { y = 3*x-11; } printf(“x=%lf,y=%lf\\n”,x,y); } (2)请设计一个函数(函数名称为isDivideBy3And5),实现判断一个数能否被3和5同时整除(若能整除,函数返回1;否则,返回0);在主函数中调用该函数,筛选出第 7 页 共 8 页 1~100中数能被3和5同时整除的数。 #include int isDivideBy3And5(int x) { if (x%3==0 && x%5==0) { return 1; } return 0; } void main() { int m; for (m=1;m<=100;m++) { if (isDivideBy3And5(m)) { printf(“%5d”,m); } } printf(“\\n”); } 第 8 页 共 8 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务