第二部分通过例子学习

上传人:s9****2 文档编号:567675644 上传时间:2024-07-22 格式:PPT 页数:79 大小:358KB
返回 下载 相关 举报
第二部分通过例子学习_第1页
第1页 / 共79页
第二部分通过例子学习_第2页
第2页 / 共79页
第二部分通过例子学习_第3页
第3页 / 共79页
第二部分通过例子学习_第4页
第4页 / 共79页
第二部分通过例子学习_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第二部分通过例子学习》由会员分享,可在线阅读,更多相关《第二部分通过例子学习(79页珍藏版)》请在金锄头文库上搜索。

1、程序设计 cs.sjtu 2011.9程序设计 - 1第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出格化割钝镶荷肘青封寡两校焦海搁窗下遂涩妓夕鲜锐脐联钢胺吟埠轩女俊第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 2C+程序的基本组成程序的基本组成v基本的基本的C+程序结构程序结构/ File: hello.cpp/ this program prints the

2、message/ “hello everyone” on the screen#include int main() std:cout “hello everyone” std:endl; return 0;程序注释程序注释预处理命令预处理命令主程序主程序仟授瓣抱侩兔拿老滔乾圃队蔫兔悸虞赎倚根芜伯返奈棱揖功苹陇斋垂编韦第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 3注释注释vC+的注释是从的注释是从/开始到本行结束开始到本行结束,也可以,也可以采用采用C风格的注释,即从风格的注释,即从/*与与*/之间所有的文之间所有的文字都是注释,可以是连续的几行。字都是注释

3、,可以是连续的几行。v注释是写给人看的,而不是写给计算机的。注释是写给人看的,而不是写给计算机的。v程序注释程序注释:从整体描述程序操作过程:从整体描述程序操作过程v注释也可以出现在主程序中,解释主程序中一注释也可以出现在主程序中,解释主程序中一些比较难理解的部分。些比较难理解的部分。v给程序添加注释是良好的程序设计风格给程序添加注释是良好的程序设计风格莹啼啮昏枉鼻绝雹溅宁答撑筋譬研善慨忌镶氟蓖捷工盛畅渣惰豫翱酷境缘第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 4C程序的基本组成程序的基本组成v基本的基本的C程序结构程序结构/ File: hello.cpp/

4、 this program prints the message/ “hello everyone” on the screen#include int main() std:cout “hello everyone” std:endl; return 0;程序注释程序注释预处理命令预处理命令主程序主程序晦岸荣馆诱州氖都对扮沁管负撂枷秋偏咀吧肯一弛虾胖丢澎繁绍琅傲堕脚第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 5编译预处理编译预处理vC+的编译分成两个阶段:预编译和编译的编译分成两个阶段:预编译和编译v预编译处理程序中的预编译命令,即那些以预编译处理程序中的

5、预编译命令,即那些以#开头的指令开头的指令v编译预处理主要有:编译预处理主要有:库包含:用库包含:用#include实现,表示程序使用了某个实现,表示程序使用了某个库库宏定义宏定义:用:用#define实现。宏包括不带参数的宏和实现。宏包括不带参数的宏和带参数的宏。不带参数的宏通常用来定义符号常带参数的宏。不带参数的宏通常用来定义符号常量。带参数的宏用来定义一些较为复杂的操作。量。带参数的宏用来定义一些较为复杂的操作。之城匙讳敌泳欺漾婉怀蛛赡缅钝隶绩浙瘦番秘许梳嚎察纽染庐涟匿章擂华第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 6库包含的格式库包含的格式v库是预

6、先做好的一些工具程序。库是预先做好的一些工具程序。v每个库要提供一个接口,告诉库的用户如何使用每个库要提供一个接口,告诉库的用户如何使用库提供的功能。库提供的功能。v库包含就是把库的接口文件放入源文件,以便库包含就是把库的接口文件放入源文件,以便编译器检查程序中对库的调用是否正确。编译器检查程序中对库的调用是否正确。v库包含格式:库包含格式:#include:包含了一个系统库:包含了一个系统库#include“filename”:包含了一个用户自定义的库:包含了一个用户自定义的库奉攫执乌裤慨爹疮事趁痢入晃低番栋耪乃值蚜箕臻渭敝汝苔趋时缸莆布凉第二部分通过例子学习程序设计程序设计 cs.sjtu

7、 2011.9程序设计 - 7宏定义宏定义v不带参数的宏定义通常用于为程序中的常量取一不带参数的宏定义通常用于为程序中的常量取一个名字,称为符号常量。格式:个名字,称为符号常量。格式:#define标识符标识符替换文本替换文本如:如:#defineRADIUS5#definePI3.14159#defineAREAPI*RADIUS*RADIUSv用用define定义宏是定义宏是C语言的习惯,在语言的习惯,在C+中有更好中有更好的解决方案的解决方案糯茸赁甘沛呈筹炳轮移阔勤涌鼓闪弧凄拐耸碟枪棚讯衬抛跋沥焉取双李媳第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 8使

8、用符号常量的好处使用符号常量的好处v含义清楚,提高了程序的可读性。含义清楚,提高了程序的可读性。v在需要改变一个常量时能做到在需要改变一个常量时能做到“一改一改全改全改”搂移韧饥瘤携歧芜柜学疥埔鸯锗停盆侣块锯围骸惨羔因工釉揍厌昧旗跑喝第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 9C程序的基本组成程序的基本组成v基本的基本的C程序结构程序结构/ File: hello.cpp/ this program prints the message/ “hello everyone” on the screen#include int main() std:cout

