}
printf(\
return 0;
执行后输出结果是 。
11. 执行了以下程序片断后,若原来x=9,则输出结果为_ _;若原来x=6,则输出结果为_ _。
if(x++>8) printf(\else printf(\
12. C语言提供了6种关系运算符_ __、_ __、_ __、_ __、_ __、_ __。 13. C语言中,关系表达式的值是一个_ __即真或假,一般以_ __代表真,以_ __代表假。
14. C语言提供三种逻辑运算符,包括_ __、_ __、_ __,这三种逻辑运算符中_ __的优先级最高。
15. 在if-else结构中,else子句不能作为语句单独使用,必须与_ __配对使用,且若if和else后面有多条语句,则需用_ __将其成为一个复合语句。
16. C语言中唯一的一个三目运算符是_ __,其一般形式为_ __。 17. while循环结构中,当表达式为_ __时执行其中的内嵌语句;循环体如果包含一个以上的语句,应该用_ __括起来。
18. 程序功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空,将程序补充完整。 #include
三.程序阅读
1. 执行程序之后,输入2↙6↙3↙ ,以下程序运行后的输出结果是______。(↙表示回车) #include
26
float x,xmax,xmin; printf(\输入成绩:\\n\scanf(\xmax=x; ; while( ) { }
printf(\
if(x>xmax) xmax=x; if( ) xmin=x;
scanf( );
return 0;
int main() { }
2. 以下程序运行后的输出结果是______。 #include
3. 以下程序运行后的输出结果是_______________ #include
int k=1; while(k<5) {
if(k%2) printf(\ else printf(\ k++; } return 0; }
4. 以下程序运行后的输出结果是_______________ #include
27
int a,b,c,d;
printf(\请输入三个整数:\\n\scanf(\if(a>b) d=a; else d=b; if(c>d) d=c; printf(\
return 0;
int n,s; s=n=0; while(s<=10) { }
printf(\
n++; s+=n;
return 0;
{ int a=10,b=4,c=3; if(a
printf(\return 0; }
四.编程题
1. 编写一个程序,求满足以下条件的最大的n值。
1+2+3+?n≤1000
2. 编写一个程序,输入三条线段的长度,判断这三条线段能否构成一个直角三角形。 3. 编写一个程序,求输入实数的绝对值。
4. 编写一个程序,输入一个不多于5位的正整数,求出它是几位数。提示:注意整型变量的范围。
5. 写一个程序,根据输入的a,b,c的值,求出x的值。
c/b 若a=0时 x = a*c 若a!=0且b=0时
a+b+c 其它情况
6. 某市企业管理测评中,若企业得分低于70的为较差企业,以“#”表示,若得分在70到80之间的为中等企业,以“*”表示,若得分在80到90之间的为良好企业,以“**”表示,若得分在90以上的为优秀企业,以“***”表示,利用if-else结构编写一个程序,对于输入的企业成绩,输出相应的级别标志。 如:输入89,输出 **。
7. 编程实现对键盘输入的英文名句子进行加密。加密方法为,当内容为英文字母时其在26字母中的其后第三个字母代替该字母,若为其它字符时不变。
8. 从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。 9. 编写程序,使输入的字符按字母表后移一位输出。 如:输入s,输出t;输入S,输出为T。
10. 判断用户输入的字符是数字字符、字母字符还是其它字符。
2
2
2
2
28
第6章 再论程序设计基本结构
一.选择题
1. 对switch后括号内的表达式,叙述正确的是 。 A)只能是数字 B)可以是浮点数 C)只能是整型数据或字符型数据 D)以上叙述都不对 2.下列关于switch和break语句的说法中正确的是 。 A)break语句只能用在switch语句中
B)在switch语句中,可以根据需要决定是否使用break语句 C)在switch语句中必须使用break语句 D)以上选项都不正确 3. 以下程序输出结果是 。 int main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; }
case 2:a++; b++; break; case 3:a++; b++; } printf(\ return 0; }
A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2 4. 以下程序输出结果是 。
int main() { int a=2,b=7,c=5; switch (a>0) {
case 1: switch (b<0) { case 1: printf(\ case 2: printf(\ }
case 0: switch (c==5) {
case 1: printf(\
29
case 2: printf(\ default : printf(\ } default: printf(\ }
printf(\ return 0; }
A)@ B)*& C)@& D)& 5. 以下程序段 。 int main() { int x=-1; do { x=x*x; }while (!x); printf(\ return 0; }
A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误 6. 以下描述中正确的是 。
A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) do-while循环至少要执行一次循环语句 D) do-while循环中,根据情况可以省略while 7. 以下程序段的循环次数是 。 for(i=2; i==0; ) printf(“%d” , i--) ;
A)无限次 B)0次 C)1次 D)2次 8. 下面for循环语句 。 int i,k;
for (i=0, k=-1; k=1; i++, k++) printf(“***”);
A)判断循环结束的条件非法 B)是无限循环 C)只循环一次 D)一次也不循环 9. 下面程序的输出结果是 。 int main ( ) { int k=0,m=0,i,j; for (i=0; i<2; i++) { for (j=0; j<3; j++) k++ ;
30