C语言实训指导书 下载本文

实训五 分支程序设计

一、实训目的

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