已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章基本数据类型与输入输出 授课教师 2020 4 22 2 第二章数据类型和输入输出 2 1字符集与保留字2 2基本数据类型2 3变量定义2 4字面量2 5常量2 6I O流控制2 7printf与scanf注 红色重点必讲 蓝色一般讲授 黑色可不提 2020 4 22 3 学习目标 熟悉基本数据类型理解变量 常量的概念掌握各种常量的性质和定义学会I O流的使用了解printf和scanf输入输出的作用 2020 4 22 4 2 1字符集与保留字 关键字keyword 也称保留字 是C 预先定义好的标识符如表2 1所示C定义了32个关键字 intfloatlongshortdoforifwhile C 补充了29个关键字 friendinlinenewprivatepublic 注意 用户定义的标识符 名字 不能与c c 关键字有相同的拼法和大小写 关键字也不能重新定义 2020 4 22 5 2 2基本数据类型 程序是针对数据进行处理的 对各种数据进行处理之前都要对其类型预先加以说明 其目的是 便于为这些数据分配相应的存储空间说明了程序处理数据时应采用何种具体运算方法计算机只能存放二进制数据 不同类型的数据占据不同长度的存储单元 不同类型的数据对应不同的值域范围 不同类型的数据对应不同的操作 运算 及规则 如整型 int4字节范围 2147483648 2147483647 32位处理器 2020 4 22 6 C 数据类型如下 基本数据类型 C 内部定义的数据类型非基本数据类型 由基本数据类型组合而成或用户自定义的数据类型 图2 1 2020 4 22 7 数据类型修饰符 short 只能修饰整型 int long 只能修饰int和double longint可简写为longSigned 有符号Unsigned 无符号Signed和unsigned只能修饰char和int 默认 缺省 char和int为有符号 实型数总是有符号的 不能用unsigned修饰 2020 4 22 8 基本数据类型 整型注 各数据类型所占的字节数与计算机 编译器等相关 短整型 两字节 shortint 简写short 32768 32767即 215 215 1 signedshortint 215 215 1 unsignedshortint 0 65535即0 216 1 基本整型 四字节 int 231 231 1 signedint 231 231 1 unsignedint 0 232 1 长整型 四字节 longint 简写long 231 231 1 signedlongint 231 231 1 unsignedlongint 0 232 1 例 32位vc 6 0 2020 4 22 9 例 整型数据的溢出 includeintmain shorta b a 32767 b a 1 cout a a endl b b endl return0 2020 4 22 10 基本数据类型 字符型 布尔型 字符型 占一个字节 char 27 27 1 signedchar 27 27 1 unsighedchar 0 28 1 布尔型 bool 即逻辑型 占用一个字节0表示false 1表示true C无此类型 2020 4 22 11 实型 实型数据一般按照指数形式存储 系统把实型数据分成小数部分和指数部分 分别存放 float 浮点型 4字节 有效数字7位 double 双精度 8字节 有效数字15位 longdouble 长双精度 10字节 有效数字19位 例 float单精度浮点型 3 4 10 38 3 4 1038 基本数据类型 实型 2020 4 22 12 例 实型变量有效数字的意义 includevoidmain floata b 定义单精度浮点型变量a 123456 789e5 使用变量ab a 20 0f cout a a endl b b endl 单精度实型变量只能保证7 8位有效数字 后面数字是无意义的 并不能准确地表示该数因此应避免将一个很大的数和一个很小的数直接相加或相减 否则就会 丢失 小的数 2020 4 22 13 补充 C 强类型语言 要求程序设计者在使用数据之前对数据的类型进行声明 用sizeof 数据类型 可以确定数据类型的字节长度cout sizeofintis sizeof int endl 在16位计算机上输出 sizeofintis2在32位计算机上输出 sizeofintis4 2020 4 22 14 例 用sizeof 数据类型 确定该类型占用的字节数 2020 4 22 15 2 3变量定义 什么是变量 在程序运行中其值可以改变的量称为变量 一个变量应该有一个名字 在内存中占据一定的存储单元 在该存储单元中存放该变量的值 变量的理解变量名实际上是一个符号地址 在对程序编译连接时由系统给每一个变量名分配一个内存地址 在程序中从变量中取值 实际上是通过变量名找到相应的内存地址 从其存储单元中读取数据 变量有一个名字 并在内存中占据一定的存储单元 变量名与变量值是两个不同的概念 2020 4 22 16 变量的命名规则不能是C 关键字 只能由字母 数字或下划线组成 第一个字符必须是字母或下划线 中间不能有空格 变量名长度不能超过编译器规定的长度 一般以不超过31个字符为宜不要与C 的库库函数名 类名 对象名相同合法变量名 a b1 area m nCount不合法变量名 1 name studentone float 2 3变量定义 2020 4 22 17 2 3变量的定义 变量必须先定义后使用定义方式 变量类型变量名列表 inta b c numberOfStudent 变量赋值与初始化用运算符 给变量赋值intnumberOfStudent numberOfStudent 80 定义并初始化 intnumberOfStudent 80 a 5 intnumberOfStudent 80 a b 2020 4 22 18 typedef为一个已有类型名提供一个同义词 并不实际定义一个新的类型 并不单独分配内存空间 只起到帮助理解的作用 语法规则 typedef类型名新类型名 typedefdoubleprofit typedefintINT integer INTa Profitd 2 3变量的定义 2020 4 22 19 2 4字面量 整型数 即整型字面量 3种表示形式 十进制数 123 345 0八进制数 以0开头的整数 0123表示八进制数 123 8 等于十进制数83十六进制数 以0X或0 x开头的整数 0X123 0 x123 等于十进制数291 字面量 各种数据在编程时的具体表示 十进制数有正负之分 八进制和十六进制只能表示无符号整数整数后面加L或l表示longint整数 2020 4 22 20 实型数 即实型字面量 2种表示形式 小数形式 12 3 345 0 56指数形式 以0开头的整数123e5 123E5 e或E前面必须有数字 后面的指数必须是整数如 e53 4e5 5e e5 非法C 中如果没有任何说明 表示double型 实数后加f或F表示float型 实数后加L或l表示longdouble float型 double型 longdouble型 longdouble型 float型 double型 longdouble型 longdouble型 2 4字面量 2020 4 22 21 字符是用单引号括起来的一个字符 a 5 转移字符 以反斜杠 开头的字符序列字符形式值功能 a0 x07响铃 n0 x0A换行 t0 x09制表符 0 x27单引号 Cout x07operating tsystem n Cout thisisaexample Operatingsystem thisisaexample 2 4字面量 2020 4 22 22 字符字符的赋值 charc1 n c2 x07 c3 B c4 97 c5 97 某些情况下 字符型数据和整型数可以通用 inta b charc 97 cout a endl cout c endl 2 4字面量 2020 4 22 23 字符的ASCII码 了解 2020 4 22 24 字符的ASCII码 了解 2020 4 22 25 字符串是由一对双引号括起来的字符序列 Hello Iamateacher 字符串不同于字符 Monday 不能将字符串赋给字符charc abc 错误字符串的长度 所包含的字符个数字符串所占存储单元数 字符串长度 1 2 4字面量 2020 4 22 26 枚举符通过建立枚举类型定义枚举符 2 4字面量 例 enumcolor RED BLUE GREEN WHITE BLACK 没指定值 则默认 0 1 2 3 4inta 1 if a BLUE cout BLUE n 例 enumcolor RED 100 BLUE 200 GREEN WHITE 300 GREEN为201color是枚举类型名 不是变量名 不占内存空间定义枚举变量 colorpaint GEEN Paint 200 error枚举变量只能取定义时的值 2020 4 22 27 2 5常量 定义 常数或固定不变值的名字常量的定义const类型名常量名 constfloatpi 3 13159 常量必须赋初值 且程序对其只能读不能修改constfloatpi 3 13159 Pi 3 142593 errorconstfloatarea area 9 43 error常量定义中初始化值可以是一个不依赖于运行的表达式constintsize 100 sizeof int constintnumber max 15 23 error 2020 4 22 28 define 是C的编译预定义命令 可定义常量C 中用const而不用 define C 允许 dedine是为了兼容C例如 definePI3 14 后面无分号 2020 4 22 29 2 6I O流控制 所谓输入输出是以计算机主机为主体而言的 C 本身不提供输入输出语句 输入和输出操作是由函数或输入输出流来实现的 在使用C 库函数时 要用预编译命令 include 将有关的 头文件 包括到用户源文件中 include 2020 4 22 30 cin x y cout Thisismyfirstprogram 2 6I O流控制 2020 4 22 31 屏幕显示输出 用插入操作符 intmain cout MynameisPeter n cout theIDis cout 2 cout endl 等价于 cout MynameisPeter n theIDis 2 endl I O书写格式 输出 2020 4 22 32 I O书写格式 输入 键盘输入 使用抽取操作符 从cin输入流中抽取字符 intmyAge cin myAge inti floatf longl cin i f l 2020 4 22 33 使用控制符 控制符是在头文件iomanip h中定义的对象 使用控制符时 需要在程序头上加 include表2 4 2020 4 22 34 控制浮点数值显示 setprecesion n 控制符是在头文件iomanip h中定义的对象 使用控制符时 需要在程序头上加 include ch2 1 cpp 2020 4 22 35 设置值的输出宽度setw n floatamount 3 14159 cout setw 4 amount endl 输出 3 14159 cout setw 8 10 20 endl 输出 1020 cout setw 8 10 setw 8 20 endl 输出 10 2 2020 4 22 36 输出八进制和十六进制数Hex oct dec在iostream h中定义用iomanip h中的setiosflags ios uppercase 控制16进制数大写输出 运行结果为 Decimal 1001Hexadecimal 3e9Octal 1751 2020 4 22 37 设置充填字符setfill 运行结果为 21 21 21 2020 4 22 38 左右对齐输出Setiosflags ios left Setiosflags ios right 运行结果为 123123 ch2 4 cpp 2020 4 22 39 强制显示小数点和符号Setiosflags ios showpoint Setiosflags ios showpos ch2 5 cpp include includevoidmain cout 10 0 5 endl cout setiosflags ios showpoint 10 0 5 endl ch2 6 cpp include includevoidmain cout 10 20 endl cout setiosflags ios showpos 10 20 endl 2020 4 22 40 2 7printf与scanf 用scanf和printf函数进行输入和输出是标准输入输出函数在c语言中使用在头文件stdio h中声明 2020 4 22 41 用scanf和printf函数进行输入和输出printf函数一般格式 printf 格式控制字符串 输出项1 输出项2 2 7printf与scanf 例 includevoidmain inta 10 b 20 pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽医学高等专科学校单招职业技能考试必刷测试卷带答案解析
- 2026年新疆昌吉回族自治州单招职业适应性测试题库及答案解析(名师系列)
- 2026年兰州科技职业学院单招职业倾向性测试必刷测试卷及答案解析(夺冠系列)
- 2026年山东华宇工学院单招职业技能测试必刷测试卷带答案解析
- 房屋拆建加固协议书
- 房屋按揭中介协议书
- 房屋改造合同或协议
- 房屋权利转让协议书
- 房屋清空协议书范本
- 房屋装修质保协议书
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- DB23T 2334-2019 装配式混凝土渠道应用技术规范
- 《千里江山图》课件ppt
- 酒店公寓物业管理规约
- 通透(杨天真重磅新作)
- DB32-T 4281-2022 江苏省建筑工程施工现场专业人员配备标准
- 区块链技术及应用PPT完整全套教学课件
- 钢结构提升安全技术交底
- 《商法总论》课件:商法概论
- 14D504 接地装置安装
- 【2022】举报信(法官滥用职权,违规办案)
评论
0/150
提交评论