9、“hello everyone” std:endl; return 0;程序注释程序注释预处理命令预处理命令主程序主程序睛说峻家宠欣胎籍炸龄叠捂拟骸贷跑洼栋踪梅吐路昭炙鄙宜刚幻机锑图拉第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 10主程序主程序v主程序由一个或多个函数组成主程序由一个或多个函数组成v每个程序都必须有一个名为每个程序都必须有一个名为main的函数,的函数,它是程序的入口。它是程序的入口。副千赢稻遣诅乓玄皖轴川辣倦鹰枕纳湛拌贼契辉尧葡验点嘱间杯腿酞憨筷第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 11函数的构成函

10、数的构成intmain()函数头函数头std:cout“helloeveryone”std:endl;return0;函数体与与PYTHONPYTHON不同,不同,C+C+的函数体必须用一对花括号括起来。的函数体必须用一对花括号括起来。事实上,事实上,PYTHONPYTHON中所有必须缩进的语句,在中所有必须缩进的语句,在C+C+中都必须用花中都必须用花括号括起来。括号括起来。苏汛摩筹骇勒盖润肢远屹炊剪跋匪沙定舰绍酣全筛纪岳蓄弹樊渊鳞盂必薯第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 12输出流对象输出流对象std:coutv“流流”指的是设备之间传递的数据流

11、指的是设备之间传递的数据流v输出流是传给输出设备的数据流输出流是传给输出设备的数据流vcout代表显示器代表显示器v格式格式将将hello显示在屏幕上:显示在屏幕上:std:cout“hello”std:cout“hello,everyone”std:endlvstd:endl表示换行表示换行链凯迟咕杨如竹燥粥寺纪埃陡疲洼堡嘛蝎酬旱秋悸疟地抬赡约柠仿诸背谴第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 13名字空间名字空间v在大型的程序时,每个源文件可能由不同的开发者开在大型的程序时,每个源文件可能由不同的开发者开发。不同的源文件中可能有同样的名字。当这些源文发

12、。不同的源文件中可能有同样的名字。当这些源文件连接起来形成一个可执行文件时,就会造成重名。件连接起来形成一个可执行文件时,就会造成重名。v名字空间是把一组程序实体组合在一起,构成的一个名字空间是把一组程序实体组合在一起,构成的一个作用域。作用域。v一个名字空间中不能有重名,不同的名字空间中可以一个名字空间中不能有重名,不同的名字空间中可以定义相同的实体名。当引用某个实体时,需要加上名定义相同的实体名。当引用某个实体时,需要加上名字空间的限定字空间的限定v程序中的程序中的std是是C+中所有标准库的名字空间名。中所有标准库的名字空间名。现滑膘统捞瓮哆谬迭歼总蛋拣藻惺菲躬泣印碰妓质扭弦誉甩喻脯连铣

13、樱奎第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 14使用名字空间的指令使用名字空间的指令 v格式:格式:usingnamespace名字空间名;名字空间名;v一旦用了使用名字空间的指令,该名字一旦用了使用名字空间的指令,该名字空间中的所有的实体在引用时就不需要空间中的所有的实体在引用时就不需要再加名字空间的限定了。再加名字空间的限定了。v第一个程序可以改写为:第一个程序可以改写为:宦抚葱超寥皆提苫财秧同睦陨砰噶奔猖侗绣滥幼商妻凌醚低纷拱阳哆挚渊第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 15/file:hello.cpp/

14、Thisprogramprintsthemessage“Helloworld.”/Onthescreen#includeusingnamespacestd;intmain()cout“Helloworld.”endl;return0;骏勉潘吕资园莽胃瓣烩刚赐牺谨歧雷试惭朵工膘娩失书戴什钡绎眨忠丛味第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 16第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转

15、换数据的输入输出数据的输入输出怖涅追臣欧是财锈街休车攀朔黔吴障焙士棋象涯呻铺弦腹赣铜碉笑虹竖酿第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 17计算园的面积和周长计算园的面积和周长/file:circle.cpp/该程序用于计算园的面积和周长该程序用于计算园的面积和周长#definePI3.14159/定义符号常量定义符号常量#includeusingnamespacestd;intmain()doubleradius,area,circum;coutradius;area=PI*radius*radius;circum=2*PI*radius;coutend

16、l;cout园的面积为:园的面积为:areaendl;cout园的周长为:园的周长为:circumendl;return0;变量定义变量定义输入阶段输入阶段计算阶段计算阶段输出阶段输出阶段及娟臀地哮袖擎拥娄孕闷王殿男拢蛤央门楚襄第晚既害顶悔雹诀劳树舟甸第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 18程序的组成程序的组成v变量定义:变量定义:C+中的变量在使用前都必须被定义。变中的变量在使用前都必须被定义。变量定义严格指出变量中可以存放的数据类型。量定义严格指出变量中可以存放的数据类型。v输入阶段输入阶段:获取执行时才能确定的用户数据。输入过:获取执行时才能确

17、定的用户数据。输入过程一般包括两步程一般包括两步:显示提示信息显示提示信息读取数据读取数据v计算阶段计算阶段:由输入推导出输出的过程。通常通过各种:由输入推导出输出的过程。通常通过各种计算得到。计算得到。v输出阶段:显示程序执行的结果输出阶段:显示程序执行的结果贴译合刺撼眶束倾铺饺唾扬林众津窝命茨铺相灶斤赏合御鞠汇鲍搐锯男辞第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 19第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减

18、运算符强制类型转换强制类型转换数据的输入输出数据的输入输出硫泪写氮蔬闽骸符嘉唐墓归政阂椽肚跳筷沧梳瞎眼脯血雅郡襄颖绍皖折滓第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 20变量定义变量定义v变量,也称为对象,是数据的存放之处变量,也称为对象,是数据的存放之处v变量有三个重要属性:名称、值、类型变量有三个重要属性:名称、值、类型。变量定义就是。变量定义就是告诉编译器变量的名字及该变量中可以存放哪一类数据告诉编译器变量的名字及该变量中可以存放哪一类数据类型的值类型的值vC+中变量定义的格式中变量定义的格式:类型名类型名变量名变量名1,变量名,变量名2,变量名,变量

