C语言分支结构

合集下载

C语言分支结构之ifelse语句

C语言分支结构之ifelse语句

C语⾔分⽀结构之ifelse语句前⾯我们看到的代码都是顺序执⾏的,也就是先执⾏第⼀条语句,然后是第⼆条、第三条……⼀直到最后⼀条语句,这称为顺序结构。

但是对于很多情况,顺序结构的代码是远远不够的,⽐如⼀个程序限制了只能成年⼈使⽤,⼉童因为年龄不够,没有权限使⽤。

这时候程序就需要做出判断,看⽤户是否是成年⼈,并给出提⽰。

在C语⾔中,使⽤if和else关键字对条件进⾏判断。

请先看下⾯的代码:1. #include <stdio.h>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),就是由{ }包围的⼀个或多个语句的集合。

C语言-第3章分支结构教学案

C语言-第3章分支结构教学案

第3章 分支结构程序设计(选择结构)1、掌握if 、if-else 、if 的嵌套语句的语法结构及编程语句的语法结构及编程 123.2.1 单分支if 语句的使用学习目标:1、理解选择结构的概念和特点;2、掌握单分支if 语句的语法结构、执行过程和基本用法,学会正确书写if 语句; 4、能正确阅读if 语句程序,会使用if 语句编写、调试并运行程序。

课前准备:预习P30-32(预习后,将学案上知识点在课本上做记号,并完成相应预习题) 课时分配:2课时 活动课堂活动一、发现问题(目标——了解分支结构的意义)实例:从键盘上输入一个数,求这个数的平方根。

算法:发现问题:活动二、解决问题(目标——掌握分支结构) 思考:从键盘输入一个数,若为正数和0则 求其平方根,否则不予处理。

算法:活动三、预习交流(1 ·语句中a>b ·if 每行的结尾,分支中各语句结尾均有 (符号),但 后没有。

·在(2)(3)两语句段中的不同处画上横线,语句(2)中的c=a+b; (属于/不属于)if 分支。

活动五:观察思考(目标——掌握if 的执行流程)1、观察下列程序的执行,口述程序的执行过程,画出程序的流程图: 例1:#include <math.h>#include <stdio.h>main(){float x,y;clrscr();scanf("%f",&x);if (x>=0){y=sqrt(x);printf("%.2f",y);}}流程图:4、说明:例:表达式 -3+‘d’为________表达式,值为______,作条件判断结果为___________ 表达式 a=0 为__________表达式,值为_______,作条件判断结果为__________ 表达式 a=5 为__________表达式,值为________,作条件判断结果为_________ 表达式a>4为____________表达式,若a=5 则结果为_________表达式(a>0)&&(a%2==0)为________表达式,若结果为5 则结果为__________活动六、尝试学习(目标—if语句的初步应用)编程:输入一个学生成绩score,如果成绩大于60,则显示pass,否则不显示程序:流程图:活动七、合作探究、拓展应用(目标—if语句的应用)1、阅读下列程序,写出运行结果,画出程序的流程图:main() Array {int a,b;scanf("%d%d",&a,&b);if (a<b) a=b;printf("%d",a);}执行:·若输入4 5,则输出:________________若输入5 4,则输出:________________·程序的功能是:______________________。

C语言分支结构.ppt

C语言分支结构.ppt

3.1.5 else – if 语句
if(( ch>= 'a' && ch <= 'z' )||( ch>= 'A' && ch<='Z')) letter ++;
else if (ch >= '0' && ch <= '9') digit ++;
else other ++;
实现多路选择
else – if 语句
|| ( ch >= 'A' && ch <= 'Z' )
数字字符
ch >= '0' && ch <= ' 9'
其他字符 除此外
3.1.1 程序解析
#include <stdio.h> int main(void) {
int i, digit, letter, other; char ch;
处理方法: 逐个输入与判断
ASCII字符集:每个可用字符:惟一的 次序值( ASCII 码)见附录2
1 == ‘1’ ?
3.1.3 字符型数据的输入和输出
1. 字符输入函数getchar——输入一个字符
char ch; ch = getchar( );
2. 字符输出函数putchar——输出一个字符
putchar ( 输出参数 );
条件的表示
例3-2 写出满足下列条件的C表达式 (1) ch 是空格或者回车
ch == ' ' || ch == '\n'

C语言第4章-分支结构.

C语言第4章-分支结构.
❖注意表达式之间的顺序关系 ❖课堂作业:将表达式位置倒过 来后,即低等级先判断,高等级 后判断,完成框图与程序
§【源程序】 §main( ) §{ int grade; printf ( "input the grade:"); § scanf ("%d",&grade); § if (grade>=90) printf("A\n"); § else if(grade>=80) printf("B\n"); § else if(grade>=70) printf("C\n"); § else if(grade>=60) printf("D\n"); § else printf("E\n"); §}
§2.添break、可跳出。见下节
【例呢?
§ //百分制成绩的等级划分问题之解法3(不完善):
§ main( )
§ {int grade; printf("input the grade:");
§ scanf("%d",&grade);
§ switch(grade/10) //按单值匹配,故要将范围映射为单值
§4.各个case子句出现的次序对执行结果没任 何影响,即顺序可以任意布局。
§5.每一个case能够拥有一条或多条语句,其最大的 不同之处在于使用多条语句时不需要用“{}”括起来。
§6.多个case可以共用一组执行语句。例如:
§

§
case ‘A’:
§
case ‘a’: ++count ; break ;
§

C语言程序设计 第2章 顺序结构与分支结构程序设计

C语言程序设计 第2章 顺序结构与分支结构程序设计

main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }

c语言多分支结构的一般形式

c语言多分支结构的一般形式

c语言多分支结构的一般形式C语言中的多分支结构是编程中常用的一种结构,通过它可以实现根据不同条件执行不同的代码块。

多分支结构的一般形式如下:```if (条件1) {// 代码块1} else if (条件2) {// 代码块2} else if (条件3) {// 代码块3} else {// 默认执行的代码块}```上面的代码中,首先会判断`条件1`是否满足,如果满足,则执行`代码块1`;如果不满足,则继续判断`条件2`是否满足,如果满足,则执行`代码块2`;以此类推,直到某个条件满足为止,才会执行相应的代码块。

如果所有条件都不满足,则会执行`默认执行的代码块`。

多分支结构可以根据不同的条件来执行不同的逻辑,帮助我们应对各种复杂的情况。

下面将通过一些例子来展示多分支结构的使用方式和指导意义。

假设我们正在编写一个学生成绩评定程序,根据学生成绩的不同等级,输出相应的评语。

我们可以使用多分支结构来实现:```cinclude <stdio.h>int main() {int score;printf("请输入学生成绩: ");scanf("%d", &score);if (score >= 90 && score <= 100) {printf("优秀!\n");} else if (score >= 80 && score < 90) {printf("良好!\n");} else if (score >= 60 && score < 80) {printf("及格!\n");} else if (score >=0 && score < 60) {printf("不及格!\n");} else {printf("成绩输入有误!\n");}return 0;}```上面的代码中,根据学生成绩的不同等级,分别输出相应的评语。

C语言教程--第四章-分支结构

C语言教程--第四章-分支结构

请输入期末考试成绩:59
printf("\n");

}7
嵌套 if 结构 2-1
❑嵌套 if 结构就是将整个 if 块插入另一个 if 块中
if (表达式1)
真假
if (表达式2)

if (表达式3) 真
✓ 语句;
else
✓语句;
8
嵌套 if 结构 2-2
if (x > 0) if (y > 1) z = 1;
做黄瓜沙拉
4
制作黄瓜沙拉
多重条件结构
❑ 要处理多重条件判断的情况,需要使用多重条件 结构
多重条件结构
多重if
5
嵌套 if
switch结构

多称if重 为(表语阶if达句梯结式1式构;1是)if-ief-lseels-eif
多重 if 结构
的真另一假种形式 ,这种形式也
else if (表达式2) 真 假 语句2;
❑每个case语句后都必须有一个break语句,否 则会出现错误;
❑各case和default子句的先后顺序可以变动,而 不会影响程序执行结果;
❑default子句可以省略;
13
char in_char;
switch 结构示例
printf("\n 请输入一个小写字母: ");
内存
scanf("%c", &in_char);
第四章 分支结构
回顾
❑ 表达式是操作数和运算符的集合 ❑ 关系运算符运用测试两个操作数之间的关系 ❑ 条件结构解决了程序种需要根据不同情况进行判断的情况 ❑ 逻辑运算符用于组合多个条件(&& 和 ||)或者为某一条

