已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第2章C语言基础 2 标识符 是一个由有限个有效字符组成的序列 在C语言中只起标识作用 用作符号常量名 变量名 函数名 数组名 文件名等 3 由字母 数字 下划线组成必须以字母 下划线开头最多不能超过8个字符 多余不被识别不能与系统保留字同名区别大小写 标识符的构成规则 4 关键字在系统中具有特殊用途 不能再作它用 例如 main int if等预定义标识符C语言提供的库函数名和预编译处理命令 例如 printf scanf include等用户自定义标识符用户自己起的变量 函数和文件名等 标识符的分类 5 a b 例如 area PI p c1 x1 X1 x1 1x if w w printf 6 数据类型 C语言的数据结构以数据类型的形式出现 不同的数据类型代表了不同的数据结构 程序 算法 数据结构 7 C数据类型 8 常量和变量 C语言的数据有常量和变量 在程序执行过程中 其值不发生改变的量称为常量 其值可变的量称为变量 9 main intx x 1 x x 1 printf d x main floatr s scanf f x 变量名 变量类型和变量的值是一个变量的三要素 3 14 10 符号常量 11 define符号常量名常量 例 definePI3 14159 符号常量与变量不同 其值不能被改变符号常量一般采用大写字母表示使用符号常量可以使含义清楚 操作方便 12 整型数据 整型常量整型变量 13 0 x23 0Xab 0 x17 整型常量 C语言中整型常量可以用3种形式表示 十进制数 123 234 0 17 八进制数 023 023 017 十六进制数 判断018和18 14 整型常量的分类及表示 长整型常数 123L 0 x17l 无符号整型常数 023U 0X23u 17u 短整型常数 17和17l的区别 17 17 15 整型变量 16 main inta b longx unsignedy 整型变量定义 类型标识符变量名 a b x y 17 main inta 4 b 4 c longx 27 变量初始化 a b c 存储了一个不确定的数 18 main inta 4 b a c longx y 27 分析 main inta 4 b 5 c longx 27 y 27 19 整数在内存中的存储形式 有符号整数 符号位 0表示正数 1表示负数 32768 32767 无符号整数 0 65535 20 在C语言中 正整数采用原码存放 负数采用补码 整数5在内存中的表示 2个字节 5在内存中的表示 21 求负数绝对值得原码求原码的反码把1转换成0 把0转换成1 把所求的反码加1 即得原码的补码 求十进制负数二进制数的补码 32768 1000000000000000 1 1111111111111111 22 把内存中以补码形式存放的二进制码转换成十进制的负整数 步骤如下 先对各位取反将所得二进制数转换成十进制 在所得十进制数前面加负号 对所求数再减1 00000101 11111010 取反 5 5 6 23 有符号的数 1 无符号的数 65535 24 整型数据的溢出 一个int整型量的最大值为32767 若再加1 会出现什么 main inta b a 32767 b a 1 printf d d a b a b 结果 32767 32768 25 实型数据 实型常量实型变量 26 实型常量十进制10 3 78 123 0 123 0 78 78指数形式3 57 1053 57E5或3 57E 53 57 10 53 57e 5 27 实型变量 3 57 10 5 0 357 10 4 28 main floatx 23 0 y doublez printf f y x y z 29 字符型数据 字符型常量字符型变量 30 ASCII码表 编码是0 127 31 字符型常量一般表示法用单引号括起来的一个字符 A a 1 65 97 49 32 转义字符表示ASCII表中的控制字符和一些特殊的字符 33 十六进制和八进制表示的字符 十六进制 xhh 1位或2位十六进制代表一个字符八进制 ddd 1位或3位八进制代表一个字符 65 0 空字符 A x41 例 0 101 34 区别 7和 7 的不同 a和 a 的不同 7 7 55 7 a 97 35 main printf abc tde rf tg n printf k ti b bjk 123 91011 36 字符型变量 main charc1 c2 c1 A c2 c1 32 c1 c2 97 65 37 main charc1 c2 c1 97 c2 b printf c c n c1 c2 c1 97 c2 98 结果 a b 可对字符型变量赋整数值 不要超过一个字节表示的数值范围 38 可对字符型量进行的运算 B A 可参与任何整数运算 66 65 1 a 1 97 1 98 字符型量可以看成具有一个字节的整数 39 a A 大小写转换 97 65 32 a 32 97 32 65 A 32 65 32 97 A a 40 小写 大写 ch a A ch 32 大写 小写 ch a A ch 32 要转换的字母存放在变量ch中 41 0 0 数字 数字字符转换 48 48 0 1 0 9 0 49 48 1 57 48 9 42 数字字符 数字 ch 0 i 0 数字 数字字符 要转换的数字字符存放在变量ch中 要转换的数字存放在变量i中 43 main charc1 c1 a printf c c n c1 c1 32 a A 结果 44 a b 比较大小 45 字符串常量 用双引号括起的一串字符 Hello 字符串的结尾符号 空串 字符串长度 所包含的字符个数 46 a 区别 a 97 charch ch a ch a 47 运算符 优先级在一个表达式中如果有多个运算符时 则计算是有先后次序的 这种计算的先后次序称为相应运算符的优先级 结合性当一个运算对象两侧运算符的优先级别相同时进行运算的结合方向称为运算符的结合性 右结合性按 从右向左 的顺序运算左结合性按 从左向右 的顺序运算 48 2 3 4 3 4 3 12 14 优先级 左结合 7 4 右结合 3 4 3 1 4 49 表达式 表达式指用运算符和圆括号将常量 变量和函数调用连接起来的有意义的式子 单个常量 变量和函数调用也可看成一个表达式 表达式要按照规定的运算规则进行运算 并会得到一个结果 即表达式的值 C语言可分为算术表达式 赋值表达式 关系表达式 逗号表达式和逻辑表达式等 50 例 main inta b 7 a 7 b b a b 51 函数 完成一定功能的语句块 库函数用户自定义函数 52 由C语言定义的函数 例如scanf 和printf 函数 用户只要学会正确调用即可 库函数 函数名 参数表 常量 变量 表达式 sqrt 7 53 例 includemain floata b 4 5 a 2 sqrt b 在使用数学函数时 在所有函数前加此预编译命令 C 引用原属于c的库文件要在文件名前加c include 54 例 主函数main 用户自定义函数 由用户自己根据实际任务来编写 55 算数运算符和算术表达式 运算符 单目 双目 同级 右结合 同级 同级 高 低 56 注意 单目取正或负 5 2 5 2 10 除运算符 2 3 0 2 0 3 0 666667 57 取余 3 2 2 3 运算数必须为整数 2 1 58 算术表达式 参加算术运算的运算数可以是整型数据 实型数据和字符型数据 main inta 3 floatb 3 4 charch A a a b ch 1 5 a 59 数据类型转换 自动转换强制转换 只是改变了表达式值的类型 而没改变变量的原类型 60 如果双目运算符两边的运算量类型不一致时 系统将其转换为同一种数据类型 再运算 自动转换 61 将表达式中char或short全部自动转换为int型 将float转换为double型 charshort int 基本原则 unsignedcharunsignedshort unsignedint float double long unsignedlong 62 当运算符两端的运算量类型不一致时 按 向高看齐 的原则对 较低 的类型进行提升 int unsigned long double 63 64 result ch i f d f i charch inti result floatf doubled int double double int double double double double 65 类型标识符 表达式 强制转换 char x 3 14 x 得到字符型数据 char x 3 14 x 得到double数据 floatx 7 8 x 3 int x 3 1 66 练习 67 练习 pow x y 68 赋值运算符和赋值表达式 运算符 赋值表达式 变量名 表达式 赋值表达式的值是左边变量的值 优先级和结合性 优先级仅比最低级的逗号运算符高 右结合性 69 a 3 3 a 3 2 a 9 3 a a 1 b a 10 10 9 10 10 a c 3 70 a b c 3 3 3 3 a 5 c 6 6 11 11 a b 4 c 6 71 复合赋值运算符 x x 3 x 3 a a 3 a 3 x y 8 x x y 8 72 练习 inta 2 a a a a a 4 a 4 a a 4 2 a 2 a a 2 4 73 赋值转换 将赋值右边表达式的值的类型自动转换为左边变量的类型 charch inti result floatf doubled result ch i f d f i double 74 inta floatb 7 8 a b b 6 75 逗号运算符和逗号表达式 运算符 逗号表达式 表达式1 表达式2 表达式3 优先级 是所有运算符中级别最低的运算符 表达式结果 整个表达式的值为最后一个表达式的值 76 77 运算符 右结合 运算对象只能是变量而不能是表达式或常数 x y 6 x y 78 在表达式中引用前缀运算和后缀运算是有区别的 x 10 y x 前缀运算 先增值再引用 后缀运算 先引用再增值 x 10 y x x y x x为11 y为11 表达式值为11 x y x x为11 y为10 表达式的值为10 79 i 3 k i i i k i i i i i i k为9 i为6 表达式的值为9 80 i 3 k i i i k i i i i i i k为18 i为6 表达式的值为18 81 分析 若i 3 则求表达式的值 i i 分析 作用于的运算量 i 根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年西安外事学院单招职业倾向性测试必刷测试卷含答案
- 2026年陕西省西安市单招职业倾向性考试题库附答案
- 2026年江苏省无锡市单招职业倾向性测试必刷测试卷带答案
- 2026年甘肃钢铁职业技术学院单招综合素质考试题库附答案
- 2026年河北外国语学院单招职业适应性测试必刷测试卷及答案1套
- 2026年湖南理工职业技术学院单招综合素质考试必刷测试卷带答案
- 2026年应天职业技术学院单招职业倾向性考试必刷测试卷及答案1套
- 2026年甘孜职业学院单招职业倾向性考试必刷测试卷带答案
- 2026年山西艺术职业学院单招职业技能考试题库及答案1套
- 2026年六安职业技术学院单招职业倾向性考试题库必考题
- 2025国网能源研究院限公司高校毕业生招聘【21人】事业单位易考易错模拟试题(共500题)试卷后附参考答案
- 白血病患者日常护理建议
- 2025年及未来5年中国鱼具行业市场运营现状及投资战略咨询报告
- 《政务信息系统运行维护费用定额测算方法》
- 【课件】消防月:消防安全知识培训
- 2025健身房与瑜伽馆合作经营合同
- 户外灯光架施工方案
- 2025年农产品食品质量安全检验员技能及理论知识考试题库附含答案
- 四川省公务员2025年考试行测言语理解真题试卷(含答案)
- 矿山绿色矿业建设规划
- 电玩赛车活动方案
评论
0/150
提交评论