配色: 字号:
《C语言程序设计》04 分支结构写字字帖
2023-05-24 | 阅:  转:  |  分享 
  
第 四 章分支结构 12目标掌握简单的条件语句的使用熟练使用多重 if 结构熟练使用嵌套 if 结构熟练使用 switch 结构理解条件运算
符的用法3结构化程序C语言是一种支持结构化程序设计思想的程序设计语言。结构化程序设计的基本思想之一是“单入口和单出口”的控制结构任
何程序只可由顺序、选择和循环三种控制结构组成每种控制结构都能用仅有一个入口和一个出口的流程图表示4顺序结构 顺序结构就是指程序按照
语句出现的先后顺序依次执行。 5示例#include "stdio.h"void main(){ int i, j, sum;
printf("请输入i的值:\n"); scanf("%d",&i); printf("请输入j的值:\n");
scanf("%d",&j); sum = i + j; printf("i+j=%d\n",s
um);}6示例2设三角形的三边长为a,b,c求三角形的面积?提示根据三条边求面积的数学公式为:area=sqrt(s(s-a)
(s-b)(s-c)),其中s为: s=(a+b+c)/27if 语句 分支结构中最基本的分支结构是if语句按形式分
if语句可以分为单分支双分支多分支8单分支if 语句if ( expression )语句 ; 表达式(expression)可以
是任意的数值、字符、关系、逻辑表达式,以true(非0)表示真,false(0)表示假。语句称为if语句的内嵌语句,可以是一句简单
语句或是一句复合语句。9单分支if 语句 案例:如果你有10万元人民币,你就买汽车#include “stdio.h”void m
ain(){ int money; printf(“请输入你所拥有的钱:\n”); scanf(“%d”,&money); if(
money>=10) printf(“我买汽车了\n”);}10已知两个数x和y,比较它们的大小,使最终结果x中的内容大于y。
首先将x中的数值赋值给临时变量temp。接着将y中的数值赋值给变量x。最后将临时变量temp中的数值赋值给变量y,整个交换过程完成
。#include void main(){ int x , y , temp ; printf("\n请输入两
个值: "); scanf("%d%d",&x,&y); printf("\n比较前 x 和 y 中的内容:\n"); pri
ntf(" x = %d , y = %d\n\n" , x , y ); if( x < y ) //如果 x 中的值小于 y
中的值,交换 x 和 y 的内容 { temp = x ; x = y ; y = temp ; } printf("比较
后 x 和 y 中的内容:\n"); printf(" x = %d , y = %d\n" , x , y);} 11if –
else 语句 if ( expression ) 语句1 ; else 语句2 ; 12if – else 语句案例:如果你
有10万元人民币,你就买汽车,没有的话,就买电动车#include "stdio.h"void main(){ int money
; printf("请输入你所拥有的钱:\n"); scanf(“%d”,&money); if(money>=10) prin
tf("我买汽车了\n"); else printf("我买电动车了\n");}13示例#include vo
id main(){ int x , y ; printf("input two numbers: ");
scanf("%d%d",&x,&y); if( x > y ) //比较x和y中的内容,并选择相应的输出 printf
("x > y \n"); else printf("x < y \n");} 14if – else – if语句 if
(expression_1 ) 语句1 ; else if (expression_2 ) 语句2 ; else if (ex
pression_3 ) 语句3 ; . . .else if (expression_n ) 语句n ; else 语句n
+ 1 ; 15if – else – if语句案例:如果你有10万元人民币,你就买福特汽车,没有10万,如果有5万就买奇瑞qq汽
车,5万也没有的话,买电动车#include “stdio.h”void main(){ int money; printf(“请
输入你所拥有的钱:\n”); scanf(“%d”,&money); if(money>=10) printf(“我买福特汽车了
\n”); else if(money >=5) printf(“我买qq汽车了\n”); else printf(“我买电动
车了\n”);}16示例#include void main(){ int mark ; printf("
请输入学生的百分制成绩:"); scanf ( "%d" , &mark) ; if (mark >= 90 ) //
mark >= 90 时 printf (" 优 !"); else if ( mark >= 80 ) //80 <= ma
rk < 90 时 printf(" 良 !"); else if ( mark >= 70) //70 <= mark <
80 时 printf(" 中 !"); else if( mark >= 60) //60 <= mark < 70 时
printf(" 及格 !"); else // mark < 60 时 printf(" 不及格 !");
printf("\n"); //输出换行符} 17if嵌套 if (expression ){
语句;if (expression ){ 语句;}语句;}else { 语句; i
f (expression ){ 语句; } 语句;}18if嵌套案例:如果你有10万元人民币的情况
下,家里的资产大于50万,你就买福特汽车,家里资产小于50万的话,就买夏利。没有10万,如果有5万就买奇瑞qq汽车,5万也没有的话
,买电动车19#include “stdio.h”void main(){ int money; printf(“请输
入你所拥有的钱:\n”); scanf(“%d”,&money); if(money>=10) if(资
产>50) printf(“我买福特汽车了\n”); else p
rintf(“我买乐风了\n”); else if(money >=5) printf(“我买qq汽车了\n”
); else printf(“我买电动车了\n”);}20本题中对三个数x、y、z进行排序#include
void main(){ int x,y,z,temp; printf("请输入x、y、z的值:");
scanf("%d%d%d",&x,&y,&z); if( x < y ) { //x 与 y 交换,使得 x > y
temp=x; x=y; y=temp; } if( y < z) { //y 与 z 交换,使得 y > z t
emp=y; y=z; z=temp; if( x < y ) { temp=x; x=y; y=temp;
} } printf("%d > %d > %d\n" ,x , y , z);} 21switch语句 虽然用if
- else语句可以实现多分支选择,但当分支较多时,程序结构依然会十分复杂,降低程序的可读性。为了使语句更为清晰易懂,C语言还提供
了另一种用于描述多分支选择结构的switch语句,该语句又称为开关语句。switch-case 语句是多路判断语句switch 语
句计算条件表达式并对照多个常数值进行检查22switch (表达式){ case 常量 1: 语句; break;
case 常量 2: 语句; break; default: 语句;}需要判断的值如果等于常量1遇到break,
switch结束执行语句如果等于常量2遇到break,switch结束执行语句如果没有找到匹配的值执行语句switch 结构23#
include void main(){ int a; printf("input integer
number: "); scanf("%d",&a); switch (a) //根据变量a的值进行判断 {
case 1:printf("Monday\n"); //输出 Monday (星期一) case 2:printf("Tuesd
ay\n"); //输出 Tuesday (星期二) case 3:printf(“Wednesday\n”); //输出 Wed
nesday(星期三) case 4:printf("Thursday\n"); //输出 Thursday (星期四) case
5:printf("Friday\n"); //输出 Friday (星期五) case 6:printf("Saturday\
n"); //输出 Saturday (星期六) case 7:printf("Sunday\n"); //输出 Sunday
(星期日) default:printf("error\n"); //当变量a中的内容不在数值1-7之间时,输出error
}} 从键盘接收用户输入的整型值,并按值显示出相应的星期表示。 #include void main(){
int a; printf("input integer number: "); scanf("%d",&a);
switch (a) //根据变量a的值进行判断 { case 1:printf("Monday\n"); //输出
Monday (星期一) case 2:printf("Tuesday\n"); //输出 Tuesday (星期二) case
3:printf(“Wednesday\n”); //输出 Wednesday(星期三) case 4:printf("Thurs
day\n"); //输出 Thursday (星期四) case 5:printf("Friday\n"); //输出 Frid
ay (星期五) case 6:printf("Saturday\n"); //输出 Saturday (星期六) case 7
:printf("Sunday\n"); //输出 Sunday (星期日) default:printf("error\n");
//当变量a中的内容不在数值1-7之间时,输出error }} 从键盘接收用户输入的整型值,并按值显示出相应的星期表示。
24#include void main(){ float a,b; char c; prin
tf("input expression: a+(-,,/)b \n"); scanf("%f%c%f",&a,&c,&b
); switch(c){ case ''+'': printf("%f\n",a+b); br
eak; case ''-'': printf("%f\n",a-b); break; c
ase '''': printf("%f\n",ab); break; case ''/'': pri
ntf("%f\n",a/b); break; default: printf("input error\n"); } }完成一个简单的计算器程序,用户输入运算数和四则运算符,输出计算结果 。 25总结条件语句if解决了程序中需要根据不同情况进行判断的情况;条件语句中需要提供判断条件,该条件要求返回逻辑值(真或假);多重if结构就是在主if块的else部分中还包含其他if块;嵌套if结构是在主if块中还包含另一个if 语句;C语言规定,嵌套if结构中每个else部分总是属于前面最近的那个缺少对应的else部分的if语句;条件运算符是 if–else 语句的另一种表现形式switch结构也可以用于多分支选择。用于分支条件是整型(或字符型)表达式,而且判断该整型(或字符型)表达式的值是否等于某些值,然后根据不同的情况,执行不同的操作
献花(0)
+1
(本文系小磊老师首藏)