C语言程序设计第三章
C语言程序设计 第3版 第3章 算法与流程图
输入/输出框
处理框
流程图表示法一般包括三部分:
(1)表示相应操作的框; (2)带箭头的流程线; (3)框内外符
C语言程序设计
2. 流程图
符号表示 简单实例
用流程图表示下面的分段函数。
2x 1 y 0
3x 1
x0 x0 x0
C语言程序设计
3. 程序设计结构
顺序结构 选择结构 循环结构
(4)有零或多个输入:根据算法的不同,有的在实现过程中需要输入一些原始数据,而有 些算法可能不需要输入原始数据;
(5)有一个或多个输出:设计算法的最终目的是为了解决问题,为此,每个算法至少应有 一个输出结果,来反应问题的最终结果。
C语言程序设计
2. 流程图
符号表示 简单实例
流程图常用的符号:
起止框
顺序结构 选择结构 循环结构
循环结构流程图:
某学生在操场上跑步,一共要跑四圈,每一圈 都要跨过障碍,请画出该算法的流程图。
不成立 条件? 成立
A
圈数≤4? 成立
跨障碍
不成立
执行过程:
先判断条件,如果条件成立,执行A,再循环判断条件, 否则,跳出循环。
C语言程序设计
谢谢
C语言程序设计
第3章 算法与流程图
提纲
1.算法定义及特征 2. 流程图表示法 3. 程序设计结构
1. 算法
算法定义 算法特征
定义:
现实生活中解决问题时,一般都要制订一个针对具体问题的步骤和方法,以此为据去实现目标。 将为了解决问题所制订的步骤、方法称为算法(Algorithm)。
计算下面的分段函数。
特征:
(1)有穷性:算法中所包含的步骤必须是有限的,不能无穷无止,应该在一个人所能接受 的合理时间段内产生结果;
c语言程序设计第五版谭浩强习题答案第三章课后答案
c语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的C程序设计 ----顺序程序设计1、假如我国国民⽣产总值的年增长率为7%,计算10年后我国国民⽣产总值与现在相⽐增长多少百分⽐。
计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相⽐的倍数。
题⽬解析:此题的关键主要是利⽤数学库math中pow函数进⾏计算,若不熟悉可以查阅帮助⽂档,查看pow函数的⽤法。
代码⽰例:#include<stdio.h>#include <math.h>int main(){Cfloat p, r, n;r = 0.07;n = 10;p = pow(1 + r, n);printf("p=%f\n", p);return 0;}运⾏结果:2、存款利息的计算。
有1000元,想存5年,可按以下5种办法存:(1)⼀次存5年期(2)先存2年期,到期后将本息再存3年期(3)先存3年期,到期后将本息再存2年期(4)存1年期,到期后将本息再存1年期,连续存5次(5)存活期存款,活期利息每⼀季度结算⼀次2017年银⾏存款利息如下:1年期定期存款利息为1.5%;2年期定期存款利息为2.1%;3年期定期存款利息为2.75%;5年期定期存款利息为3%;活期存款利息为0.35%(活期存款每⼀-季度结算⼀-次利息)如果r为年利率,n为存款年数,则计算本息的公式如下:1年期本息和: P= 1000* (1+r);n年期本息和: P= 1000* (1+n* r);存n次1年期的本息和: $P=1000* (1+r)^n$;活期存款本息和: P= 1000 *(1+$\frac{r}{4}$)$^{4n}$;说明: 1000*(1+$\frac{r}{4}$)是⼀个季度的本息和。
题⽬解析:理解题意很关键,其次就是利⽤数学库math中pow函数进⾏幂次⽅计算代码⽰例:#include<stdio.h>#include <math.h>int main(){float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5;p = 1000;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5); // ⼀次存5年期p2 = p*(1 + 2 * r2)*(1 + 3 * r3); // 先存2年期,到期后将本息再存3年期p3 = p*(1 + 3 * r3)*(1 + 2 * r2); // 先存3年期,到期后将本息再存2年期p4 = p*pow(1 + r1, 5); // 存1年期,到期后将本息存再存1年期,连续存5次p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。
编程语言基础-C语言 第3章 分支程序设计
③ 假设A和B是两个表达式,下面对逻辑运 算进行说明。 1) A && B 若A、B均为真, 则“A && B”值为真,否则为 假。 2) A || B 若A、B均为假, 则“A || B值”为假,否则为真。 3) ! A 若A为真, 则 “!A”为假;否则为真。
看下面的例子:
1.
( 3 < 2 ) && ( 7 > 5 ) 值:0 只有 && 右面的子表达式为真 ( 3 < 2 ) || ( 7 > 5 ) 值:1 只要求有一个子表达式为真 !(3<2) 子表达式为假。 值:1
运行结果: 1. 请输入一个正 整数:36↙ Yes! 2. 请输入一个正 整数:15↙ No!
3.2.3 if语句的嵌套
一般形式是: if(表达式1) 语句1; else if(表达式2) 语句2; else if (表达式3) 语句3; else 语句4;
执行过程如图3-4所示。
表达式 1 假 表达式 2 假
}
3.4 分支程序设计应用实例
例3-7: 从键盘输入二个整数,输出其中最大者。 main( ) { int a, b, max; printf("请输入二个整数:"); scanf("%d %d", &a, &b ); if ( a > b ) max = a; else max = b; printf("二者中最大值为:%d", max ); getch( ); 运行结果: } 17 31↙ 二者中最大值为:31
第3章 分支程序设计
3.1 关系表达式和逻辑表达式
c语言程序设计第三章运算符与表达式
第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。
用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。
另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。
根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。
(2) 双目(二元)运算符:带有两个操作数的运算符。
(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。
C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。
(2) 带有运算符的表达式。
(3) 函数调用。
任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。
所以运算对象、运算符和运算结果是运算的三大要素。
3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。
2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。
简单算术表达式的基本形式:data1 op data2。
data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。
假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。
3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。
当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。
例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。
C语言程序设计第3章选择结构程序设计
√
!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件
√
程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;
c语言程序设计,(控制语句)
3第三章控制语句第三章控制语句3.1程序的基本结构程序的基本结构有三种:顺序结构、分支结构、循环结构前面的例子都是顺序结构,大量的实际问题需要通过各种控制流程来解决。
分支和循环结构的控制语句有:条件语句:if语句开关语句:switch语句循环语句:for语句、while语句、do while语句转移语句:break、continue、goto语句•简单语句:均是以“;”结尾的语句。
z=x+y;c=getchar();•复合语句:复合语句是用花招号“{ }”把“说明”和若干个有序的简单语句组合在一起而构成的语句集合。
其一般形式是:{<内部数据说明><语句表>}•复合语句实例:{int i,j,k;i=i+1;j=j*2;i=k<<j;}•空语句:空语句的含义是什么动作都不执行,语句本身仅有一个分号。
while (putchar(getchar())!='\0'); 空语句选择结构(分支结构)◆“选择结构”也可以叫做“分支结构”。
在一个合理的“选择结构”中,总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。
◆要想实现“选择结构”,需要2个条件:①能表达条件判断的运算符;②能实现判断并选择的控制语句。
A B?Yes No ab3.3 if 语句if 语句的三种形式 if 语句的嵌套if 语句◆if 语句是一种选择控制语句,而且是条件分支控制语句,即总是先进行一个条件的判断,然后根据判断的结果(成立或不成立)选择执行预先设定的操作。
◆if 语句中的条件判断都是用一个表达式来表示的。
在执行if语句时,会求解这个表达式的逻辑值,因为这个表达式的逻辑值代表了判断的结果:值为“T”,判断成立,值为“F”,判断不成立。
因此,if 语句根据判断的结果(成立或不成立)选择执行预先设定的操作,实际上是根据条件判断表达式的逻辑值是“真”是“假”来选择的。
C语言程序设计第3章 选择结构流程和应用
2 单分支和双分支选择结构程序设计
简单if语句 if-else语句 条件运算符与条件表达式
简单if语句
学一学 简单if语句的形式为: if ( 条件表达式 ) 语句
其流程图如图3-1所示。语句的执 行过程是先计算“条件表达式”, 若值为“真”,则执行“语句”; 否则什么也不做。此处的“语句” 可以是简单语句,也可以是用一对 大括号“{ }”括起来的复合语句。
本章内容中我们将学习 1 选择结构判定条件的构成 2 单分支与双分支选择结构程序设计 3 多分支选择结构程序设计
1 选择结构判定条件的构成
关系运算符与关系表达式 逻辑运算符与逻辑表达式
关系运算符
关系运算是对两个操作数之间进行比较的运算符,其 运算结果为逻辑值(或称“布尔”值,boolean) “真”或“假”。 C语言中提供六种关系运算符,如 表3-1所示。
条件
Y
N
语句
试一试
问题3.4 从键盘输入一个数,输出其绝对值。 解题步骤 1.定义变量二个int变量iX,iY,其中iX用来接收 用户从键盘输入的数据,iY用来存放iX的绝对值。 2.从键盘输入一个整数放iX; 3.把iX放iY; 4.正数的绝对值是正数本身,负数的绝对值是其 相反数。所以,如果iX<0,则iY= -iX,否则不 需要做什么; 5.输出iX和iY。
练一练
问题:小明去参加一个同学的生日聚会, 同学的家长规定18岁以上的才可以饮酒, 所以需要编一程序根据输入的年龄打印一 张饮酒卷,使的能饮酒的同学可以获取饮 酒卷。
if-else语句
学一学 if-else语句是标准的if语句。 用来实现双分支选择结构, 其一般形式为: if ( 条件 ) 语句1; else 语句2;
c语言程序设计第三章答案
c语言程序设计第三章答案第三章:运算符与表达式一、算术运算符在C语言中,算术运算符用于在表达式中执行各种数学运算。
常见的算术运算符有加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)等。
1. 加法运算符(+)加法运算符用于将两个操作数相加,并返回它们的和。
例如,表达式a + b将返回a和b的和。
2. 减法运算符(-)减法运算符用于从第一个操作数中减去第二个操作数,并返回它们的差。
例如,表达式a - b将返回a和b的差。
3. 乘法运算符(*)乘法运算符用于将两个操作数相乘,并返回它们的积。
例如,表达式a * b将返回a和b的积。
4. 除法运算符(/)除法运算符用于将第一个操作数除以第二个操作数,并返回它们的商。
例如,表达式a / b将返回a除以b的商。
二、关系运算符关系运算符用于比较两个操作数并返回一个布尔值(真或假)。
常见的关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。
1. 大于运算符(>)大于运算符用于检查第一个操作数是否大于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a > b将返回真或假。
2. 小于运算符(<)小于运算符用于检查第一个操作数是否小于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a < b将返回真或假。
3. 大于等于运算符(>=)大于等于运算符用于检查第一个操作数是否大于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a >= b 将返回真或假。
4. 小于等于运算符(<=)小于等于运算符用于检查第一个操作数是否小于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a <= b 将返回真或假。
5. 等于运算符(==)等于运算符用于检查两个操作数是否相等。
《C语言程序设计》 课后习题答案 高等教育出版社
《C语言程序设计》课后习题答案高等教育出版社《C语言程序设计》课后习题答案高等教育出版社第一章:C语言概述1. C语言的特点C语言是一种以处理底层任务和系统编程为目标的高级编程语言。
其特点包括语法简洁、执行效率高、可移植性强等。
第二章:C语言基本数据类型1. C语言中的基本数据类型C语言中的基本数据类型包括整型、字符型、浮点型等。
整型可以进一步细分为有符号整型和无符号整型。
第三章:C语言运算符1. C语言中的运算符C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。
这些运算符用于执行各种数学和逻辑操作。
第四章:C语言控制语句1. C语言中的条件语句C语言提供了if语句和switch语句来实现条件判断。
if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。
第五章:C语言函数1. C语言中的函数定义和调用函数是C语言中的基本模块,用于封装可重用的代码。
函数定义包括函数返回类型、函数名、参数列表和函数体等部分。
第六章:C语言数组1. C语言中的数组定义和使用数组是一组相同类型的数据元素的集合。
C语言中可以使用数组来存储和操作大量数据。
第七章:C语言指针1. C语言中的指针概念指针是一种变量,它存储了内存地址。
通过指针,可以直接访问和修改对应内存地址中的数据。
第八章:C语言字符串1. C语言中的字符串操作字符串是由一系列字符组成的数据类型。
C语言通过字符数组来表示和操作字符串。
第九章:C语言结构体1. C语言中的结构体定义和使用结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。
第十章:C语言文件操作1. C语言中的文件读写操作文件操作是一种重要的数据输入和输出方式。
C语言提供了一系列函数来实现文件的读写操作。
总结:通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。
希望本文对读者有所帮助。
C语言程序设计第3章 顺序结构编程2018版
类型 变量长度(单位:字节) 数值范围
short int
2
-215 ~ 215-1
4
-23311 ~ 23311-1
long
unsigned short
unsigned int
unsigned long
4
-231 ~ 231-1
2
0 ~ 216-1
4
0 ~ 232-1
4
0 ~ 232-1
➢ 整型常量三种形式
例:total = money*num; int money=10, num=10;
注:int money=num=10;
3.2.3 赋值语句
➢ 复合赋值运算符 a += b 等价于 a = a + b a -= b 等价于 a = a – b a *= b 等价于 a = a * b a /= b 等价于 a = a / b a %= b 等价于 a = a % b
案例二:共享单车费用程序运行结果
案例三:孩子身高预测
问题描述:孩子的身高可以利用遗传因素 即利用父母的身高进行预测。女儿身高计 算公式为:女儿成人时的身高=(父高× 0.96 + 母高)÷2 (注:此方法未考虑环 境因素的影响)。
《C语言程序设计》教案第三章程序的控制结构—循环结构while和dowhile
《C语言程序设计》课程教案表算法2:分析:设想用sum作为累加器,初值为0,利用sum+=i(i依次取值为1、2。
100)此分析需要解决的3个问题:1)sum=0,i=1;2)每执行一次sum+=i 后,i增1(i=i+1);3)判断如果i小于或等于100,重新执行步骤(2),否则停止计算main(){int i,s=0;i=1;while(i<=100)/*i<=100为循环条件*/{s=s+i;i++; /*改变i的值*/}printf(″s=%d″,s);}运行结果:s=5050说明:循环结构的三个术语:1、循环条件:循环结构中的条件表达式如while (i<=100)其中,i<100就是循环条件。
2、循环体:在每个循环周期均要执行一次的语句序列。
如while下用{ }括起来的语句序列。
3、循环控制变量:能够决定控制条件是真是假的量。
如while(i<=100)中的变量i要写出一个正确的循环结构,对控制变量要做三方面的工作:1、对循环控制变量赋初值。
2、将循环控制变量写入正确的控制条件。
3、对循环控制变量值的更新。
使用while语句需要注意以下几点:while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。
因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。
当循环体为多个语句组成,必须用{}括起来,形成复合语句。
在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。
下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,gotowhile(s<=10){s=s+i*i;i++;}printf(“%d”,--i);}A) 4 B) 3 C) 5 D) 6对以下程序段,描述正确的是________________。
int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);A) 运行程序段后输出0 B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次下面程序段的运行结果是[ ]。
C语言程序设计第三章 (2)
举例 int a=10; short b=100 int short b=100; unsigned int short b=100; long d=212365; int long d=212365; unsigned int long d=212365;
练习题
练习
• char c; 等价 • c=65; 是否等价于c= 'A' • printf(“%d %c”,c,c);输入的结果是多少呢?
65 A
注意:
• • • • • int a; char b; a=65; b=‘A’; 不等价,所占内存空间不同。 问变量a 的值和变量b的值是否等价。
练习题
price ?abc int name float name age 8ab year a%d 以上哪些是正确的标识符,哪些不是?
price name age year a b 都是 正确的标识符 ?abc int float 8ab a%d 不能是 标识符
练习题
下列选项中,不能用作标识符的是( )
设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数
A)(a+b)*h/2
ab 式_______________ h 2
计算结果不相符的是( ) B)(1/2)*(a+b)*h
B
C)(a+b)*h*1/2 D)h/2*(a+b)
2014-3-16
自加、自减运算符P53 自加运算(i++, ++i) 相同点:++i 和 i++的作用都等同于i=i+1 不同点:++i是先给i=i+1,然后再引用i的值。 i++是先引用i的值,然后i=i+1 自减运算(i- -, - -i) 相同点:- -i 和 i- -的作用都等同于i=i-1 不同点:- -i是先给i=i-1,然后再引用i的值。 i--是先引用i的值,然后i=i-1
C语言 第3章 最简单的C程序设计
3.2.3 整型数据
1. 整型数据的分类 2. 整型变量的符号属性
整型变量的值的范围包括负数到正数 可以将变量定义为“无符号”类型 扩充的整形类型:
3.2.3 整型数据
扩充的整型类型:
➢ 有符号基本整型 [signed] int; ➢ 无符号基本整型 unsigned int; ➢ 有符号短整型 [signed] short [int]; ➢ 无符号短整型 unsigned short [int]; ➢ 有符号长整型 [signed] long [int]; ➢ 无符号长整型 unsigned long [int] ➢ 有符号双长整型 [signed] long long [int]; ➢ 无符号双长整型 unsigned long long [int]
3.2.2 数据类型
C语言允许使用的数据类型:
➢基本类型 ➢枚举类型
算术类型
➢空类型 ➢派生类型
纯量类型
指针类型
数组类型
结构体类型
共用体类型
函数类型
3.2.3 整型数据
1. 整型数据的分类 ➢最基本的整型类型
基本整型(int型):占2个或4个字节 短整型(short int):VC++6.0中占2个字节 长整型(long int):VC++6.0中占4个字节 双长整型(long long int):C99新增的
area s(s a)(s b)(s c)
其中s=(a+b+c)/2
编译系统为float型变量分配4个字节 数值以规范化的二进制数指数形式存放
参见主教材图3.11
3.2.5 浮点型数据
浮点型数据是用来表示具有小数点的实数 ➢float型(单精度浮点型) ➢double型(双精度浮点型)
《C语言程序设计》课后习题答案(第四版)
《C语言程序设计》课后习题答案(第四版) C语言程序设计课后习题答案(第四版)1. 基础知识概述C语言程序设计是一门广泛应用于软件开发领域的编程语言。
它以其简洁、高效以及可移植性而备受推崇。
本文将为读者提供《C语言程序设计》(第四版)课后习题的详细解答,帮助读者加深对C语言的理解。
2. 第一章习题答案2.1 习题1题目:编写一个C语言程序,输出"Hello, World!"。
解答:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```2.2 习题2题目:编写一个C语言程序,接收用户输入的两个整数,并输出它们的和。
解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d", sum);return 0;}```3. 第二章习题答案3.1 习题1题目:编写一个C语言程序,接收用户输入的一个整数,并判断它是否为偶数。
解答:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("这个数是偶数");} else {printf("这个数不是偶数");}return 0;}```3.2 习题2题目:编写一个C语言程序,接收用户输入的一个字符,并判断它是否为字母。
C语言(第三章)(上)
• 早期 语言不提供专门的逻辑(布尔)类型,规定用非 值表示“真”,用0 早期C语言不提供专门的逻辑 布尔)类型,规定用非0值表示 语言不提供专门的逻辑( 值表示“ 值表示“ 值表示“假”。 • 表达式,只要值为非 (包括负数),就说明其为“真”;只要其值为 ,就 表达式,只要值为非0(包括负数),就说明其为“ ),就说明其为 只要其值为0, 说明其为“假”。从而给判断带来很大的灵活性。 说明其为“ 从而给判断带来很大的灵活性。 • 在C99中,增加了_Bool类型,并增加了头文件<stdbool.h>,在其中定义了 中 增加了 类型,并增加了头文件 , 类型 存储1, 存储0。 宏bool、true和false,用true存储 ,用false存储 。 、 和 , 存储 存储
注意: 注意:
•
中是允许的。 (1)表达式 >2>7>8在C中是允许的。 )表达式5> > > 在 中是允许的 整个关系表达式的值为多少?? 整个关系表达式的值为多少?? (2)关系表达式的值是整型数 或1,可以看成是一种整型表 )关系表达式的值是整型数0或 , 达式。 达式。 若有: 如,若有: int i=1, j=7,a; a=i+(j%4!=0); 则a的值为?? 的值为?? 的值为 值参与运算: (3)字符在关系表达式中出现按照其 )字符在关系表达式中出现按照其ASCII值参与运算: 值参与运算 的值分别为?? 如:‘a’>’A’ ‘b’==‘B’-32的值分别为?? 的值分别为 不相等”的判别, (4)避免对两个实数表达式作“相等”或“不相等”的判别, )避免对两个实数表达式作“相等” 考虑用其差绝对值之差小于一个很小的值的形式: 考虑用其差绝对值之差小于一个很小的值的形式: 如: fabs (1.0/3.0* 3.0-1.0)<1e-5 < 在区间[ ] 使用a< (5)表示 在区间[a,b]中,使用 <=x && x<=b )表示x在区间 < 例如: 例如: -10<=x && x<=10 < < 若使用: 若使用:-10≤x≤10。 。 若x=10,结果为?? ,结果为?? 若x=100,结果为?? ,结果为?? 若x=-100,结果为?? ,结果为??
C语言程序设计 第3章 选择结构 -
如果条件满足了,就执行{}里的语句, 如果条件不满足,直接越过{}里的语句。
3.2 关系运算符与关系表达式
关系运算符
< (小于) <= (小于或等于) > (大于) >= (大于或等于) == (等于) != (不等于)
3.2 关系运算符与关系表达式
关系表达式: 用关系运算符将两个表达式连接起来的式子
case 常量表达式2:语句2; ... default:语句n+’键向上运动,‘s’键向下运动, ‘a’键向左运动,‘d’键向右运动。
char ch = getch(); // 获得按键按下的值
switch(ch){ case 'w' : row = row - 1; case 's': row = row + 1; case 'a' : col = col - 1;
a > 60 x == 1 关系表达式的值是一个逻辑值,即“真”或“假”。
3.2 关系运算符与关系表达式
C语言中, 1表示“真”,0 表示“假”
例: 5 > 3 为真,值为1。 2 == 3 为假,值为0。 (2 > 3) == (3 > 5) 为真,值为1,
3.2 关系运算符与关系表达式
例:当按下‘w’键,方块向上运动
3.3 逻辑运算符与表达式
逻辑运算符
&& (逻辑与) || (逻辑或) ! (逻辑非) 运算规则: a&&b 若a,b为真,则a&&b为真。 a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。
3.3 逻辑运算符与表达式
逻辑表达式: 用逻辑运算符将关系表达式连接起来的 式子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.3 数据的输入和输出
putchar(c); /*在屏幕上显示字符变量c的值*/ } 运行结果为:输入 :A↙ 显示: A 注意: (1)getchar()函数只能接受单个字符。输入一个字符后,需 再输 入一个终止符(回车)。输入整型数字(范围在0-255)也按 字符处理。输入多于一个字符时,只接收第一个字符。 (2)在TC屏幕下运行含有本函数程序时,将退出TC屏幕, 进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。
第3 章
顺序结构程序设计
本章要点: ■ getchar函数和putchar函数的使用 ■ printf函数和scanf函数的使用 ■ 顺序结构程序设计
结构化程序设计的基本概念及C语句
3.1 结构化程序设计的基本概念及C语句
3.1.1 结构化程序设计与三种基本结构 结构化程序设计方法采用三种基本的程序控制结构来编制程 序:顺序结构、选择结构和循环结构,见图3-1。
3.3.1 字符数据的输入、输出函数 1.字符输出函数:putchar() 格式:putchar(c); 功能:向终端(一般为显示器)输出一个字符。 说明:c可以是字符型或整型变量,也可以是一个字符常量或整型常 量。
3.3 数据的输入和输出
【例3.1】用putchar()函数在屏幕上显示字符。 # include <stdio.h> main() { char a='B',b='o',c='k'; putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t'); putchar(a);putchar(b); putchar('\n'); putchar(b);putchar(c); } 输出结果为: Book Bo ok 其中 :putchar(‘\t’); /* 输出一个水平制表符,跳到下一 个tab位置。*/ putchar(‘\n’); /*输出一个换行符,跳到下一行开 头位置。*/
3.3.2 格式输入、输出函数 使用格式函数scanf()和printf()可以输入、输出任意类型的数据。
说明:因为printf()和scanf()函数使用频繁,系统允许在使用这 两个函数时,可以不加#include命令。
3.3 数据的输入和输出
1.格式输出函数:printf() 格式: printf (‚输出格式‛,输出表列); 功能: 按用户指定的格式,把指定的任意类型的数据显示到屏 幕上。 说明:输出格式由格式说明、按原样输出的字符、转义符三部 分组成。 ①格式说明:由‚%‛和格式字符组成,如%c和%f等,作用是 将要输出的数据转换为指定格式后输出。 ②原样输出:即普通字符在输出时原样照印,在显示中起提示 作用。 ③转义符为:\n 换行、\f 换页 或 \t光标移到下一个制表位 等。 1) 格式说明 对不同的数据类型用不同的格式字符。常用的格式字符如表入、输出语句,其操作是由函数来实现的。 在使用c语言库函数时,要用预编译命令‚#include‛,将有关的 ‚头文件‛包括到用户源文件中。 #include <stdio.h> ,尖括号表示从系统约定的路径开始查找 头文件; 或:#include ‛stdio.h‛ ,先从当前目录查找头文件,然后从系 统约定的路径查找。
结构化程序设计的基本概念及C语句
4、复合语句 把多个语句用括号‚{}‛括起来组成的一个语句块称复合语句。 例如: { x=y+z; a=b+c; printf(‚%d%d‛,x,a); } 注意: 在程序中应把复合语句看成是单条语句,而不是多条语句。 5、空语句 只有分号‚;‛组成的语句称为空语句。空语句是不执行任务的 语句。
3.3 数据的输入和输出
2.字符输入函数: getchar() 格式: getchar(); 功能: 从键盘上接收输入的一个字符。返回值为一个整数,即 输入字符的Asc码。 说明: 这是一个不带参数的函数,即圆括号中没有参数,但圆 括号不能省略。
【例3.2】从键盘输入一个字符,在屏幕上显示出来。 #include<stdio.h> main() { char c; c=getchar(); /*从键盘输入一个字符,送给字符变量 c*/
3.2 赋值语句
赋值语句是由赋值表达式再加上分号构成的表达式语句。 格式:变量=表达式; 赋值语句的功能和特点都与赋值表达式相同,它是程序中最常 用的语句。在赋值语句的使用中需要注意以下几点: (1)由于在赋值符“=”右边的表达式,也可以是一个赋值表式, 因此,下述形式: 变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开 之后的一般形式为: 变量=变量=...=表达式; 例如:a=b=c=d=e=5; 实际上等效于: e=5; d=e; c=d; b=c; a=b; (2)在变量说明中,不允许连续给多个变量赋初值。 例如:int a=b=c=5;是错误的。必须写为int a=5,b=5,c=5;。
语句1
条件
条件
…
语句n
(a)顺序结构
语句1
语句2
语句1
(b)选择结构
(c)循环结构
图3-1 结构化程序设计的3种基本控制结构
结构化程序设计的基本概念及C语句
1)顺序结构
顺序结构如图3-1(a)所示。
2)选择结构 选择结构如图3-1(b)所示。程序执行到选择结构时,先判断
条件,条件成立或不成立,两者只执行其一,执行结束后,控制
都转移到同一个出口, 3)循环结构
循环结构如图3-1(c)所示。程序执行到循环结构时,先判断条
件,根据判断结果决定是否重复执行语句1。
结构化程序设计的基本概念及C语句
3.1.2 C语言的基本语句 C语句可分为以下五类 1、表达式语句 表达式语句由表达式加上分号‚;‛组成。 例如:y+z是表达式,而y+z;是加法运算语句。 再如:i++;是自增1语句,而i++则是表达式。 2、函数调用语句 由一个函数调用加上分号‚;‛组成,其一般形式为: 函数名(实际参数表); 例如: printf("C Program"); /*调用库函数,把字符串C Program输出。*/ 3、控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式。