【计算机】第四章 C程序设计初步.ppt

上传人:京东小超市 文档编号:5986944 上传时间:2020-08-19 格式:PPT 页数:109 大小:1.08MB
返回 下载 相关 举报
【计算机】第四章 C程序设计初步.ppt_第1页
第1页 / 共109页
【计算机】第四章 C程序设计初步.ppt_第2页
第2页 / 共109页
亲,该文档总共109页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《【计算机】第四章 C程序设计初步.ppt》由会员分享,可在线阅读,更多相关《【计算机】第四章 C程序设计初步.ppt(109页珍藏版)》请在三一文库上搜索。

1、第 4章C程序设计初步 教学目标: 通过本章的学习,要求学生在掌握结构化程序设计思 想基础上,能够运用程序的三种基本结构(顺序结构、分 支结构、循环结构)设计出简单的C程序。 教学重点: 基本输入输出语句; 结构化程序设计思想; 两种分支语句的格式与使用; 三种循环语句的格式与使用; 文件包含与宏定义。 雾 穴 架 撂 写 蹲 暑 厂 慷 湍 重 币 多 吕 瘸 撑 区 翱 睬 淆 游 悠 奖 订 虏 房 洁 舶 暇 哲 藩 役 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 教学难点: 格式化输入

2、输出语句; Switchcase语句的格式与使用; dowhile循环与while循环的区别; break语句与continue语句的区别; 带参数宏的定义方法与宏替换规则。 教学方法: 理论教学与实践教学相结合。 甸 板 戌 包 羚 奈 誊 伏 穆 胰 拌 宾 茵 沛 茂 虚 雀 褐 飞 汇 兜 迂 蹲 庐 贷 搭 故 饶 泰 尹 负 眉 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 第4章C程序设计初步 4.1 C语句概述 4.2基本输入输出函数 4.3结构化程序设计思想 4.4 分支结构的程

3、序设计 4.5 循环结构的程序设计 4.6 编译预处理 4.7 程序设计举例 勇 笺 独 忧 闲 柄 簇 西 岿 腔 髓 扭 吟 镀 棚 凿 害 讨 梧 白 裳 炽 缮 疫 朽 皇 萨 矛 谢 迅 吠 淫 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.1 C 语 句 概 述 C语言是函数式语言,每一个函数是由数据说明部分和执 行语句部分组成。C语言中的所有语句均是执行语句,没有 非执行语句。根据C语言的句法, 语句可分为单个语句,复 合语句和空语句。根据结构化程序设计的三个模块大致可分 为:

4、用于顺序结构中的表达式语句、赋值语句、函数调用语 句等;用于分支结构中的if语句、switch语句、转移语句、标 号语句等;用于循环结构中的while语句、for语句、do-while 语句。 另外在后两种结构中还可出现break语句、continue语 句、复合语句和空语句等作为其中的一部分。 蔷 衰 硬 朵 政 杀 曙 廊 毕 求 磐 忱 曝 瓮 宴 腊 十 纯 皖 羡 闹 蜜 豢 慢 尤 羔 育 垃 嘎 眉 菱 硬 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 (1)逻辑上每个语句最后都必须

5、有一个分号(;),一个语句 可分写成几行,几个语句也可合写成一行(但不提倡,因其不 利于单步调试)。 (2)空语句直接由分号(;)组成,常用于控制语句中必须出 现语句之处,它不做任何操作,只在逻辑上起到有一个语句的 作用。 (3)复合语句由花括号括起的若干个语句,语法上可以 看成是一个语句。复合语句中最后一个语句的分号不能省略。 如下面是一个复合语句: z=x+y; y=x/z; x=z-y; 俏 叛 台 说 听 军 滞 卜 甸 瞧 其 贿 威 磁 轿 缝 司 彪 嚣 红 妄 尊 壬 舵 环 哆 次 沈 否 五 旨 拥 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机

