第3章 语句和控制结构

上传人:飞*** 文档编号:2455986 上传时间:2017-07-24 格式:PPT 页数:86 大小:1.39MB
返回 下载 相关 举报
第3章 语句和控制结构_第1页
第1页 / 共86页
第3章 语句和控制结构_第2页
第2页 / 共86页
第3章 语句和控制结构_第3页
第3页 / 共86页
第3章 语句和控制结构_第4页
第4页 / 共86页
第3章 语句和控制结构_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《第3章 语句和控制结构》由会员分享,可在线阅读,更多相关《第3章 语句和控制结构(86页珍藏版)》请在金锄头文库上搜索。

1、1掌握 C 语句的构成与分类。3掌握赋值语句、复合语句与空语句构成与使用要点。4熟练掌握字符、格式输入 / 输出函数的使用方法。5能编写简单的顺序结构程序。 6熟练掌握 if 语句的三种形式、基本结构及嵌套, 并能掌握条件运算符给出的语句与 if 语句的转化关系。7掌握 switch 语句的一般形式, 并能把复杂的分支选择性结构化成 switch 语句来解决问题。8掌握 while 与 do_while 语句的结构与使用方法。9掌握 for 语句的结构, 熟练掌握其使用方法。10. 会使用常见的循环嵌套形式。11. 能正确区分 for、do_while 与 while 三者的不同。 12. 掌

2、握 break 语句和 continue 的应用及其区别。13. 分析总结常用的程序设计方法及算法特点, 并能编写相应的程序。,第3章 语句和控制结构,3.2 顺序结构,3.1语句,第3章 语句和控制结构,3.4 循环结构,1. while 语句,2. do - while 语句,3. for 语句,4. 控制语句,5. 循环结构中的常用机制,1. 赋值和复合赋值语句,2. 数据输入输出,3. 复合语句和空语句,4. 顺序程序设计举例,3.3 选择结构,1.关系运算和逻辑运算,2. if 语句,3. switch 结构,6. 循环结构设计实例,3.5 小结, 3.1语句,3.1 语句(P41)

3、 语句和语法 语句是 C 语言中描述计算过程的最基本单位。由分号 “ ; ” 结束。语句必须符合 C 语言在形式上的严格要求 (既语法规则)。一个语句经编译后产生若干条机器指令。第 2 章中的变量定义也由 “;”号结束, 但不是语句,不产生机器操作。 语句的语义 每个形式上合法的语句都表示了一种含义,表明了程序执行时要求进行的一个动作。,语句的两要素:语法、语义!, 3.1语句,语句分类 C 语言是一种简单、灵活、自由的语言, 语句不多, 可分为下面 5 类: 控制语句 完成选择、循环和转移等功能, 共 9 种 函数调用语句 由一个函数加一个分号构成一个语句。如:printf(“hello”)

4、; 表达式语句 由一个表达式加分号构成一个语句。如: a=3; +x; 表达式可构成语句是 C 语言的一个重要特色。任何表达式都可以加上分号而成为语句。因此, C 语言也被叫作 “表达式语言” 。 空语句 只有一个 “ ; ” 号的语句。 复合语句 将语句用 括起来的一组语句, 用于执行一系列语句,与顺序结构对应。, 3.1语句,C 语言语句的书写 C 语言语句的书写非常自由,一行可以写多个语句,一个语句也可以拆开写在几行上。但清晰的、有层次的良好的语句书写习惯,对于程序的可读性将有很大的帮助。程序中的注释包含在 “ /* ” 和 “ */ ”之间,对程序的功能没有任何影响,注释的目的是帮助人

5、们理解程序。编译程序对注释、空格、制表符和回车换行的处理一样,只是简单地跳过不予处理。, 3.2 顺序结构,3.2 顺序结构 本节介绍的语句,将按它们在程序中出现的顺序逐条执行,由这样的语句构成的程序结构是顺序结构。,赋值语句和复合赋值语句 3.2 顺序结构,赋值语句和复合赋值语句赋值语句 由赋值表达式加上一个 “;” 号组成复合赋值语句 由复合赋值表达式加上一个 “;”号组成。其特点是第一个运算分量就是赋值对象本身,在程序中常用来表示累加、累积等运算。 (复合)赋值表达式和(复合)赋值语句的不同特点 赋值表达式出现在语法上要求使用表达式的地方, 而且常常要使用表达式的值; 赋值语句不能出现在

6、要求使用表达式的地方, 使用时, 主要使用它的赋值功能,不关心表达式的值。,例:( a = b ) 0 是合法的表达式, 而 ( a = b; ) 0 是非法的。,赋值语句和复合赋值语句 3.2 顺序结构,说明由于 C 语言赋值表达式形式多样, 用法灵活,掌握其运算规律有利于写出正确的赋值语句。赋值语句只能出现在程序的可执行部分。用赋值语句和复合赋值语句时,要求赋值号两侧的数据类型一致,否则,系统按赋值号左边变量的类型进行自动转换。因此,若 f 是浮点数, 语句 f = 1.0;比 f = 1;的运行效率要高。例: 下面的语句都是赋值语句: a = b + c;i = 1, j = 2;i+

