顺序程序设计_第1页
顺序程序设计_第2页
顺序程序设计_第3页
顺序程序设计_第4页
顺序程序设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章最简单的C程序设计

————顺序程序设计§4.1C语句概述一.C语句可以分为以下五类:1、控制语句,完成程序流程控制。

if()~else~条件语句

for()~循环语句

while()~循环语句

do~while()循环语句

continue结束本次循环语句

break中止switch或循环语句

switch多分支选择语句

goto转向语句

return从函数返回语句()表示条件,~表示内嵌的语句。printf("ThisisaCstatement.");3、表达式语句:在表达式后面加分号构成。例:a=3;/*后面有分号,是语句*/4、空语句:仅包含一个分号的语句,例、;5、复合语句:由大括号{}括起来的语句序列。例、{z=x+y;t=z/100;printf("%f",t); }§4.2赋值语句

1、C语言中的赋值号“=”是一个运算符,而其它大多数语言中不是运算符。

2、if((a=b)>0)t=a;

C语言不提供输入输出语句,输入输出由开发系统提供的函数实现,函数的原型在头文件stdio.h中定义,使用输入输出函数时,应在源程序的开头使用如下语句:#include"stdio.h"§

4.3数据的输入与输出概念与表达§4.4字符数据输入输出函数getchar():从输入设备输入一个字符

putchar():向输出设备输出一个字符。4.4.1putchar()函数作用:向终端输出一个字符。用法:putchar(c);

/*c是字符变量或整型变量*/[例4.1]#include"stdio.h"main(){chara,b,c;a='B';b='O';c='Y';putchar(a);putchar(b);putchar(c);}程序输出:BOYa、b、c是字符变量或整型变量4.4.2getchar():输入一个字符例[4.2]#include"stdio.h"main(){charc;c=getchar();putchar(c);}

运行时,若从键盘输入字符‘a’,屏幕显示为:

a

这是键盘输入的回显。只有在按“回车”键后,字符才从键盘发出,程序getchar才获得键盘的输入a↙也可这样写:putchar(getchar()); printf(“%c”,gerchar());

4.5格式输入与输出printf():输出任意格式化数据列表。scanf():从标准输入设备(一般指键盘)

输入数据。1、printf()的一般格式

printf(格式控制,输出列表);例如:printf(“%d,%f\n”,a,b);printf(参数1,参数2,参数3,....,参数n);其中“参数1”表示“格式控制”;其余参数表示“输出列表”。作用:向终端输出若干个任意类型的数据。

格式控制:是由双引号括起来的字符串,它包括两种信息,格式说明和普通字符。普通字符原样输出。

输出列表:是需要输出的数据。可以是表达式。2.格式说明

由%和格式字符组成,它的作用是将输出数据转换为指定的格式输出。

格式说明的一般形式:%[修饰字符]<格式字符>常用的格式字符:格式说明%d以带符号的十进制形式输出整数%u以无符号的十进制形式输出整数%o以无符号的八进制形式输出整数(无前导符0)%x以无符号的十六进制形式输出整数(无前导符0x)格式说明%c以字符形式输出,只输出一个字符%s输出一个字符串%f以小数形式输出单、双精度实数(隐含6位小数)%e(E)以标准指数形式输出实数(数字部分6位小数)%g(G)选用%f和%e中输出宽度较短的一种格式,不输出无意义的0修饰字符:

①字符‘-’:它是输出的参数(数据)在输出区域内向左对齐的标志。若省略‘-’,则向右对齐输出。

②字符‘l’:出现在d,u,o,x前,用于输出长整型数据。

③域宽选择m.n:它们都是非负整数。

m代表最小域宽,用来指明输出区域的最小宽度。当实际输出的宽度小于最小域宽给定值时,按最小域宽输出,空缺部分补上空格;当实际输出宽度大于指定的最小域宽时,按实际宽度输出。

