A)4
}
if(m++>5) printf(“%d\\n”,m); else
printf(“%d\\n”,m--);
B)5 C)6 D)7
二、根据程序的功能,将以下程序补充完整
1、以下程序对输入的四个整数,按从小到大的顺序输出。请在 内填入正确内容。
main() {
int t,a,b,c,d;
printf(“input a,b,c,d:”)
scanf(“%d,%d,%d,%d”, &a,&b,&c,&d ); if(a>b) { t=a;a=b;b=t; } if ( a>c ) {t=a;a=c;c=t;}
if (a>d) {t=a;a=d;d=t;} if ( b>c ) {t=b;b=c;c=t;} if (b>d) {t=b;b=d;d=t;} if (c>d) {t=c;c=d;d=t;} printf(“%d,%d,%d,%d”,a,b,c,d);
}
三、编程:
1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。
222222
2、编制程序要求输入整数x、y和z,若x+y+z大于1000,则输出x+y+z千位以上的数字,否则输出三数之和。
3、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。 1、参考答案 main() { int x;
if (x%5==0 && x%7==0)
printf(“yes”); else
printf(“no”); }
2、参考答案 main()
{ int x,y,z,a,b;
scanf(“%d %d %d”,&x,&y,&z); a=x*x+y*y*z*z; if (a>1000)
{b=a/1000;printf(“%d”,b);} else printf(“%d”,x+y+z); }
3、参考答案 #include <> main()
{ float a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c); if (a+b>c && b+c>a && a+c>b) { s=2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%7.2f\\n”,area);} else
printf(“bu neng zhucheng san jiao xing \\n”); }
第2讲 基础练习(A)
一、填空题
1、在if语句中又包含一个或多个if语句称为 if语句的嵌套 。
2、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与其之前最近的未配对的if 配对。如果if 与else数目不一样,为实现设计者的企图,可以加 花括号 关系。
3、条件运算符是C语言中唯一的一个 三 目运算符,其结合性为 从右至左 。 4、假设条件表达式的格式为:表达式1?表达式2:表达式
若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较 高 的类型 5、在switch语句中,switch后面括弧内的“表达式”,可以为 任何 类型。 6、若a=1,b=2,则表达式a>b?a:b+1的值是 3 。
7、若w=1、x=2、y=3、z=4,则条件表达式w else min=b; 可用条件运算符来处理的等价式子为 min=(a 10、设有变量定义:int a=5,c=4;则(--a==++c)?--a:c++的值是 5 ,此时c的存储单 元的值为 6 。 二、判断题 1、在switch语句中,每一个的case常量表达式的值可以相同。( 错 ) 2、在switch语句中,各个case和default的出现次序影响执行结果。( 对) 3、在switch语句中,多个case可以共用一组执行语句。(对 ) 4、 条件表达式能取代一般if的语句。( 错 ) 5、 case后的常量表达式类型一定与表达式类型匹配。( 对 ) 三、写出以下程序的运行结果 1、 main() -1 { } int a=2,b=3,c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1; printf(“%d\\n”,c); 2、 main() 2 0 0 { } int a,b,c; int s,w,t; s=w=t=0; a=-1; b=3; c=3; if(c>0) s=a+b; if(a<=0) { } else if(c>0) w=a-b; else t=c; printf(“%d %d %d”,s,w,t); if(b>0) if(c<=0) w=a-b; 3、 switch(grade) { } 若grade的值为 ’C’,则输出结果是 60-69 〈60 error! case ‘A’: printf(“85-100\\n”); case ‘B’: printf(“70-84\\n”); case ‘C’: printf(“60-69\\n”); case ‘D’: printf(“<60\\n”); default: printf(“error!\\n”); 能力提高(B) 一、写出下列程序的运行结果 1、 #include <> 5 5 1 void main(void) { } int x,y=1,z; if(y!=0) x=5; printf(“\\t%d\\n”,x); if(y==0) x=4; else x=5; printf(“\\t%d\\n”,x); x=1; if(y<0) if(y>0) x=4; else x=5; printf(“\\t%d\\n”,x); 2、 #include <> 4 -2 4 0 4 -2 void main(void) { int x,y=-2,z; if((z=y)<0) x=4; else if(y==0) x=5; else x=6; printf(”\\t%d\\t%d\\n”,x,z); if(z=(y==0)) x=5; x=4;