第2章 简单程序设计之一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2017年7月18日
C语言程序设计
——基础篇
基本的算术运算符
运算符 + * / % 名称 加法运算符 减法运算符 乘法运算符 除法运算符 模运算符 举例 a+3 c-4 a*3 c/d e%4 说明 加法 减法 乘法 除法 求余数、取模
2017年7月18日
C语言程序设计
——基础篇
算术表达式和运算符的优先级与结合性
2017年7月18日
C语言程序设计
——基础篇
#include <stdio.h> void main() { int a,b,t; printf("Enter a and b:\n"); scanf("%d %d",&a,&b); /*输入两个整型变量a和b*/ printf("a=%d,b=%d\n",a,b); /* 输出a和b的值 */ t=a; /* 交换a和b的值 */ a=b; b=t; printf("a=%d,b=%d\n",a,b); /* 输出a和b的值 */ }
difference=a-b;
product=a*b; quotient=a/b;
remainder=a%b;
2017年7月18日
C语言程序设计
#include "stdio.h" void main() { int a,b,sum, difference,product, quotient, remainder; printf("请输入a和b的值:"); scanf("%d%d",&a,&b); sum=a+b; difference=a-b; product=a*b; quotient=a/b; remainder=a%b; printf("和=%d,差=%d,积=%d,商=%d,余数 =%d\n",sum,difference,product,quotient,rem ainder); }
例: a b / c – 1 + a – d e;
2017年7月18日
C语言程序设计
——基础篇
两点说明
1. 两个整数相除,结果也为整数

直接舍去商的小数部分,而不会“四舍五入” 如果需要得到精确的运算结果,可以把其中 一个操作数转换为浮点数。 举例:5/3(=1)、5.0/3(=1.66666…) 举例:5%3(=2)
——基础篇
复杂条件下的if条件结构 【例2.4】从键盘输入一个年份,判断是否闰年。
什么是闰年?
闰年是指能被4整除而不能被100整除,或 能被400整除的年份。 复合条件可表示为:
(year%4==0)&&(year%100!=0)||(year%400==0)
2017年7月18日
C语言程序设计
——基础篇
——基础篇
课堂练习4: 若x=3,y=7求逻辑表达式!(1<x)||2<9-y的值. ① 括号()优先级最高,先计算1<x,值:1; ② !优先级高于其它算符,计算!①,值:0 ③ -优先级高于其余算符,计算9-y,值:2 ④ <运算优先级高于逻辑或||,计算2<③,值:0 ⑤ ||最后运算,②||④,值:0 所以,表达式!(1<x)||2<9-y的值是0。
2017年7月18日
C语言程序设计
——基础篇
逻辑运算符特点
在逻辑表达式的求解中,并不是所有的逻辑运算符都 被执行,只是在必须执行下一个逻辑运算符才能求出 表达式的解时,才执行该运算符。例如: (1)a && b && c 求解方法:只有a为真(非0),才需要判断b的值, 只有a和b都为真,才需要判断c的值。只要a为假,就 不必判断b和c,运算立即中止。 例如: 若 a=0; b=1; c=2; 执行 d=a++&&b++&&- -c;之后,a,b,c,d的值各是什么 ? 运算结果: d=0,a=1,b=1,c=2
2. 模运算符的两个操作数都必须是整数
2017年7月18日
C语言程序设计
——基础篇
【例2.1】由键盘输入两个整数给变量a和b,输 出a和b的和差积商及余数。 定义变量:
int a,b; int sum, difference,product, quotient, remainder;
算法:
sum=a+b;
2017年7月18日
C语言程序设计
——基础篇
C语言程序的控制结构

顺序结构 选择结构 循环结构
2017年7月18日
C语言程序设计
——基础篇
源自文库
2.1
顺序结构程序设计
顺序结构程序设计就是根据问题要求设计 的程序,其执行过程是按程序书写的顺序,从 上到下,逐条语句顺序地执行,没有跳转,一 直到最后一条语句,程序才算执行完毕,退出 程序。


表达式是由常量、变量、函数和运算符 组合起来的式子。 如:

a+b (a * 2) / c (x + r) * 8 - (a + b) / 7
2017年7月18日
C语言程序设计
——基础篇
运算符的优先级和结合性



优先级 (从高到低) ① () ② */% ③ + (加) – (减) 结合方向 ① + (加) – (减) * / %:从左向右 若在运算量两侧的运算符有相同的优先级,则按它 们的结合方向顺序处理。
——基础篇
第二种形式为: if-else
if(表达式) 语句1; else 语句2; 其语义是: 如果表达式的值为真,则执行语句1, 否则执行语句2 。 其执行过程可表示为下图。
2017年7月18日
C语言程序设计
——基础篇
【例】用if-else语句改写例2.3
#include <stdio.h> 运行结果为: int main() Input two numbers: 5 12 { max=12 int a, b; printf("Input two numbers: "); scanf("%d%d", &a, &b); if(a>b) printf("max=%d\n", a); else printf("max=%d\n", b); return(0); } 2017年7月18日 C语言程序设计
2017年7月18日
——基础篇
C语言程序设计
——基础篇 【例 2.2 】由键盘输入两个整数给变量 a 和 b,然后输 出 a 和 b。在交换 a 和 b 的值后,再输出 a 和 b,验证两个 变量中的数值是否正确地进行了交换。 问题分4个步骤来处理: (1)输入两个整数给变量a和b; (2)输出a和b的值; (3)交换a和b的值; (4)输出a和b的值。
C语言程序设计
2017年7月18日
——基础篇
关系运算符的优先次序

