C语言程序设计实验报告——实验四
实验名称选择结构程序设计成绩姓 名学号班级实验地点9B506完成日期2009-10-28实验目的1.熟练掌握关系运算符和逻辑运算符。?
2.熟练掌握?if结构、if…else?结构语句。?
3.掌握?switch?语句。?
4.掌握分支语句的嵌套。
实
验
内
容
与
步
骤
实
验
内
容
与
步
骤
实
验
内
容
与
步
骤1.分析以下程序,判断输出结果,然后上机调试验证结果。
(1)
#include?
void?main()?
{?
int? i=1,j=1,k=2??
if((j++||k++)&&i++)??
printf("%d,%d,%d?\n",i,j,k)??
}
(2)
#include?
void?main()?
{?
int?i=0,j=0,k=6??
if((++i>0)||(++j>0))?k++??
printf("%d,%d,%d\n",i,j,k)??
}
(3)
#include?
void?main()?
{?
int?ok1,ok2,ok3,x?
ok1=1??
ok2=2??
ok3=3??
x=15??
if(!ok1)?
x--??
else?
if(ok2)?
if(ok3)?
x=3??
else?x=4??
printf("%d",x)??
}
(4)
#include?
void?main()?
{?
int?a,b,c??
a=2?b=7?c=5??
switch(a>0)?
{??case?1:switch(b<10)
?
{? case?1:printf("@")??
break??
case?0:printf("!")??
break??
}?
case?0:switch(c==5)?
{?case?0:printf("*")??
break???
case?1:printf("#")??
break??
default:?printf("%%")??
break??
}?
default:printf("&")??
}?
(5)以下程序在执行时,从键盘输入?3,输出为 。
#include?
void?main()?
{?
int?x?
scanf("%d",&x)??
switch(x)?
{?case?5:?printf("Excellent")??
default:?printf("Poor")??
case?4:?printf("Good")??
case?3:?printf("Pass")??
case?2:?printf("Fail")??
}?
}?
2.以下程序可能有多处错误,请改正并上机调试。
(1)
#include?
void?main()?
{?
int??year,leap??
scanf("%d",year)??
if((year%4=0&year%100!=0)OR(year%400==0))?
leap=1??
else?
leap=0??
if(leap=1)?
printf("%d?is?a?leap?year!\n",year)??
else?
printf("%d?is?not?a?leap?year!\n",year)??
}?
3.在横线处给程序填空。
(1)输入?4?个整数,按大小顺序输出。
#include?
void?main()?
{?
int?a,b,c,d,t??
scanf("%d,%d,%d,%d",&a,&b,&c,&d)??
if(a
{?t=a?a=b?b=t}?
pr+intf("%d,%d,%d,%d",a,b,c,d)??
}
(2)将字母换成小写。
#include?
void?main()?
{?
char?c?
scanf("%c",&c)??
if(? )? ??
printf("%c",c)??
}?
4.编程题
(1)编写一个程序,求一元二次方程?ax?
2?
+bx+c=0?的根。
(2)给出一个百分制的成绩,要求输出成绩等级“A”、 “B”、 “C”、 “D”、 “E”。?
90?分以上的为:“A”级,80~89?分的为“B”,70~79?分的为“C”,60~69?分的
为“D”,60?分以下的为“E”。?
1? (x
(3)编程序:设函数?y=? y?=?2*x+9? (-1≤x≤1)?
5*x?
2?
-3? (x>1)
用?scanf()函数给?x?赋值,分别为?x