c语言变量ppt,C语言数据类型和变量.ppt

253b171540df25e1b84436cbe50dfc72.gifC语言数据类型和变量.ppt

第3章C数据类型和变量 学习目的和要求 掌握数据类型和变量的基本概念 特点和使用方法 熟练掌握算术 赋值 逗号和sizeof运算符与表达式的使用 理解并能应用强制转换 推荐学时 3学时 第3章C数据类型和变量 在数学中 我们对变量的概念有一定的了解和认识 如y x2 其中x是自变量 y是因变量 引入 那么在计算机中的变量具体是指一个什么概念呢 其实一个变量就是存储器 内存 中的一个存储空间 下面借用一个生活中的范例 讲解数据类型 变量 变量类型 变量名 假设有粮库 库名为LK 车库 库名为CK 和书库 库名为SK 三个仓库 且分别只能装粮食 停车子和摆放图书 引例 第3章C数据类型和变量 第3章C数据类型和变量 LK中装的粮食可以是玉米 小麦 大米等 CK中停的车子可以是不同的车子 SK中的摆放的书可以是更换的 这说明LK CK和SK中的物体型号是可变化的 第3章C数据类型和变量 常量与变量 第3章C数据类型与变量 如果我们把粮食 车和书比着数据 那么上述三种库房 LK CK和SK 就相当于计算机中的三种变量 之所以称它们为变量 是因为其中的数据可以变更 且它们的类型不同 LK CK和SK就是上述三种变量的变量名 上述三个库房空间就相当于计算机存储器中的三个存储单元 如果库房里的物体不可替换是固定的 那么这样的库房就相当于计算机中的常量 常量与变量 在现实中 数据有多种类型 例如 数字数据0 1 2 等 字符数据a b c d e f 等 计算机中所处理的数据类型与现实中的类型相同 第3章C数据类型和变量 第3章C数据类型和变量 在存储器 这里指内存 里分配存储空间存储数据 存储器空间和数据在存储空间里的存储状态如图 第3章C数据类型和变量 首先对存储器的存储单元分别取名add1 add2 add3 然后再严格按照每个存储单元的类型来使用 第3章C数据类型和变量 任何计算机语言都有其数据类型 数据类型决定了数据性质和取值范围 数据性质指的是 整数 字符数 实数 等 取值范围是指计算机能表达的上下限 C语言提供了丰富的数据类型 其主要包括整数类型 int 字符类型 char 单精度浮点数类型 float 双精度浮点数类型 double 数组类型 结构类型 struct 联合类型 union 指针类型 pointer 枚举类型 enum 和用户自定义数据类型 typedef 在后面讲解 第3章C语言数据类型 第3章C数据类型一览表 第3章C数据类型 基本类型所占存储空间字节数及数据范围 第3章C数据类型 数据类型int float char和double可以带有各种修饰前缀 修饰符与基本类型组合结果如下表 第3章C数据类型 我们在理解了数据类型 变量与常量 变量名后 下面我们具体介绍C语言中的常量和变量 常量是指在程序运行过程中不能发生改变的量 常量的数据类型通常有5种 整型 实型 字符型 字符串型和符号常量 第3章C常量 整型常量就是整数 可以是十进制 八进制 以0开头 或十六进制数 以0 x或0X开头 的整数 例如 999 15 012 0 x0c 1 整型常量 第3章C常量 实型常量是带小数位的数值 可以是小数 也可以是指数 例如 3 14 1 35 1 234e5 1 2E60 123可写成 123 在VisualC 6 0中 使用默认格式输出浮点数时 只保留小数点后6位 第3章C常量 2 实型常量 字符型常量是括在单引号内的一个字符 这些字符通常是ASCII码字符 它们的值即为该字符对应的ASCII码值 ASCII请参阅附录A 例如 a 0 A N 第3章C常量 3 字符型常量 字符串常量是由双引号括起来的字符序列 编译程序在每个字符串的后面自动加上 0 以示结束 例如 VisualC 我的第一个C程序 北京欢迎您 x 第3章C常量 4 字符串常量 强调说明 字符串 VisualC 共有11个字符 除本身10个 空格也算一个 外 还加上 0 x 不同于 x 相当与 x 和 0 共2个字符 符号常量是指以标识符形式出现的常量 C语言中符号常量的定义可通过编译预处理 define得到 符号常量的语法形式为 define符号常量名值例如 definePI3 1414926 defineA10 第3章C常量 5 符号常量 整型数据存储的存储单元 整型变量 的定义用关键字int 第3章C变量 1 整型变量 例3 1 所谓浮点数就是我们大家所熟知的实数 C语言中的浮点数有两种表示形式 十进制数形式和指数形式 第3章C变量 2 浮点型变量 十进制数形式 这种形式与通常的实数表示形式法类似 但是必须带有小数点 另外 当小数点左边或右边为0时 可以省略其中一边的0 例如 1 28 128 0 128 0 128 0 128 0 0 0 0等均是有效的浮点数 第3章C变量 指数形式 指数形式既所谓的科学记数法 例如 1 8e5或1 8E5即为1 8 105 1 8e 5或1 8E 5即为1 8 10 5 1 8e5或 1 8E5即为 1 8 105 均为浮点数的指数形式 字母e或E之前的数值称为尾数 后面的数值称为指数 指数前可有 或 用以表示与尾数相乘的10的幂 尾数前也可以有 或 用以表示该浮点数为正数或负数 第3章C变量 在C语言中 尾数不可缺少 且指数必须为整数 第3章C变量 单精度浮点数类型和双精度浮点数类型数据存储的存储单元 浮点数类型变量 的定义分别用关键字float和double 第3章C变量 例3 2 例3 3 字符型数据存储的存储单元 字符型变量 的定义用关键字char 第3章C变量 3 字符型变量 例3 4 在上述程序中 如将charmax A 换为charmax A 的话 虽然对于打印输出结果不影响 但是它们在内存中的存放形式是不一样的 强调说明 C语言中没有字符串变量类型 字符型数据只能存储于字符型变量中 例如 charmax Howareyoudoing 这样的语句使用是错误的 如果要存储字符串数据的话 那么只能以字符数组或指针形式实现 提前说明 由于不同数据类型所占据的存储空间不同 在定义变量的类型时应充分考虑变量的取值范围 例如 整型 int 类型的变量取值范围为 232 232 1 如果在运算中 数值超出这个范围则称为溢出 大于232 1称为上溢 小于 232称为下溢 有关溢出 例3 5 例3 6 求解半径r为1 2单位长度的圆的面积 在上述程序中 第1行用 define定义pi代表常量3 1415926 第2行用 define定义s r 代表字符串常量pi r r 我们把这里的标识符pi和s r 称之为宏 C语言的运算符也称为操作符 是运算对象 也称为操作数 间的联结符号 第3章C语言运算符 第3章C语言运算符 按运算类型可分成算术运算符 关系运算符 逻辑运算符 赋值运算符 位运算符 指针运算符和取成员运算符等 按运算参与对象的个数又可以分为单目运算符 双目运算符和三目运算符 关于运算符号的完整信息 参阅附录C 关系运算符与关系表达式 逻辑运算符与逻辑表达式放在第5章详细讲解 位运算符放在附录F 将运算对象 比如常量 变量按照一定规则用运算符连接起来构成的有意义的混合式子就叫C语言的表达式 第3章C语言表达式 第3章C语言表达式 C语言的表达式中的运算对象除了可以是常量 变量外 还可以是函数以及别的表达式 也就是说 可以由表达式通过操作符构成更复杂的表达式 下面是合法的表达式 a bx a 3s PI r rc getchar 在求解表达式的结果时 不同运算符具有不同的优先级 优先级不同参与运算的次序不同 相同的优先级还有不同的结合方向 第3章C语言算术运算符 C语言的算术运算符有5个双目运算符 加 减 乘 除 求余 取模 和4个单目运算符 自增 自减 单目加 单目减 和1个圆括号运算符 括号 双目运算符加 减 乘 除 与数学运算符没有什么区别 可以像在数学公式中一样使用 例如 a ba 5 a2 a 3i i 5b a 2 第3章C语言 算术运算符 单目加 和单目减 只能有一个操作数 实际就是取操作数的正或负值 第3章C语言单目 算术运算符 例3 11 自增 自减 是指操作数自身增加1或者减少1 按其在操作数的前后位置可以称为 前自增 前自减 后自增 后自减 第3章C语言 运算符号 第3章C语言 后自增和后自减是先进行语句中的其他运算 语句完成后再执行自增或自减少运算 而前自增和前自减是先对变量进行自增或自减运算 在运算完成后变量再参与语句中的其他运算 例3 12 第3章C语言 运算符 求余运算符 要求左操作数和右操作数都是整数 运算结果是两个操作数相除的余数 例3 13 优先级是指运算的先后顺序 第3章C算术运算符号优先级 赋值运算符用于改变变量的值 C语言提供了1个简单赋值运算符 和10个复合赋值运算符 和 第3章C语言赋值运算符 在复合运算符中 构成运算符的两个符号间不能有空格 特别强调 第3章左结合性 赋值运算符都是左结合运算符 即赋值运算将右边的操作数的值赋给左边的操作数 因此 左操作数必须是一个变量 可以使用赋值运算符对变量进行连续赋值 例3 14 第3章C语言复合赋值运算符 符合赋值运算符是将一个其他运算符加上简单赋值运算符而得到的 其含义为 将左操作数和右操作数按运算符进行运算 将运算结果的值赋给左操作数 请比较例3 15和3 16 例3 15 例3 16 逗号运算符用于分隔同行中的几个表达式 例如 a 1 b c 第3章C语言逗号运算符 逗号运算的优先级最低 主要用作将几行短语句合并成一句 简化程序书写 但会损害程序的可读性 建议不要过多使用 强调说明 例3 17 sizeof运算符用于计算其操作数的长度 即其在内存中所占的字节数 第3章C语言sizeof运算符 例3 18 第3章C语言类型转换 1 自动转换 在表达式中进行运算时 通常会将不同类型的数据混合使用 此时就会关系到类型转化的问题 C语言中将对其类型自动进行转换 这种转换一般是 向上 的 即由占存储空间少的数据类型向占存储空间多的数据类型转换 所谓转换是向上的 即char short型都转化为int型 int型转换为unsigned型 unsigned型转换为long型 long型和float型转化为double型 在赋值运算中 右边的数值将转化为与左边变量相同的数据类型 再将其赋予左边的变量 如果右边的数值超过左边变量所能表达的数值范围 则将对其进行适当的截取处理再赋值 如何看表3 5 例如 intx x 3 4 请问x的值为多少 查表3 5的第3行即可知道 x的值为3 表3 5 第3章C语言类型转换 2 强制转换 程序设计中有时需要将表达式的值转换为某一特定类型时 自动转换不一定能产生正确的结果 例3 19 第3章C语言 运算符 类型强制转换运算符用圆括号 具体语法形式为 类型名 操作数 综合练习 求2x2 10 x 9 0的根 作业 习题三3 1 3 2 3 3 3 4 结果写在课本 上机习题 3 5 3 7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量数据类型C语言中,变量用于存储数据数据类型用于定义变量类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量数据类型C语言中,变量用于存储数据数据类型用于定义变量类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值