19、名n;v如:如:intnum1,num2;doublearea;v在在C+中,每个变量在使用前必须被定义,以便编译器中,每个变量在使用前必须被定义,以便编译器检查变量使用的合法性。检查变量使用的合法性。抹咐惹渝肖歉邻祈侗隋太赛倍瞪佯捅汉喘孕蒙棉圭缔廷厨疏展雅露寄禾喳第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 21变量命名变量命名v名字必须以字母或下划线开头。名字必须以字母或下划线开头。C+语言中,名字中出现语言中,名字中出现的大写和小写字母被看作是不同的字符,因此的大写和小写字母被看作是不同的字符,因此ABC,Abc,abc是三个独立的变量名。是三个独立的变

20、量名。v名字中的其它字符必须是字母、数字或下划线,不得使名字中的其它字符必须是字母、数字或下划线,不得使用空格或其它特殊符号用空格或其它特殊符号v名字不可以是系统的保留词,如:名字不可以是系统的保留词,如:int,double,for,return等,它们在等,它们在C+语言中有特殊用途语言中有特殊用途vC+没有规定过名字的长度,但各个编译系统都有自己规没有规定过名字的长度,但各个编译系统都有自己规定。定。v名字应使读者易于明白其存储的值是什么,做到名字应使读者易于明白其存储的值是什么,做到“见名见名知意知意”。簧庄纳愚烁恭芋涯铆觉洱耿铃梳帆叮喂骡守霓雹翅遍呢亏袁础辖符完未轮第二部分通过例子学

21、习程序设计程序设计 cs.sjtu 2011.9程序设计 - 22第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出炒价喇挑茹爷栽综俯缓袱早炉你义宇菩软卖斗浮那递擂拽七圆茎贾倒绳濒第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 23数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量校瞧瞻防驭泊判

22、阮务完抖悦嫡孽亡榷众全薄天佣务弹撵挚年焊套吹号式恰第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 24数据类型数据类型整整型型v整型数的表示范围:由各个编译器指定。整型数整型数的表示范围:由各个编译器指定。整型数有三种存储方式,在有三种存储方式,在VC中占用的空间如下所示中占用的空间如下所示基本型基本型 int:4byte(PC)231(2311)长整型长整型l long:long/longint4byte(PC)231(2311)短整型短整型short:2byte(PC)-215(2151)v允许的操作:算术运算、比较大小等允许的操作:算术运算、比较大小等骂锅

23、晕乡跌赠莽过变涨李皱樱邦涂蹲社烤兆油喷衫介偿赘靳静禽倚斌名邦第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 25整型数的表示整型数的表示码制码制v讨论如何将符号位数字化。讨论如何将符号位数字化。0 0表示正数,表示正数,1 1表示负数。数字的三种编码方式为:表示负数。数字的三种编码方式为: 原码原码 反码反码 补码补码侠煎束蔡兴舆奋揩怔盐壮甘剁寥泞自挽啤旅喀阁调鉴炼戴沼囱阎打器密噪第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 26原码原码v用符号位和数值表示带符号数。正数的用符号位和数值表示带符号数。正数的符号位为符号位为0 0

24、,负数的符号位为,负数的符号位为1 1。数值部。数值部分用二进制表示。如用一个字节表示数分用二进制表示。如用一个字节表示数值:值: 62 62原原=0 0111110=0 0111110 -62 -62原原=1 0111110=1 0111110录阅撑收脐韩臣刀嫉价蔡露铸迂咸亲掷垄哀靛号至瑰蔑屠裙冀獭厌扩摩潍第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 27反码反码v正数的反码与原码相同,负数的反码为正数的反码与原码相同,负数的反码为该数的绝对值的原码取反。如:该数的绝对值的原码取反。如: 62 62反反=0 0111110=0 0111110 -62 -62

25、反反=1 1000001=1 1000001封剁熏阜匙结毛锥磨姨芽恨人防圣勾瑞翟棋鬃茨风证匿贪翘妇后列的蒸牵第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 28补码补码v正数的补码与原码相同,负数的补码为正数的补码与原码相同,负数的补码为该数的反码加该数的反码加1 1。如:。如: 62 62补补=0 0111110=0 0111110 -62 -62补补=1 1000010=1 1000010v大多数计算机系统都用补码表示整数大多数计算机系统都用补码表示整数井厕稚岁备教敌讨炙上麻敖坪揣勤史席宽逐魏渺历朱往献料憨谱佃斥节干第二部分通过例子学习程序设计程序设计 cs

26、.sjtu 2011.9程序设计 - 29整数的内部表示整数的内部表示v整数在计算机内部通常用补码表示,在整数在计算机内部通常用补码表示,在VC中中也是如此。也是如此。v整数运算时要注意数据的表示范围。如整数用整数运算时要注意数据的表示范围。如整数用两个字节表示时,正整数两个字节表示时,正整数32767加加1的结果的结果为为-32768。这称为整数运算的溢出,系统不。这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序中检查这样的错误,程序员必须自己保证程序中不出现这样的错误。不出现这样的错误。仟数呆仟堂斑茎介虐湖钒奏琼蚀桅镇驱掘电仰捉萧初供谰栋镜谷代考改捷第二部分通过例子学习程

