第1章 C语言概述
一、选择题 答案: 1.A 6.B 二、填空题 答案: 1.函数
一、选择题 答案: 1.B 6.C 11.B 16.C
2.D 7.C 12.B 17.B
3.D 4.B 8.B 9.A 13.D 14.D 18.D 19.A
5.D 10.D 15.A 20.C
2.目标
3.编译程序
4.分号
2.B 7.D
3.C 8.B
4.C
5.D
第2章 数据类型、运算符和表达式
二、填空题 答案: 1.2 度
6.30
7.4,2
一、选择题 答案: 1.C 6.A 二、填空题
答案:
1.scanf printf 2.顺序、选择、循环 3.1 4.3 5.9,10 6.10,20 7.213 8.空格、Tab键、回车键
2.C 7.D
3.C 4.A 8.D 9.C
5.A 10.D
8.4
2.6,4,2
3.18
4.5 5.double或双精
第3章 顺序结构
第4章 选择结构
一、选择题 答案:
1.B 6.C
2.D 7.C
3.D 8.B
4.B 9.B
5.B
二、程序改错题
1.输入两个实数,在fun()函数中按数值由小到大输出它们。(保留2位小数)
答案:
=======(答案1)======= float t;
=======(答案2)======= if(a>b)
=======(答案3)=======
printf(\
2.编写一个程序计算某年某月有几天。(注意要区分闰年) 答案:
=======(答案1)======= switch(mm)
=======(答案2)======= break;
=======(答案3)======= default : 三、程序填空题
1.功能:输出a、b、c三个变量中的最小值。 答案:
=======(答案1)======= &c
=======(答案2)======= c:t1
四、程序设计题
1.功能:对任意输入的x,用下式计算并输出 y 的值。说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。
答案: int m;
if(n<10) m=5; else
if(n==10) m=0; else m=-5;
return m;
或
int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5;
return m;
第5章 循环结构
一、选择题
答案: 1.D 2.A 3.B 4.C 5.D 6.B 7.D 8.A 9.D 二、程序改错题
1.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一 半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
答案:
=======(答案1)======= x2=1;
=======(答案2)======= x1= ( x2 + 1 ) * 2 ; =======(答案3)======= day--;
=========或========= day-=1;
=========或========= day=day-1;
2.用数字1、2、3、4组成互不相同且无重复数字的三位数,输出所有可能的组合。 答案:
=======(答案1)======= printf(\
=======(答案2)======= for(i=1;i<5;i++)
=========或========= for(i=1;i<=4;i++)
=======(答案3)======= if (i!=k&&i!=j&&j!=k) 三、程序填空题
1.功能:将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字母的转换规则相同。
答案:
=======(答案1)======= getchar()
=======(答案2)======= c+=4
=========或========= c=c+4
=========或========= c=4+c
=======(答案3)======= &&
2.功能:算式 ?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立
时的这两个数,并输出正确的算式。 答案:
=======(答案1)======= x<10
=========或========= 10>x
=========或========= x<=9
=========或========= 9>=x
=======(答案2)======= y=0
=======(答案3)======= (10*x+2)*(70+y) =========或========= ( 10 * x + 2 ) * ( 70 + y )
=======(答案4)======= 10*x+2,70+y
=========或========= 10 * x + 2 , 70 + y
四、程序设计题
1.功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+1/6+...+1/(2*m)。 例如:若m=9,则应输出:1.414484 答案:
double y=0; int i;
for(i=1; i<=m; i++) y+=1.0/(2*i); return(y);
2.功能:编写函数fun求sum=d+dd+ddd+…+dd...d(n个d),其中d为1~9之间的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。 答案:
long int s=0,t=0; int i;
for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; }
return s;
第6章 数组
一、选择题 答案: 1.D 2.B 6.D 7.A 11.A 12.C 二、填空题
1.相同 (相等) 2.越界 3.6
三、程序改错题
3.B 8.C 4.C 5.B 9.C 10. A
1.功能:从键盘输入十个学生的成绩,统计最高分、最低分和平均分。ma代表最高分,mi代表最低分,avg代表平均分。 答案:
=======(答案1)=======
float a[10],mi,ma,avg;
=======(答案2)======= for(i=0;i<=9;i++)
=======(答案3)======= ma=mi=avg=a[0];
=======(答案4)======= if (mi>a[i])
=========或========= if (a[i] 四、程序填空题 1.功能:输出26个英文字母。要求使用字符数组。 答案: =======(答案1)======= i++ =========或========= ++i =========或========= i=i+1 =========或========= i+=1 =======(答案2)======= 'A' + i =========或========= i+'A' =========或=========