C程序设计第5章顺序结构程序设计.ppt

上传人:牧羊曲112 文档编号:6503642 上传时间:2023-11-07 格式:PPT 页数:38 大小:323.49KB
返回 下载 相关 举报
C程序设计第5章顺序结构程序设计.ppt_第1页
第1页 / 共38页
C程序设计第5章顺序结构程序设计.ppt_第2页
第2页 / 共38页
C程序设计第5章顺序结构程序设计.ppt_第3页
第3页 / 共38页
C程序设计第5章顺序结构程序设计.ppt_第4页
第4页 / 共38页
C程序设计第5章顺序结构程序设计.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《C程序设计第5章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C程序设计第5章顺序结构程序设计.ppt(38页珍藏版)》请在三一办公上搜索。

1、第5章顺序结构程序设计,5.1 语 句5.2 库函数的使用5.3 顺序结构程序设计,5.1 语 句,5.1.1 语句的概念 语句是是算法实现的程序表示,是算法实现的最小单位。语句说明了一种行为,它是用计算语言编写的控制计算机完成确定操作的句子。,5.1.2 C语句的分类C语言将语句分为以下几类:(1)表达式语句;(2)流程控制语句;(3)函数调用语句;(4)跳转语句;(5)标号语句;(6)复合语句;(7)空语句。,5.1.3 语句和表达式的区别 任意类型的表达式都是有值的,而语句是向计算机发出的完成表达式运算的一个动作,语句是没有值的。表达式可以作为运算对象参与其他表达式的运算,而语句则不能。

2、例如,x=3*(a=4)是合法的表达式,而x=3*(a=3;)则不是合法的表达式。,5.2 库函数的使用,在C语言中函数占有及其重要的地位,这里首先来简单介绍一下函数的概念。函数是事先编写好的完成一定功能的程序段。下面以Turbo C为例,讲述部分输入输出和数学库函数的使用。,5.2.1 库函数的使用 标准的库函数使用方法较为简单,但是由于库函数是存放在函数库中的,因此在使用时必须告诉计算机该库函数属于哪一个库,以便计算机及时查找并执行其程序体,这一过程一般称为函数的声明。,#include math.hmain()float x,y;y=sin(x);其中#include math.h 就是

3、对函数的声明过程。include 是C语言的特定字,是包含的意思,在使用前要加符号“#”。被包含的文件又称为头文件。函数的使用称为调用,在函数调用后加“;”就构成了函数调用语句,函数也可以作为运算的运算对象。函数名括号里面的量值称之为参数,当给定这些参数的量值时,编译系统就可通过给定的量值计算出所需的结果,5.2.2 常用的输出函数1多种类型数据输出函数 printf()printf(格式控制,输出表列)该函数的功能是将输出表列中的数据按照格式控制的格式输出到标准输出设备。,第一部分称为格式控制,是用双引号括起来的字符串,包含普通字符和以“%”开头的格式控制字符两类成份构成;第二部分是需要输出

4、的数据,可以任意多个,每个数据之间用逗号隔开。格式字符和输出表列中的数据项具备一一对应关系,其作用是控制对应的输出项按照指定的格式输出;普通字符指的是除格式字符外的任意字符,可以用字符的各种表示形式去描述,其作用是按照该字符的含义输出。,格式字符种类较多,下面作较为详细的讲解。(1)%c%c用以输出单个字符。例如:printf(The character is:%cn,a);表示把字符a 以%c的格式输出到计算机的屏幕上。在用户屏幕上看到如下内容:The character is:a,(2)%d%d按照十进制形式输出整型数据。例如:printf(The number is:%dn,18);屏幕

5、上看到输出的结果为:The number is:18,(3)o o按照八进制格式输出整型数据。以该格式输出数据时,按照八进制的形式输出对应数据项的机器码。(4)%x%x按照十六进制格式输出整型数据。以该格式输出数据时,按照十六进制的形式输出对应数据项的机器码。,(5)%u%u按照无符号形式输出整型数据,把对应内存中的数据以无符号数的形式输出。以上的5种格式字符既可用于输出字符型数据,也可用于输出整型数据。看下列的程序及运行结果。,例5.4main()int a=65;char c=A;printf(%c,%dn,a,a);printf(%c,%dn,c,c);,运行结果:A,65A,65 以上

6、的4种整型数据的格式字符前加上类型修饰符后可用于输出长整型数据,有%ld,%lo,%lx,%lu 4种格式。看下列的程序及运行结果。,例5.5main()long int a=8,b=-1;printf(%ld,%lo,%lx,%lun,a,a,a,a);printf(%ld,%lo,%lx,%lun,b,b,b,b);程序运行结果为:8,10,8,8-1,37777777777,ffffffff,4294967295,若将上述程序改为:main()long int a=8,b=-1;printf(%d,%o,%x,%un,a,a,a,a);printf(%d,%o,%x,%un,b,b,b,

7、b);将不能正确的输出结果,因为a和b是长整型变量,不能以整型格式输出。,以上5种格式均有含有域宽修饰的扩展形式。如:%mc、%md、%mo、%mx、%mu、%mld、%mlo、%mlx、%mlu等,其中m是一个直接形式的整型常量,是域宽修饰符,表示输出数据应当占用的列宽。如果数据实际输出所占列宽小于m,m表示左端补足空格,m前有负号时右端补足空格,如果数据实际输出所占列宽大于m,m不起作用。,例5.6main()int a=-1;printf(%5d,%-10o,%8xn,a,a,a);程序运行后,输出如下结果:-1,177777,ffff,(6)%s%s输出字符串。%m.ns格式为其扩展格