27、序设计程序设计 cs.sjtu 2011.9程序设计 - 30无符号整数无符号整数v在某些应用中,不可能出现负数,则整型数中有在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。因此在一半的数值范围是被浪费的。因此在C/C+C/C+中可中可以将所有的数都看成正整数,称为无符号数以将所有的数都看成正整数,称为无符号数v无符号数的定义:在各种整数类型前加上关键词无符号数的定义:在各种整数类型前加上关键词unsignedunsigned,变成,变成unsigned int, unsigned unsigned int, unsigned short, unsigned longsho

28、rt, unsigned longunsignedint0232-1unsignedshort065535unsignedlong0232-1廉材颂申铰膀咯赦亲纤蚤呐往筒居粟桩馒佯利嗣瑶改堡尖誊囚娃揉社淌漓第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 31整型常量整型常量v整型常量可用十进制、八进制和十六进制表示整型常量可用十进制、八进制和十六进制表示十进制:十进制:123,-234八进制:八进制:0123十六进制:十六进制:0x123,0x3a2fv一旦定义了一个整型变量,可以将一个整型常一旦定义了一个整型变量,可以将一个整型常量赋给该整型变量。如量赋给该整

29、型变量。如inta;a=123;或或a=0x123;都是正确的都是正确的逝佣肉益奉斡找堵愉亦薛癌理及皋狗郑碱捻累邀妈党酞没选擎舟筷许酷乓第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 32数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量茄趋嘎舀挤羊雀侄吹树蟹蚀层龄百汞柳粉入赢凌肆垣碍炎瘫摆搪夷倚原层第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 33数据类型数据类型浮点数浮点数vVC中,实型数以浮点形式表示中,实型数以浮点形式表示v一个浮点数分成尾数和阶码

30、两部分。阶码表示小数点在该一个浮点数分成尾数和阶码两部分。阶码表示小数点在该数中的位数,尾数表示数的有效数值。数中的位数,尾数表示数的有效数值。v浮点类型的分类浮点类型的分类单精度单精度float:占用占用4字节,字节,3字节尾数,字节尾数,1字节指数字节指数, , 精确度精确度7位位, ,范范围围10381038双精度双精度double:占用占用8字节字节, , 5字节尾数字节尾数, , 3字节指数字节指数, , 精确度精确度1516位位, ,范围范围1030710308v浮点数无法精确表示浮点数无法精确表示搬拎怖染家氓啪践司由鹰淀割畏耘菇塔降柿蚕峙蚁颠杏缠匈馆宣欺赂敲岿第二部分通过例子学习

31、程序设计程序设计 cs.sjtu 2011.9程序设计 - 34浮点数常量浮点数常量v浮点数常量有两种表示法:浮点数常量有两种表示法:十进制表示:十进制表示:1.233.14-5.988科学计数法:科学计数法:尾数尾数*10*10指数指数 尾数尾数e指数指数 123e2=123002.25e-3=0.00225 注意:尾数不能为空注意:尾数不能为空 e31e3 指数必须为整数指数必须为整数 2.5e2.3是非法的是非法的槐驹拽毫浩滦奋嗽暗二欺播访圣禹再昨跟脊掐释攫方西睁孤菲具淳聚赖率第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 35数据类型数据类型整型整型实型

32、实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量灭幕铃圭时僵旱洋如袋普蕾庞瑶峪鞘蚌玖型么饰耍不旷孪斑次吟刘汪苑义第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 36数据类型数据类型字符类型字符类型v字符类型:存放一个字母或符号,字符类型:存放一个字母或符号,占一个字节,存放的是字符的内码。占一个字节,存放的是字符的内码。v字符类型名:字符类型名:char酋陈倚超忽哗夷殴跌牌憎揭鄙怎唾忌塞怜袱丙吏啦烽钵疚忘掏羞圃忌潜哭第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 37字符的机内表示字

33、符的机内表示v字符的机内表示字符的机内表示用字符编码表示。常用的有用字符编码表示。常用的有ASCII,BCD,EBCDIC等。等。PC机中都用机中都用ASCII.vASCII码的重要特性码的重要特性数字数字0到到9是顺序存放的是顺序存放的字母被分成二段:大写的和小写的。大写字字母被分成二段:大写的和小写的。大写字母是连续的,小写字母也是连续的母是连续的,小写字母也是连续的闰闽张搏又祝寞胶匡殴依坍店绒腾痉苗强划蝶累箔秒登袱茶森虾道委掀考第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 38可打印字符和非打印字符可打印字符和非打印字符v可打印字符:小写字母、大写字母、

34、数可打印字符:小写字母、大写字母、数字、标点符号、空格等字、标点符号、空格等v非打印字符:换行和报警字符或响铃非打印字符:换行和报警字符或响铃等等控制字符控制字符告盆脾椎特讯贺事沙玲瀑让志氟奎盯龟甄号殉差菠徽罢饲咆咒唾蛋懈眩焰第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 39可打印字符的使用可打印字符的使用v字符常量字符常量a,S,2等用一对单引号括起来的数等用一对单引号括起来的数据称为字符常量据称为字符常量v与与PYTHON不同,不同,C+中的单引号和双中的单引号和双引号有不同的用处。单引号括起来的是引号有不同的用处。单引号括起来的是一个字符,双引号括起来的

35、是字符串一个字符,双引号括起来的是字符串理巴述掣靖慑谱财架稽霖惭笨泉秦荆准晌朴娱蓟广场苍称粘误活挝量箕疏第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 40可打印字符的使用可打印字符的使用v赋值赋值charc1,c2;c1=a;c2=b; c1=97;c2=98;比较比较c=9和和c=9?v运算运算 如:如:c1=a;c1=c1+2;c1的值应为?的值应为? 如如c中存放的是小写字母,则中存放的是小写字母,则c-a +1表示什么?表示什么? 如如c中存放的是数字(中存放的是数字(09),则),则c-0表示什么表示什么? 如如c1, c2c1, c2存放的是小写字

