山东省潍坊市寿光市圣都职业高中2020-2021学年高一上学期12月月考考试《C语言程序与设计》试题及其答案

标签:
普通文字版答案
2024-11-01
| 8页
| 194人阅读
| 3人下载

内容正文:

一、 选择题(共20题) 1. 若有宏定义如下: #define X 5 #define Y X+1 #define ZY*X/2 则执行以下printf语句后,输出结果是(  )‍ printf(“%d ”,Z); A.7 B.12 C.12 D.8 2. 按照运行C语言的标准步骤:编辑-编译-连接-运行,则编译后生成的目标程序的文件格式为(  ) A..c B..obj C..exe D..dll 3. 下列选项属于C语言提供的合法关键字的是(  ) A.Int B.Double C.Float D.char 4. 以下程序段的运行结果是(  ) int n=290; char c; c=n; Printf("c=%d ",c); A.c=290 B.c=34 C.c=137 D.c=68 5. 设有如下程序段: int i=0,sum= 1 ; do { sum+=i+ + ;} while(i<6); printf( " %d", sum); 该程序段的输出结果是(  ) A.11 B.16 C.22 D.15 6. (2018年春季高考试题)若a是int型变量,表达式((a=3*5,a*2),a++,a+6)的值是(  ) A.31 B.37 C.21 D.22 7. 下列表达式中值为真的是(  ) A.a=0 B.b=3>4 C.b=3+4==5 D.(float)1/2 8. 执行下面语句后x的值为(  )‍ int a=14, b=15, x; char c='A'; x=((a&&b)&&(c<'a')); A.TRUE B.FALSE C.0 D.1 9. (2020年春季高考试题)以下程序段的运行结果是(  ) int a=5,b=4,c=2,d=1; if(a>b>c)d=3: else d--; printf("%d ",d); A.0 B.1 C.2 D.3 10. int a=2;while(a=0) a--;该循环共执行了______次。(  )‍ A.0 B.1 C.2 D.3 11. 以下程序段给数组所有的元素输入数据,请选择正确的语句(  ) #include main( ){ int a[10],i=0; while(i<10)scanf("%d",______ ); A.a+(i++) B.&a[i+1] C.a+i D.&a[++i] 12. 下列程序的输出结果是(  ) #include void main( ) { int a[4][4] ={{1,3,5,},{2,4,6},{3,5,7}}; printf(" %d%d%d%d∖n" ,a[0][0] ,a[1][1] ,a[2][2] ,a[3][3]); } A.0650 B.1470 C.5430 D.输出值不定 13. 写出以下程序的执行结果(  ) #include main( ){ int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][i]); printf(" "); A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9, 14. 有两个字符数组s1[10],s2[10],能正确输入的格式是(  )‍ A.scanf(“%c%c”,s1,s2); B.gets(s1,s2); C.scanf(“%s%s”,s1,s2); D.gets(“s1”,”s2”); 15. 若有语句:char s1[10],s2[10]="books";,则能将字符串books赋给数组s1的语句是(  )‍ A.sl="books"; B.strcpy(s2, s1); C.sl=s2; D.strcpy(s1,s2); 16. 在C语言的循环语句 for,while,do...while中,用于直接中断最内层循环的语句是(  )‍ A.switch B.continue C.break D.if 17. 以下正确的函数定义形式是(  ) A.double fun (int x,int y) B.double fun (int x;int y) C.double fun (int x,int y); D.doubel fun (int x;int y); 18. 以下函数的类型是(  ) func(double x) { printf("%f’ ",x*x);} A.与参数x的类型相同 B.void类型 C.int类型 D.无法确定 19. 有以下程序 int func(int a,int b) { return(a + b);} main( ) { int x=2,y=5,z=8,r; r=func(func(x,y) ,z); printf( " %d" ,r); } 该程序的输出结果是(  ) A.12 B.13 C.14 D.15 20. 被调函数通过______语句,将值返回给主调函数(  ) A.if B.for C.while D.return 二、 程序分析题(共3题) 21. 写出以下程序的执行结果 #include main( ){ int a[4][4]={{1.2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++)s+=a[i][1]; printf("s=%d ",s);} 答案: 22. 下面程序的运行结果是______ #include main( ) { int a[] = {l,2,3,4} ,i,j ,s = 0;j = 1 ; for(i=3 ;i<=0 ;i- -) { s = s+a[i]; j=j * 10; } printf("s= %d,j= %d" ,s,j); } 23. 以下程序的运行结果是_________。 main() { int i, j, a[3][3]; for(i=0;i<3;i++) { for(j=0; j<3; j++) { if(i==3) a[i][j]=a[i-1][a[i-1][j]]+1; else a[i][j]=j; printf("%4d",a[i][j]);} printf("\t");}} 三、 综合应用题(共2题) 24. 利用C语言编程。一个炊事员上街采购,用500元钱买了 90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱用完。问母鸡、公鸡、小鸡各买了多少只?请您编程帮助这个炊事员完成这个任务。 25. 编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。 四、 简答题(共1题) 26. C语言循环结构有哪几种语句,有什么区别? 参考答案及解析 一、 选择题 1. 【答案】A 2. 【答案】B 3. 【答案】D 4. 【答案】B 5. 【答案】B 6. 【答案】D 7. 【答案】D 8. 【答案】D 【解析】[因为x后面是逻辑符号构成,所以它的值为1或0(若后面的式子逻辑和为真就是1,否则为0)。因为14与15都是非零的,非零的逻辑值均为1,所以(a&&b)是1。A的ascII码(ascII码就是电脑中字母转换为数字时的数值)是小于a的。所以(c<'a')是真,即是1。] 9. 【答案】A 10. 【答案】A 【解析】 [while(表达式)语句;循环语句先判断再执行,由于a=0为假,一次也不执行。] 11. 【答案】A 12. 【答案】B 13. 【答案】A 14. 【答案】C 【解析】(char y[]={ 'a', 'b', 'c', 'd', 'e', 'f', 'g', '\0'}; 等价于:char x[]="bcdefg";,所以C是正确的。) 15. 【答案】D 【解析】[字符串复制函数的用法。strcpy(S1,S2)] 16. 【答案】C 【解析】 (continue 结束本轮循环,break结束整个循环。) 17. 【答案】 18. 【答案】 19. 【答案】D 20. 【答案】 二、 程序分析题 21. 【答案】s=19 22. 【答案】s=0,j= 1 23. 【答案】c[i][j]=a[i][j]+b[i][j](使用两个二维数组a和b存放两个3*4阶矩阵的元素值,然后用两重for循环进 行相加求值产生二维数组c,最后显示c的各元素值。) 三、 综合应用题 24. 【答案】 # include main( ) {int i,j,k; for (i=0;i<=33;++i) for (j=0;j<=50; ++j) {k=90-i-j; if (15 * i+10* j+5 * k==500) printf(“母鸡有%d只,公鸡有%d只,小鸡有%d 只∖n”,i,j,k): } 25. 【答案】# include main( ) { int i,j; float g,sum,ave; for(i= 1 ;i<=6;i++) {sum=0; for(j= 1 ;j<=5 ;j++) {scanf(" % f" , &g); sum+=g;} ave=sum/5 ; printf("ave= %5.2f " ,ave);}} 四、 简答题 26. 【答案】(1)C语言循环结构有While、do…While和for三种语句。 (2)While语句是“当型”循环,先判断表达式后执行循环体,循环次数可能为0; do∙∙∙ while语句是“直到型”循环,先执行循环体,后判断条件,至少执行一次循环体;for语句与While语句相同,也是先判断条件,后执行循环体,循环次数≥0;for语句一般用于循环次数比较明确的情况,而while和do,∙∙ while语句则用于循环次数难以判定的情况。 学科网(北京)股份有限公司 $$

资源预览图

山东省潍坊市寿光市圣都职业高中2020-2021学年高一上学期12月月考考试《C语言程序与设计》试题及其答案
1
山东省潍坊市寿光市圣都职业高中2020-2021学年高一上学期12月月考考试《C语言程序与设计》试题及其答案
2
山东省潍坊市寿光市圣都职业高中2020-2021学年高一上学期12月月考考试《C语言程序与设计》试题及其答案
3
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。