【计算机】4 表达式

上传人:ldj****22 文档编号:51582105 上传时间:2018-08-15 格式:PPT 页数:63 大小:1.05MB
返回 下载 相关 举报
【计算机】4 表达式_第1页
第1页 / 共63页
【计算机】4 表达式_第2页
第2页 / 共63页
【计算机】4 表达式_第3页
第3页 / 共63页
【计算机】4 表达式_第4页
第4页 / 共63页
【计算机】4 表达式_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《【计算机】4 表达式》由会员分享,可在线阅读,更多相关《【计算机】4 表达式(63页珍藏版)》请在金锄头文库上搜索。

1、第 4章 顺序结构程序设计第 4章 顺序结构程序设计4.1 C语言语句 4.2 数据输入 4.3 数据输出 4.4 字符数据的输入输出4.5 程序设计举例 第 4章 顺序结构程序设计C语言程序结构第 4章 顺序结构程序设计4.1 C语言语句 4.1.1 控制语句 if()else 条件语句 switch 多分支选择语句 while() 当循环语句 dowhile() 直到循环语句 for() 计数循环语句 continue 中止本次循环语句 break 中止整个循环或switch语句 return 函数返回语句 goto 无条件转移语句第 4章 顺序结构程序设计4.1.2 表达式语句 在C语言

2、中, 任何表达式都可以以相应表达式语句的形式存在于程序中。 例如: i+; a=b=c=1; x=y=1, x*x+y*y; sin(0.75); 第 4章 顺序结构程序设计相应的赋值语句有基本赋值语句与复合赋值语句。例如: (1) S=1+2+3+4+5; (2) x+=1; (3) x=y=z=a=b=c=1; 函数调用语句由函数调用表达式加分号构成。 例如: exp(x); /*求eX*/ fabs(x); /*求|x|*/ sqrt(x); /*求 */ 第 4章 顺序结构程序设计4.1.3 特殊语句 1. 注释语句格式为: /*注释文本*/注释语句虽然不对程序的运行产生任何影响, 但

