C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计

上传人:飞*** 文档编号:33926442 上传时间:2018-02-19 格式:PPT 页数:49 大小:447.50KB
返回 下载 相关 举报
C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计_第1页
第1页 / 共49页
C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计_第2页
第2页 / 共49页
C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计_第3页
第3页 / 共49页
C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计_第4页
第4页 / 共49页
C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计》由会员分享,可在线阅读,更多相关《C语言程序设计实例教程(第2版)丁爱萍第3章 简单程序设计(49页珍藏版)》请在金锄头文库上搜索。

1、第3章 简单程序设计,3.1 顺序结构程序设计的概念3.2 赋值语句3.3 数据输出3.4 数据输入3.5 复合语句和空语句习题3,3.1 顺序结构程序设计的概念,顺序结构的程序设计是最简单的程序设计,它由一组顺序执行的程序块组成。最简单的程序块是由若干顺序执行的语句所构成的。这些语句可以是赋值语句,输入输出语句等。 顺序结构是一种线性结构,其特点是:在该结构中,各操作块(简称块,它所对应的计算机语言表述形式是程序段)按照各自出现的先后顺序,依次逐块执行。它是计算机科学用以描述客观世界顺序现象的重要手段,是任何从简单到复杂的程序的主体基本结构,因为选择结构与循环结构的组成,也离不开顺序结构(即

2、作为它们的子结构)。,一个程序通常可分为3个部分:输入、处理和输出。顺序结构用“结构化程序流程图(N-S图)”表示为如图3.1所示。程序名称标识符程序名称描述部分开始程序开始操作标志块a块给定问题初始化处理操作块b块,所论问题中心处理操作块c块给定问题善后化处理操作块结束程序结束操作标志块,图3.1 顺序结构流程图,3.2 赋值语句,赋值语句由赋值表达式加上一个分号构成。赋值语句比较简单,但是使用比较普遍。赋值语句是由赋值表达式加上一个分号构成,其一般格式为变量 =表达式; 例如:student_number=50 ;score=math+ph+ch ;,说明如下。 (1) 在C语言中符号“=

3、”是一个运算符,其优先级别和结合性以及赋值时数据的转换在第2章中已经作了详细的说明。 (2) 在赋值语句中,首先计算“=”右边的表达式的值,然后将其值赋给左边的变量。如果右边的表达式的类型与左边变量的类型不一致,系统将自动把“=”右边的表达式的值转换为与左边变量相同的类型,然后再赋值。,(3) 在C语言中有赋值表达式的概念,赋值表达式可以包括在其他表达式中,但是赋值语句一般不能出现在表达式中。例如:if (a=b)50) m=0.1 ;如果写成if (a=b ; )50) m=0.1 ;就错了,因为在if的条件中不能出现赋值语句,而只能是表达式。,3.3 数据输出,大部分的计算机程序需要与用户

4、进行交互,以便进行数据交流。所以,每一种语言都有完备的输入输出功能,有的是以标准的输入输出语句实现的,而C语言是通过调用系统提供的标准库函数实现的。 由于不同的C编译系统以及C编译系统的不同版本提供的C函数库是不同的,因此其提供的输入输出函数也是不相同的(包括函数名和函数调用参数)。不过它们一般都提供像printf和scanf等一些标准函数,使用方法大体相同。,在使用库函数中的输入输出函数时,要用编译预处理命令“#include”将有关的“头文件”包含到用户源程序中。例如,在使用标准输入输出库函数时,要用到“stdio.h”文件,因此要将此文件包含进来,文件开头应使用下面的编译预处理命令:#i

5、nclude 或 #include stdio.h 由于printf函数和scanf函数的使用比较频繁,因此,在使用这两个函数时可以不使用“#include”命令。,数据的输出是指将数据输出到标准输出设备上(例如显示器和打印机)。一般的C编译系统均提供很多的标准输出函数,在这节中介绍使用最常用的两个输出函数printf函数和putchar函数。3.3.1 printf函数 printf函数是向屏幕格式化输出变量、常量或表达式的值。在C语言中printf函数是最常用的输出函数。1. printf函数的一般格式 printf函数的一般格式为printf ( 格式控制 , 输出项1 , 输出项2 ,

6、 )该函数按照指定的格式,将输出项列表中的各项输出到标准输出文件中。,如果在printf函数调用之后加上分号,就构成了输出语句。其中,输出项可以是常量、变量或表达式。格式控制有普通的字符、转义字符和输出格式说明,需要将格式控制用双引号括起来。一个格式说明必须由一个“%”开头,后面跟一个类型字符构成。【例3-1】向屏幕输出变量、常量和表达式的值,并且控制光标的移动。#include stdio.hmain( ) int x,y; x=21; y=10;,printf(%dt,123); /* 向屏幕输出常量123的值 */ printf(x=%d,y=%d,x,y); /* 输出变量x和y的值

