第2章C语言语法基础.ppt_第1页
第2章C语言语法基础.ppt_第2页
第2章C语言语法基础.ppt_第3页
第2章C语言语法基础.ppt_第4页
第2章C语言语法基础.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第2章C语言语法基础 电子与信息工程系基础教研室李耀芳 2 1C语言字符集和词汇 C语言字符集字母 大写和小写分别26个数字 0 9特殊字符 括号 等 2 1C语言字符集和词汇 C语言词汇标识符 变量名 函数名关键字 C语言规定的保留字运算符 2 4节分隔符 逗号和空格常量 2 2节注释符 2 1C语言字符集和词汇 C语言词汇标识符 变量名 函数名 2 1C语言字符集和词汇 C语言词汇标识符 变量名 函数名 标识符定义规则 由字母 数字 下划线组成 0 9 a z A Z 第一个字母必须是字母或下划线 a z A Z 区分大小写 sum和Sum是两个变量名字不能和系统的关键字重名尽量有实际意义 2 1C语言字符集和词汇 C语言词汇 正确的标识符 字母开头 abcabareastr 1下划线开头 ab stop s1不正确的标识符 含有特殊字符 abc 4str 9blue3 abs T不是以字母或下划线开头 23Top abc09num under 3x 2 1C语言字符集和词汇 分隔符包括逗号和空格例如 定义一个变量inta若写成inta则错误 2 2常量与变量 常量定义 程序运行时其值不能改变的量 即常数 分类 数值常量 符号常量 数值常量 整型常量 实型常量 字符型 字符串常量 举例 45 23 4 hello 2 2常量与变量 常量 例符号常量举例 definePRICE30main intnum total num 10 total num PRICE printf total d total 运行结果 total 300 符号常量 定义格式 define符号常量常量 2 2常量与变量 变量用户自己定义的可以不断更新数值定义 数据类型变量1 变量2 变量3 例 inta 2 b c 4 floatdata 3 67 charch A intx 1 y 1 z 1 a 45 c 90 2 3数据类型 C数据类型 基本类型 构造类型 指针类型 空类型void 字符类型char 枚举类型enum 整型 实型 数组 结构体struct 共用体union 2 3 1整型数据 整型常量十进制数 由0 9 正负号组成 非0开头八进制数 以0开头 后边跟0 7 如067十六进制数 以0 x或0X开始 后面跟0 9 A F 如0 x12A 2 3 1整型数据 整型变量基本整型 int短整型 short int 长整型 long int 无符号型 unsignedint unsignedlongUnsignedint表示无符号基本型Unsignedlong表示无符号长整型 2 3 1整型数据 整型变量 参考 2 3 1整型数据 整型变量定义类型说明符变量1 变量2 变量3 注意事项 在一个类型说明符后 说明多个变量 这些变量为同一种类型 各个变量间用逗号隔开 变量先声明后使用 可以在定义变量时对变量初始化 2 3 1整型数据 inta b c 4 a b c为整型变量 c初值为4 longx 90 y 100 x y为长整型变量 初值分别为90 100 unsingedshortus1 us2 us1 us2为无符号短整型变量 初值为0 2 3 2实型数据 实型常量 实数或浮点数 表示形式 十进制数形式 必须有小数点 如0 123 123 123 0 0 0 123 指数形式 e或E之前必须有数字 指数必须为整数 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 实型常量的类型默认double型 2 3 2实型数据 实型变量包括单精度float 双精度double和长双精度longdouble 注意实型数据的有效位数floata 124747 12345 Printf f a 输出结果为 124747 12500 Floatfx fy 定义两个单精度变量fx fy Doubledbnum1 dbsum 0 定义两个双精度变量dbnum1 dbsum 2 3 3字符型数据 字符型常量定义 用单引号括起来的单个普通字符或转义字符字符常量的值 该字符的ASCII码值 如 a A n 101 如 a 10 107 2 3 3字符型数据 字符常量转义字符 n t ddd b r 等举例说明 例2 3 2 3 3字符型数据 字符常量和字符串常量注意事项 常量只能用单引号括起来 不能使用其他符号只能是单个字符 不能使字符串 如 a A n 101 如 a ABC 4565 good 2 3 3字符型数据 注意事项 ddd 其中ddd是1 3位八进制数 xhh 其中hh是1 2位十六进制数以下写法是错误的 1234 89 x789 xffd 2 3 3字符型数据 字符常量和字符串常量注意事项 常量只能用单引号括起来 不能使用其他符号只能是单个字符 不能使字符串字符串常量 每个字符串尾自动加一个 0 作为字符串结束标志 2 3 3字符型数据 字符型变量char变量表 2 3 3字符型数据 字符型变量字符可以和数字进行运算 2 4运算符和表达式 单目运算符双目运算符三目运算符区分依据 根据运算符连接的运算对象个数 例 a bA b 3 2 4 1简单赋值运算符及其表达式 变量 表达式 A 4 B 90 7 X 78 9 X a b 5 A b c 6 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 表达式值为5 a b c值为5 b 5 a 5 表达式值11 c 6 a 11 表达式值10 a 10 b 4 c 6 表达式值5 a 5 b 10 c 2 2 4 1简单赋值运算符及其表达式 变量类型变量 表达式不能在声明变量时 对变量进行连续赋值 inta b c 3 inta 4 floatb 2 58 charc1 101 inta a 4 floatb b 2 58 声明变量的同时给变量赋值 先声明 后赋值 2 4 2算术运算符及其表达式 基本算术运算符 2 4 2算术运算符及其表达式 取正 取负 参与运算的数据可以为整型 实型若全部操作数为整型 结果为整型若其中一个操作数为实型 结果为双精度double型 例 8 3结果为2 8 3 0结果为2 6667 模除 取余 参与运算的数据必须为整型 否则报错结果为两个整数相除后的余数 是一个整型数据 例 8 3 210 4 248 6 01 10 1 错误 8 23 4 2 4 2算术运算符及其表达式 增量运算符单目运算符 只有一个操作数 i i i i 1i i i i 1 i 4 j 5 2 4 2算术运算符及其表达式 增量运算符单目运算符 只有一个操作数有以下形式 i 变量i自增1后再参与其他运算 i 变量i自减1后再参与其他运算i 变量i先参与其他运算再自增1i 变量i先参与其他运算再自减1 例 inti 3 a a i 5 例 inti 3 a a i 5 a 15 i 4 a 20 i 4 i 4 j 5 2 4 2算术运算符及其表达式 增量运算符 例j 3 k j j 3 k j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b 不能用于常量和表达式 a b 4 y 4 K 4 K 3 4 3 c 20 c 15 i 4 2 4 2算术运算符及其表达式 增量运算符 2 4 3复合赋值运算符及其表达式 2 4 3复合赋值运算符及其表达式 复合赋值表达式形式 变量复合赋值运算符表达式等效于 变量 变量双目运算符表达式例 a 4等效于a a 4a 5 等效于a a 5a i 2等效于a a i 2 a 4等效于a a 4 2 4 4长度测试运算符 用于数据类型 sizeof 类型名 sizeof float sizeof int 用于变量 sizeof 变量名 inta b b sizeof a 或b sizeofa sizeof int 结果根据编译器决定 VC为4 2 4 4长度测试运算符 注意 sizeof操作符不能用于函数类型 不完全类型或位字段 不完全类型指具有未知存储大小的数据类型 如未知存储大小的数组类型 未知内容的结构或联合类型 void类型等 如sizeof max 若此时变量max定义为intmax sizeof char v 若此时char v定义为charchar v n 且n未知 sizeof void 都不是正确形式 2 4 5逗号运算符及其表达式 用途 分隔符 定义多个变量 inta b c 函数参数间隔 printf d d d a b c 表达式 一般形式 表达式1 表达式2 表达式3 表达式n 逗号表达式的求解过程是 先求解表达式1 再求解表达式2 然后依次求解 整个逗号表达式的值是表达式n的值 2 4 5逗号运算符及其表达式 例 b a 3 5 a 4 第一步 求解第一个表达式3 5 a 15 第二步 求解第二个表达式a 4 15 4 60 最后得到结果 a 15 b 60 2 4 5逗号运算符及其表达式 例 ch2 6 c includemain intx y 7 floatz 4 x y y 6 y z printf x d n x 运行结果 x 3 第一步 y y 6 第二步 y z y 13 13 4 0 3 2 x y 13 y z 2 5数据类型转换 隐式转换什么情况下发生运算转换 不同类型数据混合运算时赋值转换 把一个值赋给与其类型不同的变量时输出转换 输出时转换成指定的输出格式函数调用转换 实参与形参类型不一致时转换运算转换规则 不同类型数据运算时先自动转换成同一类型 运算转换 45 2 3 a 60 6 3 5 2 2 5数据类型转换 赋值转换1 赋值运算中 将赋值运算符右侧的数据自动转换成左侧的类型具体转换 实型赋予整型 舍去小数部分 inti j i 3 8999 j 5 321 结果 i 3 j 5 2 5数据类型转换 赋值转换2整型赋予实型 数值不变 以浮点数存放 增加小数部分 0 Doubled 8 显示结果d 8 000000 2 5数据类型转换 赋值转换3字符型赋予整型 转换为整型 字符 1字节 整型 4字节 例 inti i a 标准字符ASCII码范围 00000000 01111111转换成十进制 0 127 第七位为1的ASCII码为无效字符 2 5数据类型转换 赋值转换4 整型赋予字符型 整型的低8位赋予字符变量 转换方法 把十进制数转换为二进制 取低八位若第七位上值为1 这个二进制数转换为十进制数的值超过127 显示的字符为无效字符 inti 7896charc i intj 7000 charc j 运行结果 X charc1 7896 c2 7000 Printf c c n c1 c2 2 5数据类型转换 输出转换 整型数据以字符格式输出 字符型数据以整型数据输出 运行结果 65 显式转换 强制转换 一般形式 类型名 表达式 例 int x y int x y double 3 2 int 3 6说明 强制转换不会改变原变量类型 只把转换的类型赋给结果变量 例main floatx inti x 3 6 i int

温馨提示

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

评论

0/150

提交评论