{
int s=1,k=0; switch (s) { case 1: k+=1; case 2: k+=2; default: k+=3; }
printf(“%d”,k);
} (5)
void main() { int s=1,k=0; switch (s) { case 1: k+=1;break; case 2: k+=2;break; default: k+=3;
}
printf(“%d”,k); }
3. 程序设计题
(1) 编一个程序,输入三个单精度数,输出其中最小数。
(2) 输入一个实数,输出它的平方根值,如果输入数小于0,输出“输入数据错误”提示。 (3) if语句编程序,输入x 后按下式计算y值并输出。
(4) 编程序,输入一个百分制的成绩t后,按下式输出它的等级,要求分别写作if结构和switch 结构。90~100为“A”,80~89 为“B”,70~79为“C”,60~69 为“D”,50~0 为“E”。
(5) 输入 3 个整数,按从大到小的顺序输出。
(6) 某商场举行购物优惠活动,(x代表购物款,y代表折扣):x<1600 时 y=0%, x<2400 时y=5%, x<3200 时 y=10%, x<6400 时 y=15%, x>=6400时 y=20%,输入一个顾客的购物款后,显示它的应付款数。 答案
1. BBACA BDBDD 2. (1) 10, 4, 3; (2) -1 (3) 3
9
(4) 6 (5) 1 3. (1)
#include “stdio.h” main() {
float x,y,z,min;
scanf(\min=x;
if(min>y) min=y; if(min>z) min=z;
printf(\} (2)
#include “stdio.h” #include “math.h” main() {
float x;
scanf(“%f”,&x);
if(x<0) printf(“input error\\n”); else printf(“%f\\n”,sqrt(x)); } (3)
#include “stdio.h” main() {
float x,y;
scanf(“%f”,&x); if(x>=0&&x<=8) y=x+2*x*x+10; else y=x-3*x*x*x-9; printf(“y=%f\\n”,y); } (4) if结构
#include “stdio.h” main() {
float t;char c;
printf(“input score,max as 100:\\n”); scanf(“%f”,&t); if(t>=90) ch=?A?;
10
else if(t>=80) ch=?B?; else if(t>=70) ch=?C?; else if(t>=60) ch=?D?; else ch=?E?;
printf(“Grade=%d\\n”,ch); }
Switch结构
#include “stdio.h” main() {
float t;char c;
printf(“input score,max as 100:\\n”); scanf(“%f”,&t); switch(t/10) {
case 10:
case 9: ch=?A?;break; case 8: ch=?B?;break; case 7: ch=?C?;break; case 6: ch=?D?;break; case 5: ch=?E?; }
printf(“Grade=%d\\n”,ch); } (5)
#include “stdio.h” main() {
int a,b,c,t;
scanf(“%d%d%d”,&a,&b,&c); if(a
{t=a;a=b;b=t;} if(a {t=a;a=c;c=t;} if(b {t=b;b=c;c=t;} printf(“%d,%d,%d\\n”,a,b,c); } (6) #include “stdio.h” main() { float x,y; printf(“Input Total Price:\\n”); 11 scanf(“%f”,&x); if(x<1600) y=x; else if(x<2400) y=x*0.95; else if(x<3200) y=x*0.9; else if(x<6400) y=x*0.85; else y=x*0.8; printf(“Final Pay=%.2f”,y); } 第五章 1. 单项选择题 (1)for(i=1;i<9;i+=1);该循环共执行了 次。 A. 7 B. 8 C. 9 D. 10 (2)int a=2;while(a=0) a--;该循环共执行了 次。 A. 0 B. 1 C. 2 D. 3 (3)执行完循环 for(i=1;i<100;i++);后,i 的值为 。 A. 99 B. 100 C. 101 D. 102 (4)以下 for语句中,书写错误的是 。 A. for(i=1;i<5;i++); B. i=1;for(;i<5;i++); C. for(i=1;i<5;) i++; D. for(i=1,i<5,i++); (5) 语句,在循环条件初次判断为假,还会执行一次循环体。 A. for B. while C. do-while D. 以上都不是 (6)循环结构的特点是 。 A. 从上至下,逐个执行 B. 根据判断条件,执行其中一个分支 C. 满足条件时反复执行循环体 D. 以上都对 (7) i、j已定义为 int 类型,则以下程序段中内循环体的执行次数是 。 for(i=5;i;i--) for(j=0;j<4;j++){…} A. 20 B. 24 C. 25 D. 30 (8) C 语言 while 语句中,用于条件的表达式是 。 A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式 (9) int a=1, x=1; 循环语句while(a<10) x++; a++; 的循环执行 。 A. 无限次 B. 不确定次 C. 10 次 D. 9 次 (10)下列程序段执行后 s 的值为 。 int i=1, s=0; while(i++) if(!(i%3)) break ; else s+=i ; A. 2 B. 3 C. 6 D. 以上均不是 2. 填空题 (1)三种循环语句是 价的。 (2)当循环体中的switch语句内有break语句,则只跳出 语句。同样,当for语句中有循环语句,内有 break 语句,则只跳出 语句。 (3)循环体执行遇到continue 语句时 。 (4)下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出 1,否则输出 0,请为程序填空。 void main( ) 12
相关推荐: