版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.h main() float x,y; y=sin(x);
3、其中#include math.h 就是对函数的声明过程。 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按照十进制形式输出整型数据
5、。 例如: printf(The number is: %dn, 18); 屏幕上看到输出的结果为: The number is: 18,(3)o o按照八进制格式输出整型数据。以该格式输出数据时,按照八进制的形式输出对应数据项的机器码。 (4)%x %x按照十六进制格式输出整型数据。以该格式输出数据时,按照十六进制的形式输出对应数据项的机器码。,(5)%u %u按照无符号形式输出整型数据,把对应内存中的数据以无符号数的形式输出。 以上的5种格式字符既可用于输出字符型数据,也可用于输出整型数据。看下列的程序及运行结果。,例5.4 main() int a=65; char c=A; print
6、f(%c,%dn,a,a); printf(%c,%dn,c,c); ,运行结果: A, 65 A, 65 以上的4种整型数据的格式字符前加上类型修饰符后可用于输出长整型数据,有%ld,%lo,%lx,%lu 4种格式。看下列的程序及运行结果。,例5.5 main() 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
7、 a=8,b=-1; printf(%d,%o,%x,%un,a,a,a,a); printf(%d,%o,%x,%un,b,b,b,b); 将不能正确的输出结果,因为a和b是长整型变量,不能以整型格式输出。,以上5种格式均有含有域宽修饰的扩展形式。如:%mc 、%md、%mo、%mx、%mu、%mld、%mlo、%mlx、%mlu等,其中m是一个直接形式的整型常量,是域宽修饰符,表示输出数据应当占用的列宽。如果数据实际输出所占列宽小于m,m表示左端补足空格,m前有负号时右端补足空格,如果数据实际输出所占列宽大于m,m不起作用。,例5.6 main() int a=-1; printf(%5d
8、, %-10o, %8xn,a,a,a); 程序运行后,输出如下结果: -1,177777,ffff,(6)%s %s输出字符串。%m.ns格式为其扩展格式,+,m的含义和上述相同。n也是一个直接形式的常量,表示取字符串中的左起n个字符,n修饰符必须和“.”结合使用才是有意义的。字符串结束标志“0”是%s格式判断输出是否结束的标志。 例如: printf(China %10s,%-8.3s,China,China); 其输出结果为: ChinaChina,Chi,(7)%f 例5.7 main() float m=123.4567891; printf(%f,%-8.3fn,m,m); 其输出
9、结果为: 123.456789,123.457,(8)%e %e以指数形式输出浮点型数据,默认格式下尾数部分输出1位整数和5位小数,阶码部分输出符号及2位或者3位(阶码100时)阶码。%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字符格式输出函数put
10、char() putchar()函数的功能是向屏幕输出一个字符。 该函数的一般格式为: putchar( 参数) 一般来说该函数是作为独立的函数调用语句来实现对其的调用。putchar()只有一个参数,此参数可以是常量,可以是变量,也可以是任意整型表达式,参数的值代表的是某字符对应的ASCII码值。 调用该函数之前必须加上函数的声明部分:#include stdio.h,例5.11 #include stdio.h main() char c=A; putchar(c);/*语句*/ putchar(t); /*输出转义字符t的功能,转到下一个输出区*/ putchar(A); /*语句*/
11、putchar(t); putchar(65);/*语句*/ putchar(n); ,5.2.3 常用的输入函数 1多种类型数据输入函数scanf() scanf()函数的功能是从标准的输入设备读取各种类型的数据到相应的变量中。 首先介绍一个取地址运算符 第一部分为格式控制部分,其构成和printf()一样,scanf()函数可以使用的格式字符可参见表5-3,普通字符是需要原样输入的字符,格式字符和地址表列中对应的变量具备一一对应关系,格式字符控制的不是地址,而是该地址对应的变量的类型;第二部分为对应变量的内存地址,是一个地址表列。 例如,我们要把输入的3个整数存储到a、b、c这3个变量中,
12、假设a、b、c为整型变量,具体用法为: scanf(%d%d%d,使用scanf()应注意以下问题。 (1)当格式控制部分中相邻的两个格式字符不含有普通字符时,在输入的时候可以采取scanf()函数默认的分隔方式。 (2)当格式控制部分中相邻的两个格式字符包含%c格式时,输入时不能以空格、Tab键或回车键加以区分,因为空格、Tab键或回车键本身也是字符,只能严格按照格式控制规定按数据类型加以区分某项数据是否输入结束。 (3)在scanf函数中允许使用域宽m来控制输入,m表示的是输入数据所占的列宽,实际输入不足m位时,可在输入的数据左侧或右侧加空格。,(4)修饰符*。*的含义是“跳过”,表示在地
13、址表列中没有对应的控制项,但在输入时必须输入数据。 (5)程序中如果有多个scanf(),系统会将多个scanf()结合为一个函数来处理,所以读者在使用时要多加练习,灵活掌握。 (6)格式控制后最好不要加字符n,否则在输入时容易引起不便。 (7)通常为了使程序在输入数据时易于操作,可使用下列的方式来提高程序的可读性。,例5.14 main() int a,b; float x,y; printf(input a(int),b(int) x(float) y(float):n); scanf(%d,%d”, 在使用scanf()函数时应首先在输入之前书写一个printf()函数,给出应输入的数据
14、个数、类型及分隔方式的提示信息。读者可以使用易于理解的提示,增加程序的可读性。,表5-3scanf()函数使用的格式字符,2字符读取函数getchar() 字符读取函数为无参函数,其功能是从键盘读入一个字符。 调用该函数之前必须加上对于函数的声明部分:#include stdio.h。 例5.15 #include stdio.h main() char c; c=getchar(); putchar(c); putchar(getchar(); ,5.2.4 数学函数 C标准库函数提供了大量的数学函数以供使用,数学函数均为有参有返回值函数,使用时应注意函数的用法和使用环境。 1开方函数 开方
15、函数的一般格式为: double sqrt(double x) 其作用是求参数x的开方值,参数为双精度浮点型数据,返回值为双精度浮点型数据。如对4开方可编写如下程序。,例5.16 #include math.h main() 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.h main() float a,b,c,t,s; pritnf(input a b c:n); scanf(%f%f%f, ,例5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年镇原县幼儿园教师招教考试备考题库附答案解析(必刷)
- 2025年长垣烹饪职业技术学院马克思主义基本原理概论期末考试模拟题含答案解析(夺冠)
- 2025年青海建筑职业技术学院单招职业倾向性测试题库带答案解析
- 教师进修培训分配制度
- 培训项目成本管理制度
- 2025贵州遵义市新蒲新区融媒体中心遵义市新宸文化发展有限责任公司招聘4人笔试历年参考题库附带答案详解
- 培训学校定期检查制度
- 职业防治教育培训制度
- 2025湖南长沙市国资委招聘政府普通雇员(工勤辅助类)2人笔试历年参考题库附带答案详解
- 舞蹈班培训班上课制度
- 流程与TOC改善案例
- 【当代中国婚礼空间设计研究4200字(论文)】
- GB/T 20322-2023石油及天然气工业往复压缩机
- 提捞采油安全操作规程
- DB3211-T 1048-2022 婴幼儿日间照料托育机构服务规范
- YY/T 1846-2022内窥镜手术器械重复性使用腹部冲吸器
- GB/T 5237.3-2017铝合金建筑型材第3部分:电泳涂漆型材
- GB/T 3625-2007换热器及冷凝器用钛及钛合金管
- GB/T 15390-2005工程用焊接结构弯板链、附件和链轮
- 学生伤害事故处理办法及案例分析
- 安全管理人员红头任命文件
评论
0/150
提交评论