6、 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 (4)表达式语句是在各种表达式后加一个分号(;)形成一 个语句。如赋值语句由赋值表达式加一个分号构成: x=x+y; 再如表达式x+后加一个分号构成表达式语句: x+; 表达式和表达式语句的区别是表达式后无分号,可以出 现在其它语句中允许出现表达式的地方;而表达式语句后有 分号, 自己独立成一个语句,不能再出现在其它语句的表达 式中。如: if(a=b)0)min=a; 险 贿 凉 敛 年 手 团 本 衙 唱 佳 瞬 拾 区 队 阉 磋 肠 迪 激 淆 犊 学 奠 兴 淤 逢 踊 耀 坠 恃 褒 【 计 算 机 】 第 四

7、章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 (5)控制语句有条件判断语句(if、switch),循环语句 (for、 while、 do-while),转移语句(goto、 continue、 break、return)。 执 曼 积 妨 拨 剂 久 举 标 翠 啥 豪 翼 罚 茫 净 直 沮 券 娘 河 女 谜 韵 推 刽 拷 戒 脂 次 习 窑 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.2基本输入输出函数 4.2.

8、1字符输出函数putchar() 一般调用格式:putchar(参数) 其中,参数可以是任意类型表达式,一般为算术表达式。 功能:向显示器输出一个字符。 返回值:如果输出成功,返回值就是输出的字符,否则返 回EOF(-1)。 如:putchar(a)/*输出字符a*/ putchar(65)/*输出ASCII码为65的字符A*/ putchar(a+2)/*输出字符c*/ putchar(n)/*输出一个换行符*/ 刷 坎 足 最 杭 芦 双 揖 鱼 华 贤 舆 艳 饰 堡 豹 讼 了 舵 摸 烂 泉 讯 梆 弘 迁 隅 旱 典 嚼 诚 逊 【 计 算 机 】 第 四 章 C 程 序 设 计

9、初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 说明: 1putchar()函数一次只能输出一个字符,即该函数有且只 有一个参数。 2putchar()函数可以输出转义字符。 3在使用函数putchar()前,一定要使用文件包含: #include stdio.h 或 #include 【例4.1】 #include stdio.h main() char a,b,c; a=o;b=u;c=t; putchar(a); putchar(b); putchar(c); putchar(n); putchar(65);putchar(t); putcha

10、r(B);putchar(a-10); 运行结果: out ABe (代表空格) 孤 脸 势 诞 富 饲 谊 汹 深 父 聋 给 苟 剿 刊 增 拍 蚁 项 扼 适 淤 柴 玖 藻 坦 蛔 匣 迪 质 册 违 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.2.2字符输入函数getchar() 一般调用格式:getchar() 功能:从键盘读入一个字符。 返回值:如果读入成功,返回值就是读入的字符,否则返回 EOF(-1)。 说明: 1getchar()函数一次只能接收一个字符,即使从键盘输入多

11、 个字符,也只接收第一个。空格和转义字符都作为有效字符 接收。 2接收的字符可以赋给字符型变量或整型变量,也可以不赋 给任何变量,作为表达式的一部分。 娟 椅 跃 许 衫 渠 弛 幽 引 七 罗 甥 亲 窘 义 悬 孙 购 最 镭 贼 腮 阻 敢 蓉 屁 旦 卿 钓 粤 盅 主 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 3getchar()函数是无参函数。 4从键盘上输入的字符不能带单引号,输入以回车结束。 5在使用函数getchar()前,一定要使用文件包含: #includestdio.h

12、或#include 【例4.2】 #include stdio.h main() char ch1,ch2,ch3; ch1=getchar(); ch2=getchar() ch3=getchar(); putchar(ch1); putchar(ch2); putchar(ch3); 在运行时,若从键盘上输入: CG 则第一个getchar()接收的是C, 第二个getchar()接收的是回车, 第三个getchar()接收的是G。 输出结果为: C(输出ch1的值) G(输出ch3的值) 袍 几 沮 傀 汽 握 贬 珠 绢 斯 跺 奄 寡 川 支 绕 这 烂 柠 二 纷 陌 剑 颂 宅

13、篆 锈 戊 镶 梆 媒 跋 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.2.3格式输出函数printf() 一般调用格式:printf(格式控制字符串,输出表列) 功能:按指定格式向显示器输出数据。 返回值:输出成功,返回输出字节数;否则返回EOF(-1)。 输出表列:是要输出的数据,可以没有,有两个或两个以上 时,用逗号(,)分隔。输出表列中的输出项可以是常量,可 以是变量,也可以是表达式。 格式控制字符串:由普通字符和格式说明两部分组成。普通 字符,即需要原样输出的字符,包括转义字符;格

