ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:143.26KB ,
资源ID:3517185      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3517185.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章 顺序结构程序设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章 顺序结构程序设计.docx

1、第3章 顺序结构程序设计第3章 顺序结构程序设计3.1 程序的基本结构【学习目标】(1) 掌握程序的几种基本结构(2) 掌握顺序结构程序设计的程序模式(3) 掌握字符型输入输出函数实例11 字符型数据的输入和输出输入与输出几个字符【实例任务】 输入几个字符然后输出。程序运行结果如图3-1所示。图3-1 程序运行结果【程序代码】#include stdio.hmain() /*声明变量*/ char a,b,c; /*使用getchar()函数接受用户输入的值*/ printf(请输入字符:n); fflush(stdin); a=getchar(); fflush(stdin); b=getc

2、har(); fflush(stdin); c=getchar(); /*使用putchar()函数输出这几个字符,并输出一个换行符*/ putchar(a); putchar(b); putchar(c); putchar(n); getch(); 【相关知识】1. 程序的几种基本结构程序设计模式 C语言中,常用的流程控制结构分为顺序结构、选择结构和循环结构。由这三种结构可组成各种复杂的程序。顺序结构是三种结构中最简单,最常见的程序结构。三种流程控制结构,使用特定的流程控制语句,从而实现程序的各种结构方式。C语言中常用的控制语句有:if语句、switch语句、do while语句、while

3、语句、for语句、continue语句、break语句等。2顺序结构的执行过程所谓“程序结构”,即指程序中语句的执行顺序。程序设计者要把事情交给计算机去做,使用的都是写出一条条语句,顺序地执行,这是顺序式结构。本例中的程序运行就是顺序执行每条语句。3getchar()函数getchar()函数是一个没有参数的函数,它从标准输入(键盘)读取一个字符,返回改字符的编码值。当使用此函数时,按下的键将自动回显到屏幕上。使用getchar()函数时,任何键都是有效的返回值。调用没有参数的函数时应在函数名后写一对空括号。下面的代码演示了getchar()函数的用法:char c;fflush(stdin)

4、;c=getchar(); getchar()函数只能接受单个字符,输入数字也按字符处理。当输入多于一个字符时,只接收第一个字符。使用getchar()函数时需要注意这一点。函数fflush()用于清空输入缓冲区。stdin是标准的输入,即键盘输入。分配给键盘的缓冲区需要清空,以便存储新数据。有时,键盘缓冲区中保留着旧信息,如果不清空,在接受字符时会将旧信息返回,这样就可能引发错误。4 putchar()函数putchar()函数对应于getchar()函数。函数putchar把一个字符送到标准输出。例如:putchar(o); putchar(k);两个字符“ok”将被送到标准输出。标准输出

5、的默认连接通常是计算机显示器,因此,执行这两个语句的效果使字符在计算机屏幕上显示出来。实例中创建了3个变量a、b和c,getchar()函数将用户输入的字符存储在这些变量中。每个getchar()前都使用一个fflush()函数帮助清空缓冲区。在该程序中,如果不使用fflush(),也不会出现问题。随着每个getchar()函数的执行,输入的字符就显示在屏幕上。最后一行输出结果将显示前面输入的所有字符。此输出结果显然表明,使用putchar()函数后,所有字符将显示在同一行上,最后换一行(因为它输出一个换行符),程序随即结束。【课堂精练】1从键盘办入3个数,并计算他们的和值。程序的运行结果如图

6、3-2所示。 图3-2 程序运行结果根据程序的运行结果,请将下面程序补充完整并调试。#include stdio.hmain()int a1,a2,a3;/*定义三个整型变量*/scanf(%d,%d,%d,&a1,&a2,&a3); /*从键盘上输入三个变量的值*/printf(a1+a2+a3=%d,_); /*输出三个数的和值*/getch();2从键盘办入2个整数,计算两数整除所得的余数。程序的运行结果如图3-3所示。 图3-3 程序运行结果根据程序的运行结果,请将下面程序补充完整并调试。#include stdio.hmain()int a1,a2; /*定义两个整型变量*/scan

7、f(%d,%d,&a1,&a2); /*从键盘上输入两个变量的值*/printf(两数整除余数为:%d,_);/*输出两数整除所得的余数*/getch();3. 从键盘上输入一个大写字母,输出该字母的小写。程序的运行结果如图3-4所示。 图3-4 程序运行结果根据程序的运行结果,请将下面程序补充完整并调试。#include stdio.hmain()char c; /*定义字符型变量*/c=getchar(); /*从键盘上输入字符变量的值*/_; /*将字符转换成对应的小写字母*/putchar(c); /*输出这个小写字母*/getch(); 3.2 常用的输入输出函数【学习目标】(1)掌

8、握常用的字符型输入输出函数(2)掌握常用的格式化输入输出函数(3)掌握头文件在编写程序时的作用(4)掌握复合语句、空语句的格式及作用实例12 格式化数据的输入和输出互换两个变量的值【实例任务】 接收两个整数,分别保存在两个变量中,通过第三个变量将这两个变量的值互换。运行结果如图3-5所示。图3-5 程序运行结果【程序代码】#include stdio.hmain() int x,y,z; printf(n请输入第一个数:); scanf( %d,&x); printf(n请输入第二个数:); scanf( %d,&y); /*显示互换前的数*/ printf(nn输出互换前的数); print

9、f(n第一个数是: %d,x); printf(n第二个数是: %d,y); /*互换这两个数*/ z=x; x=y; y=z; /*显示互换后的数*/ printf(nn输出互换后的数); printf(n第一个数是: %d,x); printf(n第二个数是: %d,y); getch(); 【相关知识】1头文件“stdio.h”C语言格式输入函数scanf()和格式输出函数printf(),都在头文件stdio.h里。因此,程序中使用它们时,在程序的开始处,应该书写一条包含命令: #include stdio.h 或 #include 2格式化输出函数printf() 其功能是向显示器输

10、出若干指定类型的数据。其一般格式为:printf(参数1,参数2,参数n)其中参数1是”格式控制字符串”,即用双引号括起来的字符串,它包含两类字符信息:一类是格式说明:由%开始的格式字符序列,如%d、%c、%f等。表示表达式的值应以给定的格式输出。另一类是普通字符,按原样输出的字符,除了格式说明字符之外的全是普通字格式输入函数printf的功能是按指定的格式将数据在标准设备上进行输出。其一般格式为:printf(格式控制参数,输出项表列);其中输出项表列是由各输出项组成,各输出项之间用逗号分隔开。输出项可以是合法的变量、常量或表达式。格式控制参数是由双引号括起来的字符串,它是由格式描述符和普通

11、字符组成。普通字符将被原样输出。格式描述符是以%开头,以一个格式字符结束,作用是将输出数据按指定的格式输出。常用的格式描述符为: %d:以十进制输出带符号的整数。%o:以八进制无符号形式输出整数。%x:以十六进制无符号形式输出整数。%c:用于输出单个字符。%f:以十进制形式输出实型数据。%s:用于输出字符串。在printf函数中一个格式描述符要求输出一个数据,也就是说必须在输出项表列中有一个变量与之相对应,且类型要前后一致。说明:(1)在%与格式字符间插入整数来指定输出宽度。%md:表明所输出的数据占m个字符的宽度,如果实际输出数据的位数大于m,则按实际的位数输出,否则在输出数据的左端补空格。

12、%mc:表明输出的字符占m个字符的宽度,当m大于1时,左端补空格。%ms:表明输出m个字符的字符串。如果实际长度大于m时,则按原样输出字符串,否则左端补空格。%m.nf:表明输出数据的总宽度为m(包括整数位数、小数点和小数位数),n为小数位数。如果输出的数据的总长度小于m,则在输出数据的左端补空格。对于小数部分,若n小于实际输出的小数位数时,对第n+1位进行四舍五入。如表中结果表3-1所示(其中表示空格):表3-1 格式控制符与输出项形式之间的关系输出语句输出结果printf(“%d”,123);123printf(“%5d”,123);123printf(“%f”,123.45);123.4

13、50000printf(“%12f”,123.45);123.450000printf(“%9.3f”,123.45);123.450printf(“%9.0f”,123);123printf(“%5c”,c);cprintf(“%5s”, ”abc”);abc(2)在输出的数值型数据前总是带正负号。这可以通过在%与格式符间加一个“”来实现。如:printf(”%+d,%+d”,1,-1); 则输出结果为:1,1。(3)在输出数据前加前导0。这可以在%与指定输出宽度的整数间加一个“0”来实现。如:printf(”%05d”,123); 则输出结果为:00123。(4)在格式控制字符串中,如果两

14、个%连用,则输出一个%。如:printf(”%d”,10); 则输出结果为:%10。3格式化输入函数scanf( )格式输入函数scanf的功能是按指定的格式从键盘上输入数据。其一般格式为:scanf(格式控制参数,地址项表列);其中地址项表列是由接收数据的变量的地址组成,求地址运算符为&,如&a,&b,&c。格式控制参数是由双引号括起来的字符串,里边有格式描述符和输入数据分隔符。常用的格式描述符为: %d:用于输入十进制整数。%o:用于输入八进制整数。%x:用于输入十六进制整数 。%c:用于输入单个字符。%f:用于实型数据。%s:用于输入字符串。在scanf函数中一个格式描述符要求输入一个数

15、据,也就是说必须在址址项表列中有一个变量与之相对应,且类型要前后一致。(1)如果输入数值型数据时,数据间要用空格、Tab键或回车键分隔。如:scanf(”%d%d”,&a,&b);对应此语句,可输入13789(表示回车)。(2)如果在各输入描述符间有分隔符,则在输入数据时,要输入与这些字符相同的字符作为分隔符。如:scanf(”%d,%d”,&a,&b);对应此语句,要求输入数据间要用“,”分隔。可输入13,789。(3)如果输入多个字符数据时,则不需要在各字符间输入分隔符。如:scanf(”%c%c”,&a,&b);对应此语句,可输入AB。则对a输入字符A,对b输入字符B。(4)当交叉输入数

