C语言第Ⅱ部分 程序语言基础(第三章).ppt_第1页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第2页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第3页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第4页
C语言第Ⅱ部分 程序语言基础(第三章).ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 部分程序语言基础 C语言 第三章数据类型与基本输入输出 C C 语言简介 C语言是国际上广泛流行的计算机高级语言 它适合作为系统描述语言 既可以用来编写系统软件 也可用来编写应用软件 C 是从C语言发展演变而来的 首先是一个更好的C C 引入了类的机制 最初的C 被称为 带类的C C C 程序实现过程 编辑器 预处理器 编译器 连接器 装入器 磁盘 磁盘 磁盘 磁盘 内存 内存 CPU 磁盘 程序在编辑器中生成源程序并存盘 A cpp a c 编译器在编译前调用预处理器实现文本替换 建立目标程序并存盘 将目标码与库连接 生成a exe文件并存盘 把程序放入内存 CPU取出指令并执行 可以在执行程序时存放新的数据值 C程序实例 includeusingnamespacestd intmain inti 1 ni gi do cin ni gi if gi 80 cout ni ni gi gi endl i i 1 while i 50 return0 词法记号 关键字C 预定义的单词标识符程序员声明的单词 它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号分隔符 用于分隔各个词法记号或程序正文空白符空格 制表符 TAB键产生的字符 换行符 Enter键所产生的字符 和注释的总称 标识符 字符集大小写的英文字母 A Z a z数字字符 0 9特殊字符 空格 标识符标识符的构成规则 以大写字母 小写字母或下划线 开始 可以由以大写字母 小写字母 下划线 或数字0 9组成 大写字母和小写字母代表不同的标识符 定义标识符表示下列数据 姓名 学号 性别 年龄 成绩 电话 住址 学校名 1 望文知意2 有规则3 不超过20个字符 includeusingnamespacestd intmain void constintPRICE 30 intnum total floatv r h num 10 total num PRICE cout total endl r 2 5 h 3 2 v 3 14159 r r h cout v endl int float是C语言的数据类型名 数据类型 C语言中的数据类型包括基本数据类型 内置数据类型 和用户自定义数据类型 基本数据类型 整型 浮点型 空值类型 void 布尔型 字符串类型 字符型 整型数据 十进制八进制十六进制000 x0150170 x0F6501010 x41 计算机只能存储二进制数 二进制 八进制 十六进制转换 二进制八进制十六进制011100001600 x70111100013610 xF1 整型数据及取值范围 类型说明符位数数值范围短整short16 32768 32767基本int32 231 231 1 长整long32 231 231 1 无符号unsignedshort160 65535unsigned int 320 232 1 unsignedlong320 232 1 整数的使用 输入两个整数 求和 includeusingnamespacestd intmain shortintx1 x2 cin x1 x2 输入两个数 shortinty x1 x2 cout y y endl return0 输入 34y 7 includeusingnamespacestd intmain shortintx1 x2 x1 1 x2 32767 赋值shortinty x1 x2 cout y y endl return0 运行结果 y 32768 数据溢出 浮点型 longdouble 长双精度浮点类型 占16个字节 double 双精度浮点类型 占8个字节 float 单精度浮点类型 占4个字节 浮点型 float的存储方式 双精度的存储方式 字符型数据 字符常量单引号括起来的一个字符 如 a D 字符变量用来存放字符常量例 charc1 c2 c1 a c2 A 字符数据在内存中的存储形式以ASCII码存储 占1字节 用7个二进制位字符数据的使用方法字符数据和整型数据之间可以运算 字符数据与整型数据可以互相赋值 Page21 01001010 字符J在内存中的存储 转义字符使用 includeusingnamespacestd intmain charc1 a cout t c1 endl return0 运行结果 a 大小写字母转换 includeusingnamespacestd intmain charc1 a c2 b c1 c1 32 c2 c2 32 cout c1 c2 endl return0 运行结果 AB 整形字符型互用 includeusingnamespacestd intmain charc1 a intx1 x1 c1 cout x1 x1 endl c1 x1 5 cout c1 c1 endl return0 运行结果 x1 97c1 f 布尔型数据 布尔型 bool 数据的取值 只有false和true两个值 字符串常量例 CHINA a a 所以 charc c a Page28 字符串类型 字符串类型数据是指用双引号括起来的若干字符序列 01001010 01001111 01001110 00000000 字符串 JON 在内存的存储 空值类型void void数据类型没有数值 void数据类型主要用于指针和函数 程序中的数据是如何存储到内存中的 一 首先要通过变量把两个整数存储到内存中 二 CPU从内存中取出数据求和 C语言程序中如何使用变量存储数据 变量的声明intx 声明整型变量intwordCut Radius Height doubleFlightTime 声明浮点型变量 变量的使用 4个字节 intx 请为保存一个整数提供足够的空间 用名称x标记该空间 变量的使用 变量声明的格式 数据类型名变量名 变量的使用 变量声明的格式 数据类型名变量名 已定义的数据类型 变量的使用 变量声明的格式 数据类型名变量名 已定义的数据类型 标识符 程序中要使用一致和有意义的变量名 变量初始化 例 intx 3 doublef 3 56 charc a intc 5 intb x Page38 4个字节 intx 3 请为保存一个整数提供足够的空间 用名称x标记该空间 把值3存进去 变量声明时赋值称为变量的初始化格式 数据类型名变量名 初始值 变量名 初始值 变量声明时赋值称为变量的初始化格式 数据类型名变量名 初始值 变量名 初始值 可以是常量 也可是变量 编程序求两个整数的和 intx1 5 x2 78 把5 78保存到x1 x2所申请的内存单元中 inty x1 x2 把5 78的和存到变量y中inty 5 78 不借助变量 直接使用5 78 常量 常量 常量是变量的特例 其实很少有至永远不变的变量 常量的作用 1 便于修改2 便于书写 常量的分类 字面常量如 A hellow 中国 3 1415标识常量 用标识符来表示常量标识常量声明的语法格式是 const数据类型名标识符 初始值 如 constintNUMBER 111111 constMAX 没有指定初值constintNUMBER 111111 NUMBER 222222 修改标识常量NUMBER的值是错误的 引用 C C 语言允许为变量和对象定义别名 称为 引用 引用声明的语法格式 类型标识符 引用名 变量名 intx 8 int 8 x t intx 8 int 90 x t 常引用 只能通过变量的常引用使用变量的值 不能通过变量的常引用修改变量的值 intvar 100 const 常引用 只能通过变量的常引用使用变量的值 不能通过变量的常引用修改变量的值 intvar 100 const 常引用 只能通过变量的常引用使用变量的值 不能通过变量的常引用修改变量的值 intvar 100 const 错误 不能通过常引用修改变量var的值 练习声明变量 初始化 常量 引用 输入半径计算圆的面积 includeusingnamespacestd constdoublePI 3 14159 定义常量intmain doubler area 定义变量r 56 7 area PI r r cout area area endl double 运行结果 area 10099 9area 19458 inty 5 78 运算符 运算符和表达式 运算符分为一元运算符 二元运算符 三元运算符表达式是由标识符 数值 函数 运算符按求值规则构成的式子 运算符 基本算术运算符 若整数相除 结果取整 取余 操作数为整数 优先级与结合性先乘除 后加减 同级自左至右 Page56 sizeof运算符 语法形式sizeof 类型名 或sizeof 表达式 结果值 类型名 所指定的类型或 表达式 的结果类型所占的字节数 例 sizeof short sizeof x 自增 自减 i i前置自增 自减等价于i i 1 i i 1i i 后置自增 自减等价于i i 1 i i 1 自增和自减运算符的操作数必须是整型变量 inti 4 cout i endl 先使用i的值 然后再刷新icout i endl 先刷新i的值 然后再使用i inti 4 cout i endl cout i endl cout i endl i i 1 inti 4 cout i endl cout i endl i i 1 cout i endl 7 8 27 27 2inta 6 cout a cout a 7 8 2结果 3 97 2结果 37 2结果 3inta 6 结果 6cout a 结果 6cout a 结果 4 赋值运算符 举例n x 5 变量x必须有值表达式的类型赋值号左边对象的类型表达式的值赋值号左边对象被赋值后的值 Page64 a 34 b 34 c 34 a b c 34 X y 2 z 3 y 2 Z 3 X y z 编写程序 计算和显示一年中分钟的数量 includeintmain intsecondSum secondSum 365 24 60 cout secondSum secondSum endl return0 关系运算符 关系运算是比较简单的一种逻辑运算 优先次序为 优先级相同 高 优先级相同 低 关系表达式是一种最简单的逻辑表达式其结果类型为bool 值只能为true或false 例如 a b c a b x y 3 X b X b 错误 逻辑运算符 逻辑运算符 非 与 或 优先次序 高 低逻辑表达式例如 a b x y 其结果类型为bool 值只能为true或false 7 8 2x 27 6 27 6 27 6 2 7 6 7 8 20 x 227 6 207 6 217 6 21 7 60 关系表达式 逻辑表达式 结果是true C系统产生整型1 结果是false 则产生整型0 短路求值 inti 0 j 0 i 0 j的值是0 位运算符 按位与 按位或 运算规则将两个运算量的每一个位进行逻辑或操作举例 计算3 53 000000115 000001013 5 00000111用途 将某些位置1 其它位不变 例如 将int型变量a的低字节置1 a a 0 xff 按位异或 运算规则两个操作数进行异或 若对应位相同 则结果该位为0 若对应位不同 则结果该位为1 举例 计算071 052071 00111001052 00101010071 052 00010011 取反 单目运算符 对一个二进制数按位取反 例 025 0000000000010101 025 1111111111101010 移位左移运算 右移后 低位 舍弃高位 无符号数 补0有符号数 补 符号位 2 3 占一个字节 2的补码 111111103的补码 00000011位或 11111110 0000001111111111结果 1 7 27 2 7 27 2 7 2 7 7 227 2 1 7 277 21 7 2 28 7 8 逗号运算和逗号表达式 格式表达式1 表达式2求解顺序及结果先求解1 再求解2 最终结果为表达式2的值例a 3 5 a 4最终结果为60 Page83 混合运算时的类型转换 类型转换分为 隐式转换和显示转换当不同类型数据进行混合运算时 编译器会自动进行类型转换 隐式转换显示转换语法格式 类型说明符 表达式 或 类型说明符 表达式例如 floatc inta b c float a float b 或c float a float b voidmain floatx1 2 25 x2 2 2 doubley1 y2 y1 double x1 cout precision 20 cout x1 x1 y1 y1 endl y2 double x2 cout x2 x2 y2 y2 endl voidmain floatx1 2 25 x2 2 2 doubley1 y2 y1 double x1 cout precision 20 cout x1 x1 y1 y1 endl y2 double x2 cout x2 x2 y2 y2 endl voidmain floatx1 2 25 x2 2 2 doubley1 y2 y1 double x1 cout precision 20 cout x1 x1 y1 y1 endl y2 double x2 cout x2 x2 y2 y2 endl 运行结果 x1 2 25y1 2 25x2 2 2y2 2 20000004768372 89 67 235 8 9 a 78charc c 36 5 int 89 65 2 2 int 5 2 2 int 5 2 2 简单的输入输出 从标准输入设备 键盘 输入例 intx cin x 向标准输出设备 显示器 输出例 intx cout x x cin x cout x cin 56 cin a endl cin x cin x1 x2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论