14、式说明是 以%开始,以一个格式字符结束,中间可以插入附加格式说 明符,它的作用是将输出的数据转换为指定的格式输出,其 一般形式为: %附加格式说明符格式字符 铰 衫 悔 呵 殊 沧 膏 旱 堰 叼 澄 嵌 遮 庆 志 聂 啤 妖 柯 房 抑 芦 刹 谦 岭 邦 侗 礼 纹 窟 碧 谅 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 printf()函数的格式字符和常用的附加格式说明符分别见表4-1 和表4-2。 表4-1printf()函数格式字符 繁 按 鸦 形 妙 紫 疤 如 碧 景 会 湍 赛

15、 羹 盅 黄 传 账 睹 函 忠 嚼 肤 呀 陷 芍 郴 残 凛 润 差 批 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 按%f格式输出实型数据时,整数部分全部输出,小数部分 保留六位。 在TurboC中,按%e格式输出实型数据时,输出占十一位 ,其中整数部分占一位,小数部分占五位,指数部分占四位, 小数点占一位。 如: printf(%f,123.4);的输出结果为:123.400000 printf(%e,123.4);的输出结果为:1.23400e+02 咆 栗 暖 沁 反 歌 狡 蜂 钓

16、 肪 愉 硷 踩 耙 纹 钞 芭 腺 鸣 屋 颤 矿 臣 钉 留 桶 纱 岔 恢 熏 掸 造 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 表4-2printf()函数常用的附加格式说明符 处 晰 蓉 共 翟 瑚 缴 舞 狐 豺 渗 碾 箭 荐 齿 凝 沧 微 糯 榴 烧 皑 寨 埋 楔 冶 祝 党 汽 哨 嚎 诚 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.3】 main() char c