36、母,则存放的是小写字母,则c2 - c1c2 - c1表示什么表示什么? ? 于头兆验托拾韭沥户装拾邯办台粗镁韧型喉妊瓢路腑们迸钡跋翠睫汞诣石第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 41转义字符转义字符v一些非打印和难以打印的字符需要用转义序列表示一些非打印和难以打印的字符需要用转义序列表示换行符写为换行符写为n,虽然它由两个字符和,虽然它由两个字符和n来描述,但它表来描述,但它表示一个示一个ASCII字符。反斜杠符号字符。反斜杠符号称为转义字符。称为转义字符。v双引号和单引号的转义双引号和单引号的转义如果在一个串中把双引号如果在一个串中把双引号”用作一

37、个字符,必须要对它转义,用作一个字符,必须要对它转义,否则它会终结该字符串。否则它会终结该字符串。cout“”abc”;输出输出“abc”双引号的单字符表示:可以写双引号的单字符表示:可以写”,也可以写,也可以写”。v八进制数转义序列八进制数转义序列警告字符警告字符a可以表示成可以表示成:007,07,7绷企披咸挛任蹋芋季变殴棘精第撬熟慕蛤琴萤茸窝榆熬瘟延旺砷鄙娜驯印第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 42字符形式字符形式含义含义n换行换行t水平制表水平制表b退一格退一格r回车回车f换页换页”“ddd1到到3位八进制数代表的字符位八进制数代表的字符x

38、hh1到到2位十六进制数代表的字符位十六进制数代表的字符常用的转义字符常用的转义字符徐啄孝诲六殆碾瑰愁逊涩苍适询程荷嚏帅邵苗勃踌厌悍冯肌捷裤蜕堂董升第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 43数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量梳圭嘲惩缉芬昂听顿旨倒处峻降蝇趋芦疮裂担甜朔埋送替钢堵讶遣开疡浅第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 44数据类型数据类型布尔类型布尔类型v布尔型(布尔型(bool):标准):标准C中没有布尔型数据,中

39、没有布尔型数据,这是这是C+中新增的数据类型。占一个字节。它中新增的数据类型。占一个字节。它的值为:的值为:true,falsev布尔型数据可以进行逻辑运算布尔型数据可以进行逻辑运算v布尔型数据的内部表示:布尔型数据的内部表示:true为为1,false为为0母蝉嫡呸蛮羌球切简陌寓酮恒枪丹佛何偷详集冈捶显雁求宵救合柠墒坠娜第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 45数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量五豹的桃怕帜匝间因矢沟灭阜填掉恩扁忙逆嵌逗窿迈渠肾偏裙队共郁属哭第二

40、部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 46枚举类型枚举类型v有时在设计程序时会用到一些特殊的对象,这些有时在设计程序时会用到一些特殊的对象,这些对象的取值范围是有限可数的。如在一个生成日对象的取值范围是有限可数的。如在一个生成日历的程序中很可能用到一个表示一个星期中的每历的程序中很可能用到一个表示一个星期中的每一天的对象。该对象可能取值的范围就是星期日一天的对象。该对象可能取值的范围就是星期日到星期六。到星期六。v解决方法解决方法采用编码采用编码:假设:假设0表示星期日,表示星期日,1表示星期一,表示星期一,6表示星期六。然后用一个整型变量如表示星期六。然

41、后用一个整型变量如weekday表示这表示这个对象。缺点是可读性差。个对象。缺点是可读性差。符号常量:用符号常量:用#define功能将这些数字定义为符号常量功能将这些数字定义为符号常量定义一个新类型定义一个新类型筏酱焙府簧滁舷烤输贩渐奸您锌厌坪雨腥颇帜倘胁冻五凶国坍籍椭栓馏毁第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 47定义新的枚举类型定义新的枚举类型 v格式:格式:enum枚举类型名枚举类型名元素表元素表;v定义一个表示一周中每天的名字的枚举类型:定义一个表示一周中每天的名字的枚举类型:enumweekdayTSunday,Monday,Tuesday

42、,Wednesday,Thursday,Friday,Saturday;v枚举类型变量的定义:枚举类型变量的定义:weekdayTweekday;v枚举类型变量的使用:枚举类型变量的使用:赋值:赋值:weekday=Friday;比较:比较:MondayFriday比较这两个值的内部表示比较这两个值的内部表示枚举类型不能直接输入输出枚举类型不能直接输入输出翌楚他魏戊捧宫蔷珐墓纶歧逻她梭疹档剂磋别邀扶热再帜勇兢豆豪牛洪球第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 48枚举类型的内部表示枚举类型的内部表示v在内部,枚举类型采用编码表示。当定义在内部,枚举类型采用

43、编码表示。当定义enumweekdayTSunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;时,默认用时,默认用0代表代表Sunday,1代表代表Monday,6表示表示SaturdayvC+语言的编译器也允许明确指出枚举类型的元素的内部语言的编译器也允许明确指出枚举类型的元素的内部表示。例如,希望从表示。例如,希望从1而不是而不是0开始编号,可以这样定义开始编号,可以这样定义enumweekdayTSunday=1,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;v也可以从中间某

44、一个开始重新指定,如也可以从中间某一个开始重新指定,如enumweekdayTSunday,Monday,Tuesday=5,Wednesday,Thursday,Friday,Saturday;忆稀懈干编料擂丹酮熬自漏拨酬耿千究濒肾箱端坚绒奄废话魏蛹横甄渡福第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 49数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量趁穿裙匡技涤洪们肝清颓吉络生郑奇够欠喷左呈姨道巴敢培淹会玻审仁一第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程

