c第3章教学zp.docx

上传人:b****5 文档编号:3631736 上传时间:2022-11-24 格式:DOCX 页数:13 大小:131.86KB
下载 相关 举报
c第3章教学zp.docx_第1页
第1页 / 共13页
c第3章教学zp.docx_第2页
第2页 / 共13页
c第3章教学zp.docx_第3页
第3页 / 共13页
c第3章教学zp.docx_第4页
第4页 / 共13页
c第3章教学zp.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

c第3章教学zp.docx

《c第3章教学zp.docx》由会员分享,可在线阅读,更多相关《c第3章教学zp.docx(13页珍藏版)》请在冰豆网上搜索。

c第3章教学zp.docx

c第3章教学zp

第三章顺序结构程序设计

3.1顺序结构程序设计的思想

3.2实现顺序结构程序设计的基本语句

一、赋值语句(P22)

二、数据输出(P22)

三、数据输入函数(scanf)(P26)

四.单个字符输出(putchar)函数

五.复合语句和空语句(P29)

3.3顺序结构程序设计举例

 

第三章顺序结构程序设计

3.1顺序结构程序设计的思想

在顺序结构程序中,程序的执行是按照各语句出现的先后次序,顺序执行的,并且每个语句都会被执行到。

例如:

已知某个三角形的底和高,计算其面积。

问题分析:

设height表示三角形的高,width表示三角形的底,则三角形面积为:

area=width*height/2

解决该问题的算法用传统流程图描述如下:

从图中可以看出,顺序结构程序通常由三部分组成:

①输入数据:

②进行处理:

③输出结果:

3.2实现顺序结构程序设计的基本语句

在C语言描述顺序结构程序中,通常使用的语句有:

输入数据函数调用语句(scanf,getchar等(用于实现数据输入)、赋值语句(用于实现运算处理或数据输入)、输出数据函数调用(printf,putchar等)用于实现数据输出)等。

一、赋值语句(P22)

赋值语句是由赋值表达式加上一个分号构成的。

最简单的一种形式为:

变量=表达式;

例如:

rad=14.5;/*将实型数赋给变量rad*/

cir=2*3.14*rad;/*将表达式2*3.14*rad的值赋给变量cir*/

说明:

“=”是赋值符号,赋值符号的右边是由常量、变量、运算符和函数组成的表达式。

因赋值语句是由赋值表达式加上一个分号构成,所以下面是合法的赋值语句:

i++;

x+=2;

j--;

在顺序结构的程序中,赋值语句不仅用于为变量进行赋值,同时还大量用于运算处理。

二、数据输出(P22)

C的输入/输出操作是由标准库函数来实现的。

如:

printf(),scanf()等,在使用这些函数时,必须使用预编译命令#include将头文件“stdio.h”(standardinput&output缩写)包括到用户源文件中。

1.printf()格式输出函数(P22)

格式输出函数printf()的功能是按指定的格式向显示器输出一个或多个任意类型的数据。

printf()函数的一般调用形式为:

printf(“格式控制串”[,输出项表]);

例如:

printf(“hello”);

 

printf(“Theareais:

%f\n“,area);

Theareais:

13

说明:

①格式控制。

格式控制的两边必须用引号,其中的内容可以包含:

普通字符、格式说明符和转义字符3类信息,并且这3类信息可以交叉出现。

(a)普通字符:

即需要原样输出的字符信息。

(b)格式说明符:

用%开头后面跟有一个字母,它规定了输出项的输出形式。

格式说明符在个数和类型上应与输出项匹配。

常用的格式说明符见下表。

(P23表3。

1)

格式说明符

输出

%d

带符号的十进制整数

%c

单个字符

%s

字符串

%f

以小数形式输出浮点数,隐含输出6位小数

%e

以指数形式输出浮点数,保留6位小数

%g

使用%f和%e中输出宽度较短者,不输出无意义的零

%o

不带正、负号的八进制整数

%u

不带正、负号的十进制整数

%x

不带正、负号的十六进制整数

例3.1输出形式举例1

#include

main()

{

intnum1,num2;

floatreal1,real2,real;

charch;

num1=65;

num2=-3;

real1=234.5;

real2=18.75;

real=real1+real2;

ch='A';

printf("%d%c%d%o%f%c%d",num1,num1,num2,num2,real,ch,ch);

printf("%s\n","Verygood");

}

运行情况:

说明:

整型变量可以以字符的形式输出,而字符变量也可以整数的形式输出,ASCII码是他们之间的桥梁。

负数在计算机内存中是以补码的形式存放。

变量num2的值为-3,-3的补码为:

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

1

 

用八进制表示即:

177775,所以变量num2以%o的格式输出时,显示177775。

