- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 程序的流程控制 —— 语句;学习目标;第二章 程序的流程控制;三种基本控制结构
顺序结构
分支结构
循环结构
复杂控制结构
控制结构可以嵌套,以构成更复杂的控制结构
;顺序结构
由一组顺序执行的处理块组成,每个处理块可能包含一条或一组语句,完成一项任务
顺序结构是最基本的算法结构;编写程序,接受用户输入的两个整数,输出其中较大者;格 式
表达式1 ? 表达式2 : 表达式3
计算过程
先计算表达式1的值,若为真,则结果为表达式2的值,否则为表达式3的值
示 例
x = ( a b ) ? a : b;
等价于:if( a b ) x = a; else x = b;;分支结构(选择结构)的含义
根据某一条件的判断结果,确定程序的流程,即选择哪一个程序分支中的处理块去执行
最基本的分支结构是二路分支结构
以条件判断为起点,如果判断结果为真,则执行A处理块的操作,否则执行B处理块的操作;循环结构的含义
根据某一条件的判断结果,反复执行某一处理块的过程
进入循环结构,判断循环条件,如果循环条件的结果为真,则执行A处理块的操作,即循环一次,然后再次判断循环条件,当循环条件为假时,循环结束;第二章 程序的流程控制;如何描述一个星期的每一天这样的数据?如果用int来描述,将会面临:
1表示什么意思?
星期天用什么整数表示?0还是7?
如果用0~6表示一个星期的每一天,则对于一个取值为一个星期某一天的int型变量day,如何防止下面的逻辑错误:
day = 10
day = day*2
在C语言中用枚举类型来解决上面的问题。;
枚举类型的定义格式为:
enum 枚举类型名 {枚举值表};
枚举值表为用逗号隔开的若干个枚举值。
例如:
enum Day {SUN,MON,TUE,WED,THU,FRI,SAT};
enum Color {RED,GREEN,BLUE};
enum Month {JAN,FEB,MAR,APR,MAY,JUN,JUL,
AUG,SEP,OCT,NOV,DEC};
;枚举类型变量的定义
例:enum MONTH month;
注意:enum不是类型修饰符,enum与所定义的枚举类型名一起才是类型修饰符(如enum Day) 。
实现布尔类型
定义类型:enum BOOL { FALSE, TRUE };
使用布尔类型定义变量:enum BOOL flag;
每次定义,都需要书写 enum,很不方便
;自定义类型的格式
格式:typedef 原类型修饰符 新类型名;
例一:typedef int DWORD;
例二:enum BOOL { FALSE, TRUE }; typedef enum BOOL BOOL;
自定义类型的性质
新类型与原类型相同,并未产生新类型,重新命名的自定义类型使程序更易理解;实现布尔类型:第一版
定义枚举类型:enum BOOL { FALSE, TRUE };
自定义布尔类型: typedef enum BOOL BOOL;
定义变量: BOOL bool;
实现布尔类型:第二版
定义枚举类型:enum __BOOL { FALSE, TRUE };
自定义布尔类型: typedef enum __BOOL BOOL;
定义变量: BOOL bool;
实现布尔类型:第三版
定义类型:typedef enum { FALSE, TRUE } BOOL;
定义变量: BOOL bool;
;关系操作符
(大于), (小于), =(不小于), =(不大于), ==(相等), !=(不等)
关系表达式
关系操作符与两个操作数构成的表达式
运算结果为逻辑值:真或假
逻辑值(布尔值)
C语言以 0 表示假,以非 0 表示真(经常以 1 表示)
尽量使用 BOOL 类型表示逻辑值!
示 例
例:x == y,a b
注意:应避免对两个浮点数进行“==”和“!=”比较运算
x == y 可写成:fabs(x-y)1e-6
x != y 可写成:fabs(x-y)1e-6
; 逻辑操作符
逻辑操作符实现逻辑运算,结果也为布尔类型的值:true或false。
!(逻辑非)、(逻辑与)、||(逻辑或) ;逻辑表达式:逻辑操作符与一个或两个操作数构成的表达式,结果仍为真或假。
关系操作符与逻辑操作符的优先级
从高到低顺序:逻辑非“!”;小于“”、不小于“=”、大于“”、不大于“=”(同级);等于“==”、不等于“!=”(同级);逻辑与“”;逻辑或“||”
复杂逻辑表达式
例:x y || a != b 3 = 2
;给定年份 year,判断是否为
文档评论(0)