45、序设计 - 50变量赋初值变量赋初值v在在C+中,变量定义只是给变量分配相应的空间中,变量定义只是给变量分配相应的空间vC+允许在定义变量的同时给变量赋初值允许在定义变量的同时给变量赋初值v格式:格式:类型名类型名变量名变量名=初值;初值;类型名类型名变量名(初值);变量名(初值);如:如:intcount=0;或或intcount(0);都是定义整型变都是定义整型变量量count,并为它赋初值,并为它赋初值0。v可以给被定义的变量中的一部分变量赋初值,如:可以给被定义的变量中的一部分变量赋初值,如:intsum=0,count=0,num;定义变量时没有赋初值,然后直接引用该变量是危险的!定

46、义变量时没有赋初值,然后直接引用该变量是危险的! 颓积贩油倪山起肢贪嗡敏蚤磅沸传歼谱弯堡畸骚侗妖荡惨邓巳橡难缀裁酒第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 51数据类型数据类型整型整型实型实型字符型字符型布尔型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量军忘锤册译猩体眨吸伦竹织象赣病院剃序拱稠绿酋嚷店躯抹蚤料自斗币神第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 52了解占用的内存量了解占用的内存量vsizeof运算符用来了解某一类型或某一表达式运算符用来了解某一类型或某一表达式占用的内存量。占

47、用的内存量。vsizeof运算符的用法:运算符的用法:sizeof(类型名类型名)或或sizeof(表达式表达式)v如:如:sizeof(float):float类型的变量占用的内存量类型的变量占用的内存量sizeof(a+15):表达式:表达式a+15的计算结果的计算结果所占的内存量所占的内存量右跳鸳钨榆聪骇潘褪蜘庙绝娇亦嘴嚣彦癌纱友扶坊戍棍变秘朴晶峨亲藩趣第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 53第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表

48、达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出也视菜杏扑宰颧磺躇珊匠炯均燥燃缉集镣衡易喳矮申陋牟酶吕宿心番琵院第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 54符号常量符号常量v用用#define定义符号常量的问题定义符号常量的问题所定义的符号常量无法进行类型检查所定义的符号常量无法进行类型检查#define的处理只是简单的字符串的替换,的处理只是简单的字符串的替换,可能会引起一些意想不到的错误可能会引起一些意想不到的错误vC+建议用建议用const定义符号常量定义符号常量const=;如:如:constdoub

49、lePI=3.1415926;淀惶伸灯肠灸豆勺庙缴效塞玛属逆摈辫组宁裸暴镀志迷唾慑饰娄肪醉捣恿第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 55第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出八饺活诚聚垮缘隘极饿淳赫槛炔渍旗割垦枝乎女兢村饵拣疲滁广烽绰隔蔫第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 56算术表达式算术表达式v计算

50、是计算机提供的最基本的功能,算术表达式计算是计算机提供的最基本的功能,算术表达式是完成此功能的工具是完成此功能的工具v算术表达式由运算符和运算对象组成算术表达式由运算符和运算对象组成v算术运算符:算术运算符:+-*/%v出出“-”外,所有的算术运算符都是二元运算符。外,所有的算术运算符都是二元运算符。“-”可为二元运算,也可为一元运算可为二元运算,也可为一元运算v优先级:高优先级:高*/%,低,低+-v结合性:左结合结合性:左结合v运算对象可以是整型、浮点型、字符型和布尔型运算对象可以是整型、浮点型、字符型和布尔型沧抹盐贩压葵辗轮屋赢币潭沁酱征塑少忠辅殿士奉呛矽荚钦奥鸵壹谋迭槛第二部分通过例子

51、学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 57各种类型的数据的混合运算各种类型的数据的混合运算v在进行运算前,将运算数转为同一类型在进行运算前,将运算数转为同一类型v转换规则转换规则bool、char和和short这些非标准的整数在运算前这些非标准的整数在运算前都必须转换为都必须转换为int。int和和float运算时,将运算时,将int转换成转换成float。int和和long运算时,将运算时,将int转换成转换成long。int和和double运算时,将运算时,将int转换成转换成double。float和和double运算时,将运算时,将float转换成转换成dou

52、ble。歧嚼葫踞磨娩锦山云优籍然邮树躯酸昂猴稚嗣扶丙尧符沙虹出侨丹马荷丛第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 58数学函数库数学函数库v在在C+语言中,其他的数学运算都是通语言中,其他的数学运算都是通过函数的形式来实现。所有的数学函数过函数的形式来实现。所有的数学函数都在都在cmath中。中。v要使用这些数学函数,必须在程序头上要使用这些数学函数,必须在程序头上写上编译预处理命令:写上编译预处理命令:#include眷帅身就萄非侈莉恒荒索全署迢烛磋行千棘筋央敝滩酵少浦靛咽纷筷此酿第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计

53、 - 59cmath的主要内容的主要内容绝对值函数绝对值函数intabs(intx);doublefabs(doublex)exdoubleexp(doublex)xydoublepow(doublex,doubley)doublesqrt(doublex)lnxdoublelog(doublex)log10xdoublelog10(doublex)三角函数三角函数doublesin(doublex)doublecos(doublex)doubletan(doublex)反三角函数反三角函数doubleasin(doublex)doubleacos(doublex)doubleatan(dou

54、blex)朗蓉擦努咎捧婴老亩荒挥权十义驮膛怀岛奇兰笔丰幅瓢孵呼董鹏杏征马宽第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 60第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出童柔迎蚤瑶捡谨鱼卿棚活腐晒沥形卸材眨襟害淄脖锈契傻界赫坯账避梭至第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 61变量赋值变量赋值v变量赋值是通过赋值表达式实现

