第3章 顺序程序设计讲解

上传人:今*** 文档编号:107044097 上传时间:2019-10-17 格式:PPT 页数:70 大小:550.50KB
返回 下载 相关 举报
第3章 顺序程序设计讲解_第1页
第1页 / 共70页
第3章 顺序程序设计讲解_第2页
第2页 / 共70页
第3章 顺序程序设计讲解_第3页
第3页 / 共70页
第3章 顺序程序设计讲解_第4页
第4页 / 共70页
第3章 顺序程序设计讲解_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《第3章 顺序程序设计讲解》由会员分享,可在线阅读,更多相关《第3章 顺序程序设计讲解(70页珍藏版)》请在金锄头文库上搜索。

1、第3章 顺序程序设计,第3章 顺序程序设计,3.1 C语句概述 3.2 赋值语句 3.3 数据的输入与输出 3.4 顺序程序设计,3.1 C语句概述,程序由语句构成,每次只能执行一个语句 顺序结构是根据语句在程序中的先后次序顺序执行的程序结构 A A B B N-S图,例: void main() a = 3; b = 4; c = a + b; ,语句是表达算法的基本语言单位。 3.1.1 C语言语句的基本概念 常量、变量、运算符、表达式等都是一些基本语法项目,由这些基本项目,按一定的规则进行组合,并以分号结束,则可构成各种语句。 掌握C语言语句必须抓住二个基本点:语法,语义. 语法:就是语

2、句的书写规则. 语义:就是语句的含义和作用即语句的功能. C语句都是“可执行语句” ,没有“非执行语句; 书写比较自由;通常“一行一句” 。 3.1.2 C语言语句的分类 C语句可分为五类:表达式语句、函数调用语句、控制语句、复合语句、空语句。,任何一个表达式后加上“;”就构成了表达式语句,如算术表达式、关系表达式等。最典型的是用赋值表达式组成的赋值语句。例如: i = 1; i+;,1、表达式语句 C 语言所有的操作都是通过表达式来实现的。 表达式语句: 表达式 ;,2、函数调用语句 函数调用语句由函数名、括号、实际参数加上分号“;”组成。其一般形式为: 函数名( 实际参数表 ); 例: p

3、rintf (“Hello , worldn“);,“函数调用语句”也可以看成是表达式语句.,3、控制语句 控制语句用于控制程序的流程,以实现程序的各种基本结构,由特定的语句定义符组成。共有9种控制语句,分成三类:选择语句 、循环语句 和转移语句 。 C 使用控制语句控制程序的执行,常用的控制语句有: if else switch 选择控制 for while do while 循环控制 continue break return goto 转移控制,4、复合语句,例:while ( i 1) sum = sum + i; i = i + 1; ,说明: 复合语句的 之后不能有 “;” 允许一

4、行写几个语句,或者一条语句写几行 复合语句中还可以包含复合语句,即可嵌套,但嵌套必须完整,不允许交叉.,由括在 内的若干C语句组成,5、空语句 只有一个分号的语句,不产生任何操作 例:for ( i=1; i 100 ; i +) ;,空语句什么也不做,可用来做被转向点,或循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。,当程序中出现连续的两个分号“;”时,一般可把后面的分号看作空语句。,3.2 赋值语句,赋值语句是由赋值表达式加上一个分号构成的,是用于实现计算和赋值的一类最基本的语句。 其一般形式如下: 可赋值对象v = 表达式e;,注意: (1)如果赋值运算符两边的类型不一致,

5、则系统在算出表达式的值之后,先将该值转换为左边变量的类型,然后再赋值给左边的变量。 (2)赋值运算符“=”右边的表达式可以又是一个赋值表达式,形式为: 变量=变量=表达式; (3)在变量说明中,不允许连续给多个变量赋初值。,3.3 数据的输入与输出,数据处理的一般过程是:输入 处理 输出。 “输出”的功能是将保存在内存单元中的变量或者数组中的值显示在屏幕上或者用打印机打印出来,即把信息从内存传送到外设 。 “输入”的功能是利用键盘等输入设备为变量或者数组等提供数据,并保存到内存单元中,供程序计算时使用,即把信息从外设传送到内存。 在C语言中,输入输出操作是由编译系统提供的库函数来实现的。 使用

6、标准输入、输出库函数时要用在源文件开头使用预编译命令“#include ”或“#include “stdio.h“ ”。 主要介绍getchar()、putchar()、scanf()、printf()等输入、输出库函数。,5 putchar ( c ) 作用:将 c所代的字符输出到显示器上,例: #include void main ( ) char c1, c2; c1 = b; c2 = 98; putchar (c1); putchar (c2); putchar(b); putchar(98); putchar(n); putchar(101); ,一、字符的输入和输出,2、getc

7、har函数 格式:ch = getchar( ) 作用:从键盘缓冲区读入一个字符 (存入变量 ch 的存储区),例: #include void main( ) int c; printf (“Enter a character:“); c = getchar( ); printf (“%c : %dn“, c , c); ,以回车结束,输入提示,#include void main ( ) char c; c = getchar( ) ; putchar( c ); ,例:读程序 #include void main ( ) putchar( getchar( ) ); ,二、格式输入和输出

