C语言课程分支语句ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else if(ch >= 'a' && ch <= 'z') printf("%c是小写字母!\n",ch);
else if(ch == ' ') printf("%c是空格!\n",ch);
else if(ch >= '0' && ch <= '9') printf("%c是数字!\n",ch);
ab 非0 非0 非0 0
0 非0 00
2020/5/21
!a !b 00 0 非0 非0 0 非0 非0
a||b 非0 非0 非0
0
a&&b 非0
0 0 0
13
思考
假设x=3,求下列表达式完成运算后,变 量x的值为多少
– 0 && (x = x + 1) && b
只有必须执行下一个表达式才能求出整个 逻辑表达式值时,才执行下一个运算
整型量的低八位中,高八位为与原来的符号位 相同。
–整型赋予字符型,只把低八位赋予字符变量
2020/5/21
6
常量的表示方法
宏定义 – #define PI 3.14159 – 宏名一般大写 – 宏替换是机械替换,不做语法检查,不提倡用宏常量
使用const关键字 – const修饰的标识符是常量,其值存储在只读存储区 – 格式:const float pi = 3.1415926;
2020/5/21
17
问题的求解
#include <stdio.h>
int main()
{ int x; /*定义待判断的整数*/
printf("请输入一个整数:"); scanf("%d",&x);
if(x % 2) printf("x 是奇数!\n");
else printf("x 是偶数!\n");
利用分支结构判断其奇偶,最后输出
2020/5/21
16
利用if-else语句构建分支结构
分为if和if…else两种
if形式:
if(表达式) 语句;
if…else形式 if(表达式)
Y 条件 模块1 N
Y 条件 N
模块1
模块2
语句1; else
模块2
语句2;
根据表达式的值为0或非0决定程序执行流向
重庆邮电大学计算机科学与技术学院 李盘林
lipl@cqupt.edu.cn
回顾--格式输入函数
格式输入函数 –scanf(格式控制字符串, 地址表列);
scanf("%d,%f”, &a,&b);
2020/5/21
地址表列
2
scanf格式字符
d 以带符号十进制形式输入整型数据 o 以八进制无符号形式输入(无前导0) x 以十六进制无符号形式输入(无前导0x) c 以字符形式输入单个字符 s 输入字符串,以非空字符开始,遇第一个
else printf("%c是其他字符!\n",ch);
2020/5/21return 0;
21
பைடு நூலகம்
#include <stdio.h> #include <ctype.h> int main() {
char ch;
解法2
printf("请输入一个字符:"); scanf("%c",&ch); //或者ch = getchar();
return 0;
} 2020/5/21
18
练习2--判断字符的类型
从键盘上输入一个字符,判断它属于大写字 母、小写字母、空格、数字、还是其他字符 分析
–如何从键盘输入一个字符 –可以从大写、小写字母、数字的ASCII码值范围来
判断字符究竟是什么类型
2020/5/21
19
字符输入输出函数
字符输出函数 –putchar(ch) –输出一个字符ch
不要写依赖求值顺序的表达式
2020/5/21
5
关于复合赋值运算符:
– +=、-=、*=、/=、%=、<<=、>>=、&=、|=、
^=
关于不同数据类型数据间赋值
–实型赋予整型,舍去小数部分。
–整型赋予实型,数值不变,但将以浮点形式存
放, 增加小数部分(小数部分的值为0)。
–字符型赋予整型时,将字符的ASCII码值放到
if(isupper(ch))
printf("%c是大写字母!\n",ch);
else if(islower(ch))
printf("%c是小写字母!\n",ch);
2020/5/21
7
主要内容
关系运算符、逻辑运算符、条件运算符 分支结构的运用
2020/5/21
8
重点 & 难点
学会运用关系运算符和逻辑运算符 能够利用分支结构灵活解决实际问题
2020/5/21
9
关系运算符
2020/5/21
10
几点说明
关系运算符有6个,表中前4个运算符优先级高 于后两个 关系运算符优先级低于算术运算符 关系表达式的值用0表示关系不成立,非0表示 关系成立 关系表达式均为双目运算符
2020/5/21
11
判断m是否是奇数
– m % 2 == 1 –m % 2
判断a、b是否相等 – a == b
判断m、n之和是否大于等于0 – m + n >= 0 – (m + n) >= 0
判断k是否不为0 – k != 0
在C语言中表达式a>b>c的结果是什么???
2020/5/21
12
逻辑表达式
字符输入函数 –getchar() –无参数 –函数值为从输入设备接收的字符
2020/5/21
20
#include <stdio.h> void main() {
char ch;
解法1
printf("请输入一个字符:"); scanf(“%c”,&ch); //或者ch = getchar();
if(ch >= 'A' && ch <= 'Z') printf("%c是大写字母!\n",ch);
空白字符结束 f 以小数形式输入浮点数 e 以标准指数形式输入
2020/5/21
3
2020/5/21
4
赋值运算符
格式: –变量名 = 表达式;
赋值运算符左操作数必须是占有存储空间的量
赋值是由方向的,满足右结合性,与其他双目 运算符不同
赋值运算符优先级低于算术、关系、逻辑运算 符
赋值表达式的值被规定为运算完成后左操作数 的值
判断某年是否为闰年:
– (!(year % 4) && (year % 100)) || ! (year
% 400 )
2020/5/21
14
算法的流程图表示
2020/5/21
15
练习1--判断整数的正负和奇偶
从键盘上键入1个整数,判断该数的奇偶 分析
–如何表示数的奇偶? –程序的基本思路是定义整数x,并从键盘接收其值,
else if(ch == ' ') printf("%c是空格!\n",ch);
else if(ch >= '0' && ch <= '9') printf("%c是数字!\n",ch);
ab 非0 非0 非0 0
0 非0 00
2020/5/21
!a !b 00 0 非0 非0 0 非0 非0
a||b 非0 非0 非0
0
a&&b 非0
0 0 0
13
思考
假设x=3,求下列表达式完成运算后,变 量x的值为多少
– 0 && (x = x + 1) && b
只有必须执行下一个表达式才能求出整个 逻辑表达式值时,才执行下一个运算
整型量的低八位中,高八位为与原来的符号位 相同。
–整型赋予字符型,只把低八位赋予字符变量
2020/5/21
6
常量的表示方法
宏定义 – #define PI 3.14159 – 宏名一般大写 – 宏替换是机械替换,不做语法检查,不提倡用宏常量
使用const关键字 – const修饰的标识符是常量,其值存储在只读存储区 – 格式:const float pi = 3.1415926;
2020/5/21
17
问题的求解
#include <stdio.h>
int main()
{ int x; /*定义待判断的整数*/
printf("请输入一个整数:"); scanf("%d",&x);
if(x % 2) printf("x 是奇数!\n");
else printf("x 是偶数!\n");
利用分支结构判断其奇偶,最后输出
2020/5/21
16
利用if-else语句构建分支结构
分为if和if…else两种
if形式:
if(表达式) 语句;
if…else形式 if(表达式)
Y 条件 模块1 N
Y 条件 N
模块1
模块2
语句1; else
模块2
语句2;
根据表达式的值为0或非0决定程序执行流向
重庆邮电大学计算机科学与技术学院 李盘林
lipl@cqupt.edu.cn
回顾--格式输入函数
格式输入函数 –scanf(格式控制字符串, 地址表列);
scanf("%d,%f”, &a,&b);
2020/5/21
地址表列
2
scanf格式字符
d 以带符号十进制形式输入整型数据 o 以八进制无符号形式输入(无前导0) x 以十六进制无符号形式输入(无前导0x) c 以字符形式输入单个字符 s 输入字符串,以非空字符开始,遇第一个
else printf("%c是其他字符!\n",ch);
2020/5/21return 0;
21
பைடு நூலகம்
#include <stdio.h> #include <ctype.h> int main() {
char ch;
解法2
printf("请输入一个字符:"); scanf("%c",&ch); //或者ch = getchar();
return 0;
} 2020/5/21
18
练习2--判断字符的类型
从键盘上输入一个字符,判断它属于大写字 母、小写字母、空格、数字、还是其他字符 分析
–如何从键盘输入一个字符 –可以从大写、小写字母、数字的ASCII码值范围来
判断字符究竟是什么类型
2020/5/21
19
字符输入输出函数
字符输出函数 –putchar(ch) –输出一个字符ch
不要写依赖求值顺序的表达式
2020/5/21
5
关于复合赋值运算符:
– +=、-=、*=、/=、%=、<<=、>>=、&=、|=、
^=
关于不同数据类型数据间赋值
–实型赋予整型,舍去小数部分。
–整型赋予实型,数值不变,但将以浮点形式存
放, 增加小数部分(小数部分的值为0)。
–字符型赋予整型时,将字符的ASCII码值放到
if(isupper(ch))
printf("%c是大写字母!\n",ch);
else if(islower(ch))
printf("%c是小写字母!\n",ch);
2020/5/21
7
主要内容
关系运算符、逻辑运算符、条件运算符 分支结构的运用
2020/5/21
8
重点 & 难点
学会运用关系运算符和逻辑运算符 能够利用分支结构灵活解决实际问题
2020/5/21
9
关系运算符
2020/5/21
10
几点说明
关系运算符有6个,表中前4个运算符优先级高 于后两个 关系运算符优先级低于算术运算符 关系表达式的值用0表示关系不成立,非0表示 关系成立 关系表达式均为双目运算符
2020/5/21
11
判断m是否是奇数
– m % 2 == 1 –m % 2
判断a、b是否相等 – a == b
判断m、n之和是否大于等于0 – m + n >= 0 – (m + n) >= 0
判断k是否不为0 – k != 0
在C语言中表达式a>b>c的结果是什么???
2020/5/21
12
逻辑表达式
字符输入函数 –getchar() –无参数 –函数值为从输入设备接收的字符
2020/5/21
20
#include <stdio.h> void main() {
char ch;
解法1
printf("请输入一个字符:"); scanf(“%c”,&ch); //或者ch = getchar();
if(ch >= 'A' && ch <= 'Z') printf("%c是大写字母!\n",ch);
空白字符结束 f 以小数形式输入浮点数 e 以标准指数形式输入
2020/5/21
3
2020/5/21
4
赋值运算符
格式: –变量名 = 表达式;
赋值运算符左操作数必须是占有存储空间的量
赋值是由方向的,满足右结合性,与其他双目 运算符不同
赋值运算符优先级低于算术、关系、逻辑运算 符
赋值表达式的值被规定为运算完成后左操作数 的值
判断某年是否为闰年:
– (!(year % 4) && (year % 100)) || ! (year
% 400 )
2020/5/21
14
算法的流程图表示
2020/5/21
15
练习1--判断整数的正负和奇偶
从键盘上键入1个整数,判断该数的奇偶 分析
–如何表示数的奇偶? –程序的基本思路是定义整数x,并从键盘接收其值,