(c)附加格式字符(P24)

字符

说明

字母l,h

l用于长整型整数,h用于短整型或无符号短整型整数,可以加在格式字符d,o,x,u前面

m(代表一个正整数)

数据的输出宽度

n(代表一个正整数)

对实数,表示输出小数位的位数;对字符串,表示截取的字符个数

-

输出的数字或字符向左靠齐

案例3.2输出形式举例2

#include

main()

{

intnum1=123;

longnum2=1234567;

floatreal=123.4567;

printf("%d,%6d,%-6d,%2d\n",num1,num1,num1,num1);

printf("%ld,%8ld,%4ld\n",num2,num2,num2);

printf("%f,%10f,%10.2f,%-10.2f\n",real,real,real,real);

printf("%s,%10.5s,%-10.5s\n","student","student","student");

}

运行情况如下:

阅读P24表3.2

阅读P25表3.3

阅读P25表3.4

阅读P26表3.5

(d)转义字符

以“\”开头的字符序列。

如“\n”其作用时在输出时产生一个“换行”

C语言常用转义字符

字符形式

功能

\n

换行

\t

横向跳格(即跳到下一个输出区,一个输出区占8列)

\v

竖向跳格

\b

退格

\r

回车(光标回到本行首)

\f

走纸换页

\\

反斜杠字符“\”

\’

单引号字符

\ddd

1到3为八进制数所代表的字符

\xhh

1到2为十六进制数所代表的字符

例3.3输出形式举例3

#include

main()

{

chara,b,c;

a='n';

b='e';

c='w';

printf("%c%c%c\n",a,b,c);

printf("%c\t%c\t%c\n",a,b,c);

printf("%c\n%c\n%c\n",a,b,c);

}

运行情况如下:

②输出项表。

输出项表中可以有多个输出项,各项之间用逗号分隔。

2.Printf()函数在使用时要注意以下几点:

(P26)

(a)Printf()函数可以输出常量、变量和表达式的值。

但格式控制中的格式说明符必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则会出错。

(b)类型转换字符紧跟在“%”后面时作为类型转换字符,否则将作为普通字符处理(即原样输出)。

例如:

Printf(“c=%c,f=%f\n”,c,f)中的第一个c和f都是普通字符。

三、数据输入函数(scanf)(P26)

格式输入函数scanf()的功能是用来从外部输入设备(通常是键盘),向程序中的变量输入一个或多个任意类型的数据。

1.scanf()函数的一般调用形式为:

scanf(“格式控制”,输入项表);

例如:

scanf(“%d%f”,&x,&y);

说明:

①格式控制。

格式控制的两边必须用引号,其中的内容可以由格式说明符和普通字符组成。

(a)普通字符。

普通字符在输入数据时,必须在对应位置上原样输入这些字符。

例如:

scanf(“character:

%c,real:

%f”,&x,&y);

函数中的:

“character:

”、“real:

”和“,”都是普通字符,则在实际运行时输入:

character:

w,real:

12.5↙

(b)格式说明符。

scanf()中的格式说明符的使用与printf()函数相似,必须用%开头后面跟一个字母(也可在其中间增加附加字符),它规定了输入项对应的输入数据格式。

同样格式说明符要在个数和类型上与输入项相匹配。

scanf()函数常用的格式说明符及附加字符见下表:

scanf()函数格式说明符

格式说明符

输入内容

%d

十进制整数

%o

八进制整数

%x

十六进制整数

%c

单个字符

%s

输入一个字符串,输入时以非空白字符开始,以第一个空白字符结束。

(字符串送到一个字符数组中)

%f

实数。

可以用小数形式或指数形式输入

%e

同%f,e与f可以相互替换

scanf()函数附加格式说明符

附加说明字符

说明

l

用于输入长型数据:

%ld,%lo,%lx等

h

用于输入短整型数据:

%hd等

域宽m

指定输入数据所占的列数

*

表示本输入数据在读入后不赋给相应的变量

②输入项表。

输入项表中是要输入数据的变量的存储单元地址。

“&”是地址运算符,“&x”表示变量x在内存中的地址。

2.scanf函数在使用时,从键盘输入数据要注意以下几点:

(a)scanf函数没有计算功能,因此输入的数据只能是常量,而不可以是表达式。

例如:

scanf(“%d%d%d”,&x,&y,&z);

表示要输入3个十进制整数,可按以下方式输入:

123456↙

或12↙

3456↙

例如:

scanf(“%c%c”,&c1,&c2);

表示要输入两个字符型数据,按以下方式输入:

ab↙

则字符a符给变量c1,字符b符给变量c2。

(b)输入格式中,除格式说明符之外的普通字符应原样输入。

例如:

