变量和数据类型.ppt_第1页
变量和数据类型.ppt_第2页
变量和数据类型.ppt_第3页
变量和数据类型.ppt_第4页
变量和数据类型.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第1章内容回顾 程序是为执行一项任务而编写的有序指令集算法是解决问题的具体方法和步骤流程图是算法的图形化表现形式C语言的特点C程序的编译和运行过程编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序 第2章 变量和数据类型 预习检查 在printf函数中 d打印什么类型的数据 f呢 double型该用什么打印 那么 如果真的想打印 d 该怎么办 2 2 如何打印一个浮点数的整数部分 本章目标 理解变量和常量的含义熟悉基本数据类型int char float和double使用算术运算符理解类型转换熟练使用scanf 和printf 函数熟练使用getchar 和putchar 函数 本章结构 简介 变量和数据类型 类型转换 符号常量 基本数据类型 输入输出函数 算术运算符 接收并显示字符 程序 指令 2 1C语言中的基本元素之总体 常量标识符关键字运算符分隔符等 2 1C语言中的基本元素之常量 常量是在源代码中表示固定值的符号 常量常用于初始化变量 例如 213443 123 n zeffiris 0120 x10 常量的特点 1 在程序中保持不变2 在程序中 常量可以不经说明而直接使用常量的分类 1 直接常量 对应数据类型的常量整形常量 12U 0L 3实型常量 4 6F 1 23字符常量 a b 等字符串常量 Hello 2 标识符 用来标识变量名 符号常量名 函数名 数组名 文件名的有效字符序列 有时常量定义成宏的形式 define标识符常量 2 1C语言中的基本元素之常量 2 1C语言中的基本元素之变量 程序 编写程序时 常常需要将数据存储在内存中 方便后面使用这个数据或者修改这个数据的值 通常使用变量来存储数据 使用变量可以引用存储在内存中的数据 并随时根据需要来操纵数据 存储X X 0 05 将值存储为 X 10 0 5 将值存储为 9 5 2 1C语言中的基本元素之声明变量 声明变量 Datatypevariablename 变量的命名规则 变量名可以由字母 数字和 下划线 组合而成变量名不能包含除 以外的任何特殊字符 如 逗号 空格等变量名必须以字母或 下划线 开头变量名不能包含空白字符 换行符 空格和制表符称为空白字符 C语言中的某些词 例如int和float等 称为保留字 具有特殊意义 不能用作变量名C语言区分大小写 因此变量price与变量PRICE是两个不同的变量 变量的声明 它主要是告诉编译器变量的类型和名字 在使用之前知道有这样一个变量的存在 它并不分配存储空间 格式 DataTypename 例 intcount doubleratio 变量的定义 为变量分配存储空间 同时指明变量的类型和名字 格式 DataTypename 例 intcount intx 10 可在定义时进行初始化注意 在c语言中 变量有且只能有一次定义 但是声明可以有多次 2 1C语言中的基本元素之变量声明和定义 2 1C语言中的基本元素之改变变量 设定变量的值定义时初始化变量intbefore 1 floatafter 1 09f 定义后初始化变量middle 0 x4591 通过运算赋值intprogrammer 1 programmer left right 2 2 2数据类型 2 2基本数据类型 char 数据类型 非数值 数值 整型 longint double float 非整型 shortint int 2 2基本数据类型之整型 仅限于32位机 2 2基本数据类型之整型 声明 intpage number longintpopulation unsignedintage 可按如下方式初始化 page number 0 intmax marks 100 在同一语句中可以声明多个类型相同的变量 intpage number copies 0 paper width 2 2整型常量 整型常量 1 十进制表示 除表示整数0外 不以0开头 以0开头的数字串会被解释成八进制数 负数在前面加负号 后缀 l 或 L 表示长整型 u 或 U 表示无符号数 例 345316840 23456459L356l56789u567LU2 八进制表示 以数字0开头的一个连续数字序列 序列中只能有0 7这八个数字 例 045 07606745l0177777u3 十六进制表示 以0X或0 x开头的连续数字和字母序列 序列中只能有0 9 A F和a f这些数字和字母 字母a b c d e f分别对应数字10 11 12 13 14 15 大小写均可 例 0 x100X2550 xd4ef0X6a7bL 2 2整型变量 整型变量有以下三种 1 基本类型 以int表示 2 短整形 以shortint表示 或以short表示3 长整形 以longint表示 或以long表示修饰符 无符号数unsigned有符号数signed 可省略因此可以用以下6种整型变量 有符号基本型 signed int无符号基本型unsignedint有符号短整型 signed short int 无符号短整型unsignedshort int 有符号长整型 signed long int 无符号长整型unsignedlong int 2 2基本数据类型之浮点型 float在C语言中用于存储单精度浮点数 float 32位 10 38至10 38 7位有效数字 声明 floatselling price 初始化 floatselling price 11 3f selling price 65 90f 2 2基本数据类型之双精度浮点型 64位 取值范围 10 308至10308 16位有效数字 声明 doublepressure level 初始化 pressure level 213 5671435568967 doubledvalue 35 4 2 2实型常量 实型常量有两种表示形式 1 小数形式 由数字和小数点组成 必须有小数点 例 4 23 0 15 56 78 0 02 指数形式 以幂的形式表示 以字母e或E后跟一个以10为底的幂数 1 字母e或E之前必须要有数字 2 字母e或E后面的指数必须为整数 字母e或E的前后及数字之间不得有空格 默认是double型 后缀为 f 或 F 即表示该数为float型 后缀 l 或 L 表示longdouble型 例 2 3e5500e 2 5E34 5e034 2f 5F12 56L2 5E3L 在线保险单年龄 保险总额 性别 2 2基本数据类型之字符型 23 98340 M 数值型 字符型 int float char 2 2字符型 字符型用于存储字符 对应ASCII编码的二进制形式存储 占用1个字节 例如 字符 A 的ASCII代码为65C语言把字符类型看作一种特别短的整数类型 允许参与算术运算 有符号字符型表示的数值范围 128 127 类型说明符 signed char 无符号字符型表示的数值范围0 255 类型说明符unsignedchar 例 A 2表示将 A 的ASCII码65加2 结果67是字符 C 的ASCII码 2 2基本数据类型之字符型 5 p 有效的字符型值 2 2 正确 2 2 4 X 2 2基本数据类型之字符型 占8位内存 signed或unsigned Signed 128至 127 unsigned0至255 示例 chargender gender m chargender m 2 2基本数据类型之字符型 那么 怎么判断得到的字符是不是一个小写字母 接下来 怎么知道他是26个字母中的第几个字母 他下一个字母又是什么 最终 怎么得到这个字母的大写字母呢 于是 a 5 a 5 与a 5的区别 输入 输出函数 printf scanf 用于接受和显示数据或信息 includeintmain intnum printf 请输入一个数 scanf d 2 3格式化输入 输出函数 转换字符串 转义序列 2 3格式化输入 输出函数之printf intvisitor count 150 printf d visitor count printf 将一些信息按照指定的格式送到标准输出 显示器 d visitor count 将按指定的格式显示该变量的值 2 3格式化输入 输出函数之printf intvisitor count 150 printf d visitor count 输出结果 150 2 3格式化输入 输出函数之printf intsalary 5500 printf 10d salary 输出结果 5500 输出结果的左边显示了6个空格 10d 2 3格式化输入 输出函数之printf floatcircumference 78 53 printf f circumference 输出结果 78 530000 默认情况下精确到六位小数 9 4786789 9 478679 2 3格式化输入 输出函数之printf doublemercury level 168 2251074 printf 7 2f mercury level 输出结果 168 23 宽度 表示所有的数字和小数点所占的位数 不够7位右对齐 7 2f 精度 精确到小数点后多少位 2 3格式化输入 输出函数之转义序列 输出结果 Name AudreyHepburnMovie RomanHoliday 代码 printf Name AudreyHepburn nMovie RomanHoliday 转义序列允许在输出结果中包括特殊字符 scanf d 2 3格式化输入 输出函数之scanf scanf函数从标准输入 键盘 读取信息 按照格式描述把读入的信息转换为指定数据类型的数据 并把这些数据赋给指定的程序变量 转换字符串 符号 附在读取的每个变量上 用于指明变量在内存中的位置 变量的名称 内存 2 3格式化输入 输出函数之printf floattax rate scanf f tax rate 在内存中分配一块32位存储空间存储空间使用名称 tax rate 标识 提示用户输入一个值输入的值存储在变量中 因为scanf提供此变量的地址 12 234 2 4算术运算符 算术 一元 二元 操作数 操作数 运算符 二元运算符 2 4算术运算符 2 4基本算术运算符 优先级 从高到低 加 减 结合方向 加 减 从左向右注意 1 两个整数相除 结果为整数 且直接舍弃小数部分 而不是采用四舍五入 2 模运算的两个操作数必须为整数 2 4算术运算符之一元算术运算符 算术 一元 num num num 1 num num num 1 num num num num 前缀 后缀 二元 1 如果sum 用于一个赋值语句或printf 语句中 将首先使用sum的当前值赋值或将其输出 然后再将sum的值加l 2 和 只能用于变量 不能用于常量和表达式3 和 的结合方向是 自右向左 4 i j 结果是 i j还是i j includeintmain inta 5 b 3 c 25 d 12 floatqu intre in de 使用算术运算符 qu a b 除法re a b 求模in c de d printf 商为 f n qu printf 余数为 d n re printf 加1后为 d n in printf 减1后为 d n de 2 4算术运算符之示例 一 输出 商为1 000000余数为2加1后为26减1后为11 2 4算术运算符之示例 二 includemain intsum 5 intsum1 5 inta b a sum b sum1 printf d n a printf d n b printf d n sum printf d n sum1 printf d n sum printf d n sum1 2 5类型转换 自动类型转换原则 把表示范围小的类型的值转换到表示范围大的类型的值强制类型转换语法 类型名 变量或数值 2 5 1强制类型转换运算符 自动类型转换如果赋值运算符两边的数据类型不相同 系统将自动进行类型转换 即把赋值号右边的类型换成左边的类型 具体规定如下 1 实型赋予整型 舍去小数部分 2 整型赋予实型 数值不变 但将以浮点形式存放 即增加小数部分 小数部分值为0 3 字符型赋予整型 由于字符型为一个字节 而整型为4个字节 故将字符的ASCII码值放到整型量的低八位中 高八位为0 整型赋予字符型 只把低八位赋予字符量 原则 把表示范围小的类型的值转换到表示范围大的类型的值short int long float double 2 5 2强制类型转换运算符 强制类型转换 形式 类型名 操作数说明 1 强制类型转换不会改变操作数自身的类型 只是得到一个所需类型的中间量2 多用于自动类型转换不能实现的目的3 强制类型转换后 会影响C语言做类型检查举例 inta 5 b 2 floatc float a b 2 6字符输入输出函数 getchar 字符型数据 字符型数据 putchar 2 6字符输入输出函数之getchar charvariablename variablename functionname getchar 语法 例如 charc fflush stdin c getchar includeintmain chara b printf 请输入两个字符 n fflush stdin a getchar fflush stdin b getchar putchar a putchar b putchar n

温馨提示

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

评论

0/150

提交评论