16、值数据和字符数据时,如果字符在前,则字符和数值型数据间要有空格;如果数值在前,则数值和字符间不要有空格。如:scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);对应此语句,必须用以下形式输入数据:20A 30B。如:scanf(“%c%d%c%d”,&c1,&a1,&c2,&a2);对应此语句,可以用以下形式输入数据:A 20B 30。4复合语句在C语言程序中,可以用一对花括号把若干条语句括起来,形成一个整体。这个整体就被称为“复合语句”。从语法上讲,它相当于一个语句。复合语句的一般格式是: 语句1; 语句2; 语句n; 要注意,复合语句中可以出现变量说明,复合语句中的最后一条

17、语句的语句结束符(分号)不能省略,否则会造成语法错误。另外,标识复合语句结束的右花括号的后面不能有语句结束符(分号)。5空语句 在C语言中,称仅由一个分号组成的语句为“空语句”,即:;编译程序在遇到空语句时,不会为其产生任何相应的指令代码。这就是说,空语句不执行任何操作。因此,空语句只是C语言语法上的一个概念,它起到一个语句的作用,仅此而已。【课堂精练】1输入圆的半径,求其周长和面积。程序的运行结果如图3-6所示。 图3-6 程序运行结果根据程序的运行结果,请将下面程序补充完整并调试。 #include stdio.h #define PI 3.14159 /*定义字符常量PI,且值为3.14

18、159*/ main() float r,l,s; /*定义3个实行变量r、l、s*/ _ getchar(); l=2*PI*r; /*计算周长并赋值给l*/ s=PI*r*r; /*计算面积并赋值给s*/ printf(n r=%7.2f,l=%7.2fn,r,l);/*输入周长,数据共占7个字符宽,2位小数*/ printf(n r=%7.2f,s=%7.2fn,r,s);/*输入面积,数据共占7个字符宽*/ getch (); 2复合语句和空语句的使用。程序的运行结果如图3-7所示。 图3-7 程序的运行结果根据程序的运行结果,请将下面程序补充完整并调试。#include stdio.

19、hmain()int x=10; /*空语句*/printf(x is %dn,x); /*复合语句开始*/int y=50;printf(y is %dn,y);_ /*空语句*/ /*复合语句结束*/printf(x is %dn,x);getch();3.3 课后习题3.3.1 项目练习一练习目的 1进一步巩固顺序结构程序设计 2进一步巩固各种输入输出函数的使用方法 3进一步练习常用的语句的使用方法 4提高编程和调试程序的能力二练习内容1编写程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符,并思考以下问题:(1)变量c1、c

20、2应定义为字符型或整型?抑或二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符变量是否在任何情况下都可以互相代替?如char c1,c2;与int c1,c2;是否无条件等价?2求一个圆柱体的体积。 3编写一个简单的计算器,实现两个整型数的四则运算。P533.3.2 练习题一选择题1 putchar函数可以向终端输出一个_。(A) 整型变量表达式 (B) 实型变量值(C) 字符串 (D) 字符或字符型变量值2 阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为_。 main() in

21、t x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); getch(); (A) x+y+z=48 (B) x+y+z=35 (C) x+z=35 (D) 不确定值3已知定义int i,j,k;若从键盘输入:1,2,3回车,分别使i,j,k的值为1、2、3,以下选项中正确的输入语句是_。(A)scanf(%2d%2d%2d,&i,&j,&k); (B) scanf(%d %d %d,&i,&j,&k); (C)scanf(%d,%d,%d,&i,&j,&k); (D) scanf(i=%d,j=%d,k=%d,&i,&j,&k

22、);4.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为20,30,C和D,当从第一列开始输入数据时,正确的数据输入方式是_。 int a1,a2; char c1,c1; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); (A) 20C30D(回车) (B) 20C 30D(回车)(C) 20 C 30 D(回车) (D) 20,C,30,D(回车)二填空题1.以下程序的运行结果是_。 #include stdio.hmain() int a=10,b=20;int m=-2;long n=987654321;printf(%d,%dn,a,b);print

23、f(a=%d,b=%dn,a,b);printf(m=%dn,m);printf(n=%ldn,n);getch(); 2.以下程序是实现三个整数的互换,然后输出a,b,c的值。请将下面程序补充完整。 #include stdio.hmain()_scanf(%d,%d,%d,&a,&b,&c);_a=b;b=c;_printf(a=%d,b=%d,c=%dn,a,b,c);getch(); 3. 以下程序的运行结果是_。#include stdio.hmain()int x=36,y=12; int a,b,c; a=x*y;b=x/y;c=x+y; printf(%d,%d,%dn,a,b,c);getch(); 4.以下程序运行后的输出结果是_。main() int k=2,i=2,m;m=k+=i*=k;printf(%d,%dn,m,i); getch();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1