3、必要的注释是程序的重要组成部分。 注释分功能性注释和说明性注释。 功能性注释用以注释程序、 函数及语句块的功能, 说明性注释用以注释变量的作用。 第 4章 顺序结构程序设计如何给程序加必要的注释, 以增加程序的可读性, 请遵循以下原则: (1) 一个程序至少有一条注释语句, 关于整个程序功能的说明。(2) 对程序中主要的变量加必要的注释, 说明变量的作用。(3) 对程序中重要的语句块加必要的注释, 说明语句块的功能。 第 4章 顺序结构程序设计例如: main( ) /*求三角形面积*/float a, b, c; /*三角形三边*/float t; /*半周长*/float h, s; /*

4、周长, 面积*/*输入*/scanf(“%f,%f,%f”,h=a+b+c; /*求周长*/t=0.5*h;s=sqrt(t*(t-a)*(t-b)*(t-c); /*求面积*/*输出*/printf(“面积是%f“,%s); 第 4章 顺序结构程序设计2. 复合语句如if语句中的选择体、while语句中的循环体, 当选择体、循环体需多条语句描述时, 就必须采用复合语句。 复合语句只需用大括号“ ”将一系列语句括起即可。 复合语句不是一条具体语句, 是一种逻辑上的考虑, 凡是单一语句可以存在的位置, 均可以使用复合语句。复合语句用在语法上是单一语句, 而相应操作需多条语句描述的情况。 函数体从

5、一般意义上讲就是一条复合语句。 复合语句又称为分程序, 它可以有属于自己的数据说明部分。 第 4章 顺序结构程序设计3. 空语句空语句是一种概念, C语言的空语句仅由分号构成, 在编译时不产生任何指令, 在执行时不产生任何操作。 空语句常用于: (1) 构成标号语句, 标识程序中相关位置。 (2) 循环语句中空循环体。 (3) 模块化程序中未实现的模块及暂不联入的模块。 第 4章 顺序结构程序设计4.2 数据输入 4.2.1 一般格式 数据输入的一般格式为:Scanf (格式控制 ,地址表列) (1)格式控制用以描述输入数据的格式, 由格式说明符组成, 格式说明符由“%”和格式字符组成。不同格

6、式说明对应不同类型的数据输入。 格式控制中格式字串可以包含普通字符, 普通字符在数据输入时必须原样输入。 第 4章 顺序结构程序设计(2) 输入参数只能用地址表, 表示将输入的数据送相应地址代表的存储单元中。 这点要特别注意, 这是与其它高级语言不同的。 地址通过取地址运算 (1) scanf(%d,%d,%d, 格式控制 输入参数表从键盘输入i, j, k的值。 如输入: 1, 2, 3i 将得到值1, j将得到值2, k将得到值3。 如输入: 10, 20, 30i 将得到值10, j将得到值20, k将得到值30。 (2) scanf(i=%d, j=%d, 如i的值为1, j的值为2,

7、 必须作如下输入: i=1, j=2 第 4章 顺序结构程序设计4.2.2 格式字符 对应于不同类型的数据输入, C语言用不同的格式字 符描述: d: 用于输入十进制整数。o: 用于输入八进制整数。x: 用于输入十六进制整数。c: 用于输入字符数据。s: 用于输入字符串数据。f: 用于输入实数, 可以用小数形式或指数形式输入。e: 与f 作用相同, e 与f 可以相互替换。 第 4章 顺序结构程序设计例如: int i; char c; float f; (1) scanf(%d,%f,%c, 如输入: 2 , 3.4, ci、 f、 c分别得到值2、 3.4、 c。 第 4章 顺序结构程序设

8、计() scanf(%x,%f, 如输入: 1A 4.93e1 i 得到值1A(十六进制数), f 得到值49.3。C语言还提供附加格式字符用于输入数据格式的进一步描述: l: 用于输入长整型数据(%ld, %lo, %lx), 以及双精度型 数据(%lf, %le)。h: 用于输入短整型数据(%hd, %ho, %hx)。n: 域宽, 为一正整数, 用于指明截取输入数据的位数。 只能 用于整型数据输入。 *: 表示跳过当前输入项。 第 4章 顺序结构程序设计例如: 假定已有相应变量定义(1) scanf(%2d,%3d, 如输入: 12,345i 得到值12, j 得到值345。(2) sc

9、anf(%2d%*3d%2d, 如输入: 1234567a得到值12, b得到值67。 第 4章 顺序结构程序设计4.2.3 说明 (1) 输入函数中格式控制字串中不允许使用转义字符。 (2) 利用格式字串中普通字符在输入时要原样输入, 常引入特定的普通字符如逗号等, 作为输入数据的分隔符, 如: scanf(%f, %f, %d, 输入数据必须用逗号分隔, 如: 3.0, 4.0, 5。 第 4章 顺序结构程序设计(3) 如果数据本身可以将数据分隔时, 输入数据不需用分隔符, 如: scanf(%d%c%d, v1的值30, v2的值a, v3的值18。 可这样输入: 30a18, 字符数据

10、a能起到分隔数据30、18的作用。 (4) 无符号整型数据输入用% d、 % o、 % x描述。 第 4章 顺序结构程序设计(8) 输入函数的返回值为输入数据的个数, 需要时可以加以利用。 (9) 在介绍完输入函数后, 读者这时还应注意到变量得到值有三种方法: 定义时赋给初值, 在编译时得到;在执行时利用赋值语句得到; 在执行时通过输入函数得到。利用输入函数得到值更具一般性、通用性。另外,数据也常来自磁盘文件。 (10) 在分析程序的输入数据时, 要同时考虑输入数据的输入格式。 第 4章 顺序结构程序设计4.3 数据输出 4.3.1 一般格式 数据输出的一般格式为:printf(格式控制, 输

11、出参数表)(1) 格式字串用以描述输出数据的格式, 由格式说明符和普通字符组成。 与scanf( )函数中格式字串一样, 格式说明符由“%”和格式字符组成, 不同的格式说明符对应不同类型数据的输出, 普通字符原样输出。 第 4章 顺序结构程序设计(2) 输出参数可以是表达式。如果是常量, 直接输出; 如是变量, 输出其值; 如是表达式, 先计算表达式的值, 再输出。 (3) 输出函数的调用一般也采用语句调用形式, 间接形成C语言的输出语句。 例如: int i= j=2; char ch=a; printf(i=%2d, j=%2d, i, j); 输出结果: i= 2, j= 2 print

12、f(%2d*%2d=%2d, i, j, i*j); 输出结果: 2* 2= 4 第 4章 顺序结构程序设计4.3.2 格式字符 对应不同类型数据的输出, 类似于输入函数, C语言 用不同的格式字符描述。 d: 以带符号的十进制整数形式输出整数(正数不输 出符号)。o: 以无符号八进制整数形式输出整数(不输出前导 符0)。x: 以无符号十六进制整数形式输出整数(不输出前 导符0x)。u: 以无符号十进制整数形式输出整数。第 4章 顺序结构程序设计c: 以字符形式输出, 输出一个字符。s: 以字符串形式输出, 输出字符串的字符至结尾符为止。f: 以小数形式输出实数, 隐含输出1位整数, 6位小数

13、。 e: 以标准指数形式输出实数, 数字部分隐含1位整数, 6位小数。g: 根据给定的值和精度, 自动选择f与e中较紧凑的一种格式, 不输出无意义的0。 第 4章 顺序结构程序设计一般数据默认的输出宽度等于数据的实际位数。例如: int a=3, b=12; float x=1.23, y=4.785; printf(a=%d, b=%d, a, b); 输出结果: a=3, b=12 printf(%f*%f=%f, x, y, x*y); 输出结果: 1.230000*4.785000=5.885550对输出格式, C语言同样提供附加格式字符, 用以对输出格式作进一步描述。 第 4章 顺序

14、结构程序设计l: 用于长整型数据输出(%ld, %lo, %lx, %lu)。m: 域宽, 十进制整数, 用以描述输出数据所占宽度。 如果m大于数据实际位数, 输出时前面补足空格; 如果m小于数据的实际位数, 按实际位数输出。 n: 附加域宽, 十进制整数, 用于指定实型数据小数部分的输出位数。 如果n大于小数部分的实际位数, 输出时小数部分用0补足; 如果n小于小数部分的实际位数, 输出时将小数部分多余的位四舍五入。如果用于字串数据, 表示从字串中截取的字符数。 第 4章 顺序结构程序设计: 输出数据左对齐, 缺省时为右对齐。 +: 输出正数时, 也加上“+”号。 : 作为o, x的前缀时, 输出结果前面加上前导符0、0x。例如: 前举例中用指定格式输出:(1) printf(a=%5d, b=%5d, a, b); 输出结果: a=3, b=12(2) printf(%5.2f*%5.2f=%5.2f, x, y, x*y); 输出结果: 1.23* 4.79= 5.89 第 4章 顺序结构程序设计4.3.3 说明(1) 可以无输出参数, 而只有格式字串。 (2) 输出对象中使用转义字符, 完成一些特殊的输出操作。 例如: printf(n); /*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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