C语言第四次上机实验任务书

更新时间:2023-10-23 00:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言上机实验任务书(4) 制作者:计算机科学与工程系●系统结构教研室 蔡照鹏

0134111 C语言第四次上机实验任务书

实验名称:用选择结构编程 实验时间:2012-04-18 第5、6节 实验地点:3#A507 实验类型:上机

实验目的

1、掌握关系表达式和逻辑表达式的使用 2、熟悉选择结构程序设计

3、熟练使用if语句进行程序设计

4、使用switch语句实现多分支选择结构

实验仪器及药品

计算机

实验原理及要求

1、参照计算机基本操作规程 2、要符合计算机的正常操作规范 3、C编程要符合程序设计的基本规范

实验步骤

1、运行以下程序,说明表达式值1和表达式值2的不同。 #include \void main() {

int a=3,b=2,c=1,d=0;

printf(\表达式1=%d\\n\ printf(\表达式2=%d\\n\}

2、以下程序的功能是:从键盘输入一个字符型数据,若输入一个数字字符(‘0’-‘9’),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。

#include \void main( ) {

char c;

scanf(\

if('0'<=c<='9') /*条件表达式*/ { c=c-'0';

printf(\}

else printf(\}

实验步骤:

⑴ 上机调试以上程序;

⑵ 输入‘0’—‘9’之间的任何字符,验证输出结果是否和程序功能相符合;

第1页 共4页

C语言上机实验任务书(4) 制作者:计算机科学与工程系●系统结构教研室 蔡照鹏

⑶ 输入‘0’—‘9’之外的任何字符,例如,输入字母’a’,验证输出结果是否和程序功能相符合; ⑷ 将条件表达式if('0'<=c<='9')改为if('0'<=c&&c<='9'),重复2、3步骤。分析、比较以上的输出结果,总结字符变量c的取值在‘0’-‘9’之间在C语言编程中的正确描述。

3、if语句的第一种形式为基本形式 if(表达式) 语句; 其语义是:如果表达式的值非零(为真),则执行其后的语句, 否则不执行该语句。

编程:输入两个整数,输出其中的大数。

提示:输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。

4、if语句的第二种形式为if-else形式 if(表达式) 语句1; else 语句2;

其语义是:如果表达式的值非零(为真),则执行语句1,否则执行语句2 。程序填空题。下列程序用于完成对输入的整数判断它是奇数还是偶数,并给出相应的提示。试完成它缺少的部分,并上机验证。

#include \void main( ) {

int x;

scanf(\

if( ) printf(\ else printf(\}

编程:输入两个整数,输出其中的大数。

提示:改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。 5、if语句的第三种形式为if-else-if形式(嵌套的if)

当有多个分支选择时,可采用if-else-if语句,其一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2;

else if(表达式3) 语句3;?else if(表达式m) 语句m; else 语句n;

其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序。

编程:要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。在嵌套中要特别注意if和else的配对问题。为了避免二义性,C语言规定,else 总是与它前面最近的if配对。

6、分析以下程序的运行结果并上机调试。 程序1:

#include \void main() {

int a=3,b=4,c=5,d=0; if(a>b) d=a; else

if(c>b) d=c;

第2页 共4页

C语言上机实验任务书(4) 制作者:计算机科学与工程系●系统结构教研室 蔡照鹏

else d=b;

printf(\}

程序2:

#include \void main() {

int a=3,b=4,c=5,d=0; if(a>b)

if(c>b) d=c; else d=b; else d=a;

printf(\}

程序3:

#include \void main() {

int a=3,b=4,c=5,d=0; if(a>b)

if(c>b) d=c; else d=b;

printf(\}

程序4:

#include \void main() {

int a=3,b=4,c=5,d=0; if(a>b)

{if(c>b) d=c;} else d=b;

printf(\}

编程:比较键盘依次输入的两个数a和b的大小关系,并根据大小关系分别输出1(若a>b)、0(若a=b)、-1(若a

7、条件运算符和条件表达式

由条件运算符组成条件表达式的一般形式为: 表达式1? 表达式2: 表达式3

其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。用条件表达式对4中要求的输出两个数中的大数的程序重新编程。

8、switch语句

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) {

case 常量表达式1: 语句1;

第3页 共4页

C语言上机实验任务书(4) 制作者:计算机科学与工程系●系统结构教研室 蔡照鹏

case 常量表达式2: 语句2; ?

case 常量表达式n: 语句n; default : 语句n+1; }

在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句。 这是与前面介绍的if语句完全不同的,应特别注意。

程序分析题。分析以下程序,对分析的结果上机检验。 #include \void main( ) {

int x=1,y=0,a=0,b=0; switch(x) {

case 1:

switch(y) {

case 0: a++;break; case 1: b++;break; } //abc case 2:

a++;b++;break; }

printf(\}

在程序中的//abc前面,}后面添加一个break; 再次运行该程序,程序结果有何变化?在实验报告中对结果作出解释。

实验结果及分析

对上述实验内容进行总结,写出实验报告。

第4页 共4页

本文来源:https://www.bwwdw.com/article/8q3f.html

Top