昆工C语言-C语言第三讲.ppt_第1页
昆工C语言-C语言第三讲.ppt_第2页
昆工C语言-C语言第三讲.ppt_第3页
昆工C语言-C语言第三讲.ppt_第4页
昆工C语言-C语言第三讲.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

C语言第三讲 C语言第三讲 授课教师 杨瑾xjyangjin 循环结构 while语句 格式 while 表达式 循环体语句 注意 1 while是C语言的关键字 2 表达式是C语言中任意合法的表达式 作用是控制循环 while 3 while m 10 while m while a b 思考 什么情况下表达式为真 什么是为假 3 while语句也只能控制紧跟它的一条语句 若需要控制多条语句 必须用 括起 构成一条复合语句 inti 1 sum 0 while i 10 sum sum i i 小括号及表达式不能省 循环结构 while语句 格式 while 表达式 循环体语句 注意 4 循环体中的可以由一条空语句构成 表示循环体部分不做任何的操作 如 while 表达式 是循环体 它是一条空语句 5 执行过程 1 计算圆括号中表达式的值 若为非0则执行循环体语句 若为0则跳出循环 2 执行完循环体语句后重复过程 1 inti 1 sum 0 while i 10 sum sum i i 小括号及表达式不能省 循环结构 while语句 格式 while 表达式 循环体语句 注意 循环体中如果只有一条语句 可以不加花括号 如 分析上面程序段 通常应该在循环体内改变表达式中有关变量的值 使表达式最终为零 否则会出现死循环 inti 1 sum 0 while i 10 sum sum i 小括号及表达式不能省 若表达式一开始为假 则循环体一次也不执行 如 inti 11 分析上面程序段 练习巩固 习题集P30 1分析 1 x 2 x 的值真 x 1 2 x 1 x 的值真 x 0 3 x 0 x 的值假 x 1 循环执行结束 4 输出x的值为 1 练习巩固 习题集P23 1 1 N 10 n 7为真 n n 1后n为9 输出n的值9 2 N 9 n 7为真 n n 1后n为8 输出n的值8 3 N 8 n 7为真 n n 1后n为7 输出n的值7 4 N 7 n 7为假 结束循环 B 练习巩固 习题集P23 3 1 x 0 y 5 z 3 z 0 x0 x0 x0 x 4 值假 结束循环 5 输出x y z的值3 2 0 A 循环结构 do while语句 格式 do 循环体 while 表达式 注意 1 do是C语言的关键字 和while一起搭配使用 2 do while 表达式 是循环体 它是一条空语句 3 执行过程 1 执行循环体语句 2 计算圆括号中表达式的值 若为非0则重复 1 否则跳出循环 inti 1 sum 0 do sum sum i i while i 10 小括号及表达式不能省 分号必不可少 循环结构 do while语句 格式 do 循环体 while 表达式 注意 4 do while循环的重要区别 循环体至少要执行一次 inti 1 sum 0 do sum sum i i while i 10 小括号及表达式不能省 分号必不可少 练习巩固 习题集P30 2 1 sum 1 i 1 判断 i 5为真 2 sum 2 i 2 判断 i 5为真 3 sum 4 i 3 判断 i 5为真 4 sum 7 i 4 判断 i 5为真 5 sum 11 i 5 判断 i 5为假 结束循环 6 输出sum的值为11 练习巩固 习题集P24 5 1 s 1 a 1 判断 a n 因此 a n 一定成立 继续执行 2 s 2 a 3 判断 a n 此时s的值为2 那么肯定 a n 的值为假 也就是 a n 为真 因为a此时为 3 所以n的值为 3 结束循环 循环结构 for语句 格式 for 表达式1 表达式2 表达式3 循环体 注意 1 for是C语言的关键字 2 圆括号内三个表达式 以分号 隔开 3 循环体可以是空语句 也可以是一条语句 还可以是复合语句 for i 1 i 10 i sum sum i i 循环结构 for语句 格式 for 表达式1 表达式2 表达式3 循环体 注意 4 执行过程for 表达式1 表达式2 表达式3 循环体 for i 1 i 10 i sum sum i i 循环结构 for语句 格式 for 表达式1 表达式2 表达式3 循环体 注意 for i 1 i 10 i sum sum i i inti 1 sum 0 while i 10 sum sum i i for循环表达式1可以缺省 表达式2可以缺省 表达式3可以缺省 for 分号不能缺省 循环结构 for语句 main inti for i 1 i 100 i if i 4 0 continue printf 3d i 练习 把1 100之间能被4整除的数输出 练习巩固 习题集P25 9 1 i 1 i 10为真 s 2 i 3 2 i 10为真 s 2 4 i 5 3 i 10为真 s 2 4 6 i 7 4 i 10为真 s 2 4 6 8 i 9 5 i 10为真 s 2 4 6 8 10 i 11 6 i 10为假 跳出循环 7 s 2 4 6 8 10刚好是自然数1 10中的偶数之和 练习巩固 习题集P31 4 1 t 1 i 0为真 t 5 i 4 2 i 0为真 t 20 i 3 3 i 0为真 t 60 i 2 4 i 0为真 t 120 i 1 5 i 0为真 t 120 i 0 6 i 0为真 t 0 i 1 7 i 0为假 结束循环 8 输出t的值为0 数组 一维数组 一维数组的定义格式 类型名数组名 常量表达式 inta 5 注意 1 数组名属于用户标识符 必须满足用户标识符的命名规则 如 intdo 5 float3com 10 chara b 5 都是非法的定义2 定义数组时 方括号必不可少 方括号中的表达式必须是正的整型常量表达式 不能含有变量 如 inta 5 3 inta 4 inta n intN 5 inta N 都是非法的定义3 同一数组元素在内存中所占的存储空间是依次连续的 数组下标是从0开始 到数组长度减1结束 a 0 a 1 a 2 a 3 a 4 数组 一维数组 一维数组的初始化1 在定义一维数组的同时可以将各元素的初值依次放在一对 中赋给数组 初值之间用逗号隔开 如 inta 10 1 2 3 4 5 6 7 7 9 10 inta 5 1 2 3 4 5 错inta 5 1 2 3 4 5 错2 若初值个数少于数组元素的个数时 不能多于如 inta 5 1 2 3 inta 4 2 2 inta 3 0 3 数组的长度可以省略 若定义时 未赋初值 则长度绝不能省略 如 inta 1 2 3 4 数组的长度是4 inta 是非法的 4 只能在定义时可以用 给数组整体赋值 不是定义时 则只能单独给每个数组元素赋值 如 inta 4 a 1 2 3 或a 4 1 2 3 4 是非法的 数组 一维数组 一维数组的引用格式 数组名 下标表达式 如 inta 10 定义数组 intb a 4 引用数组元素a 4 intb a 2 2 引用数组元素a 4 说明 1 数组中的元素其实就是一个变量 占一个存储单元 如 inta 10 1 2 3 4 5 6 7 7 9 10 inta 5 1 2 3 4 5 错inta 5 1 2 3 4 5 错2 引用数组元素时 下标不能越界3 不能对数组进行整体引用 只能单独引用其元素 如 inta 10 intb 10 a 错误 intb 10 a 10 错误 b 0 a 0 b 1 a 1 等 正确 单独引用 for i 0 i 100 i a i b i 练习巩固 习题集P48 2 1 i 7为真 i 1 p 1 2 为假 不执行 2 i 7为真 i 2 p 2 2 为真 j 13 3 i 7为真 i 3 p 3 2 为假 不执行 4 i 7为真 i 4 p 4 2 为真 j 28 5 i 7为真 i 5 p 5 2 为假 不执行 6 i 7为真 i 6 p 6 2 为真 j 45 7 i 7为真 i 7 p 1 2 为假 不执行 8 i 7为假 结束循环输出j的值为45 练习巩固 习题集P56 2 1 i 1 i 4为真值 n i 0 输出n i 1的值1 i 2 2 i 2 i 4为真值 n i 0 输出n i 1的值1 i 3 3 i 3 i 4为真值 n i 0 输出n i 1的值1 i 4 4 i 4 i 4为真值 n i 0 输出n i 1的值1 i 5 5 i 5 i 4为假值 不执行语句 退出循环语句 所以最后得到的值为1111 数组 二维数组 二维数组的定义格式 类型名数组名 常量表达式1 常量表达式2 inta 2 3 注意 1 两对方括号必不可少 之间不能有空格 2 定义之后 6个连续的存储单元 在内存中的存放形式 依次连续 数组 二维数组 二维数组的初始化 1 按行赋值inta 3 3 1 2 3 4 5 6 7 7 9 2 直接赋值inta 3 4 1 2 3 4 5 6 7 7 9 inta 2 2 0 0 0 0 0 非法的个数不能多于数组元素个数 注意 1 里层的 的对数不能多于行数 花括号内初值个数不能多于列数 不能出现空花括号 对 如 inta 3 4 1 2 3 4 5 6 7 7 9 10 11 12 13 1 2 inta 3 4 1 2 3 4 10 11 12 13 以上定义均是非法的 2 若在定义二维数组的同时进行初始化 则可以不写第一维的长度 第二维则不能省略 若定义时未赋初值 则各维的长度均不能省略 如 inta 3 1 2 3 5 4 6 合法inta 3 或inta 3 都是非法的 数组 二维数组 二维数组的引用格式 数组名 下标表达式1 下标表达式2 如 inta 2 3 定义数组 intb a 0 0 引用数组元素a 0 0 intb a 1 1 1 引用数组元素a 1 2 说明 1 不论是一维数组还是二维数组都不能整体引用 如 如 inta 3 4 intb 3 4 a 是非法的 2 引用数组元素时 下标可以是C语言中任何合法的表达式 且可以含有变量 如 inta 2 3 1 2 3 4 5 6 intb i 1 b a 6 5 i 引用数组a 1 1 注意 引用时 下标不能越界 练习巩固 2007年4月考试试题 24 以下错误的定义语句是A intx 3 0 1 1 2 3 B intx 4 3 1 2 3 1 2 3 1 2 3 1 2 3 C intx 4 1 2 3 1 2 3 1 2 3 1 2 3 D intx 3 1 2 3 4 若有定义 inta 2 3 以下选项中对a数组元素正确引用的是A a 2 1 B a 2 3 C a 0 3 D a 1 2 1 D C 练习巩固 2007年9月试题若有定义语句 inta 3 6 按在内存中的存放顺序 a数组的第10个元素是A a 0 4 B a 1 3 C a 0 3 D a 1 4 设有定义语句 inta 3 0 1 2 则数组元素a 1 2 的值为 B 练习巩固 习题集P56 31 i 0 i 3为真值 s a i i a i 3 i 1 s s a 0 0 a 0 2 s 0 1 9 10 执行for语句的表达式3 i 变量i 1 2 i 3为真值 s 10 4 4 18 i 2 3 i 3为真值 s 18 7 5 30 i 3 4 i 3为假值 不执行语句 退出循环语句 最后输出s的值 即30 循环结构的嵌套 循环结构的嵌套 在一个循环体内 又包含另一个循环 三种循环语句可以相互嵌套 main inti j for i 1 i 3 i for j 1 j 4 j printf ni d j d i j printf ni d j d i j i 1 j 1i 1 j 2i 1 j 3i 2 j 1i 2 j 2i 2 j 3 外层循环每进行一轮 内层循环要一直循环结束 二 三章知识检查 程序段 intx 12 doubley 3 141593 printf d 8 6f x y 的输出结果是A 123 141593B 123 141593C 12 3 141593D 123 1415930 以下是if语句的形式 if 表达式 语句其中 表达式 A 必须是逻辑表达式B 必须是关系表达式C 必须是逻辑表达式或关系表达式D 可以是任意合法的表达式 D A 二 三章知识检查 有以下程序 includemain intx scanf d 程序运行时 输入的值在哪个范围才会有输出结果A 不等于10的整数B 大于3且不等10的整数C 大于3或等于10的整数D 小于3的整数 B 二 三章知识检查 有以下程序 includemain inta 1 b 2 c 3 d 0 if a 1 程序运行后的输出结果是A 1 2 3B 1 3 2C 1 3 3D 3 2 1 C 二 三章知识检查 有以下程序 includemain inta1 a2 char

温馨提示

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

评论

0/150

提交评论