7、*/ printf(n); /* 光标到下一行的行首 */ printf(x%y=%d,x%y); /* 输出x%y的值 */,运行结果:123 x=21,y=10x%y=1其中,123可以直接输出,双引号中的字符(例如“x=”)按原样输出,、t和n是转义字符,x和y为变量,x%y为表达式。“%”后面的d为格式控制符。为了在结果中输出“%”,必须使用“%”。,2. printf函数中的格式控制说明 每个格式控制说明必须用“%”开头,以一个格式控制字符结束,在格式控制字符的前面还可以插入“宽度说明”、左对齐符号“-”、前导零符号“0”等附加字符。1) 格式控制字符 常用的格式控制字符和它们的功能

8、见表3-1。使用时要注意区分大小写。,表3-1 printf函数的格式控制字符,2) 附加格式说明字符 为了使程序的输出结果更加整齐美观,可以在控制字符的前面加上附加格式说明字符,见表3-2。,表3-2 printf函数的附加格式说明符,【例3-2】输出数据,并且控制数据的对齐形式、小数点后数字位数、八进制形式输出、字符串输出宽度等。#include stdio.hmain( ) int a=32,b=57; float x=7.876543,y=-345.123; char c=a; long l=1234567; printf(%d%dn,a,b); printf(%-3d%3dn,a,b

9、); /* 左对齐输出a的值,右对齐输出b的值 */,printf(%8.2f,%8.2f,%.4f,%.4fn,x,y,x,y); /* 数据x占8位,小数点后取两位,右对齐等 */ printf(%e,%10.2en,x,y); /* 按指数形式输出x的值等 */ printf(%c,%d,%o,%xn,c,c,c,c); /* 输出字符 a,字符 a 的ASCII码等 */ printf(%ld,%lo,%x,%dn,l,l,l,l); printf(%s,%5.3sn,CHINESE,CHINESE); /* 输出CHINESE和其前3个字符*/,运行结果:325732 57 7.88

10、, -345.12,7.8765,-345.12307.87654e+00, -3.5e+02a,97,141,611234567,4553207,d687,18CHINESE, CHI,从上面的例子可以看出,输出的格式控制是很复杂的,除了可以控制数据按十进制、八进制、十六进制整型输出,或者按浮点型、字符型输出外,还可以控制数据输出对齐的方式(左对齐或右对齐)和实数输出的格式等。3.3.2 putchar函数 putchar函数是向屏幕终端输出一个字符。格式为putchar(ch) ;其中,ch可以是字符型常量、变量或整型变量。 另外,在使用本函数时,程序首行要有“# include stdi

11、o.h”预编译命令。,【例3-3】输出字符。#include stdio.hmain( ) char a , b , c ; a=C ; b=A ; c=T ; putchar(a) ; putchar(b) ; putchar(c) ; putchar(n) ; putchar(101) ; putchar(B) ; putchar(c) ; 运行结果:CATABc,3.4 数据输入,3.4.1 scanf函数 scanf函数的作用是接收从键盘输入的数据,格式化后赋给变量。 scanf函数的格式为scanf(格式控制 , 地址1 , 地址2,); 说明如下。 (1) 格式控制的含义同前。 (

12、2) “地址n”是变量的地址。它既可以是简单变量的地址也可以是数组的地址。简单变量的地址用变量名前面加取地址运算符“&”表示,数组的地址用数组名表示。,例如,有如下变量说明。int day , year ;char month10 ;如果需要给变量day赋值为25,month赋值为Dec,year赋值为1996,则可以用下面的语句表示。scanf(%d%s%d , 数据输入时,应用空格隔开,按以下方式输入变量的值,即25 Dec 1996或者,数值型数据与字符型中间的空格省略,即25Dec 1996,但字符型数据与数值型数据之间的空格不能省略,上例不能输入为25 Dec1996 (month得

13、到了Dec1996) (3) 输入字符时不加单引号,输入字符串时不加双引号。 (4) 当scanf的格式字符串包含有普通字符时,在输入流中相应位置必须有相同的字符与之匹配。格式串中的一个空白字符可以与输入流中0个或多个连续的空白字符匹配。例如:,main( ) int x , y ; printf(please input x and y:) ; scanf(%d,%d , 如果将23赋给变量x,将42赋给变量y,因为在格式字符串中包含了“,”,所以,数据输入时,输入数据间也应用“,”分隔,则数据的输入形式为“23 , 42”,而不能用空格或其他符号分隔,如“23 42”。,(5) 在Turb

14、o C环境下输入long型整数时,在“%”和“d”之间必须加“l”;输入double型数时,在“%”和“f”或“e”之间必须加“l”,否则得不到正确的数据。 在scanf函数中的格式字符前可以用一个整数指定输入数据所占宽度,但不可对实型数指定小数位的宽度。例如:int i , j ;scanf(%3d%d , 若执行时输入:1234 5678则变量i的值为123,变量j的值为5678。,(6) 在格式控制时,格式说明的个数应该与输入项的个数相同。若格式说明的个数少于输入项的个数时,scanf函数结束输入,多余的数据项并没有被接收;若格式说明的个数多于输入项的个数时,scanf函数同样也结束输入。 例如,有下面的变量说明。int i , j ; float x , y ;scanf(%d%d , 若执行时输入:12 34 56.7 89则执行后,变量i的值为12,j的值为34,x未被赋值,y得到浮点数56.7。,

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

最新文档


当前位置:首页 > 资格认证/考试 > 其它考试类文档

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