版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章作业:章作业: p59 四四. 2,5,6,7,8第第4章作业:章作业: p84 三三. 1,3,5,7,8每章的选择题和填空题自己做,上机验证答案!每章的选择题和填空题自己做,上机验证答案!包含在包含在while 语句语句内部的要内缩两列!内部的要内缩两列!说明说明while语句内语句内有一有一if和和i+复合起复合起来的复合语句。来的复合语句。if语句满足条件后语句满足条件后要执行缩在其内的要执行缩在其内的sum+=i;cinn;sum=0;i=2;While(i10) if(i%2=0) sum+=i; i+;coutthe sum of even from 1 ton is s
2、um);缩进缩进While内内 缩进缩进if内内第第3 3章章 C C的基本数据类型的基本数据类型 加强自学,有效读书加强自学,有效读书: :上机遇到疑惑,(上机遇到疑惑,(1/21/2结果是结果是0 0,而不是,而不是 0.50.5)应该自己会在书上找答案)应该自己会在书上找答案画第三章引言:画第三章引言:2 2、3 3两章、理论和上机实践两章、理论和上机实践互相促进学习。互相促进学习。第第3章章C的基本数据类型的基本数据类型3.1 标识符和关键字标识符和关键字3.2 基本数据类型基本数据类型 3.3 常量常量 和变量和变量 3.4 运算符运算符 3.5 表达式表达式 3.1 标识符和关键字
3、标识符和关键字(p37) 原则:见名知义!不产生歧义。原则:见名知义!不产生歧义。正确正确 不正确不正确countcount1 count1 counttest123test123hi!therehi!therehigh_balancehigh_balancehigh.balancehigh.balancePIPIa+ba+ba_1a_1a=1a=1标识符是标识符是C语言编程时用来标志识别的符号,语言编程时用来标志识别的符号,以字母开头,由字母、数字和下划线组成。以字母开头,由字母、数字和下划线组成。 在在C语言中,语言中, 标识符标识符中大小写字母是有区别的中大小写字母是有区别的。习惯上采用
4、小写字母表示各种标识符,如变量名、习惯上采用小写字母表示各种标识符,如变量名、数组名、函数名等。各种语句也用小写字母,而数组名、函数名等。各种语句也用小写字母,而大写字母只用来定义宏名等,用的不多。大写字母只用来定义宏名等,用的不多。 不同的系统对标识符的长度有不同的要求,不同的系统对标识符的长度有不同的要求, 有有的要求为的要求为6个字符,有的允许使用个字符,有的允许使用8个字符,而个字符,而VC系统下的有效长度为系统下的有效长度为1至至32个字符。个字符。 除了少数工作单元我们用单个字符作标识符,一除了少数工作单元我们用单个字符作标识符,一般的应做到见名知义,以提高程序的可读性。如般的应做
5、到见名知义,以提高程序的可读性。如用用sum表示和,表示和, score表示成绩,表示成绩, max表示最大表示最大等等。等等。 关键字关键字ANSI C规定了规定了32个关键字个关键字(保留字保留字),不能再用作各,不能再用作各种标识符。种标识符。auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, sw
6、itch, typedef, union, unsigned, void, volatile, while。 它们用来表示它们用来表示C语言本身的特定成份,语言本身的特定成份, 具有相应的具有相应的语义,语义, 可构成所有的可构成所有的C语言语句。语言语句。 12个标识符作为编译预处理的命令单词,个标识符作为编译预处理的命令单词, 但使用但使用时前面应加时前面应加“”: define, elif, else, endif, error, if, ifdef, ifndef, include, line, progma, undef。 3.2 C的基本数据类型数据类型决定:1. 数据占内存字节数
7、2. 数据取值范围3. 其上可进行的操作3.2 基本数据类型基本数据类型 1. 基本数据类型基本数据类型 (p39 表表3-2)基本数据类型基本数据类型类型类型位数位数值域值域内存字节数内存字节数charchar8 8-128127-1281271 1intint1616-3276832767-32768327672 2floatfloat32323.4e-383.4e+383.4e-383.4e+384 4doubledouble64641.7e-3081.7e+3081.7e-3081.7e+3088 8voidvoid0 00 0整型常量整型常量单精度实型常量单精度实型常量双精度常量双精
8、度常量用单引号括起的一个字用单引号括起的一个字符符,转义字符转义字符用一对双引号括起的字符序列用一对双引号括起的字符序列3.3 常量和变量常量和变量 (p39)5123.41234567.89a, 0, $t“string”“a lot of”常量是指在程序运行过程中其值不能被改变的量;常量是指在程序运行过程中其值不能被改变的量;C语言中有三种常量:语言中有三种常量:1. 整型常量整型常量整型常量也称为整型常数或整数。整型常量也称为整型常数或整数。 整型常量按进制分可分为十进制整数,八进整型常量按进制分可分为十进制整数,八进制整数和十六进制整数。制整数和十六进制整数。十进制整数十进制整数十进制
9、整数以正负号开头,后跟十进制整数以正负号开头,后跟09的若干的若干位数字构成。如位数字构成。如123, -456, 789等。等。 3.3.1 常量常量 八进制整数八进制整数以基数以基数0,1,2,3,4,5,6,7表示的数,以数字表示的数,以数字0作为前作为前缀,作为八进制数的标志。如缀,作为八进制数的标志。如0123, -0456, 0765等。等。 十六进制整数十六进制整数以基数以基数0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示的数,表示的数,以以0 x作为前缀,作为十六进制数的标志。如作为前缀,作为十六进制数的标志。如0 x123, -0 xF56, 0 x7ED
10、等。等。3.3.1 常量常量 逢二进一逢二进一逢八进一逢八进一逢十进一逢十进一逢十六进一逢十六进一数制间的转换数制间的转换 非十进制转换为十进制:按权值展开即可,非十进制转换为十进制:按权值展开即可,An-1An-2A1A0,n位位M进制数进制数D=An-1Mn-1+An-2Mn-2+A1M1+A0M0如如 0 x2F=2*161+15*160=47 1101B=1*23+1*22+0*21+1*20=8+4+0+1=132.十进制转换为非十进制:短除法十进制转换为非十进制:短除法 13 015 47 0 x2F3.十六进制与二进制之间的转换:一位十六进制十六进制与二进制之间的转换:一位十六进
11、制数对应于四位二进制数。数对应于四位二进制数。十进制十进制二进制二进制八进制八进制十六进制十六进制0 00000000000000 01 10001000101011 12 20010001002022 23 30011001103033 34 40100010004044 45 50101010105055 56 60110011006066 67 70111011107077 78 81000100010108 89 91001100111119 91010101010101212A A1111101110111313B B1212110011001414C C13131101110115
12、15D D1414111011101616E E1515111111111717F FP402. 实型常量实型常量分为单精度实型常量和双精度实型常量。分为单精度实型常量和双精度实型常量。 单精度实数占四个字节,其数值范围是:单精度实数占四个字节,其数值范围是: 3.410-38|x|3.41038,它的有效位最,它的有效位最多只有多只有7位十进制数字。位十进制数字。 双精度实数占双精度实数占8个字节,取值范围是个字节,取值范围是:1.710-308|x|1.710308,它的有效位能达到,它的有效位能达到16位十进制数字。位十进制数字。 有小数形式和指数形式两种。有小数形式和指数形式两种。小数
13、形式小数形式正、负号开头,有若干位整数部分,后跟一正、负号开头,有若干位整数部分,后跟一个小数点,再有若干位小数部分。个小数点,再有若干位小数部分。如如123.456,21.37,12. ,12.0。指数形式指数形式也称为科学计数法,分成尾数部分和指数部分。也称为科学计数法,分成尾数部分和指数部分。尾数部分可以是整数形式或小数形式,指数部分尾数部分可以是整数形式或小数形式,指数部分是一个字母是一个字母“e”或或“E”后跟一个整数。后跟一个整数。2.1E5 (等于等于2.1105),3.7E-2 (等于等于3.710-2) 0.5E7 (等于等于0.5107) -2.8E-2 (等于等于-2.8
14、10-2) E7 ,53.-E3 ,2.7E 。 3. 字符常量字符常量 :常用字母数字:常用字母数字+转义字符转义字符A Z: 0 x41 0 x5A (p284 附录附录A)a z: 0 x61 0 x7A0 9: 0 x30 0 x39其他符号其他符号:!,#,$,%,&,*,(,),+,_.转义字符转义字符单引号内以单引号内以“”开始,后跟字母,或最多开始,后跟字母,或最多3位八进制数或位八进制数或x+最多两位十六进制数。最多两位十六进制数。符号符号意义意义ASCII码值码值(十进制十进制)a响铃响铃(BEL)007b退格退格(BS)008f换页换页(FF)012n换行换行(L
15、F)010r回车回车(CR)013t水平制表水平制表(HT)009v垂直制表垂直制表(VT)011反斜杠反斜杠092?问号字符问号字符063单引号字符单引号字符039双引号字符双引号字符0340空字符空字符(NULL)000ddd任意字符任意字符三位八进制三位八进制xhh任意字符任意字符二位十六进制二位十六进制强调程序的可读性、规范性 中国软件之所以上不去的原因之一就是中国软件之所以上不去的原因之一就是“习惯问题习惯问题”。印度十个人编程,会编出一样。印度十个人编程,会编出一样的东西,而我们十个人编程可能会有十种风格。的东西,而我们十个人编程可能会有十种风格。因为我们忽略了一个重要的问题,即因
16、为我们忽略了一个重要的问题,即“顾客顾客”的感受。程序是编写给别人看的,不是给自己的感受。程序是编写给别人看的,不是给自己看的。看的。 基本的规范基本的规范(如变量的起名和缩进式)(如变量的起名和缩进式)不不应该自己创新,尽量模仿例题!应该自己创新,尽量模仿例题! 变量可以在程序内的三个地方定义:变量可以在程序内的三个地方定义: A:在函数内部的一开始:在函数内部的一开始B:在函数的参数:在函数的参数(形参形参)中定义(中定义(形式参数)形式参数)C: 在所有的函数外部在所有的函数外部 (全局变量)全局变量)在不同地方定义的变量,其作用范围不同在不同地方定义的变量,其作用范围不同(ch7,难点
17、,难点)。在同一层次定义的变量,不能与数组、指在同一层次定义的变量,不能与数组、指针、函数和其它变量同名。针、函数和其它变量同名。不同的系统中,同一个类型变量所占的空间大小不同的系统中,同一个类型变量所占的空间大小是不一样的,可以查看有关手册,也可以通过编是不一样的,可以查看有关手册,也可以通过编程查看其所用字节数目。程查看其所用字节数目。#include void main () double x; x=45; coutthe size of double is sizeof(x)endl; 3.3.2 变量变量(重点)(重点)变量是指程序执行过程中,其值可以改变的变量是指程序执行过程中,其
18、值可以改变的量;量;变量定义的一般形式:变量定义的一般形式:类型类型 变量名表;变量名表; 每个变量都必须有每个变量都必须有类型说明;类型说明; 一旦被指定为确定一旦被指定为确定类型,将为它分配相应类型,将为它分配相应字节的内存;字节的内存;合法标识符,合法标识符, “知名见义知名见义”; char c, ch, name; unsigned int ui; int i, j, num; float a, b, sum; double x, total;例:1个字节2个字节4个字节8个字节变量必须先定义,后使用变量必须先定义,后使用,且在同一层次中不,且在同一层次中不能与其它标识符重名;能与其
19、它标识符重名;3.3.3 变量的初始化变量的初始化 程序中常需要对一些变量预先设置初值。程序中常需要对一些变量预先设置初值。 C规定,规定, 可以在定义变量时同时使变量可以在定义变量时同时使变量初始化。初始化。变量初始化只需在定义变量时在变量名变量初始化只需在定义变量时在变量名后面加一等号及一个常数。它的一般形后面加一等号及一个常数。它的一般形式是:式是: 类型类型 变量名变量名=常数;常数; char ch=a; int first=0; float x=123.45; #include void main() int x;char ch=a;x=ch+2; / 这里这里x的值是的值是a的的
20、ASCII码值码值97 / 加加2,也就是也就是99cout ch=chn x=xendl; 例例3-13-1字符型数在数值运算时可以当成整型数。字符型数在数值运算时可以当成整型数。初始化应用举例初始化应用举例3.4 C语言中的运算符语言中的运算符 (常用的)(常用的) 算术运算符:算术运算符: +, -, *, /, %, +, - (P45 表表3-7)(2) 关系运算符:关系运算符: , =, =, != (P47 表表3-8)(3) 逻辑运算符:逻辑运算符: !, &, | (P48 表表3-9)(4) 赋值运算符赋值运算符: =, 及其双目运算符的扩展赋值及其双目运算符的扩展
21、赋值 运算符运算符(5) 圆括号运算符圆括号运算符 ( ) 。 1.1.算术运算:算术运算:+ - + - * * / % / %2.2.关系运算:关系运算:, =, , =, =, =, !=3.3.逻辑运算:逻辑运算:!, &, |!, &, |4.4.位运算:位运算:, , , & &5.5.赋值运算符:及其扩展运算符如赋值运算符:及其扩展运算符如+=+=等等6.6.条件运算符:条件运算符:? :? :7.7.逗号运算符:,逗号运算符:,8.8.指针运算符:指针运算符:* *,&,&9.9.求字节运算符:求字节运算符:sizeofsizeo
22、f10.10.强制类型转换:强制类型转换:( (类型类型) )11.11.分量运算符:分量运算符:. -. -12.12.下标运算符:下标运算符:13.13.其它其它( )( )C C运算符简介:包括运算符简介:包括1313类类3.4.1. 算术运算符和赋值运算符算术运算符和赋值运算符 表表 3-7 算术运算符和赋值运算符算术运算符和赋值运算符操作符操作符作作 用用运算对象个数运算对象个数优先级优先级结合方向结合方向+自增,加自增,加112自右向左自右向左-自减,减自减,减112-负号负号12*乘乘23自左向右自左向右/除除23%取余取余(取模取模)23+加加24自左向右自左向右-减减24=赋
23、值赋值214自右向左自右向左+, -, *, / , 先乘除后加减,先乘除后加减, 按优先级顺序进行按优先级顺序进行运算,优先级高运算,优先级高(数小数小)的先运算。加括号可以改的先运算。加括号可以改变运算顺序。变运算顺序。如如1/2=0, 1.0/2=0.5; (2) 求余运算符求余运算符(%)仅用于整型数据,不能用于仅用于整型数据,不能用于实型和双精度实型。它的作用是取整数除法的实型和双精度实型。它的作用是取整数除法的余数。余数。如如1%2=1, 10%3=1,(-10)%3=-1,10%(-3)=1三位数的整数,如何取出其个位?三位数的整数,如何取出其个位? 十位?十位? 百位?百位?准
24、备上机程序代码时要认真琢磨准备上机程序代码时要认真琢磨p46p46 图图3-23-2和图和图3-33-3!牵扯一类编程题!牵扯一类编程题! ?(3) 赋值运算符赋值运算符(=)是将是将“=”右边表达右边表达式的值赋给左边的变量。式的值赋给左边的变量。 赋值运算符赋值运算符左边必须是变量等有存贮单元的元素,左边必须是变量等有存贮单元的元素,而不能是常量或表达式。而不能是常量或表达式。x=x+1x+1=x 0=X+1 (4) +, -(难点)(难点)仅用于变量,在变量原值的基础上加仅用于变量,在变量原值的基础上加1、减、减1;如果运算符在变量前面,如果运算符在变量前面, 则在则在 “引用引用”该变
25、量该变量前,先对其作加前,先对其作加1或减或减1运算;运算; 如果运算符在变量后面,如果运算符在变量后面, 则在则在 “引用引用”该变量该变量后,再对其作加后,再对其作加1或减或减1运算;运算;y=+x; x=x+1;y=x;y=x+; y=x; x=x+1; void main() int x,y; x=10; y=+x; cout x,yendl;运算结果为运算结果为 11, 11运行结果为运行结果为 11, 10void main() int x,y; x=10; y=x+; cout x,y大于大于26自左向右自左向右=大于等于大于等于26小于小于26=小于等于小于等于26=等于等于2
26、7自左向右自左向右!=不等于不等于27!逻辑非逻辑非(取反取反)12自右向左自右向左&逻辑与逻辑与211自左向右自左向右|逻辑或逻辑或212自左向右自左向右当关系运算符两边的值满足关系时为真,当关系运算符两边的值满足关系时为真, 返返回回1,不满足关系时为假,返回,不满足关系时为假,返回0。 x=10; cout=9; /* 此时输出为此时输出为1 */x=5; cout=9; /* 则输出为则输出为0。 */字符比较按其字符比较按其ASCII码值进行,如码值进行,如A, =, , =的优先级相同,的优先级相同, 如在如在表达式中同时出现时,表达式中同时出现时, 则自左向右顺序运算。则
27、自左向右顺序运算。而而 = 与与 != 优先级低于此四种关系运算符。优先级低于此四种关系运算符。cout31;运行输出结果为运行输出结果为0。因为两个。因为两个是同一优先级,是同一优先级,53的结果为的结果为1, 而而11的关系不满足,所以最的关系不满足,所以最后结果为后结果为0。cout 1=1135;运行输出结果为运行输出结果为1。因为。因为的优先级比的优先级比=高,则高,则1135的结果为的结果为1,而,而1=1的关系满足,所以最的关系满足,所以最后结果为后结果为1。逻辑运算逻辑运算真值表真值表pq!qp&qp|q0 00 01 10 00 00 01 10 00 01 11 1
28、0 01 10 01 11 11 10 01 11 1逻辑运算结果中,逻辑运算结果中,1 1表示真,表示真,0 0表示假;而参表示假;而参加运算的量,非加运算的量,非0 0表示真表示真(1)(1),0 0表示假表示假(0)(0); & & 和和 | | 一旦能够确定表达式的值,就不一旦能够确定表达式的值,就不再继续运算下去;再继续运算下去;逻辑运算规则逻辑运算规则非运算:非运算:0 0 1,1 1,1 0 0与运算:表示与运算:表示“并且并且”的含义的含义, ,见见0 0为为0 0 数学:数学:3x6 3x3&x3&x1+12完全等价完全等价于于10(1+12)
29、, 其结果当然是假其结果当然是假(即即0)。 (4) 在关系和逻辑运算符组成的表达式中,在关系和逻辑运算符组成的表达式中, 也可以像算术表达式一样,也可以像算术表达式一样, 用圆括号来改用圆括号来改变运算的优先次序,变运算的优先次序,!1&0其值为假,因为先执行其值为假,因为先执行!1, 然后才然后才执行执行&。然而加上圆括号。然而加上圆括号!(1&0)后改变后改变了运算顺序,则执行了运算顺序,则执行!0操作结果为操作结果为1,其值,其值为真。为真。 (5) 在逻辑表达式的求解中,并不是表达式的所有在逻辑表达式的求解中,并不是表达式的所有部分都被执行,只有在必须执行时才
30、执行,否则部分都被执行,只有在必须执行时才执行,否则就就“偷懒偷懒”不执行了。不执行了。a|b,当,当a=1时,则不再求时,则不再求b的值,直接得到结果的值,直接得到结果1。a&b,当,当a=0时,则不再求时,则不再求b的值,的值, 直接得到结果直接得到结果0。 同理,同理, a|b|c,a&b&c 一样一样(6) 逻辑运算的转换。逻辑运算的转换。 !(a|b) !a&!b 等同于等同于(!a)&(!b) !(a&b) !a|!b3. 条件运算符和逗号运算符条件运算符和逗号运算符条件运算符的一般形式是:条件运算符的一般形式是: 表达式表达式1 ?
31、 表达式表达式2:表达式:表达式3先求表达式先求表达式1的值,如果为真的值,如果为真(非零非零), 则求表达则求表达式式2的值,的值, 并把它作为整个表达式的值;如表达并把它作为整个表达式的值;如表达式式1的值为假的值为假(零零), 则求表达式则求表达式3的值,并把它的值,并把它作为整个表达式的值。作为整个表达式的值。 x=10; y=x9?100:200;/y=100y=x9?100:200;/y=200逗号运算符逗号运算符“, ”也称顺序求值运算符,也称顺序求值运算符, 其运算优先级为其运算优先级为15,也,也是最低的,结合方向是自左至右。是最低的,结合方向是自左至右。 逗号运算符逗号运算
32、符的左边总是不返回的,也就是说逗号右边表达的左边总是不返回的,也就是说逗号右边表达式的值才是整个表达式的值。式的值才是整个表达式的值。x=(y=3, y+1,y+1);先将先将3赋给赋给y,然后计算表达式,然后计算表达式y+1,其值为,其值为4,最后将最后将4赋给赋给x。 由于逗号运算符的级别最低,由于逗号运算符的级别最低, 所以以整体先求所以以整体先求值时一般均需加圆括号。值时一般均需加圆括号。 优先级优先级运算符运算符结合规则结合规则1 ( ) .从左至右从左至右2! + - - * & sizeof从右至左从右至左3* / %从左至右从左至右4+ -从左至右从左至右5从左至右从左至右6 =从左至右从左至右7= !=从左至右从左至右8&从左至右从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 395电缆采购合同范本
- 门面房合同范本买
- 公司椅子维修合同范本
- 建设用地项目出让合同范本
- 雇佣员工劳动合同范本
- 床垫代工贴牌合同范本
- 产品电镀代加工合同范本
- 2026实木家具水性涂料环保替代趋势研究报告
- CN119461783A 光学玻璃的制造方法 (株式会社小原)
- CN119460338A 一种电机壳端盖分料装箱设备及其装箱方法 (常州市宏海崎机电有限公司)
- 2026年苏科版八年级信息技术上册(全册)教学设计(附目录)
- 浙江杭州育才中学2026-2027学年七年级上学期开学检测数学试题(含简单答案)
- 业主委员会考核物业评分细则
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- 人工拆除工程施工方案方案
- 隧道掌子面素描图文讲解
- 2026新版海姆立克急救法培训
- 2026修订二手车背户买卖协议
- 统编版八年级道德与法治上册知识点清单总结复习清单
- 2025年10月25日全国事业单位联考C类《职业能力倾向测验》真题及答案【含解析】
- 江苏疾控中心招聘笔试题库
评论
0/150
提交评论