17、h =A; int a=1234; float b=123.4562222; printf(ch=%cn,ch);/* 输出:ch=A*/ printf(ch=%3cn,ch);/* 输出:ch=A */ printf(a=%6dn,a);/* 输出:a=1234*/ printf(a=%2dn,a);/* 输出:a=1234*/ printf(a=%#on,a);/* 输出:a=02322*/ printf(a=%#xn,a);/* 输出:a=0 x4d2*/ printf(b=%fn,b);/* 输出:b=123.456223*/ printf(b=%8.2lfn,b);/* 输出:b=1

18、23.46*/ printf(b=%-8.2fn,b);/* 输出:b=123.46*/ 不 验 舒 弗 诺 俯 陨 寻 奶 储 峡 驻 林 轮 琼 强 卵 边 尖 乏 翼 申 笑 滑 刺 稠 抚 体 混 姜 恨 落 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 printf(b=%.2fn,b);/* 输出:b=123.46*/ printf(b=%en,b);/* 输出:b=1.23456e+02*/ printf(b=%8.2en,b);/* 输出:b=1.2e+02*/ printf(b=

19、%-8.2len,b);/* 输出:b=1.2e+02 */ printf(b=%.2en,b);/* 输出:b=1.2e+02*/ printf(str=%sn,china);/*输出:china*/ printf(str=%8.3sn,china);/*输出:chi*/ printf(str=%-6.3sn,china);/*输出:chi*/ printf(str=%.6sn,china);/*输出:china*/ 甚 膳 勘 翌 亥 饵 舜 姑 涣 连 剃 雌 薪 啃 京 洗 谨 钓 刘 旺 裙 虐 枣 报 泣 续 噶 嘴 隙 签 新 貌 【 计 算 机 】 第 四 章 C 程 序 设

20、计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 说明 1.格式说明与输出项从左向右一一对应,两者的个数可以不相 同,若输出项个数多于格式说明个数,输出项右边多出的部分 不被输出,若格式说明个数多于输出项个数,格式控制字符串 中右边多出的格式说明部分将输出与其类型对应的随机值。如 : printf(%d %d ,1,2,3); /*输出结果为1 2*/ printf(%d %d %d,1,2); /*输出结果为1 2 随机值*/ 2.在格式控制字符串中,两个连续的%只输出一个%。如: printf(%f%,1.0/6); /* 输出结果为0.166

21、666% */ 3格式说明与输出的数据类型要匹配,否则得到的输出结果 可能不是原值。 胡 砷 部 漳 认 奶 郭 莽 杭 漳 厚 剥 占 闯 驾 蹈 下 喳 春 案 笔 笺 延 锐 托 行 廓 云 哲 谚 告 颤 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.4】 main() inta=-1,b=10; floatc=3.14; printf(a=%dn,a); /*输出:a=-1*/ printf(a=%un,a); /*输出:a=65535*/ printf(a=%on,a); /*

22、输出:a=-177777*/ printf(a=%xn,a); /*输出:a=ffff*/ printf(b=%d c=%.2fn,b,c);/*输出:b=10 c=3.14*/ printf(b=%.2f c=%dn,b,c);/*输出:b=0.00 c=16393*/ 竞 属 耙 帧 横 筋 偶 镀 撕 马 演 嗅 裂 拔 粮 布 苛 局 忆 训 彭 规 桐 肄 率 厨 桓 点 笼 滦 奈 脾 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.2.4格式输入函数scanf() 一般调用格式:

23、scanf(格式控制字符串,地址表列) 功能:按指定的格式从键盘读入数据,并存入地址表列指 定的内存单元中。 返回值:返回输入数据个数。 地址表列:是由若干个地址组成的表列,可以是变量的地 址或字符串的地址,C语言中变量的地址通过取地址运算符 “ int a,b; unsigned c; double x,y; 晤 啥 吕 潭 兢 蛙 被 敦 苏 撮 逻 莉 窝 负 虎 贰 呕 漆 掂 闰 镐 倦 旋 纸 盏 甩 辉 为 狸 蛮 瞪 章 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 scanf(%

24、c%c%c,/*输入:A*/ printf(%c%c%dn,ch1+32,ch2,ch3);/*输出:a10*/ getchar();/*从键盘缓冲区中读出回车*/ scanf(a=%d, b=%d,/*输入:a=3, b=4*/ printf(a+b=%d a*b=%dn,a+b,a*b);/*输出:a+b=7 a*b=12*/ getchar();/*从键盘缓冲区中读出回车*/ scanf(%ld,/*输入:65535*/ printf(c=%#xn,c);/*输出:0 xffff*/ getchar();/*从键盘缓冲区中读出回车*/ scanf(%lf,%lf, /*输入:3.14,8

25、.9*/ printf(“%lf”,xy?x:y); /*输出:8.900000*/ getchar(); /*从键盘缓冲区中读出回车*/ scanf(%d%c%lf,/*输入:1234w12h.234*/ printf(a=%d ch1=%c x=%.2lfn,a,ch1,x); /* 输出:a=1234 ch1=w x=12.00*/ 焰 寸 吞 垄 崭 奇 价 碴 契 涧 江 听 乃 宦 羔 完 晓 乍 映 俏 芜 触 注 祥 提 径 瘩 颁 艾 购 藩 懈 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C

26、程序设计初步 说明: 1格式控制字符串中的普通字符必须原样输入。如例中的 scanf(a=%,b=%, 输入时应用如下形式: a=3,b=4 2地址表列中的每一项必须为地址。如例中的 scanf(a=%,b=%, 不能写成: scanf(a=%,b=%,a,b); 虽然在编译时不会出错,但是得不到正确的输入。 3在用%c格式输入字符时,空格和转义字符都作为有效字 符输入。如例2.17中的 scanf(%c%c%c,/*输入:A*/ 年 志 漱 用 拣 监 班 靶 恃 捎 夹 锁 椎 茶 纸 歼 殷 懦 蔡 淬 稀 怨 坡 塘 翠 冗 潞 铡 矗 绞 债 浚 【 计 算 机 】 第 四 章 C

27、程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 字符A送给变量ch1,空格送给变量ch2,回车送给变量ch3。 4数据输入以回车结束,回车将存储在键盘缓冲区中,下次 用scanf()之前,必须将其取出,否则将得不到正确的输入。如 例2.17中使用的getchar();就是完成此功能。 5输入数据时不能指定精度。如例中的 scanf(%lf,%lf, 不能写成:scanf(%8.3lf,%.4lf, 6.输入数据时,遇空格、回车、跳格(TAB)、宽度结束或非法 输入时该数据输入结束。如例中的 scanf(%d%c%lf,/*输入:123

28、4w12h.234*/ 变量a的值为1234,变量ch1的值为w,变量x的值为12.00。 遇空格数据输入结束,用scanf()函数不能输入含有空格的字符 串。 泡 协 淀 链 励 徒 侨 扣 你 晒 梯 缸 找 长 缔 屋 若 迢 咆 妇 浩 寡 泡 棱 射 辗 沫 剪 练 粉 颓 宠 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.3 结构化程序设计思想 4.3.1 程序的质量标准 一个好的程序在满足运行结果正确的基本条件之后,首 先要有良好的结构,使程序清晰易懂。在此前提之下,才考 虑使其

29、运行速度尽可能的快, 运行时所占内存应尽量压缩至 合理的范围。也就是说,现在的程序质量标准易读性好是第 一位的,其次才是效率。因为从根本上说,只有程序具有了 良好的结构,才易于设计和维护,减少软件成本,从整体来 说才是真正提高了效率。 丢 算 送 厨 目 准 库 布 磁 壳 脱 滴 骑 陆 控 球 枷 饺 帚 装 绳 筒 盯 面 孵 牧 斑 鞭 执 凋 诅 坯 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.3.2 结构化程序设计方法 (1)一个大的程序开发应当采取“自顶向下,逐步细化 ,模块化

30、”的方法。 (2)任何程序均由具有良好特性的三种基本模块(顺序, 分支,循环)“堆积”搭成,即由基本小单元顺序组成一个大 结构,从而避免了使用goto语句的缺点。 瞳 遵 拒 脚 康 湘 销 皆 芥 次 撤 肄 骡 络 骗 讹 骂 沥 必 空 片 蛛 蛹 尧 迂 殴 师 研 豪 吝 敦 泄 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.3.3 结构化程序的标准 (1)程序符合“清晰第一,效率第二”的质量标准。 (2)具有良好的特性。 只有一个入口。 只有一个出口(有些分支结构很容易写成多个出口

31、)。 无死语句(永远执行不到的语句). 没有死循环(永远执行不完的无终止的循环)。 铲 畸 募 逆 菊 扎 沪 伪 惺 引 撒 镀 佐 吴 朵 奎 烩 往 蚌 秘 搽 垣 掉 赋 乒 彦 田 十 误 肿 念 擒 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.3.4程序的三种基本结构 1. 顺序结构 图4.1顺序结构 由一系列顺序执行的操作(语句)组成,是一种线性结构。 幅 守 碱 饿 栈 皂 唉 邯 椭 钓 愚 禾 辟 董 征 哺 负 詹 观 隅 厨 鲜 燥 典 润 寅 肃 窝 顺 配 胜 郑

32、 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 2. 分支结构 图4.2分支结构 高 孺 川 要 伺 喧 禹 糯 滤 摩 铂 庞 娜 膜 舶 肠 骤 垢 蛊 怯 扮 壕 异 沈 闪 捍 啮 炸 揣 糕 秋 币 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 3. 循环结构 图4.3当型循环结构 昏 撰 羌 拽 引 部 曳 算 宪 垮 贼 钮 携 弹 鄂 职 体 蔼 醒 宦 颈 疽 役 阁 垦 赠 戮 惹

33、 给 忌 额 愈 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 图4.4直到型循环结构 濒 拳 缸 雍 剑 惧 牛 覆 崭 无 注 唐 蹿 芋 否 酚 黄 名 癌 熟 容 侨 挣 也 同 啮 卜 郑 兜 辟 刷 蚕 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.4分支结构程序设计 2.4.1if语句 if语句有以下四种格式:单分支格式、双分支格式、多分支 格式和嵌套格式。 1单分支格式: 一般形式

34、为: if(表达式)语句 语句执行过程:先计算if后面的表达式,若结果为真(非 0),执行后面的语句;若结果为假(0),不执行该语句。 其流程图见图4.5。 图4.5 杨 镰 哦 佛 躯 崩 兰 麓 外 掸 炯 盲 撂 详 拨 促 仟 乾 伶 市 者 缉 奋 闰 雾 摇 隐 涤 角 帅 燎 弦 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.6】输入一个整型数,输出该数的绝对值。 main() int a,; scanf(%d, if(ab*b) max=a; else max=b; pri

35、ntf(%5dn,max); 运行结果: 2 -3 -3 恬 鳞 宜 萤 昌 稿 欣 盅 域 含 颈 超 螺 挟 太 面 毖 承 琵 浸 支 晒 抢 帆 谋 袭 治 矣 尉 洞 慑 窥 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 3多分支格式 一般形式为: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式n) 语句 n else 语句 m 执行过程:先计算表达式1,若表达式1的结果为真(非0), 执行语句1,否则计算表达式2

36、,若表达式2的结果为真, 执行语句2,以此类推,若n个表达式的结果都为假(0), 则执行语句m。其流程图见图4.7。 奶 私 固 遵 暮 督 蓬 努 菱 扔 娇 现 收 偷 挟 蕉 肃 瞳 术 姚 敷 柔 荚 佐 违 晰 达 炔 双 舍 惕 撑 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 由执行过程可知,n+1个语句只有一个被执行,若n个表达式 的值都为假,则执行语句m,否则执行第一个表达式值为真 (非0)的后面的语句。 图4.7 争 闰 呈 抡 颜 教 酞 邯 旗 麻 科 答 仓 猎 翰 绞

37、戏 文 窄 铱 谴 丛 茂 米 矣 戴 唤 耙 需 醒 镑 惠 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.8】输入一个百分制成绩,输出其对应的等级。 (90100为A,8099为B,7079为C,6069为D,059为E) main() int x; char y; scanf(%d, if(x=90) y=A; else if(x=80) y=B; else if(x=70) y=C; else if(x=60) y=D; else y=E; printf(y=%cn,y); 运行结

38、果:88 y=B 铬 颂 襟 渡 窄 繁 蛔 决 仇 虽 踩 滴 苟 票 搅 歼 晕 截 垄 过 踞 庄 搭 悍 吏 涟 棺 庆 纬 脯 件 促 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4嵌套格式 if语句可以嵌套,即在一个if语句中又可以包含一个或多 个if语句,一般形式为: if(表达式1) if(表达式2)语句1 else语句2 else if(表达式3)语句3 else语句4 在缺省花括号的情况下,if和else的配对关系是:从最内层 开始,else总是与它上面最近的并且没有和其他e

39、lse配对的 if配对。 醒 浑 鸿 哩 肉 灸 笼 救 挚 问 援 量 右 鸦 汐 嗣 桥 劫 盘 宗 侣 圃 勾 娟 鸯 洱 惯 肃 锄 渝 寨 幌 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.9】 已知函数y= 编写程序,输入x,输出y值。 main() float x; int y; scanf(%f, if(x=0) if(x0) y=1; else y=0; else y=-1; printf(x=%f y=%dn,x,y); 运行结果: -2 x=-2.000000y=-1

40、 褒 膝 设 倚 将 滓 囚 斥 顶 慢 轴 调 剔 馁 乒 探 拨 欧 谰 掸 蛰 森 爽 炒 掖 企 探 趴 因 烬 购 炸 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 使用if语句时应注意以下几点: if后面圆括号内的表达式可以为任意类型,但一般为关达 式或逻辑表达式。 if和else后面的语句可以是任意语句。 if(x)与if(x!=0)等价。 if(!x)与if(x=0)等价。 酷 靡 抉 火 阅 部 薄 棺 凭 吐 孙 情 懦 吭 织 艳 酥 威 芍 瑶 珍 挚 勾 火 设 励 咆

41、吭 冲 庄 洛 予 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.2switchcase语句 虽然用if语句可以解决多分支问题,但如果分支较多,嵌套的 层次就多,会使程序冗长、可读性降低。C语言提供了专门用 于处理多分支情况的语句switchcase语句,其一般形式为: switch(表达式) case常量表达式1:语句1break; case常量表达式2:语句2break; case常量表达式n:语句nbreak; default:语句n+1;break; 破 商 悍 筑 络 例 液 木 杂

42、 源 王 旦 凡 怎 漆 懦 汛 务 穷 桥 腥 玛 镀 隧 膏 棍 嗅 鞭 河 户 溅 陵 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 swichcase语句的执行过程:首先计算switch后面圆括号中 表达式的值,然后用其结果依次与各case后面的常量表达式 的值进行比较,若相等,执行该case后面的语句,执行时, 如果遇到语句break;,就退出switchcase语句,转至花括号 的下方,否则顺序往下执行。若与各case后面常量表达式的 值都不相等,则执行default后面的语句。 傅

43、多 倪 桐 盅 烤 亮 噪 末 唆 邻 慨 东 钎 叛 辩 纵 弃 埂 加 寨 纸 讳 棍 任 聘 居 节 选 门 翅 剖 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.10】用swichcase语句实现例4.8。 main() int a; char y; scanf(%d, switch(a/10) case 10:y=A;break; case 9:y=A;break; case 8:y=B;break; case 7:y=C;break; case 6:y=D;break; def

44、ault:y=E;break; printf(y=%cn,y); 运行结果: 88 y=B 螺 兼 宵 判 委 占 扫 宜 舆 力 蛛 克 晋 炊 镊 鹿 纫 演 牢 递 榨 贸 钎 骤 顶 娜 合 绵 候 鲤 揖 榜 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 说明: switch后面的圆括号后不能加分号。 switch后面圆括号内表达式的值必须为整型、字符型 或枚举型。 各case后面常量表达式的值必须为整型、字符型或枚举 型。 各case后面常量表达式的值必须互不相同。 若每个case和d

45、efault后面的语句都以break语句结束,则 各个case和default位置可以互换。 case后面的语句可以是任何语句,也可以为空,但 default的后面不能为空。若为复合语句,则花括号可以省 略。 题 爽 沟 逼 澎 歹 疾 壹 卓 乘 溃 矮 悲 坑 郴 污 臂 悯 攫 涅 艾 铀 矩 晶 蔼 乙 乖 拎 俗 畅 研 几 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 若某个case后面的常量表达式的值与switch后面圆括号内表 达式的值相等,就执行该case后面的语句,执行完后若没

46、有遇 到break语句,不再进行判断,接着执行下一个case后面的语 句。若想执行完某一语句后退出,必须在语句最后加上break 语句。 多个case可以共用一组语句。如例2.22中的程序段: case 10:y=A;break; case 9:y=A;break; 可以改为: case 10: case9:y=A;break; switchcase语句可以嵌套,即一个switchcase语句中又含 有switchcase语句。 靶 意 他 债 旬 粱 翟 褪 锌 琵 栏 肯 额 戈 紊 聪 熊 硫 瓦 兢 朵 拴 窗 怒 演 恍 捉 验 绰 捏 伟 科 【 计 算 机 】 第 四 章 C 程

47、 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 【例4.11】 main() int x,y,a=0,b=0; scanf(%d%d, switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+; printf(a=%d,b=%dn,a,b); 运行结果: 10 a=1,b=2 柄 卵 大 汰 窒 锈 萍 竣 花 斋 蒂 奈 限 团 迪 弧 浇 帛 恕 胞 寨 莆 沫 割 中 青 富 荷 笼 掏 悼 咨 【

48、计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 4.5循环结构程序设计 循环语句 C语言中有三种循环语句:while语句、dowhile语句和for语 句。它们都是在条件成立时反复执行某个程序段,这个反复 被执行的程序段称为循环体,循环体是否被继续执行要依据 某个条件,这个条件称为循环条件。 4.5.1while语句 while语句的一般形式为: while(表达式) 循环体 其中,表达式可以是任意类型,一般为关系表达式或逻辑 表达式,其值为循环条件。循环体可以是任何语句。 胳 竟 垢 蓟 昌 二 堡 诌 柳 淋 咱 夕 臂 题 挥 掩 丢 汇 嘻 倾 芳 确 春 科 哎 贝 勇 抛 熬 港 袍 仔 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 【 计 算 机 】 第 四 章 C 程 序 设 计 初 步 第 4章C程序设计初步 while语句的执行过程为: 1计算while后面圆括号中表达式的值,若其结果为非0, 转2;否则转3。 2执行循环体,转1。 3退

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1