实训五 分支程序设计
一、实训目的
1、掌握C语言表示逻辑量的方法(0表示“假”,1或非0表示“真”) 2、学会正确使用关系运算表达式和逻辑表达式 3、熟练使用if语句、if-else、switch语句 二、预习内容
1、熟悉关系表达式和逻辑表达式的表示和使用
2、熟悉if语句和if-else、switch语句的格式、作用和用法 三、上机内容
1、找出程序中的错误,并加以简化 #include \main( )
{ scanf(\if (max==0)
{ min=0;
median=(max-median)/2; }
else
min=max/2; }
修改程序后:
(1)若从键盘输入0,5,8
则程序的运行结果为 。 (2)若从键盘输入5,8,11
则程序的运行结果为 。
#include \main( )
{ int a=1,b=1, c;
if (c=(a-b))
printf(\ is %d\\n\ c); }
修改程序后,程序的运行结果为 。
#include \main( ) { int a;
scanf(\if a>0
if a<10
printf(\ and a<10\\n\}
修改程序后:
(1)若从键盘输入3
则程序的运行结果为 。 (2)若从键盘输入-5
则程序的运行结果为 。
9
2、上机验证程序,并分析结果 main() { int a= 2, b= -1, c= 2; main() if ( a
该程序的运行结果是
main() main() { int a; { int n ; scanf( “%d”, &a); scanf( “%d”, &n ) ; if ( a>50 ) printf( “%d\\n”, a ); if ( n++<10 ) printf( %d\\n”, n ) ; if ( a>40 ) printf( “%d\\n”, a ); else printf( “%d\\n”, n-- ) ; if (a>30 ) printf ( “%d\\n”, a ); } } 该程序的运行结果是 该程序的运行结果是
3、编程题
(1)从键盘任意输入四个int类型的整数,要求将其中的最大数输出。
(2)从键盘任意输入三个int类型的整数,要求将它们按从小到大的顺序输出。
(3)用switch编写一个简单的计数器。功能:完成加、减、除运算,但输入“#”时退出。
10
实训六 循环程序设计
一、实训目的
1、掌握while语句、do-while语句和for语句实现循环的方法 2、理解循环结构程序段中语句的执行过程 3、进一步掌握循环结构程序的应用 二、预习内容
熟悉以下语句: while语句、do-while语句、for、break、continue语句 三、上机内容
1、阅读以下程序,先预测其结果,再上机运行验证: ① main() ② main()
{ int x=-1; { int i=1,s=3; do{ do{ s+=i++; x=x*x; if(s%7==0) continue; } while(!x); else ++i;
printf(\ x);
}while(s<15);
printf(\
}
} 运行结果是
运行结果是
④ #include \ ③ #include \ main() main() { { int a,s,n,count; int num=0; a=2;s=0;n=1;count=1; while(num<=2) while(count<=7) {
{ n=n*a; s=s+n; ++count;} num++;
printf(\ printf(\ } } 运行结果是 } 运行结果是 1、编程与程序分析
① 编程求1-3+5-7+9-11+??-99+101的值。
11
② 求出100~999之间的所有水仙花数。所谓的水仙花数是指其各位数的立方和等于此数本身,例
371=33+73+13
③ 从键盘输入一组十进制整数,以9999结束,统计其中正数的个数和其中的正数之和。
④ #include \
分析程序的结构: main()
{ int x=1,y=0,a=0,b=0; for ( x=1; x<=4; x++ )
{ switch(x)
{ case 1: switch (y) { case 0: a++; break;
程序的运行结果: case 1: b++; break;
} case 2: a++; b++; break;
case 3: a++; b++;
} printf(\
}
}
2、思考题
12