C语言程序设计实例教程(第2版)丁爱萍第3章简单程序设计.ppt_第1页
C语言程序设计实例教程(第2版)丁爱萍第3章简单程序设计.ppt_第2页
C语言程序设计实例教程(第2版)丁爱萍第3章简单程序设计.ppt_第3页
C语言程序设计实例教程(第2版)丁爱萍第3章简单程序设计.ppt_第4页
C语言程序设计实例教程(第2版)丁爱萍第3章简单程序设计.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 简单程序设计 第3章 简单程序设计 3.1 顺序结构程序设计的概念 3.2 赋值语句 3.3 数据输出 3.4 数据输入 3.5 复合语句和空语句 习题3 第3章 简单程序设计 3.1 顺序结构程序设计的概念 顺序结构的程序设计是最简单的程序设计,它由一组顺 序执行的程序块组成。最简单的程序块是由若干顺序执行的 语句所构成的。这些语句可以是赋值语句,输入输出语句等 。 顺序结构是一种线性结构,其特点是:在该结构中,各 操作块(简称块,它所对应的计算机语言表述形式是程序段) 按照各自出现的先后顺序,依次逐块执行。它是计算机科学 用以描述客观世界顺序现象的重要手段,是任何从简单到复 杂的程序的主体基本结构,因为选择结构与循环结构的组成 ,也离不开顺序结构(即作为它们的子结构)。 第3章 简单程序设计 一个程序通常可分为3个部分:输入、处理和输 出。顺序结构用“结构化程序流程图(N-S图)”表示为如 图3.1所示。 程序名称标识符 程序名称描述部分 开始 程序开始操作标志块 a块 给定问题初始化处理操作块 b块 第3章 简单程序设计 所论问题中心处理操作块 c块 给定问题善后化处理操作块 结束 程序结束操作标志块 第3章 简单程序设计 图3.1 顺序结构流程图 第3章 简单程序设计 3.2 赋值语句 赋值语句由赋值表达式加上一个分号构成。赋值 语句比较简单,但是使用比较普遍。赋值语句是由赋 值表达式加上一个分号构成,其一般格式为 变量 =表达式; 例如: student_number=50 ; score=math+ph+ch ; 第3章 简单程序设计 说明如下。 (1) 在C语言中符号“=”是一个运算符,其优先级别 和结合性以及赋值时数据的转换在第2章中已经作了详 细的说明。 (2) 在赋值语句中,首先计算“=”右边的表达式的值 ,然后将其值赋给左边的变量。如果右边的表达式的 类型与左边变量的类型不一致,系统将自动把“=”右边 的表达式的值转换为与左边变量相同的类型,然后再 赋值。 第3章 简单程序设计 (3) 在C语言中有赋值表达式的概念,赋值表达式可以 包括在其他表达式中,但是赋值语句一般不能出现在表达 式中。例如: if (a=b)50) m=0.1 ; 如果写成 if (a=b ; )50) m=0.1 ; 就错了,因为在if的条件中不能出现赋值语句,而只能 是表达式。 第3章 简单程序设计 3.3 数据输出 大部分的计算机程序需要与用户进行交互,以便进行 数据交流。所以,每一种语言都有完备的输入输出功能, 有的是以标准的输入输出语句实现的,而C语言是通过调用 系统提供的标准库函数实现的。 由于不同的C编译系统以及C编译系统的不同版本提供 的C函数库是不同的,因此其提供的输入输出函数也是不相 同的(包括函数名和函数调用参数)。不过它们一般都提供像 printf和scanf等一些标准函数,使用方法大体相同。 第3章 简单程序设计 在使用库函数中的输入输出函数时,要用编译预处理 命令“#include”将有关的“头文件”包含到用户源程序中。例 如,在使用标准输入输出库函数时,要用到“stdio.h”文件 ,因此要将此文件包含进来,文件开头应使用下面的编译 预处理命令: #include 或 #include “stdio.h“ 由于printf函数和scanf函数的使用比较频繁,因此, 在使用这两个函数时可以不使用“#include”命令。 第3章 简单程序设计 数据的输出是指将数据输出到标准输出设备上(例如显 示器和打印机)。一般的C编译系统均提供很多的标准输出 函数,在这节中介绍使用最常用的两个输出函数printf函数 和putchar函数。 3.3.1 printf函数 printf函数是向屏幕格式化输出变量、常量或表达式 的值。在C语言中printf函数是最常用的输出函数。 1. printf函数的一般格式 printf函数的一般格式为 printf ( 格式控制 , 输出项1 , 输出项2 , ) 该函数按照指定的格式,将输出项列表中的各项输出 到标准输出文件中。 第3章 简单程序设计 如果在printf函数调用之后加上分号,就构成了输出语句 。其中,输出项可以是常量、变量或表达式。格式控制有普通 的字符、转义字符和输出格式说明,需要将格式控制用双引号 括起来。一个格式说明必须由一个“%”开头,后面跟一个类型 字符构成。 【例3-1】向屏幕输出变量、常量和表达式的值,并且控 制光标的移动。 #include “stdio.h“ main( ) int x,y; x=21; y=10; 第3章 简单程序设计 printf(“%dt“,123); /* 向屏幕输出常量123的值 */ printf(“x=%d,y=%d“,x,y); /* 输出变量x和y的值 */ printf(“n“); /* 光标到下一行的行首 */ printf(“x%y=%d“,x%y); /* 输出x%y的值 */ 第3章 简单程序设计 运行结果: 123 “x=21,y=10“ x%y=1 其中,123可以直接输出,双引号中的字符(例如 “x=”)按原样输出,“、t和n是转义字符,x和y为变量 ,x%y为表达式。“%”后面的d为格式控制符。为了在 结果中输出“%”,必须使用“%”。 第3章 简单程序设计 2. printf函数中的格式控制说明 每个格式控制说明必须用“%”开头,以一个格式 控制字符结束,在格式控制字符的前面还可以插入“宽 度说明”、左对齐符号“-”、前导零符号“0”等附加字符 。 1) 格式控制字符 常用的格式控制字符和它们的功能见表3-1。使用 时要注意区分大小写。 第3章 简单程序设计 表3-1 printf函数的格式控制字符 第3章 简单程序设计 2) 附加格式说明字符 为了使程序的输出结果更加整齐美观,可以在控 制字符的前面加上附加格式说明字符,见表3-2。 第3章 简单程序设计 表3-2 printf函数的附加格式说明符 第3章 简单程序设计 【例3-2】输出数据,并且控制数据的对齐形式、小数 点后数字位数、八进制形式输出、字符串输出宽度等。 #include “stdio.h“ main( ) 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); /* 左对齐输出a的值,右对齐输出b的值 */ 第3章 简单程序设计 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个字符*/ 第3章 简单程序设计 运行结果: 3257 32 57 7.88, -345.12,7.8765,-345.1230 7.87654e+00, -3.5e+02 a,97,141,61 1234567,4553207,d687,18 CHINESE, CHI 第3章 简单程序设计 从上面的例子可以看出,输出的格式控制是很复杂的 ,除了可以控制数据按十进制、八进制、十六进制整型输 出,或者按浮点型、字符型输出外,还可以控制数据输出 对齐的方式(左对齐或右对齐)和实数输出的格式等。 3.3.2 putchar函数 putchar函数是向屏幕终端输出一个字符。格式为 putchar(ch) ; 其中,ch可以是字符型常量、变量或整型变量。 另外,在使用本函数时,程序首行要有“# include “stdio.h“”预编译命令。 第3章 简单程序设计 【例3-3】输出字符。 #include “stdio.h“ main( ) char a , b , c ; a=C ; b=A ; c=T ; putchar(a) ; putchar(b) ; putchar(c) ; putchar(n) ; putchar(101) ; putchar(B) ; putchar(c) ; 运行结果: CAT ABc 第3章 简单程序设计 3.4 数据输入 3.4.1 scanf函数 scanf函数的作用是接收从键盘输入的数据,格式化后 赋给变量。 scanf函数的格式为 scanf(格式控制 , 地址1 , 地址2,); 说明如下。 (1) 格式控制的含义同前。 (2) “地址n”是变量的地址。它既可以是简单变量的地址 也可以是数组的地址。简单变量的地址用变量名前面加取地 址运算符“ char month10 ; 如果需要给变量day赋值为25,month赋值为Dec,year 赋值为1996,则可以用下面的语句表示。 scanf(“%d%s%d“ , 数据输入时,应用空格隔开,按以下方式输入变量的 值,即 25 Dec 1996 或者,数值型数据与字符型中间的空格省略,即 25Dec 1996 第3章 简单程序设计 但字符型数据与数值型数据之间的空格不能省略,上 例不能输入为 25 Dec1996 (month得到了Dec1996) (3) 输入字符时不加单引号,输入字符串时不加双引 号。 (4) 当scanf的格式字符串包含有普通字符时,在输入 流中相应位置必须有相同的字符与之匹配。格式串中的一 个空白字符可以与输入流中0个或多个连续的空白字符匹 配。例如: 第3章 简单程序设计 main( ) int x , y ; printf(“please input x and y:“) ; scanf(“%d,%d“ , 如果将23赋给变量x,将42赋给变量y,因为在格 式字符串中包含了“,”,所以,数据输入时,输入数据 间也应用“,”分隔,则数据的输入形式为“23 , 42”,而不 能用空格或其他符号分隔,如“23 42”。 第3章 简单程序设计 (5) 在Turbo C环境下输入long型整数时,在“%”和 “d”之间必须加“l”;输入double型数时,在“%”和“f”或 “e”之间必须加“l”,否则得不到正确的数据。 在scanf函数中的格式字符前可以用一个整数指定 输入数据所占宽度,但不可对实型数指定小数位的宽 度。例如: int i , j ; scanf(“%3d%d“ , 若执行时输入: 1234 5678 则变量i的值为123,变量j的值为5678。 第3章 简单程序设计 (6) 在格式控制时,格式说明的个数应该与输入项的个 数相同。若格式说明的个数少于输入项的个数时,scanf函 数结束输入,多余的数据项并没有被接收;若格式说明的 个数多于输入项的个数时,scanf函数同样也结束输入。 例如,有下面的变量说明。 int i , j ; float x , y ; scanf(“%d%d“ , scanf(“%f“ , 若执行时输入: 12 34 56.7 89 则执行后,变量i的值为12,j的值为34,x未被赋值,y 得到浮点数56.7。 第3章 简单程序设计 【例3-4】使用scanf函数输入整型、浮点型、字符 型数据分别赋给整型、浮点型、字符型变量。 #include “stdio.h“ main( ) int x; float y; char ch; printf(“Please input x,y,ch:“); scanf(“%d %f %c“, 第3章 简单程序设计 /* 从键盘输入数据分别赋给变量x,y,ch */ printf(“x=%d,y=%f,ch=%c“,x,y,ch); /* 输出变量x,y,ch */ 运行结果: Please input x,y,ch: 2 3 a x=2 , y=3.000000 , ch=a 第3章 简单程序设计 3.4.2 getchar函数 getchar函数的作用是从屏幕终端输入一个字符。getchar函数 没有参数,其一般格式为 getchar( ) 当执行此函数调用语句时,变量将获得一个从标准设备上读 取的字符代码值。 【例3-5】输入单个字符。 #include “stdio.h“ main( ) char ch ; ch=getchar( ) ; putchar(ch) ; 第3章 简单程序设计 在运行时,如果从键盘输入字符“a”并回车,就会在屏 幕上看到输出字符“a”。 a CR (CR表示回车键) a(屏幕显示结果) 注意:输入时,不能输入单引号,否则程序将接收单 引号。 如果在一个函数中(现为main函数),调用getchar函数 ,应该在该函数的前面(或本文件开头)加上“包含命令”: #include “stdio.h“ 第3章 简单程序设计 3.5 复合语句和空语句 3.5.1 复合语句 在C语言中,一对花括号“ ”不仅可用作函数体的开头 和结尾的标志,也可用作复合语句的开头和结尾的标志。 复合语句也可称为“语句块”,复合语句的语句格式为 语句1 ; 语句2 ; ; 语句n ; 一个复合语句在语法上视为一条语句,在一对花括号 中的语句数量不限。例如: a+ ; b*=a ; printf(“b=%dn“ , b) ; 第3章 简单程序设计 在复合语句中,不仅可以有执行语句,还可以有定义部 分,定义部分应该出现在可执行语句的前面。 【例3-6】复合语句举例。 #include “stdio.h“ main( ) int x ; x=100 ; int x=24 ; printf(“x=%dn“ , x) ; printf(“x=%dn“ , x) ; 第3章 简单程序设计 运行结果: x=24 (此时的x为复合语句中的x) x=100 (此时的x为main函数中的x) 3.5.2 空语句 C程序中的所有语句必须由一个分号“;”作为结束 。如果语句只有一个分号,就是空语句。程序执行空 语句时不产生任何动作。例如: for( i=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论