C语言第3章_分支结构
- 格式:ppt
- 大小:579.50 KB
- 文档页数:23


第三章 顺序结构
选择题
1. 结构化程序设计的三种基本结构是( )。
A. 函数结构、判断结构、选择结构 B.平行结构、嵌套结构、函数结构
C. 顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构
2. putchar( )函数可以向终端输出一个( )。
A. 整型变量表达式值 B. 实型变量值
C. 字符串 D. 字符或字符型变量值
3. 若已定义 double y; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( )。
A. scanf(“%d”, &y); B. scanf(“%7.2f”, &y);
C. scanf(“%lf”, &y); D. scanf(“%ld”, &y);
4.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将 ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出 B)输出空格
C)照样输出 D)输出不定值或0
5.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 。
A)不予接收
B)并不给出出错信息,但不可能得出正确信息数据
C)能接受正确输入
D)给出出错信息,不予接收输入
6.以下程序的输出结果是 。
main()
{
int i=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);
A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16
7.以下程序的输出结果是 。
C语⾔分⽀结构之ifelse语句
前⾯我们看到的代码都是顺序执⾏的,也就是先执⾏第⼀条语句,然后是第⼆条、第三条……⼀直到最后⼀条语句,这称为顺序结构。
但是对于很多情况,顺序结构的代码是远远不够的,⽐如⼀个程序限制了只能成年⼈使⽤,⼉童因为年龄不够,没有权限使⽤。这时候程序
就需要做出判断,看⽤户是否是成年⼈,并给出提⽰。
在C语⾔中,使⽤if和else关键字对条件进⾏判断。请先看下⾯的代码:
1. #include
2. int main()
3. {
4. int age;
5. printf("请输⼊你的年龄:");
6. scanf("%d", &age);
7. if(age>=18){
8. printf("恭喜,你已经成年,可以使⽤该软件!\n");
9. }else{
10. printf("抱歉,你还未成年,不宜使⽤该软件!\n");
11. }
12. return 0;
13. }
可能的运⾏结果:
请输⼊你的年龄:23↙
恭喜,你已经成年,可以使⽤该软件!
或者:
请输⼊你的年龄:16
抱歉,你还未成年,不宜使⽤该软件!
这段代码中,age>=18是需要判断的条件,>=表⽰“⼤于等于”,等价于数学中的≥。
如果条件成⽴,也即 age ⼤于或者等于 18,那么执⾏if后⾯的语句(第8⾏);如果条件不成⽴,也即 age ⼩于 18,那么执⾏else后⾯的语
句(第10⾏)。
if 和 else 是两个新的关键字,if 意为“如果”,else 意为“否则”,⽤来对条件进⾏判断,并根据判断结果执⾏不同的语句。总结起来,if else 的
结构为:
if(判断条件){
语句块1
}else{
语句块2
}
意思是,如果判断条件成⽴,那么执⾏语句块1,否则执⾏语句块2 。其执⾏过程可表⽰为下图:
所谓语句块(Statement Block),就是由{ }包围的⼀个或多个语句的集合。如果语句块中只有⼀个语句,也可以省略{ },例如:
1. if(age>=18) printf("恭喜,你已经成年,可以使⽤该软件!\n");
*-
第3章 分支结构
【练习 3-1】例 3-4 中使用 else-if 语句求解多分段函数,为了检查 else-if
语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。
解答:
最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。可再给出 x=0和 x=15 时的两种情况。
【练习 3-2】计算符号函数的值: 输入一个整数 x,计算并输出下列分段函数
sign(x)的值。
-1 x<0
y=sign(x)= 0 x=0
1 x>0
解答:
#include
int main(void)
{
int x, y;
printf("Enter x: " );
scanf("%d",&x);
if(x>0) y=1;
else if (x==0) y=0;
else y=-1;
printf("sign( %d ) = %d\n",x,y);
return 0;
}
【练习 3-3】统计学生平均成绩与及格人数:输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。试编写相应程序。
解答:
# include
int main(void)
{
int count, i, n;
double grade, total;
printf("Enter n: ");
scanf("%d", &n);
total = 0;
count = 0;
for(i = 1; i <= n; i++){ *-
C语⾔程序的三种基本结构
1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构;
顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句;
选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏;
循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次;
注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。C语⾔的判断表达式最终的值就是⼀个bool类
型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;
2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;
3、选择结构:C语⾔中常⽤的选择结构主要有以下两种:
(1) if else:引⼊关键字:if else else if
if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2
{
代码段1
}
else
{
代码段2
}
if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真
{
代码段1
}
else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3
{ // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个
代码段2
}
else
{
代码段3
}
1 #include
2
3 int main(void)
4 {
5 int a, b, max;
6
7 a = 456;
8 b = 45;
9
10 if (a > b) // 判断表⽰式
11 {
12 max = a;
13 printf("true.\n");
14 }
15 else if (a == b)
16 {
17 max = a;
18 printf("a == b.\n");19 }