8、,printf函数的参数包括两部分: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息。 格式说明.格式说明由“%”和格式字符组成,如,等.它的作用是将输出的数据转换为指定的格式输出.格式说明总是由“%”字符开始的。 普通字符。普通字符即需要原样输出的字符。 例如上面printf函数中双撇号内的逗号、空格,赋值号和换行符。 (2) “输出表列”是需要输出的一些数据,可以是常量,变量或表达式。,1、格式输出函数 printf,#include void main( ) int i = 5; float f = 32.345; printf (“i =%3d f

9、=%5.1f n“, i, f ); printf (“End,n“); ,要输出的值列表,作用:按指定格式向终端输出数据 形式:printf(格式控制字符串,输出项表列),例:,格式控制字符串的组成,i =%3df =%5.1f,% 5 . 1 f,引导符,宽度,小数位数 精度,格式符,常规字符(需要原样输出的字符),格式控制完整的格式: % 0 m.n l/h 格式字符 输出项的类型 类型修正 输出域的宽度及精度 空位是否填0 是否左对齐输出 格式说明的引导符号,数字,注意:格式字符区分大小写, o 无符号八进制 以8进制整数形式输出。由于是将内存单元中 的各位的值(或)按八进制形式输出,

10、因此输出的 数值不带符号,即将符号位也一起作为八进制数的一部 分输出。 例:int a=-1; printf(“%d,%o“,a,a); 在内存单元中的存放形式(以补码形式存放)如下: 输出为: , x/X 无符号十六进制以16进制数形式输出整数。同样不会出现负的十六进制数。,1)格式字符 基本的格式字符 有以下几种: d 按十进制整型数据的实际长度输出。,例: x = 123; printf ( “%d“, x );,例:int a=-1; printf(“%d,%o“,a,a); 在内存单元中的存放形式(以补码形式存放)如下: 输出为: ,,用%d输出的结果,1,111,111,111,1

11、11,111 | | | | | | 1 7 7 7 7 7 二进数111就是8进数7。因此上面的数用8进制数表示为17777, x/X 无符号十六进制以16进制数形式输出整数。同样不会出现负的十六进制数。 例:int a= -1; printf(“%x,%o,%d”,a,a,a); 输出结果为 ffff,177777,-1 同样可以用 “%lx”输出长整型数,也可以指定 输出字段的宽度,如“%12x”。,u 不带符号的十进制整数%。用来输出无符号(unsigned)型数据,以十进制整数形式输出。一个有符号整数(int型)也可以用%u格式输出;反之,一个unsigned型数据也可以用%d格式输

12、出。按相互赋值的规则处理。unsigned型数据也可用%o或%x格式输出。 例: #include void main( ) short int b = - 2; unsigned short a = 65535u; printf (“a=%hd , %ho , %hx , %hu n“, a, a, a, a ); printf (“b=%hd , %ho , %hx , %hu n“, b, b, b, b ); ,65535 1111 1111 1111 1111 2 1111 1111 1111 1110,符号位,a=-1 , 177777 , ffff , 65535 b=-2 ,

13、177776 , fffe , 65534,c 输出一字符,用来指定输出字符数据的宽度m 如果有printf(“%3c”,c); 则输出“ a”,即变量输出占列,前列补空格。,s 输出一字符串 例: printf (”,”N”); 输出字符串“N”(不包括双引号),e/E 用格式说明 指定以指数形式输出实数。 例:printf(”,123.456):输出如下: 1.234560 e+002 6列 5列,一个值在范围内的整数,也可以用“”使之按字符形式输出,C编译系统自动指定给出数字部分的小数位数为位,指数部分占5位, f 以小数的形式输出实数(包括单、双精度),以小数形式输出,不指定整个字段的

14、长度,由系统自动指定。一般的处理方法是:整数部分全部输出,并输出位小数。,注意:在输出的数字中并非全部数字都是有效数字 。单精度实数的有效位数一般为6-位,双精度实 数的有效位数一般为15-16位。,g/G 自动取 e/E 和 f 中较短的一种 .%g用来输出实数. 它根据数值的大小,自动选格式或格式(选择输出时占 宽度较小的一种),且不输出无意义的零。,例:若,则 ( ,); 输出如下: 123.468000 1.234680e+002 123.468 10列 13列 10列,说明: 用格式输出占列,用格式输出占列,用 格式时,自动从上面两种格式中选择短者(今以格式为短) 故占列,并按格式用

15、小数形式输出,最后3个小数位为 无意义的,不输出,因此输出123.468,然后右补3个空格。 格式用得较少。, % 输出% (形如 %),例: 输出实数时的有效位数。 #include void main() float x,y; x=111111.111;y=222222.222; printf(“%fn“,x+y); ,运行结果: .,结果中只有前七位是有 效数字。由于x和y是单 精度变量,所以x+y也只 能保证7位的精度,后面 几位是没有意义的。,例:输出双精度数时的有效位数。 #include void main() double x,y; x=11111111.11111111; y=22222222.22222222; printf(“%fn“, x+y); ,运行结果: 33333333.333333,x和y是双精度变量,能提供16位精度,但是由于用%f格式输出,只能输出6位小数 ,有两位 被省掉了。

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

当前位置:首页 > 高等教育 > 大学课件

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