大连东软信息学院C语言实验三顺序及分支结构程序设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“大连东软信息学院”。
实验三 顺序及分支结构程序设计
一、实验目的1.熟悉运算符、表达式,掌握标准输入输出函数的适用方法和顺序结构程序设计的一般方法
2.掌握if语句的格式与应用,if语句的嵌套格式与应用,条件运算符的作用,Switch语句的格式与应用,Break、continue语句的格式与应用。
二、预习内容
1.C语言的常用的运算符及其使用特点。
2.算术运算符中++,――运算符的应用特点。3.常用的关系运算符及应用特点。4.逻辑运算符的概念及应用特点 5.条件运算符的作用及应用特点。
6.各种运算符的混合运算及不同运算符的优先级别。7.条件分支语句的格式及应用。
8.Switch多分支选择语句的格式及应用。
三、实验内容
(一)阅读调试下列程序,并写出程序结果。1.#include
void main()
{
char ch=0x31;
printf(“%dn”,ch);/*屏幕显示___________*/
printf(“%on”,ch);/*屏幕显示____________*/
printf(“%xn”,ch);/*屏幕显示____________*/
printf(“%cn”,ch);/*屏幕显示____________*/
} 运行结果:49 61 31 1 2.#include
void main(){ int a=5,b=5;printf(“value a=%dn”,a++);/*屏幕显示___________*/ printf(“value b=%dn”,++b);/*屏幕显示___________*/ printf(“value a=%dn”,--a);/*屏幕显示___________*/ printf(“value b=%dn”,b--);/*屏幕显示___________*/ } 运行结果:value a=5 value b=6 value a=5 value b=6 3.输入两个实数a,b,然后交换它们的值,最后输出 #include void main()
{
float a,b,temp;
printf(“请输入a和b的值:”);
scanf(“%f,%f”,&a,&b);
temp = a;
a=b;
b=temp;
printf(“交换后, a=%f, b=%fn”,a,b);
} 运行结果:Please input a and b’s value:1.0,2.0 When finishing,a=2.000000,b=1.000000
4.完成下面的程序,在空白处填入a,b,c,取a,b,c中最大者赋给max。
A.if(a>b && a>c)
B.if(a>b)
max=________
if(a>c)
else
max=______ if(b>c)
else
max=________
max=______ else
else
max=________
if(b>c)
max=________
else
max=_________ 5.若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?
#include main(){
int x;
printf(“please input the x value:”);
scanf(“%d”,&x);
switch(x/10)
{
case 6:
case 7:
printf(“Pan”);
break;
case 8:
printf(“Goodn”);
break;
case 9:
case 10:
printf(“VeryGoodn”);
break;
default:
printf(“Failn”);
} }
x等于 95时,程序段运行后屏幕上显示_VeryGood__
x等于 87时,程序段运行后屏幕上显示_Good_
x等于100时,程序段运行后屏幕上显示_Verygood__
x等于 43时,程序段运行后屏幕上显示__Fail_
x等于 66时,程序段运行后屏幕上显示__Pa_
x等于 79时,程序段运行后屏幕上显示__Pa_
(二)编制下列程序
1.以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值
解答:
#include
void main(){ int a,b,c,temp;printf(“Please input a b and c's value:”);scanf(“%i,%i,%i”,&a,&b,&c);temp=a;a=b;b=c;c=temp;printf(“When finishing,a=%i,b=%i,c=%in”,a,b,c);getch();} 2.输入一个整数,判断该数的奇偶性。自已写出程序代码。(输出相应的标志even-偶数 odd-奇数,请记住这两个单词)
【分析提示】
一个数除2若余数为0,则这个数一定是偶数,否则是奇数。C语言中的求余运算符为“%”,若输入的数为偶数则输出“even”,若输入的数为奇数则输出“odd”。
解答:
#include
main(){ int number,residue;printf(“Please input your number:n”);scanf(“%d”,&number);residue=number%2;if(residue==0)printf(“It's even.n”);else printf(“It's odd.n”);getch();} 3.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81-89分为B,70-79分为C,60-69分为D,60分以下为E。
① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。
解答: if形式: #include
main(){ int result;printf(“Please input one result:n”);scanf(“%d”,&result);if(result>=90)printf(“Your result is A.n”);else if((result>=80)&&(result=70)&&(result=60)&&(result switch 形式: #include
main(){ int result,grade;printf(“Please input one result:n”);scanf(“%d”,&result);grade=result/10;switch(grade){ case 10: case 9: printf(“Your result is A.n”);break;case 8: printf(“Your result is B.n”);break;case 7: printf(“Your result is C.n”);break;case 6: printf(“Your result is D.n”);break;case 5: case 4: case 3: case 2: case 1: case 0: printf(“Your result is E.n”);break;default:printf(“ERRORn”);} getch();} 经过测试,此程序可按预想正确运行(O(∩_∩)O~)
② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。
解答:只需将default 后的 打印语句改为(“Your input is error.n”)即可
四、思考题
1.试举例说明++i与i++应用的区别。答:前者是 先给i加1,然后再取i的值,后者是 先取i的值,然后再给i加1.2.写出C语言中所有运算符混合运算的优先级别。
答:优先级从上往下依次是:
()[ ]->.!~ ++--+> >= ==!=
& ^ | && || ? : = +=-= *= /= %= &= ^= |= >=, 3.试分析比较条件表达式与if语句的使用特点。
答:条件表达式:
1、多路选择
2、switch语句是多分支选择语句,可用嵌套的if语句处理,但降低了可读性。
3、当分支数大于三种时,常采用开关语句简化程序设计 If:
4.Switch语句结构中加不加break有何区别?在什么情况下可以不加break语句?
答:不加break 会直接执行,直到遇见 break 或 花括号为止。想要执行所有的case 语句 时可以不加 break!