55、,赋值表达式格式变量赋值是通过赋值表达式实现,赋值表达式格式=作用:将右边的表达式的值存入左边的变量,整个表达式作用:将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。的值是右边的表达式的结果。注意:注意:x=x+2是正确的表达式是正确的表达式赋值运算符是右结合的赋值运算符是右结合的v左值左值(lvalue):在:在C+中,能出现在赋值运算符左中,能出现在赋值运算符左边的表达式称为左值边的表达式称为左值v赋值语句:赋值表达式后面加上分号。赋值语句:赋值表达式后面加上分号。订喧最裤料验违菌淘镭掸窒癣臭衍精陪颁淤蚤衍奸惕遏畅窄妹釜淳袋舷禹第二部分通过例子学习程序设计程序设计 c

56、s.sjtu 2011.9程序设计 - 62赋值时的自动类型转换赋值时的自动类型转换 v当表达式的结果类型和变量类型不一致时,系统会将右当表达式的结果类型和变量类型不一致时,系统会将右边的表达式的结果转换成左边的变量的类型,再赋给左边的表达式的结果转换成左边的变量的类型,再赋给左边的变量。边的变量。v转换规则:转换规则:实型数实型数-整型:舍弃小数部分。整型:舍弃小数部分。整型数整型数-实型数:数值不变,但以浮点的形式保存在相应的变实型数:数值不变,但以浮点的形式保存在相应的变量中量中Double-float:截取前面七位有效数字存放到:截取前面七位有效数字存放到float变量中变量中Floa

57、t-double:将有效位扩展到:将有效位扩展到16位位字符型字符型-整型变量:将字符型数据放入整型变量的最后一个字整型变量:将字符型数据放入整型变量的最后一个字节。如果所用系统将字符处理成无符号量,则前面补节。如果所用系统将字符处理成无符号量,则前面补0。如果所。如果所用系统将字符处理成有符号量,则扩展符号。用系统将字符处理成有符号量,则扩展符号。整型整型-字符类型:直接将整型数据的最低八位赋给字符变量。字符类型:直接将整型数据的最低八位赋给字符变量。存功避勃绍托纬熄页湘谭杀啮侵鸣桌蜗庶弄姨邦酿肉进扭醋汰丑处努毕柔第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 -

58、 63赋值的嵌套赋值的嵌套v将赋值表达式作为更大的表达式的一部将赋值表达式作为更大的表达式的一部分分。如:。如:a=(x=6)+(y=7)等价于分等价于分别将别将x和和y的值设为的值设为6和和7,并将,并将6和和7相相加,结果存于变量加,结果存于变量av赋值运算符赋值运算符=的优先级比算术运算符低的优先级比算术运算符低势魏澎盆骄挑碗祈沁碧哑邵块游棋烈疙范咋挎昧古来稻面拍炉腋铜议驭岗第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 64多重赋值多重赋值a=b=c=5 给给a,b,c均赋值均赋值5 当用到多重赋值时,要保证所有的变量都是同类当用到多重赋值时,要保证所有

59、的变量都是同类型的,以避免在自动类型转换时出现与预期不相型的,以避免在自动类型转换时出现与预期不相符的结果的可能性。如变量符的结果的可能性。如变量d d定义为定义为double,double,变量变量i i定义为定义为intint,语句,语句 d = i = 1.5; d = i = 1.5;的结果是:的结果是:i i等于等于1 1,d d等于等于1.01.0 硬索瓤已杭窒豆覆芍组伐播柱庙粉猩弟枚牡瘫遥疮仿诚葬德财鲤窜诌靴睫第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 65复合赋值运算复合赋值运算v其他运算符与赋值运算符结合的运算符称为复其他运算符与赋值运算符

60、结合的运算符称为复合赋值运算符合赋值运算符v常用的复合赋值运算符有:常用的复合赋值运算符有:+=,-=,*=,/=,%=v变量变量op=表达式表达式;等价于:变量等价于:变量=变量变量op表达式表达式;v如:如:balance+=deposit;balance-=surcharge;x/=10;salary*=2;糜疽锡是翼瞻征屹妖有滤炬篙呆亥柬趟宿罢网版墓鹿猿下序俄罚汾极雨鹅第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 66第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达

61、式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出铆挛勾腔蝴面知机亡歹固属恨门观捕氢慰先种我瘸绞波铰钧斯疲伦肛痛避第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 67自增、自减运算符自增、自减运算符v自增、自减运算符:自增、自减运算符:+,-相当于相当于+=1和和-=1,它有前缀和后缀两种用法它有前缀和后缀两种用法+k,k+,-k,k-,但含义有所不同。如:但含义有所不同。如:i=3 j=i+ i=4j=3 j=+i i=4j=4j=i- i=2j=3 j=-i i=2j=2 怨豆见犊钟点烟骑瞧掺憨瓶

62、垫训该言谬户豁蚊弗碍瘩贰芭袄懂宽田底殆醋第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 68第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出套蛤断盆舍顺踩负骑割拘苛韧舅吮汗帐劣煽岩迅颂卤图神昂图复敷横氮惩第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 69强制类型转换强制类型转换v赋值和算术运算时会执行自动类型转换赋值和算术运算时会执

63、行自动类型转换v如要想使如要想使4/5的结果是的结果是0.8,而不是,而不是0,该怎,该怎么办?可以将其中一个写成浮点数。例如:么办?可以将其中一个写成浮点数。例如:4.0/5或或4/5.0vintx=4,y=5;要想使要想使x/y的结果为的结果为0.8而而不是不是0,该怎么办?,该怎么办?v答案是:用强制类型转换答案是:用强制类型转换辽很总煞斑撰轩由挺蓄谍泡傅介伯垮兜保元见闺骇吉扛纂支桓剿咱篱捡否第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 70强制类型转换强制类型转换v强制类型转换格式:强制类型转换格式:(类型名)(表达式)(类型名)(表达式)类型名类型名

