《C程序设计课件第2章.ppt》由会员分享,可在线阅读,更多相关《C程序设计课件第2章.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 数据信息数据信息n n自然语言自然语言 字字 单词单词 句子句子语言语言n n计算机语言计算机语言 字符字符词法单位词法单位程序程序语言语言 词法词法 文法文法第二章第二章 数据信息数据信息n n基本符号基本符号n n数据数据n n混合运算混合运算n n关系运算关系运算字符集字符集n n任何计算机系统都使用一个可被本系统识任何计算机系统都使用一个可被本系统识别的字符集。别的字符集。n n该字符集包括了人们常用的该字符集包括了人们常用的字母字母字母字母数字数字数字数字诸如句号、逗号、括号之类的特殊字符诸如句号、逗号、括号之类的特殊字符诸如句号、逗号、括号之类的特殊字符诸如句号、逗号
2、、括号之类的特殊字符字符集字符集n nASCII(The American Standard Code for Information Interchange)(附录一)(附录一)可视字符可视字符可视字符可视字符 字母字母字母字母:az AZ:az AZ 数字数字数字数字:09:09 特殊字符特殊字符特殊字符特殊字符:+-*/%:+-*/%等等等等不可视字符不可视字符不可视字符不可视字符 文本控制符文本控制符文本控制符文本控制符 介质控制符介质控制符介质控制符介质控制符 等等等等等等等等n nC语言中使用的字符集只是语言中使用的字符集只是ASCII的一个子集的一个子集字母字母字母字母 A A
3、B B C C D D E E F F G G H H I I J J K K L L M M N N OO P P Q Q R R S S T T U U V V W W X X Y Y Z Z a a b b c c d d e e f f g g h h i i j j k k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z z数字数字数字数字 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9特殊字符特殊字符特殊字符特殊字符 !#%&*(_ _ )-+=|;:”,./?标识符标识符n n标识
4、符(标识符(identifier)用来表示程序中出现的任何对象,如:类型、用来表示程序中出现的任何对象,如:类型、变变 量、函数量、函数名字名字n n词法词法标识符标识符 非数字字符非数字字符 标识符非数字字符标识符非数字字符 标识符数字标识符数字 非数字字符非数字字符 字母字母 _n n例子例子Abc_34Abc_34 _age _agethe_totalthe_totalWG4WG42forthemoney 2forthemoney Case on handCase on handOver&underOver&undern nC标识符分成两大类标识符分成两大类标准标识符标准标识符标准标识符
5、标准标识符标准库中使用的标识符标准库中使用的标识符标准库中使用的标识符标准库中使用的标识符这些标识符的含义已经由这些标识符的含义已经由这些标识符的含义已经由这些标识符的含义已经由C C预先定义好了预先定义好了预先定义好了预先定义好了,也称也称也称也称预定义标识符预定义标识符预定义标识符预定义标识符。不允许程序员在程序中使用它们不允许程序员在程序中使用它们不允许程序员在程序中使用它们不允许程序员在程序中使用它们。用户自定义标识符用户自定义标识符用户自定义标识符用户自定义标识符用户依据需要给自己使用的类型、变量、函数用户依据需要给自己使用的类型、变量、函数用户依据需要给自己使用的类型、变量、函数用
6、户依据需要给自己使用的类型、变量、函数等对象起的名字,它类似于数学中的符号名。等对象起的名字,它类似于数学中的符号名。等对象起的名字,它类似于数学中的符号名。等对象起的名字,它类似于数学中的符号名。n n任何标识符只有声明后才有意义任何标识符只有声明后才有意义n nC规定不允许使用无定义的标识符规定不允许使用无定义的标识符n n因此程序中出现的一切标识符都必须给以因此程序中出现的一切标识符都必须给以声明,指出该标识符的具体意义。声明,指出该标识符的具体意义。n n所有标识符必须所有标识符必须先声明再使用先声明再使用保留字保留字保留字保留字保留字保留字 auto auto bool bool b
7、reak break casecase charchar _Complex _Complex const const continuecontinue default default restrict restrict do do double double else else enum enum extern extern float float for for gotogoto if if _Imaginary _Imaginary inline inline int int long long register register return return short short sig
8、ned signed sizeof sizeof static static structstruct switchswitch typedeftypedef union union unsigned unsigned void void volatile volatile whilewhilen n在使用自定义标识符时需要注意以下几点在使用自定义标识符时需要注意以下几点不能与保留字重名不能与保留字重名不能与保留字重名不能与保留字重名不能与标准标识符重名不能与标准标识符重名不能与标准标识符重名不能与标准标识符重名必须声明且必须必须声明且必须必须声明且必须必须声明且必须先声明后使用先声明后使用先
9、声明后使用先声明后使用不允许重复声明不允许重复声明不允许重复声明不允许重复声明拼写完全一致的两个标识符是相同的拼写完全一致的两个标识符是相同的拼写完全一致的两个标识符是相同的拼写完全一致的两个标识符是相同的字母是字母是字母是字母是区分大小写的区分大小写的区分大小写的区分大小写的尽量与它所代表对象的含义相符尽量与它所代表对象的含义相符尽量与它所代表对象的含义相符尽量与它所代表对象的含义相符分隔符分隔符分隔符分隔符#()|;:”,运算符运算符运算符运算符 !%&*-+=|./?+=-=*=/=%=&=|=-+-=|!=&|n n由两个字符组成的运算符中间不允许夹有任由两个字符组成的运算符中间不允许
10、夹有任何其它符号(包括空格)何其它符号(包括空格)=+&=&=+&=&=n n保留字、分隔符和运算符都是一些有特殊意保留字、分隔符和运算符都是一些有特殊意义的记号在义的记号在C程序中起关键字作用,定义程程序中起关键字作用,定义程序各部分及整个程序的含义序各部分及整个程序的含义n n“=”“=”表示赋值表示赋值表示赋值表示赋值X=2 X=2 表示为变量表示为变量表示为变量表示为变量X X赋值成整数赋值成整数赋值成整数赋值成整数2 2 n n“=”“=”表示判断是否相等表示判断是否相等表示判断是否相等表示判断是否相等x=y x=y 表示判断表示判断表示判断表示判断x x与与与与y y的值是否相等的
11、值是否相等的值是否相等的值是否相等;7=2 7=2 表示判断表示判断表示判断表示判断7 7与与与与2 2的值是否相等,结果为的值是否相等,结果为的值是否相等,结果为的值是否相等,结果为false;false;n n“/”“/”表示除法表示除法表示除法表示除法7/2 7/2 表示整数表示整数表示整数表示整数7 7除除除除2,2,结果为结果为结果为结果为3 3;7.0/2 7.0/2 表示浮点数表示浮点数表示浮点数表示浮点数7.0 7.0 除整数除整数除整数除整数2,2,结果为结果为结果为结果为3.5 3.5;n n“%”“%”是是是是整数整数整数整数求余求余求余求余(求模求模求模求模),7%2
12、7%2 表示求表示求表示求表示求7 7整除整除整除整除2 2后的余数后的余数后的余数后的余数,结果为结果为结果为结果为1 1;7.0%27.0%2n nfor for 表示循环语句的开始;表示循环语句的开始;表示循环语句的开始;表示循环语句的开始;n nint int 是整数类型说明符;是整数类型说明符;是整数类型说明符;是整数类型说明符;n n“”“”、“”“”分别表示复合语句的开始和结束。分别表示复合语句的开始和结束。分别表示复合语句的开始和结束。分别表示复合语句的开始和结束。常量常量n nC程序处理的数据程序处理的数据n n作为词法单位存在的作为词法单位存在的C常量是指字面常量。常量是指
13、字面常量。常量常量 整数类型常量整数类型常量 浮点类型常量浮点类型常量 字符类型常量字符类型常量 字符串类型常量字符串类型常量 n n每种常量都具有值和类型。每种常量都具有值和类型。n n整数类型常量整数类型常量一个数字序列一个数字序列一个数字序列一个数字序列可用十进制、八进制、十六进制表示可用十进制、八进制、十六进制表示可用十进制、八进制、十六进制表示可用十进制、八进制、十六进制表示 如果整数类型常量以如果整数类型常量以如果整数类型常量以如果整数类型常量以0 x 0 x 或或或或0X0X开头则是十六进制表示开头则是十六进制表示开头则是十六进制表示开头则是十六进制表示 如果整数类型常量以如果整
14、数类型常量以如果整数类型常量以如果整数类型常量以0 0开头则是八进制表示开头则是八进制表示开头则是八进制表示开头则是八进制表示 否则是十进制表示否则是十进制表示否则是十进制表示否则是十进制表示例子例子例子例子 17409 014 0 xC17409 014 0 xC或或或或0XC0XC 17,40917,409n浮点类型常量浮点类型常量带小数点带小数点带指数带指数同时包含两者同时包含两者n例子例子12.34 0.25 71.0 7777.8888n n浮点类型常量的两种形式浮点类型常量的两种形式定点表示法定点表示法定点表示法定点表示法数字序列,后跟一个小数点。数字序列,后跟一个小数点。数字序列
15、,后跟一个小数点。数字序列,后跟一个小数点。数字序列,前加一个小数点。数字序列,前加一个小数点。数字序列,前加一个小数点。数字序列,前加一个小数点。数字序列,后跟一个小数点,再跟一个数字序列数字序列,后跟一个小数点,再跟一个数字序列数字序列,后跟一个小数点,再跟一个数字序列数字序列,后跟一个小数点,再跟一个数字序列浮点表示法(指数表示法,科学表示法浮点表示法(指数表示法,科学表示法浮点表示法(指数表示法,科学表示法浮点表示法(指数表示法,科学表示法 )EEee对应的值:对应的值:对应的值:对应的值:10 10 n n合法的定点表示法的浮点数合法的定点表示法的浮点数合法的定点表示法的浮点数合法的
16、定点表示法的浮点数12.34 0.25 71.0 7777.12.34 0.25 71.0 7777.8888.8888n n非法的定点表示法的浮点数非法的定点表示法的浮点数非法的定点表示法的浮点数非法的定点表示法的浮点数 5,204.65 5,204.65 (不应有逗号)(不应有逗号)(不应有逗号)(不应有逗号)n n合法的浮点表示的浮点类型常量合法的浮点表示的浮点类型常量34.789E434.789E4表示表示表示表示 34.78910 34.789104 4.29e-5.29e-5 表示表示表示表示 0.29 10 0.29 10-5-5534E+5534E+5表示表示表示表示 534
17、10 534 105 54.7E-34.7E-3表示表示表示表示4.7 104.7 10-3-30.0E00.0E0表示表示表示表示0 100 100 0755.E4755.E4表示表示表示表示755 10755 104 4n n非法的浮点表示的浮点数非法的浮点表示的浮点数:E5 E5 (E E前无数字序列)前无数字序列)前无数字序列)前无数字序列)234E 234E (E E后无指数部分)后无指数部分)后无指数部分)后无指数部分)n n字符型常量字符型常量由单引号(左撇)括起来的一串字符由单引号(左撇)括起来的一串字符如如 T r This is a character n n字符串型常量字
18、符串型常量由双引号括起来的一串字符由双引号括起来的一串字符如如 “This is a string”“”“Total expenditures:”n n字符转义符字符转义符源程序中无法或很难直接输入的字符,如回车符,源程序中无法或很难直接输入的字符,如回车符,源程序中无法或很难直接输入的字符,如回车符,源程序中无法或很难直接输入的字符,如回车符,空白符等。空白符等。空白符等。空白符等。可在字符型和字符串型常量中使用可在字符型和字符串型常量中使用可在字符型和字符串型常量中使用可在字符型和字符串型常量中使用字符转义符字符转义符字符转义符字符转义符形式形式形式形式 反斜杠后跟一个八进制或十六进制整数
19、,表示的字符反斜杠后跟一个八进制或十六进制整数,表示的字符反斜杠后跟一个八进制或十六进制整数,表示的字符反斜杠后跟一个八进制或十六进制整数,表示的字符是是是是ASCIIASCII码值为相应整数的字符码值为相应整数的字符码值为相应整数的字符码值为相应整数的字符 反斜杠后跟一个特殊字符,代表特殊意义反斜杠后跟一个特殊字符,代表特殊意义反斜杠后跟一个特殊字符,代表特殊意义反斜杠后跟一个特殊字符,代表特殊意义n n反斜杠后跟一个八进制或十六进制整数,表反斜杠后跟一个八进制或十六进制整数,表示的字符是:示的字符是:ASCII码值为相应整数的字符。码值为相应整数的字符。例如例如 52看作字符看作字符 *1
20、01 看作字符看作字符 A 141看作字符看作字符 a x41看作字符看作字符 A x61看作字符看作字符 a 0 看作字符看作字符 null转义转义转义转义符符符符ASCIIASCII码值码值码值码值(十(十(十(十进进进进制)制)制)制)含含含含义义义义aa7 7警警警警报报报报,如,如,如,如铃铃铃铃声,声,声,声,bb8 8退格符退格符退格符退格符t t9 9水平制表符水平制表符水平制表符水平制表符nn1010换换换换行符行符行符行符vv1111垂直制表符垂直制表符垂直制表符垂直制表符f f1212换页换页换页换页符符符符r r1313回回回回车车车车符符符符”3434双引号双引号双引
21、号双引号 3939单单单单引号引号引号引号?6363问问问问号号号号 9292反斜杠反斜杠反斜杠反斜杠n n反斜杠后跟一个特殊字符,代表的符号含义反斜杠后跟一个特殊字符,代表的符号含义反斜杠后跟一个特殊字符,代表的符号含义反斜杠后跟一个特殊字符,代表的符号含义间隔符间隔符n n任何由标识符、保留字、字面常量组成的任何由标识符、保留字、字面常量组成的两个相邻词法单位之间至少应有一个间隔两个相邻词法单位之间至少应有一个间隔符。多个间隔符一起连用相当于一个。符。多个间隔符一起连用相当于一个。空格空格空格空格 行结束符行结束符行结束符行结束符水平制表符水平制表符水平制表符水平制表符 垂直制表符垂直制表
22、符垂直制表符垂直制表符换页符换页符换页符换页符317 写成写成 3 1 7=写成写成 y)(xy)return return x;x;/x/x较大,返回较大,返回较大,返回较大,返回x x elseelse returnreturn y;y;/否则否则否则否则y y较大,返回较大,返回较大,返回较大,返回y y#include#include int i;/int i;/声明整型变量声明整型变量声明整型变量声明整型变量i i void main()/void main()/主函数主函数主函数主函数 i=25+38;/*i=25+38;/*求和运算求和运算求和运算求和运算*/*/printf(“
23、25+38=%d”,i);/*printf(“25+38=%d”,i);/*打印打印打印打印*/*/完全可以写成完全可以写成完全可以写成完全可以写成#include#include int i;main(int i;main()i=25+38;printf i=25+38;printf “25+38=%d”,“25+38=%d”,i );i );这不是一个好习惯。读者在书写程序以及这不是一个好习惯。读者在书写程序以及向计算机录入程序时,应尽量使程序看起向计算机录入程序时,应尽量使程序看起来结构清晰,层次分明。来结构清晰,层次分明。数据数据n n数据是计算机处理的对象,类型是数据的数据是计算机处
24、理的对象,类型是数据的一种属性一种属性n n数据类型的含义数据类型的含义确定一个值集合,该类型的数据能够取确定一个值集合,该类型的数据能够取值的范围值的范围确定一个运算集合,能够施于该类型数确定一个运算集合,能够施于该类型数据上进行的运算据上进行的运算枚举型枚举型算术类型算术类型指针类型指针类型数据类型数据类型结构体类型结构体类型标量类型标量类型浮点类型浮点类型整数类型整数类型整型整型字符型字符型布尔型布尔型组合类型组合类型数组类型数组类型联合体类型联合体类型函数类型函数类型voidvoid类型类型浮点类型浮点类型n nC C中浮点类型包括:中浮点类型包括:中浮点类型包括:中浮点类型包括:各种
25、长度的浮点类型各种长度的浮点类型各种长度的浮点类型各种长度的浮点类型(float,double,long doublefloat,double,long double)各种长度的复数类型(各种长度的复数类型(各种长度的复数类型(各种长度的复数类型(float _complex,float _complex,double_complex)double_complex)各种长度的虚数类型各种长度的虚数类型各种长度的虚数类型各种长度的虚数类型(float _imaginaryfloat _imaginary)n n含义含义含义含义抽象抽象抽象抽象 float float 类型对应实数类型对应实数类型
26、对应实数类型对应实数实际实际实际实际 float float 类型类型类型类型 是实数的一个子集是实数的一个子集是实数的一个子集是实数的一个子集n n封闭于浮点类型的运算包括:封闭于浮点类型的运算包括:+-*/等等n n注意注意两个几乎相等的值相减,会引起很大的误差。两个几乎相等的值相减,会引起很大的误差。若除数的绝对值很小,结果很可能引起溢出。若除数的绝对值很小,结果很可能引起溢出。在比较在比较X、Y两个浮点值是否相等两个浮点值是否相等使用使用|X-Y|整数类型整数类型n n在在C中整数类型包括各种长度的带符号与不中整数类型包括各种长度的带符号与不带符号的整数类型(带符号的整数类型(shor
27、t、int、long、unsigen、signed等以及它们的组合)。等以及它们的组合)。n n封闭于整数类型的运算(运算分量和结果封闭于整数类型的运算(运算分量和结果都是整数类型)包括:都是整数类型)包括:+-*/%字符类型字符类型n n字符类型就是单个字符字符类型就是单个字符字符类型就是单个字符字符类型就是单个字符 n n在在在在C C中把字符类型看成整数类型,其整数值是在计中把字符类型看成整数类型,其整数值是在计中把字符类型看成整数类型,其整数值是在计中把字符类型看成整数类型,其整数值是在计算机系统字符集中的编码,也就是我们所说的相应算机系统字符集中的编码,也就是我们所说的相应算机系统字
28、符集中的编码,也就是我们所说的相应算机系统字符集中的编码,也就是我们所说的相应字符存储形态的编码值。字符存储形态的编码值。字符存储形态的编码值。字符存储形态的编码值。n n由于由于由于由于C C把字符类型看成整数类型,还定义了带符号把字符类型看成整数类型,还定义了带符号把字符类型看成整数类型,还定义了带符号把字符类型看成整数类型,还定义了带符号和不带符号的字符类型。和不带符号的字符类型。和不带符号的字符类型。和不带符号的字符类型。n n在在在在C C 中,所有关于在整数类型的运算定义,自然也中,所有关于在整数类型的运算定义,自然也中,所有关于在整数类型的运算定义,自然也中,所有关于在整数类型的
29、运算定义,自然也都适用于字符类型。都适用于字符类型。都适用于字符类型。都适用于字符类型。布尔类型布尔类型(bool)n nbool类型类型falsefalse(假)、(假)、(假)、(假)、true true(真)(真)(真)(真)C C中把中把中把中把boolbool类型看成整数类型分别用类型看成整数类型分别用类型看成整数类型分别用类型看成整数类型分别用0 0,1 1 表示表示表示表示false false 和和和和 true truen n运算运算运算运算 !(非)(非)(非)(非)&(与)(与)(与)(与)|(或)(或)(或)(或)b b1 1b b2 2!b!b1 1b b1 1&b&
30、b2 2b b1 1|b|b2 2falsefalsefalsefalsetruetruefalsefalsefalsefalsefalsefalsetruetruefalsefalsetruetruetruetruefalsefalsefalsefalsefalsefalsetruetruetruetruetruetruetruetruetruetrue枚举类型枚举类型n n更直观的表示一些分类更直观的表示一些分类一周有七天一周有七天一周有七天一周有七天一年有十二个月一年有十二个月一年有十二个月一年有十二个月一个学期有哪些课程一个学期有哪些课程一个学期有哪些课程一个学期有哪些课程n n枚举类
31、型通过枚举表记值的标识符确定一个枚举类型通过枚举表记值的标识符确定一个类型的值的有序集合类型的值的有序集合n n最基本的枚举类型说明符形式是:最基本的枚举类型说明符形式是:enum id,id,id,.,id enum id,id,id,.,id enum id_tag id,id,id,.,id enum id_tag id,id,id,.,id l l其中每个其中每个其中每个其中每个idid是一个标识符是一个标识符是一个标识符是一个标识符,也是相应枚举类型中的一个值,也是相应枚举类型中的一个值,也是相应枚举类型中的一个值,也是相应枚举类型中的一个值,称枚举常量。称枚举常量。称枚举常量。称枚
32、举常量。l l全部标识符集合构成相应枚举类型的值域全部标识符集合构成相应枚举类型的值域全部标识符集合构成相应枚举类型的值域全部标识符集合构成相应枚举类型的值域 enumenum Sun,Mon,Tue,Wed,Thu,Fri,Sat Sun,Mon,Tue,Wed,Thu,Fri,Sat enumenum month Jan,Feb,Mar,Apr,May,month Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec Jun,Jul,Aug,Sep,Oct,Nov,Dec enumenum color red color red,greengree
33、n,blue /blue /红、绿、蓝红、绿、蓝红、绿、蓝红、绿、蓝n n枚举类型与整数类型枚举类型与整数类型在在在在C C中仍然把枚举类型看成整数类型,每个枚举中仍然把枚举类型看成整数类型,每个枚举中仍然把枚举类型看成整数类型,每个枚举中仍然把枚举类型看成整数类型,每个枚举常量对应一个整数值。一般情况下,枚举表的常量对应一个整数值。一般情况下,枚举表的常量对应一个整数值。一般情况下,枚举表的常量对应一个整数值。一般情况下,枚举表的第一个标识符对应整数值第一个标识符对应整数值第一个标识符对应整数值第一个标识符对应整数值0 0,其它标识符对应,其它标识符对应,其它标识符对应,其它标识符对应前一个
34、标识符整数值前一个标识符整数值前一个标识符整数值前一个标识符整数值+1+1。上述例子中。上述例子中。上述例子中。上述例子中red red 对应对应对应对应 0 0 green green 对应对应对应对应 1 1blue blue 对应对应对应对应 2 2还可以在在声明枚举类型时,在枚举常量标识还可以在在声明枚举类型时,在枚举常量标识还可以在在声明枚举类型时,在枚举常量标识还可以在在声明枚举类型时,在枚举常量标识符后标识上该常量对应的整数值,例如:符后标识上该常量对应的整数值,例如:符后标识上该常量对应的整数值,例如:符后标识上该常量对应的整数值,例如:enum color red=10enu
35、m color red=10,yellow=red+2yellow=red+2,green=15green=15,blue blue 表示表示表示表示red red 对应对应对应对应 10 10yellow yellow 对应对应对应对应 red+2 red+2 即即即即 12 12green green 对应对应对应对应 15 15blue blue 对应对应对应对应 green+1 green+1 即即即即 16 16。在在在在C C C C 中,所有关于在整数类型的运算定义,自然也都适中,所有关于在整数类型的运算定义,自然也都适中,所有关于在整数类型的运算定义,自然也都适中,所有关于在整
36、数类型的运算定义,自然也都适用于枚举类型用于枚举类型用于枚举类型用于枚举类型。n n使用枚举类型应注意:使用枚举类型应注意:括在花括号中的枚举常量表中的标识符都是常量括在花括号中的枚举常量表中的标识符都是常量括在花括号中的枚举常量表中的标识符都是常量括在花括号中的枚举常量表中的标识符都是常量枚举常量表中的标识符不可重复枚举常量表中的标识符不可重复枚举常量表中的标识符不可重复枚举常量表中的标识符不可重复枚举常量表中的标识符不能与其它标识符重复枚举常量表中的标识符不能与其它标识符重复枚举常量表中的标识符不能与其它标识符重复枚举常量表中的标识符不能与其它标识符重复不能用保留字作枚举常量不能用保留字作
37、枚举常量不能用保留字作枚举常量不能用保留字作枚举常量尽管尽管尽管尽管C C把枚举类型看作整数类型,枚举常量也与把枚举类型看作整数类型,枚举常量也与把枚举类型看作整数类型,枚举常量也与把枚举类型看作整数类型,枚举常量也与整数对应,整数对应,整数对应,整数对应,但我们还是建议读者区别开枚举常量但我们还是建议读者区别开枚举常量但我们还是建议读者区别开枚举常量但我们还是建议读者区别开枚举常量和整数。和整数。和整数。和整数。n n非法枚举常量表的例子非法枚举常量表的例子enumab,cd,ab,if;enumab,cd,ab,if;int x;int x;enum x,y,z,c;enum x,y,z,
38、c;混合运算混合运算n nC C中只有两种简单类型:浮点类型和整数类型中只有两种简单类型:浮点类型和整数类型中只有两种简单类型:浮点类型和整数类型中只有两种简单类型:浮点类型和整数类型n n字符类型、布尔类型、枚举类型都是整数类型的不字符类型、布尔类型、枚举类型都是整数类型的不字符类型、布尔类型、枚举类型都是整数类型的不字符类型、布尔类型、枚举类型都是整数类型的不同表现形式。同表现形式。同表现形式。同表现形式。n n通常称浮点类型和整数类型为算术型,称可施于算通常称浮点类型和整数类型为算术型,称可施于算通常称浮点类型和整数类型为算术型,称可施于算通常称浮点类型和整数类型为算术型,称可施于算术型
39、上的运算为算术运算。相应运算符称为算术运术型上的运算为算术运算。相应运算符称为算术运术型上的运算为算术运算。相应运算符称为算术运术型上的运算为算术运算。相应运算符称为算术运算符。算符。算符。算符。n n在日常习惯上,人们往往不区分算术型中的浮点类在日常习惯上,人们往往不区分算术型中的浮点类在日常习惯上,人们往往不区分算术型中的浮点类在日常习惯上,人们往往不区分算术型中的浮点类型和整数类型。为了照顾这种习惯,型和整数类型。为了照顾这种习惯,型和整数类型。为了照顾这种习惯,型和整数类型。为了照顾这种习惯,C C允许在浮点允许在浮点允许在浮点允许在浮点类型和整数类型之间进行混合运算,混合运算后结类型
40、和整数类型之间进行混合运算,混合运算后结类型和整数类型之间进行混合运算,混合运算后结类型和整数类型之间进行混合运算,混合运算后结果为浮点类型。果为浮点类型。果为浮点类型。果为浮点类型。算术运算符、分量类型、结果类型算术运算符、分量类型、结果类型运算符运算符 运算运算 +单目恒等单目恒等 -单目取负单目取负 +加加 -减减 *乘乘 /除除%求余数求余数 运算分量类型运算分量类型 浮点类型浮点类型 或或 整数类型整数类型 整数类型整数类型 结果类型结果类型 同运算分量类型同运算分量类型 若两个分量类型若两个分量类型都是整数类型则都是整数类型则为整数类型;否为整数类型;否则为浮点类型。则为浮点类型。
41、整数类型整数类型 关系运算关系运算n n浮点类型、整数类型、浮点类型、整数类型、浮点类型、整数类型、浮点类型、整数类型、char char 类型、类型、类型、类型、boolbool类型、枚举类型类型、枚举类型类型、枚举类型类型、枚举类型都属于简单类型,即它们的都属于简单类型,即它们的都属于简单类型,即它们的都属于简单类型,即它们的值是可比的值是可比的值是可比的值是可比的。n n关系运算关系运算关系运算关系运算 对两个值进行大小关系的比较,称为进行关系运算,对两个值进行大小关系的比较,称为进行关系运算,对两个值进行大小关系的比较,称为进行关系运算,对两个值进行大小关系的比较,称为进行关系运算,产生产生产生产生 bool bool类型结果。类型结果。类型结果。类型结果。运算符有运算符有运算符有运算符有 (大于)(大于)(大于)(大于)=(大于等于)(大于等于)(大于等于)(大于等于)=(等于)(等于)(等于)(等于)!=!=(不等于)(不等于)(不等于)(不等于)本章小结本章小结n n基本符号集合基本符号集合n n词法单位词法单位n n简单数据类型及运算简单数据类型及运算简单数据类型及运算简单数据类型及运算作业作业2.12.42.62.92.14