8、式,+,m的含义和上述相同。n也是一个直接形式的常量,表示取字符串中的左起n个字符,n修饰符必须和“.”结合使用才是有意义的。字符串结束标志“0”是%s格式判断输出是否结束的标志。例如:printf(China%10s,%-8.3s,China,China);其输出结果为:ChinaChina,Chi,(7)%f例5.7main()float m=123.4567891;printf(%f,%-8.3fn,m,m);其输出结果为:123.456789,123.457,(8)%e%e以指数形式输出浮点型数据,默认格式下尾数部分输出1位整数和5位小数,阶码部分输出符号及2位或者3位(阶码100时)

9、阶码。%m.ne格式为其扩展格式,n表示取尾数部分n1位小数,m表示该浮点数输出所占的列宽,表示m大于实际列宽时补空格的方式。例如,以%e格式输出例5.7中的变量m:printf(%e,%-12.3e,m,m*1E100);其输出结果为:1.23457e+02,1.23e+102(9)%g按照输出时所占的列数,自动选取%f或%e格式输出符点型数据,选取的依据是输出所占列数的多少。,2字符格式输出函数putchar()putchar()函数的功能是向屏幕输出一个字符。该函数的一般格式为:putchar(参数)一般来说该函数是作为独立的函数调用语句来实现对其的调用。putchar()只有一个参数,

10、此参数可以是常量,可以是变量,也可以是任意整型表达式,参数的值代表的是某字符对应的ASCII码值。调用该函数之前必须加上函数的声明部分:#include stdio.h,例5.11#include stdio.hmain()char c=A;putchar(c);/*语句*/putchar(t);/*输出转义字符t的功能,转到下一个输出区*/putchar(A);/*语句*/putchar(t);putchar(65);/*语句*/putchar(n);,5.2.3 常用的输入函数1多种类型数据输入函数scanf()scanf()函数的功能是从标准的输入设备读取各种类型的数据到相应的变量中。首

11、先介绍一个取地址运算符&,该运算符是单目运算符,运算对象一般来讲是变量,其作用是得到参与“&”运算的运算对象的地址,如“&a”则得到变量a的地址。,该函数的一般格式为:scanf(格式控制,地址表列);第一部分为格式控制部分,其构成和printf()一样,scanf()函数可以使用的格式字符可参见表5-3,普通字符是需要原样输入的字符,格式字符和地址表列中对应的变量具备一一对应关系,格式字符控制的不是地址,而是该地址对应的变量的类型;第二部分为对应变量的内存地址,是一个地址表列。例如,我们要把输入的3个整数存储到a、b、c这3个变量中,假设a、b、c为整型变量,具体用法为:scanf(%d%d

12、%d,使用scanf()应注意以下问题。(1)当格式控制部分中相邻的两个格式字符不含有普通字符时,在输入的时候可以采取scanf()函数默认的分隔方式。(2)当格式控制部分中相邻的两个格式字符包含%c格式时,输入时不能以空格、Tab键或回车键加以区分,因为空格、Tab键或回车键本身也是字符,只能严格按照格式控制规定按数据类型加以区分某项数据是否输入结束。(3)在scanf函数中允许使用域宽m来控制输入,m表示的是输入数据所占的列宽,实际输入不足m位时,可在输入的数据左侧或右侧加空格。,(4)修饰符*。*的含义是“跳过”,表示在地址表列中没有对应的控制项,但在输入时必须输入数据。(5)程序中如果

13、有多个scanf(),系统会将多个scanf()结合为一个函数来处理,所以读者在使用时要多加练习,灵活掌握。(6)格式控制后最好不要加字符n,否则在输入时容易引起不便。(7)通常为了使程序在输入数据时易于操作,可使用下列的方式来提高程序的可读性。,例5.14main()int a,b;float x,y;printf(input a(int),b(int)x(float)y(float):n);scanf(%d,%d”,在使用scanf()函数时应首先在输入之前书写一个printf()函数,给出应输入的数据个数、类型及分隔方式的提示信息。读者可以使用易于理解的提示,增加程序的可读性。,表5-3

14、scanf()函数使用的格式字符,2字符读取函数getchar()字符读取函数为无参函数,其功能是从键盘读入一个字符。调用该函数之前必须加上对于函数的声明部分:#include stdio.h。例5.15#include stdio.hmain()char c;c=getchar();putchar(c);putchar(getchar();,5.2.4 数学函数 C标准库函数提供了大量的数学函数以供使用,数学函数均为有参有返回值函数,使用时应注意函数的用法和使用环境。1开方函数开方函数的一般格式为:double sqrt(double x)其作用是求参数x的开方值,参数为双精度浮点型数据,返

15、回值为双精度浮点型数据。如对4开方可编写如下程序。,例5.16#include math.hmain()float a;a=sqrt(4.0);printf(%fn,a);,5.3 顺序结构程序设计,例5.18 已知三角形的三边长为4,6,7,求三角形的面积。分析:该例题已知三角形的三边长,我们可以通过多种方法求得其面积。,算法三:上例可以做如下处理,定义三个边长分别为a、b、c三个变量,利用scanf()函数从键盘读取三边的具体数值,从而扩展程序的通用性。可得到如图5.4所示的流程图。,图5.4 例5.18算法三,根据算法三编写程序:#include math.hmain()float a,b,c,t,s;pritnf(input a b c:n);scanf(%f%f%f,例5.19 将任意小写字母,转换为对应的大写字母并输出。小写或大写字母均为字符,字符参与运算时实际是将字符转换为整型数据运算。根据ASCII表规律可知对应大小写字母ASCII值相差32。可得到如图5.5所示的流程图。程序如下:#include stdio.h#include stdio.hmain()main()char c;int c;c=getchar();c=getchar();c=c-32;c=c-32;putchar(c);putchar(c);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号