scanf(“x=%d,y=%d,z=%d”,&x,&y,&z);

应使用以下形式输入:

x=12,y=34,z=56↙

(c)如果指定了输入数据的宽度,系统则自动按它截取所需的数据。

例如:

scanf(“%4d%4d%4d”,&x,&y,&z);

输入:

123434565678↙

则系统自动将1234赋予x,将3456赋予y,将5678赋予z。

注意:

在输入实数时,不能规定小数位。

例如:

scanf(“%6.2f”,&x);是错误的。

(d)在%后面使用“*”附加符,表示跳过它相应的数据。

例如:

scanf(“%4d,%*4d%4d”,&x,&y);

输入:

1234,3456,5678↙

则系统将1234赋给x,将5678赋给y,而第2个数据“3456”被跳过不赋给任何变量。

(e)由于scanf()函数本身不具有显示提示信息功能,为改善人—机交互性,在设计输入操作时,一般先用printf()函数输出一个提示信息,然后再用scanf()函数进行数据输入。

例如:

printf(“Enterwidthandheight:

”)/*输出提示信息*/

scanf(“%f,%f”,&width,&height)

四.单个字符输出(putchar)函数

putchar()函数的功能是用于将一个字符输出到显示器上显示。

putchar()函数的一般调用形式为:

putchar(c);

即把变量c的值输出到显示器上,这里的c可以是字符型或整型变量,也可以是一个转义字符。

例3_4:

putchar()函数应用举例

#include

voidmain()

{

chara,b,c,d;

a='g';

b='o';

c=111;

d='d';

putchar(a);

putchar(b);

putchar(c);

putchar(d);

}

运行情况如下:

good

说明:

putchar()函数只能用于单个字符的输出,并且一次只能输出一个字符。

五.单个字符输入(getchar和getch)函数

(1)getchar()函数

getchar()函数的一般调用形式为:

c=getchar();

例3_5:

getchar()函数应用举例

#include

voidmain()

{

charc;

c=getchar();/*接收用户从键盘上输入的一个字符*/

putchar(c);/*输出字符变量c的值*/

}

运行情况如下:

h↙

h

说明:

getchar()函数只能用于单个字符的输入,且一次只能输入一个字符

(2)getch()函数

getch()函数与getchar()函数功能相似,也是用来实现接收从键盘输入一个字符。

其区别在于:

使用getchar()函数输入字符时,需要使用回车键确认输入,而getch()函数则不必使用回车键确认输入,只需输入字符即可。

getch()函数的一般调用形式为:

c=getch();

getch();/*用于等待用户从键盘输入任意键返回。

*/

说明:

getch()函数在使用时要在预定义中包含头文件:

conio.h

例3_6:

应用举例

#include

voidmain()

{charc1='H',c2='\55',c3='h';

charc4='\115';

charc5='a';

putchar(c1);

putchar(c2);

putchar(c3);

printf("\n");

putchar(c4);

putchar(c5);

putchar('k');

printf("\n");

}

运行结果:

H-h

Mak

五.复合语句和空语句(P29)

1.复合语句

2.空语句

(自学)

3.3顺序结构程序设计举例

例3_7:

编程实现输入某个三角形的底和高,计算其面积。

#include

voidmain()

{

floatwidth,height,area;

printf("Enterwidthandheight:

");

scanf("%f,%f",&width,&height);

area=width*height/2.0;

printf("Theareais:

%f\n",area);

}

运行结果为:

Enterwidthandheight:

2.5,4↙

Theareais:

5.000000

例3.8P30例3.1实现两个数据的交换,并进行验证。

#include

main()

{intx,y,t;

printf("Enterx&y:

\n");

scanf("%d%d",&x,&y);

printf("x=%dy=%d\n",x,y);

t=x;x=y;y=t;

printf("x=%dy=%d\n",x,y);

}

例3.9P30例3.2输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入。

#include

main()

{doublex;

printf("Enterx:

");

scanf("%lf",&x);

printf("

(1)x=%f\n",x);

x=x*100;

x=x+0.5;

x=(int)x;

x=x/100;

printf("

(2)x=%f\n",x);

}

例3.10某商场营业员工资的计算方法是:

每月300元的基本工资加总销售额的8.5%提成。

要求编一程序,输入某营业员的月总销售额,计算并显示该营业员的月收入。

问题分析:

设总销售额为m,月收入为salary

则:

salary=300+m*8.5%

#include

main()

{floatm,salary;

printf("pleaseinputthetotalsales:

");

scanf("%f",&m);

salary=300+m*0.085;

printf("thesalaryis%f:

\n",salary);

}

作业:

 

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

当前位置:首页 > 农林牧渔 > 林学

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

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