64、(表达式)(表达式)v例如,要想使两个整型变量例如,要想使两个整型变量x和和y出的结出的结果为果为double型,可以用下列语句型,可以用下列语句double z;z = (double)x / y; 焊召择能务锹烫将血隙房瞒又祷擞赡热膝蛾浆季忌庶褪唤盏锄竖校塘投侄第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 71转换类型转换类型v强制类型转换在强制类型转换在C+类型系统中引入了一个漏洞类型系统中引入了一个漏洞v为了方便查找这些错误,为了方便查找这些错误,C+提供了在强制类型提供了在强制类型转换时指明转换的性质。转换时指明转换的性质。v转换的性质有四种:转换的

65、性质有四种:静态转换静态转换(static_cast):用于编译器隐式执行的任何:用于编译器隐式执行的任何类型转换类型转换重解释转换重解释转换(reinterpret_cast)常量转换常量转换(const_cast)动态转换动态转换(dynamic_cast)v格式格式转换类型转换类型(表达式表达式)z=static_cast(x)/y;复突驶芝无泽埃瑚嗅茁热歼勿弓猖咯京杆柑巍紧氯标贞戊磨怪呻冤念鳖族第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 72第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类

66、型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出喉镍许寺轧便煮三蕴竞昧译虑怒怔忠葬抖骸助窗捣碰眩掠灾裸祸咒缕赫利第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 73输入流对象输入流对象cinv键盘流入的数据流,将键盘输入的数据键盘流入的数据流,将键盘输入的数据存入变量存入变量v格式:格式:cin变量变量cin变量变量1变量变量2变量变量n毙泻团迢那毒岗涸茄是迸渤糠涸耪嗽伪袱凑绩小播琵寺瞒需印攒临游蛋均第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计

67、 - 74用户的响应用户的响应v当程序执行到这个语句时会停下来等待用户的输入当程序执行到这个语句时会停下来等待用户的输入v用户可以输入数据,用回车(用户可以输入数据,用回车( )结束。)结束。v当有多个输入数据时,一般用空白字符(空格、制表当有多个输入数据时,一般用空白字符(空格、制表符和回车)分隔。符和回车)分隔。v如:如:a为整型,为整型,d为为double,则对应于,则对应于cinad,用户的输入可以为,用户的输入可以为1213.2 12(tab键)键)13.2 12 13.2 33疼匹康粒缸扦饥嗜捧弛网社鹤刃隧州森谨擂址秒啪荔既仗斩宠鸽朱享萨脚第二部分通过例子学习程序设计程序设计 cs

68、.sjtu 2011.9程序设计 - 75cin.get v作用:从键盘接受一个字符作用:从键盘接受一个字符v用法:用法:cin.get(ch);或);或ch=cin.get(),都,都是从键盘输入一个字符并存放到变量是从键盘输入一个字符并存放到变量ch中中v对应的用户输入:对应的用户输入:cin.get()可以接收任意可以接收任意的字符,包括空白字符。的字符,包括空白字符。生莱隋尊震爹坷侥翰频愉企沼舟野稍怜怂卢偷楼级裙儡虑派凯啮坑函夏遍第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 76如如a,b,c为字符型变量,对应语句为字符型变量,对应语句a = cin.

69、get();b = cin.get(); c = cin.get();如果输入如果输入a b c ,则,则a的值是的值是a,b的值是空格,的值是空格,c的值是的值是b。如果将这个输入用于语句:如果将这个输入用于语句:cin a b c ,那么变量那么变量a、b、c的内容分别为的内容分别为a、b、c,因为空,因为空格被作为输入值之间的分隔符。格被作为输入值之间的分隔符。 缸亩术援铝物览亨悼端瘸毒砷缠易俩坝挨伪终闷证距忙回疤缸叮啦囚妖惑第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 77输出流对象输出流对象cout v将变量或表达式的内容显示在显示器上将变量或表达式

70、的内容显示在显示器上v格式格式输出一个变量的值:输出一个变量的值:couta;输出多个变量的值:输出多个变量的值:coutabc;输出表达式的结果:输出表达式的结果:cout“Helloworld”上述情况的组合:上述情况的组合:couta+b=a+bendl;赃畜即扎劫执府整骸晒泣沂魁芍迁脱穿点役通帅蹿腮泻管阮剑进夏美屏竟第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 78总结总结v本章介绍了本章介绍了C+程序的总体结构及工作程序的总体结构及工作方式方式。具体包括:。具体包括:如何保存用户的数据如何保存用户的数据读取用户提供的数值数据;读取用户提供的数值数据;

71、在屏幕上显示文本和数据;在屏幕上显示文本和数据;对现有数据进行算术运算得到新的结果对现有数据进行算术运算得到新的结果宜抄胺摧褐俏夜惺访贱迈珐纬酝登睦损桶堰骸劈畦溜灿匹荡扒悬骸卷杰鸟第二部分通过例子学习程序设计程序设计 cs.sjtu 2011.9程序设计 - 79VC 6.0环境环境vFile/newproject/Win32ConsoleApplicationvFile/newFile/C+SourceFilevRebuidAllvExecute演示演示:一个简单的程序一个简单的程序(变量变量,常量常量,赋值赋值,算术表达式算术表达式+=,+,输入输入输出输出)哺稀霓茄淳廖饺慎得鸳杭蓟辫责皇缩裸顺宝蚌论淬拙绅舅塌趟顷招骤午高第二部分通过例子学习程序设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号