




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 基础篇 第2章简单程序设计之一 2020年3月26日 常量和变量顺序结构程序设计C语句概述选择结构程序设计简单循环结构程序设计 内容概述 2020年3月26日 教学目标 掌握常量与变量的定义和使用方法 学会三种结构的简单程序设计 从整体上把握和了解C程序的基本结构 对C语言程序开发设计有初步的感性认识 2020年3月26日 2 1常量与变量 常量 程序运行过程中不能被改变的量 在程序中 数据显式写法均表示常量如s 2 3 14 r中的2和3 14都是常量 符号常量 definePRICE586 1 常量 2020年3月26日 2 变量 变量 程序执行过程中可以改变它的值 变量包括变量名和变量值 变量名 用标识符命名 对应一定数量的内存存贮单元 其单元数视变量类型而定 在 例1 1 中 c a b 计算和 a b c是三个变量 而且是整型变量 2020年3月26日 在C语言中 变量须先定义 后使用 如 inttotal 变量定义 total 30 是合法的 若没有定义变量直接写成 total 30 则编译时会指出未定义错误 变量一旦被定义 其类型便确定即可在编译时为其分配相应数量的单元 2020年3月26日 3标识符 标识符 由字母 数字 下划线组成且由字母或下划线开头的字符串 如 sum sum stu name price等为合法的标识符 7ax x y printf va r等为非法的标识符 标识符的作用 可用来作为变量名 常量名 函数名 类型名 文件名等 2020年3月26日 建议 采用具有一定意义的英文单词 拼音字母的缩写作为标识符注意 C语言区分大小写如 Price和price 系统会认为是两个不同的标识符 标识符的长度一般不超过31个字符具体情况视不同系统而定 2020年3月26日 4变量赋值 变量的赋值有三种方法 在定义变量的同时为变量赋初值 格式为 例如 inta 10 利用赋值语句为变量赋初值 格式为 例如 a 10 3 利用格式化输入函数为变量赋初值 格式为 scanf 格式控制字符串 变量地址表列 例如 scanf d 定义后的变量其值是随机的 不确定的 只有通过赋值操作 其值才是确定的 才能被使用 2020年3月26日 2 2顺序结构程序设计 程序设计犹如 搭积木 和 写作 将零件或素材按一定的顺序和结构组织起来 就完成了 搭积木 和 写作 顺序结构程序设计就是根据问题要求设计的程序 其执行过程是按程序书写的顺序 从上到下 逐条语句顺序地执行 没有跳转 一直到最后一条语句 程序才算执行完毕 退出程序 2020年3月26日 问题分4个步骤来处理 1 输入两个整数给变量a和b 2 输出a和b的值 3 交换a和b的值 4 输出a和b的值 例2 2 由键盘输入两个整数给变量a和b 然后输出a和b 在交换a和b的值后 再输出a和b 验证两个变量中的数值是否正确地进行了交换 2020年3月26日 includevoidmain inta b t printf Enteraandb n scanf d d 输出a和b的值 程序运行情况如下 Enteraandb 123456 a 123 b 456a 456 b 123 2020年3月26日 数据输入输出的概念及在C语言中的实现 所谓输入输出是以计算机为主体而言的 数据输入是从标准输入设备输入 也就是键盘 数据输出到标准输出设备 也就是显示器 DOS下整个屏幕是标准输出设备 Windows下当前窗口是标准输出设备 在 语言中 所有的数据输入 输出都是由库函数完成的 因此都是函数语句 在使用 语言库函数时 需要用预编译命令include包含标准输入输出头文件stdio h 即 include 2020年3月26日 格式输出函数printf 函数函数功能 按用户指定的格式 把指定的数据显示到显示器屏幕上 一般形式 printf 格式控制字符串 输出表列 格式字符串是以 开头的字符串 在 后面跟有各种格式字符 以说明输出数据的类型 形式 长度 小数位数等 如 d 表示按十进制整型输出 输出表列中给出了各个输出项 要求格式字符串和各输出项在数量和类型上应该一一对应 2020年3月26日 格式输入函数scanf 函数函数功能 按用户指定的格式从键盘上把数据输入到指定的变量之中 一般形式scanf 格式控制字符串 地址表列 其中 格式控制字符串的作用与printf函数相同 但不能显示非格式字符串 地址表列中给出各变量的地址 地址是由地址运算符 后跟变量名组成的 例如 a b分别表示 取 变量a和变量b的地址 2020年3月26日 2 3C语句概述 程序的执行部分是由执行语句组成的 程序的功能也是由执行语句实现的 语句可分为以下五类 表达式语句函数调用语句控制语句复合语句空语句 2 3 1C语句分类 2020年3月26日 1 表达式语句 表达式语句由表达式加上分号 组成 其一般形式为 表达式 执行表达式语句就是计算表达式的值 例如 x y z 赋值语句 y z 加法运算语句 但计算结果不能保留 无实际意义 2020年3月26日 2 函数调用语句 由函数名 实际参数加上分号 组成 其一般形式为 函数名 实际参数表 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数 然后执行被调函数体中的语句 求取函数值 在后面函数中再详细介绍 例如 printf CProgram n 调用库函数 输出字符串 2020年3月26日 3 控制语句 控制语句用于控制程序的流程 以实现程序的各种结构方式 它们由特定的语句定义符组成 语言有九种控制语句 可分成以下三类 条件判断语句 if语句 switch语句 循环执行语句 dowhile语句 while语句 for语句 转向语句 break语句 continue语句 return语句 2020年3月26日 4 复合语句 把多个语句用括号 括起来组成的一个语句称复合语句 在程序中应把复合语句看成是单条语句 而不是多条语句 例如下面的一组语句是一条复合语句 x y z a b c printf d d n x a 注意 复合语句内的各条语句都必须以分号 结尾 在括号 外不能加分号 2020年3月26日 5 空语句 只有分号 组成的语句称为空语句 空语句是什么也不执行的语句 在程序中空语句可用来作空循环体 例如 while getchar n 本语句的功能是 只要从键盘输入的字符不是回车则重新输入 这里的循环体为空语句 2020年3月26日 2 3 2赋值语句 赋值语句是由赋值表达式再加上分号构成的 一般形式为 变量 表达式 变量1 变量2 表达式 例如 inta 5 intb c b c 3 但定义时连续赋值是错误的 inta b c 5 x 2020年3月26日 2 4选择结构程序设计 用if语句可以构成分支结构 它根据给定的条件进行判断 以决定执行某个分支程序段 if语句有三种基本形式 ifif elseif else if 2020年3月26日 第一种形式为基本形式 形式为 其语义是 如果表达式的值为真 则执行其后的语句 否则不执行该语句 其过程可表示为右图 if 表达式 语句 2020年3月26日 例2 3 由键盘输入两个不同的整数给变量a和b 然后输出a和b中较大的数 includeintmain inta b max printf Inputtwonumbers scanf d d 运行结果为 Inputtwonumbers 512max 12 2020年3月26日 第二种形式为 if else if 表达式 语句1 else语句2 其语义是 如果表达式的值为真 则执行语句1 否则执行语句2 其执行过程可表示为下图 2020年3月26日 例 用if else语句改写例2 3 includeintmain inta b printf Inputtwonumbers scanf d d 运行结果为 Inputtwonumbers 512max 12 2020年3月26日 第三种形式为 if else if 前两种形式的if语句一般都用于两个分支的情况 当有多个分支选择时 可采用if else if语句 其语义是 依次判断表达式的值 当出现某个值为真时 则执行其对应的语句 然后跳到整个if语句之外继续执行程序 如果所有的表达式均为假 则执行语句n 然后继续执行后续程序 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 elseif 表达式m 语句m else语句n 一般形式为 2020年3月26日 2020年3月26日 例2 4 个人年收入低于1万元 可免个人所得税 年收入在1万 2万元之间 超过1万元的部分交5 的个人所得税 年收入在2万元以上则交总收入的7 的个人所得税 请编写一个程序 根据个人年收入计算个人所得税 精确到元 个人年收入和个人所得税分别用整型变量x y保存 根据题意 个人所得税与个人年收入的关系可用一个分段函数表示 2020年3月26日 include stdio h voidmain intx y printf 请输入个人年收入 scanf d 程序运行情况如下 请输入个人年收入 15000 个人所得税 250元 2020年3月26日 include stdio h voidmain intscore grade printf 请输入成绩 scanf d 程序运行情况如下 请输入成绩 76 成绩76的对应积点是3 例2 5 计算学习成绩积点 2020年3月26日 在使用if语句中还应注意以下问题 在三种形式的if语句中 在if关键字之后均为表达式 该表达式通常是逻辑表达式或关系表达式 但也可以是其它表达式 如赋值表达式等 甚至也可以是一个变量 例如 if a 5 语句 if b 语句 都是允许的 只要表达式的值为非0 即为 真 2020年3月26日 在if语句的三种形式中 所有的语句应为单个语句 如果要想在满足条件时执行一组 多个 语句 则必须把这一组语句用 括起来组成一个复合语句 但要注意的是在 之后不能再加分号 if x y x x 5 y y 10 else x 10 y 5 例如 在if语句中 条件判断表达式必须用括号括起来 在语句之后必须加分号 例如 if b 语句 2020年3月26日 当if语句中的执行语句又是if语句时 则构成了if语句嵌套的情形 其一般形式可表示如下 if 表达式 if语句 或者为if 表达式 if语句 elseif语句 在嵌套内的if语句可能又是if else型的 这将会出现多个if和多个else重叠的情况 这时要特别注意if和else的配对问题 2020年3月26日 例如 if 表达式1 if 表达式2 语句1 else语句2 其中的else究竟是与哪一个if配对呢 应该理解为 if 表达式1 if 表达式2 语句1 else语句2 还是应理解为 if 表达式1 if 表达式2 语句1 else语句2 为了避免这种二义性 语言规定 else总是与它前面最近的if配对 因此对上述例子应按前一种情况理解 2020年3月26日 2 5简单循环结构程序设计 问题计算1 2 100的值 即inti sum i 1 sum 0 sum sum i i i 1 sum sum i i i 1 sum sum i i i 1 如何避免出现这种情况 重复100次同样的语句 程序显得很笨拙 2020年3月26日 前面的例子是一种循环执行的情况 也就是 在给定条件 i 100 成立时 反复执行某程序段 sum sum i i i 1 直到条件不成立为止 给定的条件称为循环条件 反复执行的程序段称为循环体 这种结构被称为循环结构 它是程序中一种很重要的结构 2020年3月26日 语言提供了多种循环语句 可以组成各种不同形式的循环结构 用goto语句和if语句构成循环 不介绍 不推荐使用 用while语句 用do while语句 用for语句 2020年3月26日 2 5 1while语句 格式 while 表达式 语句 其中表达式是循环条件 语句为循环体 功能 当表达式的值为非0时 执行while语句中的循环体 结构流程图如图所示 用while语句来实现 当型 循环结构 2020年3月26日 例2 6 用while语句求 用N S图表示算法 如右图所示 2020年3月26日 includeintmain inti sum i 1 sum 0 while i 100 sum sum i i printf Sum d n sum return 0 运行结果为 sum 5050 2020年3月26日 使用while语句应注意以下几点 while语句中的表达式一般是关系表达或逻辑表达式 只要表达式的值为真 非0 即可继续循环 循环体如果包含一个以上语句 应该用花括弧括起来 以复合语句的形式出现 否则while语句范围只到while后面第一个分号处 2020年3月26日 2 5 1do while语句 格式 do语句while 表达式 功能 先执行 语句 后判断表达式的值 它的执行过程是 先执行一次指定的语句 然后判断表达式的值 当表达式的值为非零 真 时 返回重新执行该语句 如此反复 直到表达式的值等于0为此止 此时循环结束 do while循环语句 用来实现 直到型 循环结构 2020年3月26日 例 用do while语句改写例2 6的while循环部分 includeintmain inti sum i 1 sum 0 do sum sum i i while i 100 printf Sum d n sum return 0 2020年3月26日 例2 7 while和do while循环比较用while和do while两种语句分别编程序求i i 1 i 2 10 其中 i由键盘输入 includemain intsum 0 i scanf d includeintmain intsum 0 i scanf d 试分析 当分别输入5和15时 两个程序段分别输出什么 2020年3月26日 2 5 3for语句 在C语言中 for语句使用最为灵活 它完全可以取代while语句 它的一般形式为 for 表达式1 表达式2 表达式3 语句它的执行过程如下 先求解表达式1 求解表达式2 若其值为真 非0 则执行for语句中指定的内嵌语句 然后执行下面第 步 若其值为假 0 则结束循环 求解表达式3 再次计算表达式2的值 开始再次循环 直到计算表达式2的值为0 中止循环 执行for语句下面的一个语句 2020年3月26日 2020年3月26日 例2 9 从键盘输入一个整数给变量n 求n以内的偶数和 include stdio h voidmain inta n m 0 printf 请输入一个大于1的整数 scanf d 请输入一个整数 10 10以内的偶数和 30 2020年3月26日 2 5 4几种循环的比较 三种循环 while do while for 可以互相替换 循环条件 while do while在whie后面指定 for循环在 表达式2 中指定 循环初始条件 while do while在循环前指定 for循环在 表达式1 中指定 判断循环条件的时机 while for循环先判循环条件 后执行 do while循环先执行 后判断循环条件 2020年3月26日 课堂练习1 编程求分段函数的值 x x 1 y 2x 1 1 x 10 3x 11 x 10 2020年3月26日 includemain i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《礼记》二则课件
- 透析患者皮肤瘙痒的护理
- 营销部转正汇报
- 公司汇报文件课件
- 《男孩-女孩》课件
- 摩托车技术与发展概述
- 广东省韶关市武江区2023-2024学年高三上学期第一次月考英语题库及答案
- 脑梗塞护理查房总结
- 2025商业租赁合同模板
- 研究院财务汇报
- (完整文本版)无人机航拍理论试题库完整
- 厂房降租减租申请书
- 植入式静脉给药装置(输液港)-中华护理学会团体标准2023
- 小学数学集体备课活动记录表范文12篇
- 铝合金门窗安装监理交底
- 胸腹水常规检测标准操作规程
- 基本公卫生服务的项目组织管理灵石武佳波课件
- 电工职业技能竞赛技术规程
- 机电设备调试协议书
- 芪参益气滴丸课件
- 短视频编辑与制作(第2版)PPT完整全套教学课件
评论
0/150
提交评论