《C语言程序设计》案例讲义 - 完整版

发布时间 : 星期日 文章《C语言程序设计》案例讲义 - 完整版更新完毕开始阅读

2. 将案例改成比较两个实数的大小。

3. 某商品零售价为每千克8.5元,批发价为每千克6.5元,购买数量在10千克以上,按批发价计算。设某顾客购买该商品weight千克,试编写程序计算该顾客应付多少钱?

四、实验五 基本if??else??语句实验

4.1实验目的

1. 掌握if……else……语句的功能; 2. 熟悉关系运算符及关系表达式的运算;

3. 掌握单步运行程序的方法。

4.2 单步运行程序

单步运行程序是一种调试程序的方法,在TC环境中,每按一次F7键,程序执行一行,在程序执行暂停时,可以进行入user screen用户查看已输出的结果,还可以增加观察变量以查看程序运行过程中某些关键变量值的变化,从而来查找程序的错误,通过单步执行程序,还可以观察程序执行的路径。以案例程序为例讲解单步调试程序的方法。

(1) 输入程序,并保存;

(2) 编译程序; (3) 连接;

(4) 添加观察变量 ? ? ? ?

用Alt+B打开Break/watch菜单; 选择add watch 命令;

输入变量num1;

重复上述三步二次,加入变量num2和max;

添加了观察变量后,TC界面的下部就出现了一个watch窗口,所添加的观察变量都在watch窗口。

(5)用F7运行程序,每按一次F7,观察并记录watch窗口中变量的值以及所执行的语句,体会if??else??语句所构成的分支结构程序。

(6)程序运行结束后,打开user screen屏幕,记录输出的结果,并与watch窗口所看到的max的值进行比较。

分别用34,56和78,-10两组数据来运行程序,记录每组数据每步执行的语句和变量值的,理解if??else??语句所构成的分支结构程序,根据表达式值的不同,选择不同的分支。

4.3实验内容及步骤

1.用单运行程序的方法,执行【例4-1】的程序,并记录相应变量的值和所执行的语句。 程序:

编译结果: 修改记录: 输入数据1:34回车56回车

第一次按F7键,num1= ,num2= ,max= ,语句: 第二次按F7键,num1= ,num2= ,max= ,语句: 第三次按F7键,num1= ,num2= ,max= ,语句: ??

输入数据2:78回车-10回车

第一次按F7键,num1= ,num2= ,max= ,语句: 第二次按F7键,num1= ,num2= ,max= ,语句: 第三次按F7键,num1= ,num2= ,max= ,语句: ??

29

2.用单步运行程序的方法,执行【例4-2】的程序,并记录相应变量的值和所执行的语句。 程序:

编译结果: 修改记录: 输入数据1:68回车

第一次按F7键,score= ,语句: 第二次按F7键,score= ,语句: 第三次按F7键,score= ,语句: 输入数据2:57回车

第一次按F7键,score= ,语句:

第二次按F7键,score= ,语句: 第三次按F7键,score= ,语句: ??

3.用同样的方法调试习题1,2,3,并进行记录(自己设计记录格式)。 4.用同样的方法调试例4-3的程序,并做好记录。

4.4思考题:

(1) 两次运行程序,应如何选择数据才能保证if语句的分支分别被执行到?

(2) 是不是每个变量的值都需要进行观察?为什么? (3) 单步运行程序的作用是什么?

30

案例五 100分制成绩与等级制成绩转换

教学目的:

1. 掌握嵌套if……else……语句的一种格式;

2. 掌握switch语句。

在实际应用中经常出现条件递进的情况,如对某个对象先判断它是否满足条件A,如满足,则按要求进行处理;如不满足条件A,再判断是否满足B,如果满足,则按相应要求进行处理??,如此不断重复,直到最后一个条件都不满足时,则进行最后的处理。如将100分制的成绩转换A、B、C、

#include #include main() {

float score;

clrscr(); scanf(“%f”,&score);

if(score>=90) printf(“A”); else if(score>=80) printf(“B”); else if(score>=70) printf(“C”); else if(score>=60)

printf(“D”); else

printf(“E”); }

D、E五级等级制的成绩,90分以为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。程序如下:

一、案例分析

本案例是利用if??else??语句的嵌套来实现对条件依次进行判断,满足某条件,则进行相应的处理,构成多分支结构程序。但是需要注意的是条件要依次递进,不可以出现其它的次序。

1.if??else??语句的嵌套格式之一

if(条件A)

{语句组1;} else if(条件B) {语句组2;} else if(条件C) {语句组3;} ?? else

{语句组n;}

注:if后的条件可以是任何的表达,包括前面已经涉及到的算术表达式和关系表达式。 2.嵌套if??else??语句的执行过程

(1) 计算条件A的值,如果其值为非0,则执行语句组1,执行完语句组1后,程序转if的

31

下一条语句;

(2) 如果条件A的值为0,则计算条件B,如果为非0,执行语句组2,执行完语句组2后,程序转if的下一条语句; (3) 依次类推,直到所有条件的值都为0,则执行语句组n。 注:一个完整的if语句。

3.嵌套if??else??语句的执行过程图解

?? 非0(真) 条件A 0(假) 语句组1 非0(真) 条件B 0(假) 语句组2 非0(真) 条件B 0(假) 语句组3 ?? ?? 图5.1 嵌套if??else??语句执行图解 4.本案例嵌套if??else??语句执行过程图解(图5.2)

32

联系合同范文客服:xxxxx#qq.com(#替换为@)