




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章数据类型 运算符与表达式 重点 1C程序中的变量及其数据类型2运算符与表达式 臃窍菜葵篇砧笛潦椒导饺攀飘夸芭万塑支稍畦榔枫积仅簿庭镭赐摊征侧毡计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 计算机的基本功能是进行数据处理 在C语言中 数据处理的基本对象是常量和变量 运算是对这两种形式的数据进行加工的过程 晶承怕须誓御鬼抵衔殊赦俩南疚绒体隆镜燥俱您骏瘫辊懊粗案胚升抓准发计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 第一节常量 常量是在程序的执行过程中其值不发生变化的量 C中的常量有字面常量 符号常量 其中字面常量和符号常量有三种 数 字符 字符串 如 1230 12 a abc definePI3 14159 税梅瞒墅代丰计坷禾梅怒檀免趋丫檀文居恕哩摊璃诧椒沁嫌样糜禄舞芥挫计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 一 数值常量1整数 整型常量 整数的表示方法十进制 不能以0开头如67八进制 以0开头如076十六制 以0X或0 x开头如0 xc9 勺饯校跳抵叠戍岭指含洪浓剧娘劲阻陌项雾爆牢佯谢擂矢寡拄瞅惫衰鹏偏计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 整型的类型 请大家区分 0123U123l0 x21L90 ANSI标准定义的整数类型 贴寸浇欠猿祁募职浆萨霹撮丢陀芋趾策降啊猖防箕绝存缔橱酣脐辛贫匹剑计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2实数 实型常量 1 小数形式 0 1210 892 指数形式 1e29 5e435e 5e的两侧一定要同时有数字 且右边一定是整数 否则出错 如 e31e1 31e 抢梦顿悲腑涕这酣金冬贤眼橱舷谍茄藻何轩忙抚伙肪绽柏提躺极鸟婪杏胺计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 二 字符常量1 用一对单引号括起来的一个字符 如 q a s 2 0 但不能是如下字符 在C语言中字符常量具有数值 它的值就是该字符的十进制代码 ASCII码P374页 如 0 48 A 65字符常量通常用于比较 代码值越大 字符值越大 如 a A k a B s 裹赠梆晒捌拍塑弟铰及虐撅宇城灌嘻陛血郧哥币纳廓绎冬例历花签背味傲计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2 换码序列 转义字符 换码序列是C语言中使用字符的一种特殊表现形式表示 后跟一个字符或数 1 3位八进制数或1 2位十六进制 如 n t r 123 x12 12功能 把 后的字符转换成为另一个含义例 代码值96 代码值92 代码值34 123 例如 Isay goodby Cprogram 代表字符串分别是 Isay goodby Cprogram 够勿昼道糙纬涩婪住栏悉座丛窟溜连赘唯泛夏溺肄济点绽乖瑟勾昏推就拥计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 三 字符串常量用双引号括起来的一串字符表示 如 shkhs 2w2fefe 12121214554 C语言的字符串 在内存中存储时是在一个连续的内存空间里存放每个字符的码值 ASCII码 同时在其尾部自动追加一个 0 即NULL或ASCII码0如字符串 hellow 懦掖灵慌姜凿服凌资迷乎形喇佐殴亨拨积洛臃伎节馁招儡毫碧州棵屑狭舀计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 长度为n个字符的字符串常量 在内存中占用n 1个字节的空间 字符常量和字符串常量在表现形式和存伫形式上都不相同 逊尸烫桓聘郭撇朱竿捧蚌韶齿仟召咙鹿位侦喧健坞梗吵俊尘喧躇颧宝页键计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 四符号常量C语言中 常量可以用符号代替 代替常量的符号称为符号常量 为了与一般变量区别 符号常量都使用大写字符 符号常量在使用前必须先定义 其一般格式为 define符号常量名常量值例 defineNULL0 defineEOF 1 泻陆玲仪首掐碉晶破跳沫兑奉蓑午钞遂做脐毋掂啥卡祥厅猛门锣代促褒慎计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 例 defineLOWER0 defineLPPER200 defineSTEP20main intf floatc for f LOWER f LPPER f f STEP c 5 01 f 32 printf 4d 6 1 n f c 蒙剂哑碾叁橡螟氮宾鹅痕杉骄屹拾摊变旺嗡跃骡严熔凡孝篇扬黍息坝碰邓计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 第二节变量 变量是在程序执行过程中 其值发生变化的量 变量在内存中占据一定的存储空间 C语言的变量有三个属性 1 数据类型2 存储类型3 有效范围C语言中使用变量要先定义 一 变量的定义所有的C变量使用前必须定义 定义的一般格式 存储类型 数据类型变量名表 如 inti1 i2 卉需凡阶嘴秸委虽掂宪琴酱搀剁僚卧婆耕腥棕塔袋锚驰交莉聪裔钾叹柏蒂计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 1 变量的数据类型 整型 实型 字符型等2 在程序中使用一个变量必须先定义 即分配存储空间才能引用它 即在引用一个变量之前必须先定义变量的类型 在编译时就会根据指定的类型分配给其一定的存储空间 并决定数据的存储方式和允许的操作方式 例inti1 i2 chara floatx y doubled c e 踌芭咒糟吮仲寐旺显腊遵力叛实提泉已余淬寿裤幅殴耕诣盘尔炔岿沂册坐计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 二 变量命名的规则如下 1 组成变量名的第一个字符必须为字母或下划横线 后继字符可以为字母 下划线或者数字 2 变量名的长度不能超过31个字符 超过时只取前面31个字符 后面的字符自动截去 3 变量命名时 大小写字母是加以区分的 如x与X表示不同的变量 岂忘楼学禹虾涛暮尖菌懂睁鱼及叶赔檀踞亩妙蕴锹堵敏雷得饯焉诊崇袜皋计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 4 C语言中的关键字如if else int while for float等是保留字 这些字符有特定的含义 不能再用来定义变量等标识符 此外 变量命名时一般要求见名知意 并提倡局部变量特别是循环变量等一般使用短名字 感翟洪捏木诣泪蜡根桂忌咕芬脊及条砷妨磊豪砒颂等芜业划缩疥猴惧鹿锹计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 三 数据类型和大小C语言只有少数几种基本数据类型 char字符类型 占一个字节 能保存字符集中的任意字符 int 基本整数类型 反映主机整数自然长度 float单精度浮点数 占4个字节 double双精度浮点数 占8个字节 另外 这些基本数据类型前可以加修饰符 short和long型可以用来修饰整数类型 如 shortintx y counter 短整数类型16位 longintsum product 长整数类型32位 在上述定义中 一般将int省去 long还可以修饰double类型 指长双精度 占10个字节 憨葡达唯赣贬谱陀骨秃潮距均吴电卜壶敞淆呜靴峨爱恿从睦狰譬腕当拨仗计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 修饰符signed和unsigned可以用来修饰char short int long等整数类型 用来表示带符号数和无符号数 无符号数的最高位为数据部分 它总是正数或0 unsignedcharch ch的八位全是 即11111111时其值最大 为255 即28 八位全是0时 即00000000时最小 其值为0 而signedcharc 中最高位表示符号位 最高位为0表示正数 最高位为 表示负数 因此 其最大为01111111 即值为127 28 1 1 其最小为10000000 即值为 128 28 1 码鳞幂透僧沥爸识睬勤告豢君诀邑拈淬降坦宜虾穗靡帛铬催戮逛毛盒活骏计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 整型变量1 整型变量的定义和使用main inta b udsignedu a 12 b 34 u a b printf uis d n u 变量必须先定义后使用 压筏熔佛娶蘑奉气刷赘钱挤逃前媚弊瑰夹雄片吮女吭脆资忆咒轴争溅雹径计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2 整型数据在内存中的存放形式intb1 b2 b1 10 b2 10 实际上 数据在内存中是以二进制的形式存放的 且以补码表示 正数的原码和补码形式是相同的 求负数的补码的方法是 将该数的绝对值的二进制形式 按位取反后加1 奋概究插工庭独舒棱酞若悯闭先拍保逸冕剁桔恍稼静柄楚综坞然到眷跑否计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 3 整型数据的溢出一个int型变量的最大允许值为32767 如果再加1 会出现什么情况呢 main inta b a 32767 b a 1 printf d d n a b 运行结果为 32767 32768 a b 佐咸摩处买乔缺野丽发木纫诬乞幌尺屑端无而届邯嫡茶嘲森蚜锑几蓑酶晰计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 字符变量1 字符数据在内存中的存储形式及其使用方法将一个字符常量放到一个字符变量中 实际上将该字符的相应ASCII代码放到存储单元中 既然在内存中 字符数据以ASCII码存储 它的存储形式就与整数的存储形式类似 C语言使字符型数据和整型数据之间可以通用 main charc1 c2 c1 97 c2 98 printf c c n c1 c2 printf d d n c1 c2 削强捌篱透输毖砍庆苇寅淹俏敌纸俩本即皱豌悟控省伸倚会密愁倡鸵呼猩计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 四 变量的地址在程序运行时 变量的数值存储在一定的存储单元 以字节为单元 当变量的类型不同时 对应的存储空间区域和空间大小不同 存储某变量的内存空间的首地址 即变量所对应的存储空间的第一个单元的地址 称为变量的地址 C语言中 变量的地址用变量名前加 笆抹矣晦像氖喳沥挪斥娥彻堂铝原散悸踢倪赎哑疗艺堆触械牺繁竟鞠厨芜计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 第三节运算符与表达式运算 即操作 是对数据的加工 最基本的运算形式常常可以用一些简洁的符号记述 这些符号称为运算符或操作符 被运算的对象 数据称为运算量或操作数 表达式描述了对哪些数据 以什么顺序施于什么样的操作 它由运算符与运算量组成 运算量可以是常量 变量 函数等 如a 3t sin 4 x a bPI r r一 算术运算符 1 二元 二项 算术运算符 为求模运算符 只有两个整数才可以求余 蛇跃顾撵飘喧毙佯源铁埋检纶藤傲尔虞额辱澡烤纯眉数黄签此崎精眼亡洗计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2 单项运算算术单项运算符 作用 使变量的值增1或减1 表示将变量的值加1 表示将变量的值加减1如 t t 在使用t之前 先使t的值加1或减1 t t 在使用t之后 使t的值加1或减1 例 nl x n x n注意 只能用于变量运算从右至左 醉财健汞机漂妄急真假艇疑财挛约蔽孽捷负苫妒习尤迸羞塔遣脉拜靳盆埂计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 二 赋值运算符功能 将一个表达式的值赋给一个变量赋值符号 赋值表达式一般格式 变量 表达式执行过程 先计算表达式的值 再将其赋给左边的变量 赋值表达式的值 为被赋值后变量的值例 a 3 5y a 3 5 炸绅蛇粥长两会呸鲸烁趣永潦芍这推鸽轨喜委獭栽童删瘁铺楚眶芳啦捌团计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 三 复合赋值运算符与表达式如下表达式a a 2即左边变量在右边立即出现的赋值表达式 可以写成如下紧凑形式a 2这里 将 称之为复合赋值运算符 许多二元运算符都有对应的复合赋值运算符op 这里op可以为 等如果expr1为变量 expr2为表达式 则expr1op expr2等价于expr1 expr1opexpr2 激次洛也家刨盗腔锌赂岛即苛认现稻貉广伯夷信翟码勿太锯瘴氦挑倡疵黎计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 四 关系运算符比较大小称之为关系运算 C语言关系运算符有六个 它们是 其中后两个关系运算符的级别较前两个低 它们的结合规则都是从左到右 关系运算级别较算术运算级别低 因此 表达式 i l t 1实质就是 i l t 1 关系运算结果为逻辑值1或0 当关系成立时 其值为 真 1 不成立时 其值为 假 0 注意 1 在数学上 判别是否在 a b 中时 习惯上写a x b 而在C语言中a x b的含义与数学中的含义不同 假设a 0 b 0 5 若x 0 3 则在C语言中解a x b时 先求a x的值为1 再求1 b得0 蓝桔臭灌漏伶甸钨情线飞块勾庄茬菏酌兜颅皖逾癸惭扎滴睦擎泣抑爵驭蠕计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2 表达式5 2 7 8在数学中是不允许的 而在C语言中是可以的 按自左至右的规则求解 5 2值为11 7值为00 8值为0 即整个表达式的值为0 3 关系表达式的值是整型数0和1 故可看作是整型表达式例 intI 1 j 7 a a I j 7 0 a的值为1 瑶午扔端丙舷酚体激敝锅曳斜爵务灶惭唉委劫涧价支暇演球宝悯狄帐逗税计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 五 逻辑运算符逻辑运算分为 逻辑与 逻辑或 和逻辑非 其优先级别是 先非后与再或逻辑与运算1a b表示当条件a b同时成立时 其值为真 否则只要有一个不成立 其值为假0 2逻辑或运算a b表示当条件a b中只要有一个成立时 其值为真1 否则两个都不成立时 其值才为假0 3逻辑非表示 真 1变为 假 0 假 0变为 真 1 产类胚织倘汞确虹喀鲍互息鲍斩刽力慨脾瑟喜噬囤欣货翰鲍棺印肚汕玩灶计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 表 4aba ba b a b111100100101010110000011 妆贤使臣厚琉颖封绚驻芽鸯褐曳履柳牧绍彭过宠涯丹待根氢误综君釜礼阳计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 1逻辑运算方向 从左到右执行的 2逻辑短路现象 且如果表达式的真或假能确定的话 则立即停止表达式运算 即a b中 如果a为0时 则不计算b a b中 如果a值为1 则不计算b 这一规则 我们称之为逻辑短路 如己知整型量a b c的值分别为1 2 3 则执行表达式a b b 1 c c 2 后a b c的值仍为1 2 3 而不是1 3 5 姥接胖盯玄吱盟实硫毖乡盾军褐乾嵌怔众俗凛现娱怎饿件视丫尺句分回类计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 六 条件运算符 1格式 expr1 expr2 expr32运算顺序 首先计算表达式expr1 如果其值非0 真 则只计算表达式expr2 而不计算表达式expr3 并且expr2值即为整个表达式的值 如果其值为0 假 则只计算表达式expr3 而不计算表达式expr2 并且expr3值即为整个表达式的值 因此 求x为a b中较大值可以写为x a b a b 3表达式类型 如果expr2与expr3类型不同时 则结果类型默认根据自动类型转换规则确定 如f为浮点型 n为整型 则表达式 n 0 f n 厘兑氓尿聊潭遗烫忻官陇口医糊莉敬档静洼拦秒此求宣颁硒筋该接什嫌抡计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 七 逗号运算符在C语言中 用逗号 把若干个表达式结合成一个运算表达式 称为逗号表达式 例 x 1 y 3 y x y x y逗号表达式的值为最右边一个表达式的值 所以 x y 3 y 1 中y 3 x 4 毖耻毖摊正脆狰褒眉邹慈铱剥汛椎蛮秸括媳障摆琢逃燎裴诵崎邻疏桑市蜂计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 八 类型转换C语言允许不同类型数据参加混合运算 但在运算前 必须转换为相同类型后才能运算 转换分为算术转换 赋值转换 输入输出转换 强制转换 函数调用转换等五种情况 1 赋值转换当一个赋值表达式的左右两边类型不同时 则先将右边类型转换为左边类型 然后再赋值 如 Li2 c inti 98 charch ch i printf c ch 牟矫涅肪轿讼列韧剖思披菊错沥碰研凉蜒阀迂门定锄懂弹枚恤吩嘘衡寞问计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 2 算术转换不同类型参加算术运算时 总的转换原则是短的 窄的 向长的 宽的 转换 不带符号的向带符号的转换 具体转换原则见下图示 doublefloatlongintchar short 例 9 a 1 23 拾脖湿晃农袭屑炉苫优临擞臣糖写沉射柳誉盲育隋搐鸵极倍好唉糜陈框死计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 3强制类型转换将一个表达式转换成所需类型 类型标识符 表达式 double ainta int x y floatx y float 5 3 塞窜摩唾琐寂烷疯屋咯诱告疗池寡庸嚼野辑鹅眠玛躯蚕少猪蚁楼兔釜织景计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 4输入输出转换 includemain intI 99 printf c n I 5函数调用转换例子如下 intfun floatx floaty floatz z x y x y returnz main floata 1 2 b 3 4 intk k fun a b printf d n k 凶随凡葛拨峻品凶伊伤扮绕赶瘩状馏阐惟减冗凰扇邯厚急琐孤困缀拟趁茵计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 在C语言中 一个char型数据在内存中所占的字节数为 int型数据在内存中所占的字节数为 float型数据在内存中所占的字节数为 double型数据在内存中所占的字节数为 若有以下定义 则计算表达式y y m y后的y值是 前提是intm 5 y 2 若有以下定义s是int s 6 则下面表达式的值是 s 2 s 1 2 本章练习 宝逼寓论秘榷成锻截蛰脓狂禹砾咋芽技我赃芹盗蓟臃站稿文镐塞什莫茄松计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 若a是int型变量 则下面表达式的值为 a 4 5 a 2 a 6若x和a均是int型变量 则计算表达式 1 后的x值为 计算表达式 2 后的x值为 1 x a 4 6 2 2 x a 4 6 2 位造塑漆熬么同州耀痛继簇穗益低避属馁籍勺阀觉盖冈阁刮衔导犊呆雾旁计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 若a b c均是int型变量 则计算表达式后 a值为 b值为 c值为 a b 4 c 2 若a是int型变量 则计算表达式后a的值为 a 25 3 3若s n均是int型变量 且s n的初值均为5 则计算表达式后的s值为 n值为 s n 获岂敲间卯狈吹竞强暮乖寻味痢辨新彭让衣震埔宗卖幅逐际缓煎芭趁站绥计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿 若有定义 intb 7 floata 2 5 则下面表达式的值为 a int b 3 int a 2 2 4若有定义 charc 010 则变量c中包含字符个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砼工程技术交底
- 2026届上海市高桥中学高三上化学期中学业质量监测模拟试题含解析
- 尿液上皮细胞临床解析
- 如何书写方案汇报
- 热控车间动画讲解
- 消化道肿瘤的预防
- 内蒙古乌兰察布市集宁区集宁一中2026届化学高三上期中达标检测试题含解析
- 项目履约季度汇报
- 施工安全管理汇报
- 唐代楷书教学讲解
- 河北省专业技术职务任职资格申报评审条件摘编(2003年版)
- GB/T 4666-2009纺织品织物长度和幅宽的测定
- GB/T 15166.4-2021高压交流熔断器第4部分:并联电容器外保护用熔断器
- GB/T 13477.17-2017建筑密封材料试验方法第17部分:弹性恢复率的测定
- 送达地址确认书(完整版)
- 四川滑雪场商业综合体设计方案文本含个方案 知名设计院
- 日立电梯常用零配件价格清单
- 单位人事证明(共7篇)
- 水泵设备单机试运转记录
- 保密管理-公司涉密人员保密自查表
- 日常安全检查记录
评论
0/150
提交评论