实验二各种分支结构(精)

实验二各种分支结构(精)

实验二各种分支结构一.实验目的1. 了解C语言中表示逻辑量的方法(以0代表“假”,以1代表“真”)。

2. 正确使用C语言中的逻辑运算符和逻辑表达式。

3. 熟练掌握if语句,if-else语句和switch-case语句。

二.实验要点在C语言中主要用以下方法实现分支结构:1. if-else语句格式:if(表达式)语句块1else语句块2若表达式的值为真,就执行语句块1;否则,执行语句块2。

2.switch-case语句if语句只有两个分支可供选择,switch语句可以提供多个分支选择。

switch-case语句格式:switch (表达式{ case 常量1:语句1;case 常量2:语句2;case 常量3:语句3;case 常量4:语句4;default: 语句n}三.实验要求1.上机前编写好以下程序。

(1为程序改错,2-6为填空2.上机输入和调试自己所编的程序并存在自己的软盘上。

3.检查实验结果是否正确。

4.上机结束后,整理实验报告。

四.实验内容上机调通以下程序,并写出以下程序的输出结果。

改正以下程序的错误,并上机调通,程序完成输入两个数,按由小到大的顺序输出。

main({int a,b;scanf(“%d,%d”,a,b;if(a>bc=b;b=a;a=c;printf(“%d,%d”,a,b;}输入45,-55 ( 表回车main({int a,b,c;scanf("%d,%d",&a,&b;if(a>b{c=b;b=a;a=c;}printf("%d,%d",a,b;}45,-55-55,45Press any key to continue以下程序的输出结果是()。

main({printf(“%d\t”,3&&6&&9;printf(“%d\t”,3||6||!0;printf(“%d\n”,0&&1||0;}1 1 0Press any key to continue有一函数 x (x<1y= 2x-1 (1≤x<103x-11 (x≥10用scanf函数输入x的值,求y的值。

二、分支结构

二、分支结构

⼆、分⽀结构1. 前期准备——如何判断真假在 C 语⾔中,表达式的值为 0,表⽰逻辑“假”(false),表达式的值为⾮ 0,表⽰逻辑“真”(true)。

常见的运算符1. 算术运算符:+,−,∗,/,2. 关系运算符:==,!=,>,<,>=,<=3. 逻辑运算符:&&, ||, !4. 位运算符:&, |, ^5. 赋值运算符:=2. if 语句if 语句有三种⽅式:1. 单分⽀结构if(条件表达式){语句1;语句2;...}功能:如果条件表达式的值为真,即条件成⽴,花括号中的语句将被顺序执⾏。

否则,花括号中的所有语句将被忽略(不被执⾏),程序将按顺序从整个选择结构之后的下⼀条语句继续执⾏。

执⾏流程如图所⽰。

*说明:格式中的“条件表达式”必须⽤圆括号括起来。

⽰例代码#include <cstdio>int main() {int a = 0;printf("请输⼊⼩于100的整数:\n");scanf("%d", &a);if (a >= 100) {printf("不是说好的⼩于100吗?你是个⼤骗⼦\n");}printf("再见!\n");return 0;}2. 双分⽀结构格式if (条件表达式) {//操作1语句1;语句2;...} else {//操作2语句3;语句4;...}语句5;如果(条件表达式)的值为“真”,即条件成⽴,则执⾏语句1、语句2……,执⾏完后,从整个if-else结构的后的语句5继续向下执⾏;如果(条件表达式)的值为“假”,即条件不成⽴,那么跳过if后⾯花括号的所有语句,选择else后⾯花括号的所有语句,顺序执⾏,执⾏完后从整个if-else结构后的语句5继续向下执⾏;也就是说if-else语句总是根据(条件表达式)的结果,选择对应分⽀中的语句执⾏,执⾏完以后,整个if-else就算执⾏完了。

c语言分支结构感想

c语言分支结构感想

C语言分支结构感想1. 引言C语言是一种广泛使用的编程语言,具有高效、简洁、灵活等特点,广泛应用于系统软件、嵌入式设备、游戏开发等领域。

在C语言的学习过程中,分支结构是其中一个重要的概念,掌握好分支结构对于编写高效、可读性强的程序至关重要。

本文将对C语言分支结构进行深入探讨,包括分支条件、分支语句和常见应用场景等方面。

2. 分支条件在C语言中,分支结构主要通过判断条件的真假来执行相应的代码块。

常见的分支条件包括比较操作符(如等于、不等于、大于、小于等)、逻辑操作符(如与、或、非等)和复合条件(多个条件的组合)。

通过合理的分支条件判断,可以实现不同情况下的不同代码逻辑,提高程序的灵活性和可扩展性。

3. 分支语句C语言中的分支语句有if语句、switch语句和三元运算符。

通过这些分支语句,可以实现不同条件下的不同代码执行路径。

3.1 if语句if语句是C语言中最基本的分支语句,它根据条件的真假来决定执行哪个代码块。

if语句的基本语法如下:if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}if语句可以嵌套,形成多层的条件判定。

在使用if语句时,需要注意代码的缩进和大括号的使用,保证代码的可读性和结构的清晰。

3.2 switch语句switch语句用于根据不同的选项执行相应的代码块,它适用于对多个固定值进行判断的场景。

switch语句的基本语法如下:switch (表达式) {case值1:// 值为值1时执行的代码块break;case值2:// 值为值2时执行的代码块break;...default:// 所有case均不满足时执行的代码块}需要注意的是,每个case后面需要使用break语句来终止该分支的执行,否则会继续执行下一个case。

3.3 三元运算符三元运算符是一种简洁的条件判断语句,它通过一个条件判断返回两个值中的一个。

三元运算符的基本语法如下:表达式1 ? 表达式2 : 表达式3其中,表达式1为条件,如果条件为真,则返回表达式2的值,否则返回表达式3的值。

c语言的三种基本程序结构

c语言的三种基本程序结构

c语言的三种基本程序结构1. 顺序结构顺序结构是一种基本的程序结构,由一组语句按照顺序执行,每个语句执行后按照顺序执行下一条语句。

在C语言程序中,顺序结构是最基本的结构,首先执行主函数中的第一条语句,然后顺序执行每一个语句直到程序结束。

例如:在上述代码中,语句1和2按照顺序执行,输出结果为“Hello World!”、“Welcome to C Programming!”。

2. 分支结构分支结构是程序在执行过程中根据条件的不同而选择不同的执行语句,从而实现不同的操作。

常见的分支结构有if语句和switch语句。

if语句:if(condition){//条件成立执行的语句}else{//条件不成立执行的语句}switch语句:switch(expression){case value1://执行语句break;case value2://执行语句break;…default://执行语句break;}在上述代码中,根据输入的值选择不同的输出,如果flag为1,则输出“You chose option 1.”,以此类推。

3. 循环结构循环结构是程序反复地执行一段语句,直到满足条件时才退出循环。

C语言中循环结构分为for循环、while循环和do-while循环。

for循环:for(initialization; condition; increment/decrement){//循环体}在上述代码中,输出1~5的整数。

while循环:while(condition){//循环体}。

C语言实例教程第4章分支结构

C语言实例教程第4章分支结构
① 设置相关环境。
② 定义实型变量x、y、z、max。(分别表示3个原始数据及其中的最大数) ③ 输入x、y、z。 ④ 如果x≥y,则转⑤,否则转⑥。
⑤ 如果x≥z,则max=x,转⑦;否则max=z,转⑦。
⑥ 如果y≥z,则max=y,转⑦;否则max=z,转⑦。 ⑦ 输出max,结束。
第一节 分支程序逻辑
输出“正常!”
结束
第一节 分支程序逻辑
课堂练习4.1
请分别用自然语言、流程图描述算法 1.有N位青年到外地旅游,汽车票单价M元/张,团体票 (至少一次性购票20张)每张打8折。问怎样购票才最合算呢? 2.笛卡尔直角坐标系由四象限、原点、四根坐标轴组成。任意 输入一对坐标(x,y),输出其对应点的位置信息。
第二节 条件表述
C语言提供了如下运算符:
关系运算符:==、!=、>、<、>=、<=
逻辑运算符:||、&&、! 1.表述单个条件用关系运算符。
关系运算符中,==、!=(等于、不等于)优先级相同; >、<、>=、<=(大于、小于、大于等于、小于等于)优先级相同; ==、!=的优先级低于>、<、>=、<=。
【简要分析】当实际问题中涉及的条件较多时,如何科学组织条件 和表述条件是正确编制程序的关键。
由数学知识可知,结论“a、b、c能构成三角形”包含的前提条件:
a、b、c必须同时为正数。(a>0,b>0,c>0)
a、b、c任意两数之和必须大于第三数。(a+b>c,b+c>a,a+c>b)
第一节 分支程序逻辑
第4章 分支结构
第一节 分支程序逻辑 第二节 条件表述 第三节 分支结构实现:条件运算符 第四节 分支结构实现:if语句 第五节 分支结构实现:switch语句

第04章 分支结构

第04章 分支结构

第 4 章
分支结构
该程序执行的过程是: 判断商品数量,
数量大于等于50,执行语句A;
数量小于50,执行语句B。 你能画出这个程序的流程图吗?
第 4 章
【注意】
分支结构
(1)if后面的<表达式>一定要有括号。
(2)if和else同属于一个if语句,程序中不可以没有if而
只有else。 (3)if子句与else子句不可能同时执行。 (4) if语句中的各子句必须用分号结束,若子句是由多 个语句组成,必须写成复合语句(用{ }括住),“}”
分支结构
( x 0) ( x 0) ( x 0)
/*不嵌套的if 语句*/ if (x<0) y= -1; if (x= =0) y=0; if (x>0) y=1;
第 4 章
注:
分支结构
1) 复合语句本身是一个完整的语句,它不以 分号作为结束符。“}”后加了分号相当于多 了一个空语句。对这种情况,有时对程序 流程没有影响,但有时会改变程序流程。
2) 复合语句内通常有多个语句,但它整体上 是作为一个语句看待。
3) 在程序中凡是可以出现语句的地方都可以 使用复合语句。它通常出现在控制语句 (选择、循环)中作为子句或循环体。
后不能再加“;”
(5)if语句的表达式可以是任意类型的C语言的合法表 达式,其值为表示“假”,其值为非0时表示
第 4 章
例1:
分支结构
if (a>b) printf(“%d\n”,a); printf(“%d\n”,b); 不同于 if (a>b) {printf(“%d\n”,a); printf(“%d\n”,b);}
第 4 章
运行结果:

分支结构习题课

分支结构习题课


分支结构
– 分支结构:按给定条件进行判断,按判断后的 不同情况进行不同处理。
– C语言有二种分支语句:
– 二路分支选择结构 – 多路分支选择结构 if 语句 switch 语句
5
if语句(条件分支语句)

if语句的两种形式 – 形式一(缺省形式): • 格式:if (expression) statement • 执行过程:
12
if语句嵌套
例: #include “stdio.h” main() { int x=4,y=5,z=2,max; max=x; if(z>y) if(z>x) max=z; else if(y>x) max=y;
结果: max=4
printf(“max=%d”,max);
}
13
if语句嵌套: 一般形式: if (expr1) if (expr2) statement1 else statement2 if (expr1) statement1 else if(expr3) statement2 else statement3
18
6 计算个人所得税 tax=rate*(salary-850)/100 其中 tax所得税 salary月薪 rate税率 月薪 salary≤850 850<salary≤1350 1350<salary≤2850 2850<salary≤5850 5850<salary rate税率 0 5 10 15 20 #include<stdio.h> void main() { int salary; float rate,tax; printf("input salary=\n"); scanf("%d",&salary); if(s<=850) r=0; if(850<s&&s<=1350) r=5; if(1350<s&&s <=2850) r=10; if(2850<s&&s <=5850) r=15; if(s>5850) r=20; tax=rate*(salary-850)/100) printf("tax=%f",tax); }

C语言分支结构

C语言分支结构
输入一个整数n,判断n是奇数还是偶数, 若为奇数输出”奇数”,若为偶数, 输出”偶数”。
解题思路
判断奇偶性。输入一个整数n,判断n 是奇数还是偶数,若为奇数输出”奇 数”,若为偶数,输出”偶数”。
if ( nn是%22的=倍= 0数) 输出“偶数”;
else 输出“奇数”;
if (n不n%是22的!=倍0数) 输出“奇数”;
3.1 if控制语句
if (表达式) 语句1
else 语句2真ຫໍສະໝຸດ 语句1表达式假 语句2
语句1和语句2可以是单个语句,也可以是用{}括 起来的复合语句
else 和语句2并不是必须的,一般把缺省else 和语 句2的if语句称为单分支if语句。
3.1.1 if-else语句
例3.1:从读入两个整数,要求输出这两个 整数中较大的一个。
例3.4 输出三个整数的最大值
解题思路2: 在程序3-3的基础上进行扩充。在程序3-3中,已 将a 和b的最大值存入max,在此基础上,将c 与 max 比较:如果c > max,则用c更新max。 实现过程如下: (1)读入整数a、b和c; (2)将a 存入max(暂时认为a 最大); (3)如果b > max,用b更新max; (4)如果c > max,用c更新max; (5)输出max。
}
/*程序3-3:使用单分支if语句求两个整数的最大值*/ #include<stdio.h> int main(void) {
int a, b, max;
scanf("%d%d", &a, &b);
max = a;
/*暂且认为a大*/
if(b > max) {

C语言第3章_分支结构

C语言第3章_分支结构

3.3练习与习题参考答案3.3.1练习参考答案3-1 例3-4中使用else-if 语句求解多分段函数,为了检查else-if 语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。

解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。

可再给出x=0和x=15时的两种情况。

3-2 计算符号函数的值:输入一个整数x ,计算并输出符号函数 sign(x) 的值。

试编写相应程序⎪ ⎩⎪ ⎨ ⎧ >=<−==010001)(x x x x sign y ,,,解答:#include<stdio.h>int main (void){int x, y;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 <stdio.h>int main (void){int count, grade, i, n;double average, sum;scanf ("%d", &n);count = 0;sum = 0;for (i = 1; i <= n; i++){scanf ("%d", &grade);sum = sum + grade;if (grade >= 60) {count++;}}if (n > 0) {average = sum / n;}else{average = 0;}printf ("average = %.1f\n", average);printf ("count = %d\n", count);return 0;}3-4统计字符:输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

c语言分支结构

c语言分支结构

c语言分支结构C语言分支结构引言C语言是一种广泛使用的编程语言,具有高效、灵活和可移植性等特点。

在C语言中,分支结构是一种重要的程序控制结构,它可以根据不同的条件执行不同的代码块,从而实现程序的灵活控制。

本文将介绍C语言中的分支结构及其使用方法。

一、if语句if语句是最基本的分支结构之一,在C语言中用于根据某个条件来判断是否执行某段代码。

if语句的基本格式如下:if(条件表达式){//执行代码块1}else{//执行代码块2}其中,条件表达式为一个逻辑表达式,如果它的值为真,则执行代码块1;否则执行代码块2。

需要注意的是,else子句可以省略,这时候如果条件表达式为假,则不执行任何操作。

二、switch语句switch语句也是一种常用的分支结构,在C语言中用于根据不同情况来选择不同操作。

switch语句的基本格式如下:switch(变量表达式){case 常量表达式1://执行代码块1break;case 常量表达式2://执行代码块2break;default://执行代码块3}其中,变量表达式为一个整型表达式,它的值会与各个常量表达式进行比较,如果匹配则执行对应的代码块。

需要注意的是,每个case子句后面必须加上break语句,否则会继续执行下一个case子句中的代码。

default子句可以省略,这时候如果没有任何匹配,则执行代码块3。

三、嵌套分支结构在C语言中,可以使用嵌套分支结构来实现更加复杂的程序控制。

例如:if(条件表达式1){if(条件表达式2){//执行代码块1}else{//执行代码块2}}else{if(条件表达式3){//执行代码块3}else{//执行代码块4}}在上述例子中,首先判断条件表达式1是否为真;如果是,则进一步判断条件表达式2是否为真;如果是,则执行代码块1;否则执行代码块2。

如果条件表达式1为假,则进一步判断条件表达式3是否为真;如果是,则执行代码块3;否则执行代码块4。

C语言第3章

C语言第3章

3.3.3 if语句的嵌套
注意: 1.else子句不能作为语句单独使用,它必须与if配对使用。 2.为使程序结构清晰、层次分明,常常采用程序行缩进的书 写格式,if 和其对应的else写在一列上。但,书写格式不能 代替逻辑结构。 3.if 和 else 的配对关系。一个 else 总是与其上面距它最近 的,并且没有其它 else 与其配对的 if 相配对。
3.2 关系运算和逻辑运算
3.2.1 关系运算
运算符 含义 优先级 < 小于 <= 小于等于 6 > 大于 >= == != 大于等于 等于 不等于 7
3.2.2 逻辑运算
运算符 含义 优先级 ! 逻辑非 2 && 逻辑与 11 || 逻辑或 12
关系表达式
关系表达式是使用关系运算符将两个表达式(算术表达式,关系表达式, 逻辑表达式,赋值表达式等)连接起来的式子。 关系表达式的值:关系表达式成立,即为“真”,C语言中用1表示; 关系表达式不成立,即为“假”,C语言中用0表示。 对1.0/3.0*3.0==1.0,计算机判 为假改写为:fabs(1.0/3.0*3.0字符比较按ASCII码进比较 1.0)<1e-5; 对浮点数判断是否相等时,由于计算机存储的误差,会出现错误的结果。 应避免对两个实数表达式作“相等”或“不相等”的判别。 例:表达式5>2>7>8在数学上是不允许的。在C语言中是允许的,按自左而 右求解。5>2值为1;1>7值为0;0>8值为0。表达式的值为0。
例:a&&b&&c :a为真才判别b,a和b同时为真才判别c a||b||c:只要a为真,就不再判断b和c 例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4时,m=0,n维持原值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式n-1) 语句n-1 else 语句n
假 表达式2 表达式 真 … 假 假
表达式1 表 语句2 语句 … 语句n-1 语句
语句n 语句
例3-3 分段计算水费
0 x<0 4x y = f ( x) = 0 ≤ x ≤ 15 3 x > 15 2.5 x − 10.5
a a?
3. 调用 scanf 和 printf 输入输出字符
double value1, value2; char operator; printf(“Type in an expression: ”); scanf(“%lf%c%lf”, &value1, &operator, &value2); printf(“%.2f %c %.2f”, value1, operator, value2); Type in an expression: 10.0+5.61 10.00 + 5.61
条件的表示
写出满足下列条件的C表达式 例3-2 写出满足下列条件的 表达式 (1) ch 是空格或者回车 ch == ' ' || ch == '\n' (2) number是偶数 是偶数 number % 2 == 0 (3) year 是闰年,即 year 能被 4 整除但不能被 100 是闰年, 整除, 整除。 整除,或 year 能被 400 整除。 (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
[1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 1 price = 3.0 [1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 7 price = 0.0 [1] Select crisps [2] Select popcorn [3] Select chocolate [4] Select cola [0] Exit Enter choice: 0 Thanks
逻辑表达式
逻辑表达式: 逻辑运算符将 逻辑运算对象连接起来 逻辑表达式 : 用 逻辑运算符 将 逻辑运算对象 连接起来 的式子。 的式子。 (ch >= 'a') && (ch <= 'z') 判ch 是否为小写字母 或: ch >= 'a' && ch <= 'z' (ch >= 'a' && ch <= 'z') || ( ch >= 'A' && ch <= 'Z') 判断ch 是否为英文字母
3.2.2 switch语句处理多分支选择 语句处理多分支选择——3种情况 语句处理多分支选择 种情况
1、在switch语句的每个语句段中都使用 、 语句的每个语句段中都使用break语句 语句的每个语句段中都使用 语句 switch(表达式) { case 常量表达式1:语句段1; break; case 常量表达式2:语句段2 ; break; ...… case 常量表达式n:语句段n ; break; default : 语句段n+1 ; break; }
3.2.1 程序解析
假设自动售货机出售4种商品,薯片(crisps)、爆米花 假设自动售货机出售 种商品,薯片 种商品 、爆米花(popcorn)、巧克 、 和可乐(cola),售价分别是每份 力 (chocolate)和可乐 和可乐 , 售价分别是每份3.0、2.5、4.0和3.5 、 、 和 元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询 在屏幕上显示以下菜单, 用户可以连续查询商品的价格, 次数超过5次时 自动退出查询;不到5次时 用户可以选择退出。 次时, 次时, 次数超过 次时,自动退出查询;不到 次时,用户可以选择退出。当 用户输入编号1~ ,显示相应商品的价格;输入0,退出查询; 用户输入编号 ~4,显示相应商品的价格;输入 ,退出查询;输入 其他编号,显示价格为0。 其他编号,显示价格为 。
1.字符常量 字符常量
'0' '9' 'A' 'Z' '[' '-' 'a' 'z' '{' '~' ' ' '\n'
ASCII字符集:每个可用字符:惟一的 字符集:每个可用字符: 字符集 次序值( 见附录2 次序值( ASCII 码)见附录
1 == ‘1’ ?
3.1.3 字符型数据的输入和输出
if (x < 0) { y = 0; } else if (x <= 15){ y = 4 * x / 3; } else{ y = 2.5 * x - 10.5; } printf("f(%.2f) = %.2f\n", x, y); return 0; }
3.2 查自动售货机中商品的价格 查自动售货机中商品的价格——例3-4 例
3.1.4 逻辑运算
ch >= '0' && ch <= '9'
(ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z')
0
-1
1
x
关系运算 x <= 1
逻辑运算 x >= -1 并且 x <= 1 x >= -1 && x <= 1
3种逻辑运算符 种逻辑运算符
处理方法: 处理方法: 逐个输入与判断
3.1.1 程序解析 for(i = 1; i <= 10; i++) { ch = getchar(); if ((ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z')) letter ++; else if ( ch >= '0' && ch <= '9' ) digit ++; 多层缩进的书写格式 else 使程序层次分明 other ++; } printf("letter=%d,digit=%d,other=%d\n",letter,digit ,other); Enter 10 characters: Reold 123? return 0; } letter=5, digit=3, other=2
求解简单表达式
操作数” 例3-5 输入一个形式如 “操作数 运算符 操作数” 的四则运算表达式,输出运算结果。 的四则运算表达式,输出运算结果。 例如: 例如: Type in an expression: 3.1 + 4.8 =7.9
1. 字符输入函数 字符输入函数getchar——输入一个字符 输入一个 一个字符 char ch; ch = getchar( );
一个字符 2. 字符输出函数 字符输出函数putchar——输出一个字符 输出一个 putchar ( 输出参数 ); char ch; ch = getchar(); putchar (ch); 字符常量或字符变量 putchar ('?');
# include <stdio.h> int main(void) { double x, y; printf("Enter x:"); scanf("%lf", &x);
源程序——分段计算水费 分段计算水费 源程序
Enter x: -0.5 f(-0.50) = 0.00 Enter x: 9.5 f(9.50) = 12.67 Enter x: 21.3 f(21.30) = 42.75
逻辑与 && 逻辑或 || 逻辑非 !
X && Y X
X || Y
X
Y
Y
!X
X
逻辑运算符的含义
逻辑非 ! 逻辑与 && (x>1) &&(y>1) 逻辑或 || (x>1)||(y>1)) (x>1) !(x>1) 即 x<=1
逻辑运算符的功能
a 假 假 真 真 b 假 真 假 真 a&&b 假 假 假 真 a||b 假 真 真 真 !a 真 真 假 假
3.1.2 字符类型
字符型数据 字符变量: 字符变量:ch 字符常量: 字符常量: 'a'
先定义、 先定义、后使用 存放一个字节字符型数据
char ch; (ch >= 'a' && ch <= 'z' )|| ( ch >= 'A' && ch <= 'Z') (ch >= '0' && ch <= '9')
相关文档
最新文档