您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《C语言程序设计与数据结构》第3章 顺序结构
C语言程序设计与数据结构第3章顺序结构学习重点:l1.字符的输入/输出函数l2.格式输入/输出函数3.顺序结构C语言程序设计与数据结构3.1字符型数据的输入输出把数据从计算机内部送到外部设备(如显示器、打印机、磁盘等)上的操作称为“输出”,利用一些输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据的操作称为“输入”。在C语言程序设计中,输入输出操作是由函数来实现的。在C语言的标准函数库中提供了一些输入输出函数,例如:printf、scanf等实现数据的输入/输出。C语言程序设计与数据结构3.1.1putchar()函数putchar函数是字符输出函数,其功能是向终端(输出设备)输出单个字符。一般形式为:putchar(参数);说明:(1)参数可以是字符型或整型的常量、变量或是表达式,也可以是控制字符或其他转义字符;对控制字符则执行控制功能,不在屏幕上显示。(2)使用本函数前必须要用文件包含命令:#includestdio.h或#include“stdio.h”例如:putchar('B');/*输出大写字母B*/putchar(y);/*输出字符变量y的值*/putchar(98);/*输出字符’b’*/putchar(‘\n’);/*换行,使输出的当前位置移到下一行*/【例3.1】单个字符输出。#includestdio.hmain(){charb1,b2;intb3;b1=‘y’;b2=’e’;b3=115;putchar(b1);putchar(b2);putchar(b3);putchar(‘\n’);putchar(‘\!’);}运行结果:yes!C语言程序设计与数据结构3.1.2getchar()函数getchar函数是字符输入函数,其作用是从终端(输入设备)输入单个字符。一般格式为:getchar();通常把输入的字符赋予一个变量,构成赋值语句,如:charch;ch=getchar();;说明:(1)getchar函数使用一次只能接收一个字符;输入多于一个字符时,只接收第一个字符。(2)getchar()函数没有参数。(3)将getchar函数值赋于一个变量时,变量可以是字符型变量或整型变量,如果是字符型变量,存入的就是字符本身,如果是整型变量,存入的则是该字符的ASCII码值。如果getchar()函数接收的数值不赋给任何变量,则该函数可以作为表达式的一部分使用。(4)使用本函数前必须要用文件包含命令:#includestdio.h或#include“stdio.h”【例3.2】输入单个字符。#includestdio.hvoidmain(){charch;printf(inputachar:\n);ch=getchar();putchar(ch);}C语言程序设计与数据结构3.2格式输入输出3.2.1printf()函数printf()函数又称为格式输出函数,其功能是按指定的格式,把指定的数据输出到终端。在前面的例题中我们已多次使用过这个函数。.1、一般格式:printf("格式控制字符串",输出数据列表);其中,“格式控制字符串”用于控制输出数据的基本格式,“输出数据列表”给出将要输出的数据项。例如:printf(%f,%s,c,d);2.说明:(1)“输出数据列表”可以是常量、变量和表达式,输出项之间用逗号分隔。(2)“格式控制字符串”可以包括“格式转换说明符”,用来规定相应输出项内容的输出格式;“转义字符”,用来输出转义字符所代表的控制代码或特殊字符;“普通字符”,即原样输出的字符。(3)格式转换说明符必须用小写字母,如%d不能写成%DC语言程序设计与数据结构3、格式转换说明符的使用在C语言中,“格式转换说明符”由格式字符和附加格式说明符组成。一般形式为:%[宽度指示符][.精度指示符][长度修正符h|l]格式字符其中,方括号[]中的项为可选项。表3-1和表3-2列出了printf()函数格式字符和附加格式说明符的具体含义。表3-1printf()函数的格式字符及功能格式字符说明duoxcsfeg输出有符号的十进制整数输出无符号的十进制整数输出无符号的八进制整数输出无符号的十六进制整数以字符形式输出,只输出一个字符输出字符串输出实数,可以是单、双精度实数,隐含输出6位小数以标准指数形式输出单、双精度实数,小数位数为6位选用%f或%e格式输出宽度较短的一种格式,不输出无意义的0C语言程序设计与数据结构表3-2printf()函数的附加格式说明符及功能附加格式符说明字母lm(为一正整数).n(n为一正整数)-0用于长整型数据,可加在格式符d、o、x、u、f前面指定输出数据所占的宽度(含小数点所占位置)对于实数,表示输出n位小数;对字符串,表示截取的字符个数输出的数字或字符在域内左对齐指定空位填0下面对表中常用的格式字符作进一步说明:(1)%d用于指定输出十进制整数。对应的输出数据项通常是整数,也可以是字符。当输出项是字符时,输出的将是该字符的ASCII码值。常用的形式为%d、%md和%ld。例如:inta=123;longb=1234590;printf(“%d,%5d,,%ld”,a,a,b);输出结果为:123,︺︺123,1234590C语言程序设计与数据结构(2)%c用于输出一个字符。对应的输出数据项通常是字符,也可以是数值在0~255之间的整数(该整数作为ASCII码值)。当输出的数据项是整数时,输出的将是该整数对应的ASCII码字符。常用的形式为%c。例如:charch1=’A’;intch2=65;printf(“%c,%d”,ch1,ch1);printf(“%c,%d”,ch2,ch2);输出结果为:A,65A,65(3)%s用于输出一个字符串,常用的形式为%s。(4)%f用于输出实数(单、双精度数据)。常用的形式为%f、%m.nf和%-m.nf。以%f格式输出的数据(单精度或双精度),整数部分全部输出,小数部分输出6位小数。%m.nf表示输出的数据共占m位(包括小数点所占的位置),小数部分为n位,若数值长度小于m,则不足位置左边补空格。%-m.nf表示可以在指定输出宽度的同时指定数据左对齐,在宽度前加一个“-”来实现。值得注意的是,以%f格式输出的数据其数字并非都是有效数字。一般来说,单精度的有效位数为7位,双精度实数的有效位数位16位。C语言程序设计与数据结构4.在使用printf()函数进行输出时需要注意:(1)在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配;若不匹配,则导致数据不能正确输出。特别提醒的是:在输出long整型数据时,一定要使用“%ld”格式说明。(2)在格式控制字符串中,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数,多余的输出项不输出;相反则多余的格式将输出不定值(或0值)。(3)格式字符中的“d、c、s、f“等字符用在“%”后面作为格式字符使用,否则将作为普通字符原样输出。【例3.4】有以下程序:main(){inta=666,b=888;printf(“%d”,a,b);程序程序运行后的输出结果为。A)错误信息B)666C)888D)666,888正确答案为:BC语言程序设计与数据结构3.2.2scanf()函数scanf()函数又称为格式输入函数,其功能是按指定的格式把数据从输入设备输入到计算机内部,放到指定的变量中存放。1.一般格式:scanf("格式控制字符串",地址表列);其中,格式控制字符串的作用与printf函数基本相同;地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。例如:scanf(%d,%f,&a,&b);2.说明:(1)"格式控制字符串"与printf函数中的“格式控制字符串”含义类似,其内容可以是“格式控制说明符(如:d,c,s,f等)”,或是要求在输入时需附加输入的“普通字符”,而“转义字符”则较少使用。(2)”地址表列”,是指若干个变量的地址,而不是变量名。变量的地址是由地址运算符“&”后跟变量名组成的;它们的作用是存放输入的数据;地址项之间用逗号分隔。例如:scanf(a=%d,b=%c,&a,&b);普通字符格式控制说明符地址表列C语言程序设计与数据结构变量地址、变量名和变量值的关系如下:如:a=567则:a为变量名,567是变量的值,&a是变量a的地址。(3)“格式控制说明符”的个数必须与“地址表列”中的地址项个数完全相同,且类型一一对应。(4)输入long整数时,需在%和d之间加字母l;输入double型数据时,也需要在%和f之间加字母l,否则得不到正确的数据。3、3.输入数据时应注意的问题:(1)当调用scanf函数输入数据时,最后一定要按下回车键,scanf函数才能接收输入的数据。(2)“格式字符串”中出现的其它字符认为是“普通字符”,输入时应该按照相应位置原样输入。例如:scanf(“x=%d”,&d);正确的输入方式为:x=12scanf(“%d,%d,”,&a,&b);正确的输入方式为:12,20(3)调用scanf函数输入数据时,输入的数值数据之间要用间隔符(空格、制表符或回车键)隔开,间隔符数量不限。例如:scanf(“%d%d”,&x,&y);要求给x赋于20,y赋于30,则输入数据时形式应当是:20间隔符30(4)在用%c格式输入字符数据时,不用间隔符,且空格字符和转义字符都作为有效字符输入。C语言程序设计与数据结构(5)根据“格式字符”的含义从输入流中取得相应数据,当输入流中数据类型与“格式字符”要求不符合时,就认为这一数据项结束。C语言的输入输出的规定比较繁琐,用得不对就得不到预期的正确结果,而输入输出又是最基本的操作,几乎每一个程序都包含输入输出,不少编程人员由于掌握不好这方面的知识而浪费了大量的调试程序的时间。在学习本节时不必花许多精力去死抠每一个细节,重点掌握最常用的一些规则即可。学生应当上机通过编写和调试程序来逐步深入而自然地掌握输入输出的应用。C语言程序设计与数据结构3.3程序的三种基本结构1、程序的三种基本结构为了提高程序设计的质量和效率,现在普遍采用结构化程序设计方法。结构化程序由若干个基本结构组成,每一个基本结构可以包含一个或若干个语句。C语言中有三种基本结构:顺序结构、选择结构和循环结构。顺序结构:如果程序中的若干语句是按照书写的顺序执行,那么这段程序的结构就是顺序结构,顺序结构是三种基本结构中最简单的结构形式。其中,顺序结构的流程图如图形3.1所示:先执行A操作,再执行B操作,两者是顺序执行的关系。图3.1顺序结构图3.2选择结构ABABP假真C语言程序设计与数据结构选择结构:见图3.2。p代表一个条件,当条件成立(或为真时)时执行A操作,否则执行B操作。即根据给定的条件是否满足,去有选择地执行某操作。循环结构:有两种循环结构。。当型循环结构,见图3.3(a)。当p条件成立(为真)时,反复执行A操作,真到p为假时停止循环。直到型循环结构,见图3.3(b)。先执行A操作,再判断p条件是否成立;若成立(为真)时,再执行A操作,如此重复,直到p为假时为止。图3.3循环结构AP假真AP假真C语言程序设计与数据结构2、C语句对于具体的程序来说,每种基本结构都包含若干语句。C语言的语句可分为空语句、表达式语句、函数调用语句、控制语句和复合语句五大类。(1)空语句;即只有一个分号的语句,它什么也不做。有时需要加一个空语句来表示存在一条语句;有时空语句可用来作空循环体,表示循环体什么也不做。(2)表达式语句在一个表达式后面加上一个“;”便构成一条表达式语句。例如:y=x+1是一个表达式,如果在后面加上“;”,则变成y=x+1;就成为一条表达式语句。所以C语言中的语句必须在最后加上分号。表达式语句中最典型的便是赋值语句,即由赋值表达式加上分号构成的语句。其一般形式为:变量=表达式;赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之一。C语言程序设计与数据结构在赋值语句的使用中
本文标题:《C语言程序设计与数据结构》第3章 顺序结构
链接地址:https://www.777doc.com/doc-3375435 .html