n代表精度域宽,用来指出在float型或double型数据中小数点后面的数字的输出位数;对于字符串数据,它指出可以输出的最多的字符个数(即截取输出的字符个数)。

④由于%是格式说明的起始符,故要想输出%,

需用连续的两个%表示。例、(□表示空格)inti=123;longj=123456;printf("%d,%5d,%05d,%ld",i,i,i,j);输出:123,□□123,00123,123456[例4.3]main(){unsignedinta=65535;intb=-2;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf(“b=%d,%o,%X,%u\n",b,b,b,b);}11111111

111111111111111111111110a=65535b=-2a=-1,177777,ffff,65535b=-2,177776,FFFE,65534例:4.4main(){charc='a';inti=97;printf("%c,%d\n",c,c);printf("%c,%d\n",i,i);}输出:a,97a,97

例:4.5main(){ printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}输出:CHINA,□□□□□CH,CHIN,CHI□□

例:4.6main(){ floatf=123.456; printf("%f,%10f\n%10.2f,%.2f\n%-10.2f\n", f,f,f,f,f);}输出:123.456001,123.456001

123.46,123.46123.46,§4.5.2数据输入scanf():从系统标准输入设备stdin(一般指键盘)输入数据。一、一般格式

scanf(格式控制,地址列表)“格式控制”与printf()的格式控制类似。“地址列表”是输入信息存放地址的列表,一般是变量地址。返回值等于成功输入的项数[例4.9]#include“stdio.h”/*只有printf和scanf函数可以不要头文件*/main()

{inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

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

}

运行时按如下方式输入三个值:3□4□5↙(输入a,b,c的值)输出:3,4,5(printf输出的a,b,c的值)二、格式说明与printf()的格式控制类似。格式字符说明d用于输入十进制数o(字母)用于输入八进制数x用于输入十六进制数c用于输入单个字符s用于输入字符串(非空格开始,空格结束,字符串变量以'\0'结尾)f用于输入实数(小或指数均可)e与f相同(可与f互换)格式的附加说明符

字符说明l(字母)用于长整型数(%ld、%lo、%lx)或double型实数(%lf、%le)h用于短整型数(%hd、%ho、%hx)域宽(一个正整数)指定输入所占列宽*跳过相应的输入项三、使用scanf()函数的注意事项

1、sacnf()中的变量必须使用地址。

scanf("%d,%d",a,b);╳scanf("%d,%d",&a,&b);√2、scanf()的“格式控制中”,可以使用其它字符,但在输入时必须输入这些相同的字符。

Scanf(“%d,%d”,&a,&b); 输入时应:3,4

Scanf(“a=%d:b=%d”,&a,&b); 输入时应:a=3:b=43、在用"%c"输入时,空格和“转义字符”均作为有效字符。例、scanf("%c%c%c",&c1,&c2,&c3);

输入:a□b□c↙

结果:a→c1,□→c2,b→c3(其余被丢弃)4、输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。

①遇空格、“回车”、“跳格”键。

②遇宽度结束。

③遇非法输入。如:scanf(“%d%c%f”,&a,&b,&c);若输入:123a123o.26§4.6程序举例[例4.10]

输入三角形的三边长,计算其面积。1.设计算法、设三边长a、b、c,面积area的算法是:2.画出流程图。求平方根函数sqrt()

在math.h中定义。计算面积area输出面积area输入a、b、c计算s结束开始#include"math.h"main(){floata,b,c,s,area;

scanf("%f,%f,%f",&a,&b,&c);

s=1.0/2*(a+b+c);area

=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c);printf("area=%7.2f\n",area);}运行情况如下:

3,4,6↙a=3.00,b=4.00,c=6.00area=5.33第4章小节:getchar():从标准输入设备stdin输入一个字符同时有回显putchar():向终端输出一个字符。printf():输出任意格式化数据列表。scanf():从标准输入设备(一般指键盘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论