




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AUOProprietary Confidential C语言程序课程复习材料 部门 S16F3姓名 郑宙伟联系方式 8695 2838 编译环境介绍 TurboC 中间窗口为编辑区 接下来是信息窗口 最底下一行为参考行 上机步骤复习 1 清屏 编辑 F10 File New2 保存 F23 编译 Alt F94 连接 F95 执行 Ctrl F96 查看结果 Alt F5F10 选中菜单F3 查找Alt X 退出 C语言架构说明 1 头文件包含 2 全局变量申明 3 功能子函数预定义 4 主函数 5 功能子函数 1 一个说明或一个语句占一行 2 源程序中可以有预处理命令 include命令仅为其中的一种 预处理命令通常应放在源文件或源程序的最前面 3 每一个说明 每一个语句都必须以分号结尾 但预处理命令 函数头和花括号 之后不能加分号 2 一个 语言源程序可以由一个或多个源文件组成 3 每个源文件可由一个或多个函数组成 4 一个源程序不论由多少个文件组成 都有一个且只能有一个main函数 即主函数 7 标识符 关键字之间必须至少加一个空格以示间隔 C语言程序的结构特点 scanf函数说明 scanf函数称为格式输入函数 即按用户指定的格式从键盘上把数据输入到指定的变量之中scanf函数的一般形式为 scanf 格式控制字符串 地址表列 其中 格式控制字符串的作用与printf函数相同 不能显示非格式字符串 也就是不能显示提示字符串 地址表列中给出各变量的地址 地址是由地址运算符 后跟变量名组成的 取地址运算符 取地址运算是单目运算 操作数只能是变量 得到变量的地址 Printf函数说明 printf函数称为格式输出函数功能是按用户指定的格式 把指定的数据显示到显示器屏幕上printf函数调用的一般形式为 printf 格式控制字符串 输出表列 格式控制字符串用于指定输出格式 格式控制串可由格式字符串和非格式字符串两种组成 格式字符串是以 开头的字符串 在 后面跟有各种格式字符 以说明输出数据的类型 形式 长度 小数位数等 非格式字符串在输出时原样照印 在显示中起提示作用 格式字符串的一般形式为 标志 输出最小宽度 精度 长度 类型其中方括号 中的项为可选项 C语言数据类型 C语言数据类型 常量及符号常量 在程序执行过程中 其值不发生改变的量称为常量常量又可以分为直接常量和符号常量 直接常量可以从字面上直接看出数据的类型和值 符号常量是用一个标识符来代表一个常量 不能从字面上直接看出数据的类型和值 符号常量在使用之前必须先定义 其一般形式为 define标识符常量C语言规定标识符只能由字母 数字和下划线三种字符组成 并且不能以数字开头 符号常量的值在其作用域 从定义开始 到源程序结束为止 内不能改变使用符号常量的好处是 含义清楚 能做到 一改全改 符号常量的使用 例求半径为3的圆的周长和面积 definePI3 1415926main floatperimeter area perimeter 2 PI 3 area PI 3 3 printf perimeter f area f n perimeter area 经过宏替换 宏展开为 perimeter 2 3 1415926 3 area 3 1415926 3 3 变量 其值在程序执行过程中可以改变的量称为变量 每个变量都有一个名字 它代表某个存储空间及其所存储的数据 在程序中取变量的值 实际上是通过变量名找到相应的存储单元 从中读取数据 要想把内存中的某段存储单元和一个变量名联系起来 必须首先对变量进行定义或声明 变量定义的一般形式 类型说明符变量名表 这里 类型说明符 type 必须是C语言的有效数据类型 变量名表可以是一个或多个标识符名 中间用逗号分隔 最后以分号结束 变量得到值有三种方法 定义时赋给初值 在编译时得到 在执行时利用赋值语句得到 在执行时通过调用输入函数得到 e g inta floata 2 b inta 1 b 3 charc 若有定义intsum 则执行语句sum 0 后 它的值为0 可再执行语句sum 1 将它的值变为1 C语言表达式 表达式是由运算符连接常量 变量 函数所组成的式子 每个表达式都有一个值和类型 表达式求值按运算符的优先级和结合性所规定的顺序进行 表达式在书写时应该注意遵循C语言表达式书写的原则 C语言的表达式只能采用线性的形式书写e g 应写成 a b c d e fC语言的表达式只能使用C语言中合法的运算符和操作数 对有些操作必须调用库函数完成 而且运算符不能省略e g r2应写成3 14159 r r 应写成0 5 a b sin a x y 应写成fabs x y y 2X应写成y pow 2 x C语言表达式 表达式的计算要考虑运算符的优先级和结合性运算符的优先级规定了运算符执行的先后顺序 运算符的结合性是指 优先级相同的运算是从左到右进行 左结合性 还是从右至左进行 右结合性 左结合性是人们习惯的计算顺序 C语言中 只有单目运算 表达式的计算还要考虑类型转换 C语言运算符 语言的运算符可分为以下几类 算术运算符 用于各类数值运算 包括加 减 乘 除 求余 或称模运算 自增 自减 共七种 关系运算符 用于比较运算 包括大于 小于 小于等于 六种 赋值运算符 用于赋值运算 分为简单赋值 复合算术赋值 和复合位运算赋值 三类共十一种 条件运算符 这是一个三目运算符 用于条件求值 逗号运算符 用于把若干表达式组合成一个表达式 指针运算符 用于取内容 和取地址 二种运算 求字节数运算符 用于计算数据类型所占的字节数 sizeof 特殊运算符 有括号 下标 成员 等几种 算术运算符和算术表达式 基本的算术运算符 说明 1 双目 优先级高于 左结合性 2 两个整型数据相除时 其运算结果也是整数 余数被截掉 如1 2的结果0 10 3的结果是3 3 求余运算符 仅用于整型数据 不能用于实型 它的作用是取整数除法的余数 结果与被除数同号 例main inti 11 j 4 intf i j intm i j printf f dm d n f m 运行结果为 例main inta floatf 3 5 a int f 10 printf a d n a 运行结果为 自增 自减运算符 自增 自减运算符 说明 1 单目 操作数只能是变量 右结合性 如 i 等价于 i 2 有前置 后置两种方式 i或 i 在使用i之前 先使i的值增 减1 俗称先加 减后使用 i 或i 先使用i的值 然后使i的值增 减1 俗称先使用后加 减 main intx y x 10 y x printf d d n x y 运行结果为 若将第四行改为 y x 则运行结果为 将程序改为 main intx y x y 10 printf d d n x y 运行结果为 若将第四行改为 printf d d n x x 则运行结果为 函数参数的求值顺序是自右而左 赋值运算符和赋值表达式 一般的赋值运算符和复合的赋值运算符说明 复合的赋值运算符是由赋值运算符和其它双目运算符组合而成的 如 和 格式 如 intx 0 a b a 2 b a x 2 等价于x x 2 x a b 等价于x x a b 说明 1 赋值运算符的左侧只能为变量 非法 1 a a 1 a b 1 2 双目 优先级别为14 仅比逗号运算符高 右结合性 例inta 1 b c c b a a a a a 等价于a a a a a a a 则变量b c的值都为1 变量a的值为0 课堂练习 一 选择题1 B 是C语言的正确赋值语句 A a 1 b 2B a C a b 5D y int x 2 要求参加运算的数必须是整数的运算符是 C A B 则y y m y 关系运算符和关系表达式 关系运算符 六种 双目 左结合性 优先级低于算术运算符 前四个的优先级大于后两个 关系表达式的值是一个逻辑值 当关系运算符两边的值满足关系时为真 返回1 不满足关系时为假 返回0 e g 1 x 5 printf d n x 9 则输出为0 2 printf d n 5 3 1 则输出为0 因为两个 是同一优先级 按左结合性处理 3 printf d n 1 11 35 则输出为1 逻辑运算符和逻辑表达式 逻辑运算符双目 左结合性单目 右结合性a b a b皆为真时 方为真 a b a b中有一为真 即为真 a a为假时 方为真 逻辑表达式的值为一逻辑值 以1表示真 以0表示假 操作数真假的判断 0代表假 非0代表真 操作数可以是任何类型的数据 如 0 2 值为1 4 0 2 值为1 4 值为1 课堂巩固练习 1 设a b和c都是int型变量 且a 3 b 4 c 5 则下面的表达式中 值为0的是 D A A A 1 2 3B 0 2 0C 1 2 0D 1 0 0 位操作运算符 位运算符 六种 按位与 按位或 按位异或 取反 右移 按位与运算符 按位与运算符 是双目运算符 其功能是参与运算的两数各对应的二进位相与 只有对应的两个二进位均为1时 结果位才为1 否则为0 参与运算的数以补码方式出现 例如 9 5可写算式如下 00001001 9的二进制补码 00000101 5的二进制补码 00000001 1的二进制补码 结果 9 5 1按位与运算通常用来对某些位清0或保留某些位 按位或运算 按位或运算符 是双目运算符 其功能是参与运算的两数各对应的二进位相或 只要对应的二个二进位有一个为1时 结果位就为1 参与运算的两个数均以补码出现 例如 9 5可写算式如下 00001001 0000010100001101结果 9 5 13 按位异或运算 按位异或运算符 是双目运算符 其功能是参与运算的两数各对应的二进位相异或 当两对应的二进位相异时 结果为1 参与运算数仍以补码出现 9 5可写成算式如下 00001001 0000010100001100 十进制为12 求反运算 求反运算符 为单目运算符 具有右结合性 其功能是对参与运算的数的各二进位按位求反 0000000000001001 结果为 1111111111110110 左移运算 左移运算符 是双目运算符 其功能把 左边的运算数的各二进位全部左移若干位 由 右边的数指定移动的位数 高位丢弃 低位补0 a 4指把a的各二进位向左移动4位 如a 00000011 十进制3 左移4位后为00110000 十进制48 右移运算 右移运算符 是双目运算符 其功能是把 左边的运算数的各二进位全部右移若干位 右边的数指定移动的位数 设a 15 a 2表示把000001111右移为00000011 十进制3 应该说明的是 对于有符号数 在右移时 符号位将随同移动 当为正数时 最高位补0 而为负数时 符号位为1 最高位是补0或是补1取决于编译系统的规定 实例一 voidIIC send unsignedcharIIC data inti charIIC data t for i 0 i 8 i IIC data t IIC data i SDA IIC data t 流程图说明 一个流程图包括 表示相应操作的框 带箭头的流程线 框内外必要的文字说明 C语言算法的三种基本结构 三种基本结构的共同特点 只有一个入口 只有一个出口 结构内的每一部分都有机会被执行到 结构内不存在 死循环 1 顺序结构 2 选择结构 3 循环结构 控制语句 控制语句 条件语句 if else语句 多分支选择语句 switch语句 当型循环语句 while语句 直到型循环语句 do while语句 计数型循环语句 for语句 中止本次循环语句 continue语句 中止整个循环语句 break语句 函数返回语句 return语句 无条件转移语句 goto语句 条件 if 语句 一般形式 1 单臂 if 表达式 语句2 双臂 if 表达式 语句1else语句2if语句的嵌套形式 多分支 1 只在else分支嵌套if e1 语句1elseif e2 语句2elseif e3 语句32 if和else分支均有嵌套if e1 if e2 语句1else语句2elseif e3 语句3 课堂巩固练习 以下程序的输出为 A main inta 10 b 50 c 30 if a b a b b c c a printf a d b d c d n a b c A a 10 b 50 c 10B a 10 b 30 c 10C a 50 b 30 c 10D a 50 b 30 c 502 以下程序的输出为 C main inta 2 b 1 c 2 if a b if b 0 c 0 elsec printf d n c A 0B 1C 2D 3 switch语句 一般形式 多分支 switch 表达式 case常量表达式1 语句序列1 break case常量表达式2 语句序列2 break case常量表达式n 语句序列n break default 语句序列n 1 课堂巩固练习 1 以下程序的输出结果是 main intx 0 y 2 z 3 switch x case0 switch y 2 case1 printf break case2 printf break case1 switch z case1 printf case2 printf break default printf While语句 形式 while 表达式 循环体执行过程 先判断 后执行 说明 1 while语句是先判断 后执行 如果循环条件一开始就不成立 条件表达式为假 则循环一次都不执行 2 while循环中的表达式一般是关系表达式或逻辑表达式 但也可以是数值表达式或字符表达式 只要其值非零 就可执行循环体 3 循环体为多条语句时 必须采用复合语句 要加上一对花括号 4 循环体中必须有改变循环条件的语句 否则循环不能终止 形成死循环 do while语句 形式 do循环体while 表达式 执行过程 先执行 后判断 说明 1 do while语句是先执行 后判断 如果循环的条件一开始就不成立 循环也将执行一次 2 do while循环中的表达式一般也是关系表达式或逻辑表达式 但也可以是数值表达式或字符表达式 只要其值非零 就可执行循环体 3 循环体为多条语句时必须采用复合语句 4 与while语句一样 循环体中同样必须有改变循环条件的语句 否则循环不能终止 将形成死循环 5 对于同一个问题 while循环与do while循环的条件表达式是完全相同的 课堂巩固练习 1 下列程序段的输出结果是 B x 3 doprintf d x while x A 321B 3C 21D 2102 下面程序的输出结果为 D main inty 10 while y printf y d y A y 0B while构成死循环C y 1D y 1 For语句 形式 for 表达式1 表达式2 表达式3 循环体执行过程 先判断 后执行 说明 1 for语句是先判断 后执行 如果循环条件一开始就不成立 则循环一次都不执行 2 for语句的使用很灵活 形式多样化 3 循环体为多条语句时 必须采用复合语句 要加上一对花括号 4 循环变量的增值并不受限于1 可以为正 也可为负 但必须使循环变量的值发生改变 使循环条件能趋向假 否则会造成死循环 循环变量赋初值 循环条件 循环变量增值 实例 flageven 1 for j 0 j 376 j if flageven D0 0 D9 0 draw square 0 j 239 j 0 x00 0 x00 Blackelse D0 0 D9 0 draw square 0 j 239 j 0 x82 0 x10 32 grayflageven flageven voiddraw square unsignedcharstartX unsignedintstartY unsignedcharendX unsignedintendY unsignedcharcolorMSB unsignedcharcolorLSB 课堂巩固练习 1 执行下列语句的结果为 A for i 0 i 5 i if i 2 break printf d i A 01B 0134C 01234D 不打印2 下述for循环语句 B inti k for i 0 k 1 k 1 i k printf A 判断循环结束的条件非法B 是无限循环C 只循环一次D 一次也不循环 C语言函数的格式 函数定义的一般格式 无参函数的定义格式类型标识符函数名 声明部分语句 有参函数的定义格式类型标识符函数名 形式参数表列 声明部分语句 如 intmax intx inty 说明 intz 1 函数类型为函数返回值z x y x y 的类型 缺省时为int return z 2 参数列表包括参数类型和 参数名 C语言函数 形参和实参 形式参数和实际参数main inta b c scanf d d 说明 1 形参出现在被调函数定义的首部中 要给出其数据类型 实参出现在主调函数的调用语句中 2 形参为变量 实参可为变量 常量或表达式 只要有确定值即可 3 实 形参的数据类型一般要一致 且个数相同 4 调用函数时 将实参的值传递 单向传递 给形参 但形参值的改变并不会影响到实参 因为在内存中 实参与形参的存储单元是不同的 各自独立的 C语言函数 函数的调用 函数调用的方式1 把函数作为一个语句调用 如 max a b 2 可让函数出现在表达式中 如 c max a b 3 可让函数作为其他函数的参数如 m max max a b c 如 printf d max a b 比较 以上三种方式都调用了同一个函数 都会有一个函数返回值 但第一种方式并不使用该返回值 对被调用函数的声明和函数原型1 库函数 用文件包含命令进行声明2 自定义
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程询价服务方案(3篇)
- 城市照明升级2025年智能照明系统升级项目经济效益评价报告
- 2025护理核心制度及团体标准考核试题及答案
- 分级护理管理制度试题(含答案)
- 简单版电缆采购合同4篇
- 城市河道生态修复2025年项目生态修复项目环境风险评估
- 自救互救应急处置试题及答案
- 钢筋混凝土圆管涵及钢筋混凝土盖板涵施工方案
- 女性养血饮食方案
- 2025年危运驾驶考试题及答案
- TCEIAESD1005-2022防静电不发火地坪施工与质量验收规范
- 2025-2030中国汽车中冷器行业市场现状供需分析及投资评估规划分析研究报告
- 2025年大学生心理知识竞赛考试题库(共100题含答案)
- 无肝素透析考试题及答案
- 《数据分析与决策》课件
- 苏教版五年级数学上册单元测试题及答案全册24套
- 《诗经之采葛》课件
- 2025年中国氢化棕榈油市场深度评估及投资方向研究报告
- 幼儿园酸奶牛奶采购合同
- 《中药提取物生产技术》课件-中药常用的粉碎方法
- 政治学原理(第三版)课件 第1章 政治的性质与核心问题;第2章 政治学:研究方法与学科特点
评论
0/150
提交评论