关系运算符优先级低于算术运算符。


c>a+b c > (a+b) a+b==2*c (a+b) == (2*c)
2017年7月18日
C语言程序设计
——基础篇
关系表达式

关系表达式: 用关系运算符将两个表达式连接 起来的式子。
2017年7月18日
C语言程序设计
——基础篇
(2)a || b || c
求解方法:只要a为真(非0),就不必判断b和c; 只有a 为假,才判断b;a和b都为假,才判断c。 例如: 若 a=0; b=1; c=2; 执行 d=a++||b++||- -c; 后a,b,c,d的值各是什么? 运算结果: d=1,a=1,b=2,c=2
if (表达式) 语句 其语义是: 如果表达式的值为真,则 执行其后的语句,否则不 执行该语句。其过程可表 示为右图。
2017年7月18日
C语言程序设计
——基础篇
【例2.3】由键盘输入两个不同的整数给变量a和 b,然后输出a和b中较大的数。
#include <stdio.h> 运行结果为: int main() Input two numbers: 5 12 { max=12 int a,b,max; printf("Input two numbers: "); scanf("%d%d", &a, &b); max=a; if (max<b) max=b; printf("max=%d\n", max); return(0); 2017} 年7月18日 C语言程序设计
2017年7月18日
C语言程序设计
——基础篇
2.2.3 if分支结构
用if语句可以构成分支结构。它根据给定的条件 进行判断,以决定执行某个分支程序段。 if语句有三种基本形式: if if-else if-else-if
2017年7月18日
C语言程序设计
——基础篇
第一种形式为基本形式,形式为:
2017年7月18日
C语言程序设计
——基础篇
设a=5、b=3、c=2、d=1、x=1、y=1,求表达式 (x=a<b)&&(y=c<d)的值及变量x和y的值。
分析:求表达式(x=a<b)&&(y=c<d)的值,首先计算 表达式(x=a<b)的值,因为a<b为假,变量x的值为0,表 达式(x=a<b)的值为假。对于运算符&&,当其左边的运算 对象为0时,右边的表达式(y=c<d)不被执行,所示整个 表达式的值为0,y的值不变。
void main() { int year; printf("请输入年份:"); scanf("%d",&year);
if((year%4==0)&&(year%100!=0)||(y ear%400==0)) printf("%d年是闰年\n",year); else printf("%d年不是闰年\n",year); }
C语言程序设计
2017年7月18日
——基础篇
C语言提供了六种关系运算符 1. 2. 3. 4. 5. 6. <: <=: >: >=: ==: !=: 小于 , 5<3, 3<5 小于等于,5<=3, 3<=5 大于, 5>3, 3>5 大于等于,5 >=3, 3 >=5 等于, 5==3 不等于, 5!=3
C语言程序设计
——基础篇
逻辑表达式
用逻辑运算符将表达式连接起来的式子。其值是一 个逻辑量“真”或“假”。 优先级 !(非) 算术运算符 关系运算符 &&和 || 赋值运算符 !:自右向左 &&、||:自左向右 高

结合性
注意:逻辑表达式的C语言编译系统在给出逻辑结果时,
以数值1代表“真”,以0代表“假”;但是在判断一个 量是否为“真”时,以非0代表“真”,以0代表“假”。 2017年7月18日 C语言程序设计
2017年7月18日
C
语言程序设计 —基础篇
简单程序设计之一
第 2 章
——基础篇
内容概述
运算符和表达式 顺序结构程序设计 选择结构程序设计 简单循环结构程序设计
2017年7月18日
C语言程序设计
——基础篇
教学目标
掌握常量与变量的定义和使用方法; 学会三种结构的简单程序设计;
从整体上把握和了解C程序的基本结构,对 C语言程序开发设计有初步的感性认识。
2017年7月18日
C语言程序设计
——基础篇
2.2 选择结构程序设计 2.2.1关系运算符和关系表达式

关系运算:比较运算,比较两个操作数, 看是否满足给定的关系。


如: a>3 为一比较运算, 若a=5,a>3 成立,结果为“真”; 否则,若a=1,a>3 不成立,结果为假。 在C语言中,用非零值表示真,零表示假。 表达式: a>3 称为关系表达式。

如: a>b a+b>b+c 1表示结果为真,也就是关系成立。 0表示结果为假,也就是关系不成立。

关系表达式的值为1或0

2017年7月18日
C语言程序设计
——基础篇
例 关系运算符
#include <stdio.h> 运行结果为: int main() a>b: 1 { a+b>b+c : 1 int a, b, c; (a>b)>(b<c) : 0 a = 5; b = 3; c = 4; printf("a>b: %d\n", a>b); printf("a+b>b+c : %d\n", a+b>b+c); printf("(a>b)>(b<c) : %d\n", (a>b)>(b<c)); return(0); }
2017年7月18日
C语言程序设计
——基础篇
2.2.2 逻辑运算符和逻辑表达式
逻辑运算符
!:逻辑非,一元运算符 运算规则:取反,真 假,假 真
&&:逻辑与 。又称逻辑乘。 运算规则:两个操作数均为真,结果为真。 ||:逻辑或 。又称逻辑加。 运算规则:只要两个操作数有一个为真,结果为真。
2017年7月18日
相关文档
最新文档