选择结构程序设计-C语言程序实验报告

  • 格式:doc
  • 大小:68.50 KB
  • 文档页数:9

第 1 页 安 徽 工 程 大 学

高级语言程序设计 实 验 报 告

班级 姓名 同组者 / 成绩

日期 2019.10.10 指导教师

实验名称 选择结构程序设计

一、 实验目的

1. 学会正确使用关系运算符和关系表达式。

2. 学会正确使用逻辑运算符、逻辑表达式以及关系表达式等。

3. 熟悉掌握if语句和switch语句的用法。

4. 熟悉选择结构程序中的语句执行过程,掌握选择结构程序设计的方法。

二、 实验内容

1. 编写程序,判断从键盘上输入的一个字符类型,并按下列要求输出。

(1)若该字符是数字,输出字符串“0~9”。

(2)若该字符是大写或者小写字母,输出字符串“A~z”。

(3)若该字符是其他字母,输出“!,@,……”。

完善P56页第一个源程序,对源程序进行编译、连接并运行,完成调试报告。

2. 编程并上机调试。

(1)给出一个不多于4位的正整数,求它是几位数。

(2)给出一个百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。90分以上为'A',80~90分为'B'70~79分为'C',60~69分为'D',60分以下为'E'。用switch语句来实现。

(3)输入4个整数,要求按从小到大的顺序输出。

(4)输入3个整数,将最大数与最小数输出。

(5)输入一个字符,如果是数字字符,把它转换成相应的数字输出;如果不是,则以十进制整数形式输出其ASCⅠⅠ码值。

*思考题 第 2 页 3. 若在实验内容1的程序第8行的语句else if (_)后多输入了一个分号,即“else

if (_);”,分析程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致并分析原因。

4. 若在实验内容1的程序第8行的语句else if(_)法人括号内输入c>='A'&&c<='z'后,判断在调试时是否能得到正确结果,并分析原因。

三、 算法流程图或实验步骤(可根据需要增删、修改)

1. (1)算法流程图

#include

void main( )

{

char c;

scanf("%c",&c);

if(c>='0'&&c<='9')

printf("0~9\n");

else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

printf("A~z\n");

else

printf("!,@,……\n");

}

(2)实验步骤

Files→New→Files→C++source File→文件名:program3011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

2. (1)算法流程图:

#include

void main ( )

{

int a,b; 第 3 页 scanf("%d",&a);

b=a/10;

if (b==0)

printf("该数是一位数");

else if (b>=1&&b<=9)

printf("该数是两位数");

else if (b>=10&&b<=99)

printf("该数是三位数");

else

printf("该数是四位数");

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s)

0warning(s)后→BuidExecute→查看并验证运行结果

(2)算法流程图:

#include

void main()

{

int a,b;

scanf("%d",&a);

b=a/10;

switch(b)

{

case(10):printf("A\n");break;

case(9):printf("A\n");break;

case(8):printf("B\n");break;

case(7):printf("C\n");break;

case(6):printf("D\n");break; 第 4 页 default:printf("E\n");break;

}

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s)

0warning(s)后→BuidExecute→查看并验证运行结果

(3)算法流程图:

#include

void main ( )

{

int a,b,c,d,t;

scanf("%d,%d,%d,%d",&a,&b,&c,&d);

if (a>b)

{

t=a;

a=b;

b=t;

}

else if (a>c)

{

t=a;

a=c;

c=t;

}

else if (a>d)

{

t=a; 第 5 页 a=d;

d=t;

}

else if (b>c)

{

t=b;

b=c;

c=t;

}

else if (b>d)

{

t=b;

b=d;

d=t;

}

else if (c>d)

{

t=c;

c=d;

d=t;

}

printf("%d,%d,%d,%d",a,b,c,d);

return 0;

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s)

0warning(s)后→BuidExecute→查看并验证运行结果

第 6 页 (4)算法流程图:

#include

void main ( )

{

int a,b,c,t;

scanf("%d,%d,%d",&a,&b,&c);

if (a>b)

{

t=a;

a=b;

b=t;

}

else if (a>c)

{

t=a;

a=c;

c=t;

}

else if (b>c)

{

t=b;

b=c;

c=t;

}

printf("min is %d,max is %d",a,c);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 第 7 页 0warning(s)后→BuidExecute→查看并验证运行结果

(5)算法流程图:

#include

void main ( )

{

char a;

scanf("%c",&a);

if (a>='0'&&a<='9')

printf("%c",a);

else

printf("%d",a);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s)

0warning(s)后→BuidExecute→查看并验证运行结果

*思考题:

3. 算法流程图:

#include

void main( )

{

char c;

scanf("%c",&c);

if(c>='0'&&c<='9')

printf("0~9\n");

else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'));

printf("A~z\n"); 第 8 页 else

printf("!,@,……\n");

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3031.c→位置:E:\123\→确定→修改代码→Buid→是

4. 算法流程图:

#include

void main( )

{

char c;

scanf("%c",&c);

if(c>='0'&&c<='9')

printf("0~9\n");

else if(c>='A'&&c<='z')

printf("A~z\n");

else

printf("!,@,……\n");

}

实验流程:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program3041.c→位置:E:\123\→确定→修改代码→Buid→是→确认0error(s)

0warning(s)后→BuidExecute→查看并验证运行结果

四、 实验结果及分析

1.