7、;i- ; a = 10;例: 下面的语句都是复合赋值语: sum += i ;n* = i ;a = 2 ;,数据输入输出 3.2 顺序结构,数据输入输出(p42) 概述 输入输出(I/O)概念 把数据从计算机内部送到外部设备 (如显示屏、打印机、磁盘等) 的操作称为 “输出”。从外部设备 (如键盘、磁盘等) 将数据送入计算机内部的操作称为 “输入”。标准输入是指从标准输入设备 (键盘) 输入数据, 标准输出是指将数据输出到标准输出设备 (显示屏) 上。输入输出实现 C 语言本身没有I/O语句, I/O操作通过函数来实现。C语言函数库中有一批以标准I/O设备为对象的 “标准输入输出函数”,

8、本节介绍其中常用的四种: scanf、printf、getchar 和 putchar 。,数据输入输出 3.2 顺序结构,输入输出函数的使用 使用 I/O 函数, 要在程序开头写入一预编译包含命令 # include ,若只使用标准 I/O 函数 scanf 和 printf, 可省略此行。stdio 是一个头文件, 其中包括全部 I/O 库函数的数据类型定义和函数说明。若不用此方式引入头文件, 使用 scanf 和 printf 以外的 I/O 函数时将会出错。缓冲输入 操作系统和 C 程序标准输入函数采用缓冲的输入方式(键盘缓冲区), 输入数据后, 按“Enter” 键, 数据才能进入缓

9、冲区内。再从缓冲区取数据, 如果没有数据, 程序进入等待输入的状态,直到通过键盘输入数据, 并按 “Enter” 键把数据又放入缓冲区, 程序才能继续输入操作。,数据输入输出 3.2 顺序结构,字符输入函数 getchar() 功能 从标准输入设备读入一个字符, 没有参数, 返回读入字符的 ASCll 码值, 遇文件结束标志返回 EOF(EOF 是系统定义的常数, 表示文件结束符)。例如: # include main() int a, b, c; a = getchar(); b = getchar(); c = getchar(); printf(“a=%d b=%d c=%dn”, a,

10、 b, c) printf(“a=%c b=%c c=%cn”, a, b, c) ,输入:,编译预处理命令,1,a,b,98,49,10,10,97,输出: a=49 b=10 c=97 a=1 b= c=a,数据输入输出 3.2 顺序结构,字符输出函数 putchar() 功能 putchar(int c) 函数向标准输出写一个字符, 如果 c 是某个控制字符的 ASCII 码, 输出控制字符时, 会变成相应的设备动作。如: putchar(n); 引起屏幕换行操作。例如: 写程序,把一个输入字符输出, 并换一行。 # include main() char c; c = getchar(

11、); putchar(c); putchar(n ); ,数据输入输出 3.2 顺序结构,格式输出函数 printf() 格式:printf( “格式控制串”, 参数表 ) 。功能:按指定格式向显示器输出数据。返回值:正常,为输出字节数; 出错,为 -1(EOF)。一般程序中很少使用。 说明:参数表 要输出的数据 (可以是表达式, 多个时以 “,” 分隔, 也可以没有) 格式控制串:包含两种信息 格式说明: %修饰符格式字符, 用于指定输出格式 原样输出: 普通字符或转义序列,数据输入输出 3.2 顺序结构,格式字符 定义输出数据的类型, 见表3-1 P(44)格式字符要用小写格式字符与输出项

12、个数应相同, 按顺序一一对应格式字符与输出项类型不一致,自动按指定格式输出,例 int a=3, b=4; printf( “%d %d n”,a, b ); printf( “a=%d , b=%d n”, a, b );输出结果: 3 4 a=3 , b=4,例 main() unsigned int u = 65535; printf( u = %d n,u ); 输出结果: u = -1,符号,数据输入输出 3.2 顺序结构,修饰符 插在“%”和格式字符之间,说明宽度、对齐方式、正负号和前导符号等。见表3-2 长度修饰符。 长整型数一定要加 l , h 用于表示短整型或无符号短整型。

13、宽度控制 m.n。 系统缺省宽度是数据本身的宽度, 采用右对齐形式。m 是输出数据总的宽度。当 m 小于数据本身宽度时, 系统使用缺省宽度; 当 m 大于数据本身宽度时, 数据右对齐,左边补空格; n 对不同格式符有不同含义。 左对齐控制。在宽度前加“”、号(减号)实现。 正负号显示控制。在宽度前加 “” 号实现。 前导字符控制。在宽度前加 “0” 字符实现。 增加八进制和十六进制标志。在 % 或 o 后 x 之间插入 “” 号实现。,对整型数, 指定必须输出的数字个数: n 小于数据本身宽度时,统使用缺省宽度; n 大于数据本身宽度时,数据右对齐, 左边补0。例: printf ( %2d

14、n,123 ); 结果: 123 printf ( %5d n,123 ); 结果: 123 printf ( %.5d n,123 ); 结果: 00123 printf ( %8.5d n,123 ); 结果: 00123,对 e、E 或 f 类型实型数, 指定小数点位数: 小数位数大于 n 时, 按四舍五入法截去右边多余小数; 小数位数小于 n 时, 小数右边添 0。例: printf ( %f n,123.45 ); 结果: 123.450000 (缺省) printf ( %12f n,123.45 ); 结果: 123.450000 printf ( %en,123.45 ); 结果: 1.23450e+02 (缺省) printf ( %14en,123.45 ); 结果: 1.23450e+02 printf ( %gn,123.45 ); 结果: 123.45 printf ( %8gn,123.45 ); 结果: 123.45 printf ( “%8.3f n”,123.45 ); 结果: 123.450(右边添0 ) printf ( “%8.1f n”,123.45 ); 结果: 123.5 (四舍五入),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号