第3章 顺序结构_第1页
第3章 顺序结构_第2页
第3章 顺序结构_第3页
第3章 顺序结构_第4页
第3章 顺序结构_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第3章顺序结构

C程序的语句

数据的输入和输出

程序举例

本章要点C程序的语句一、说明语句说明语句包括变量(或数组)定义语句和函数声明语句两种,而最常用的是变量(或数组)定义语句,通过变量定义语句确定变量的类型与初值。例如:charch1,ch2;intx,y,z=1;floata,b,c;doubled1,d2;执行语句可分为以下五类:1、表达式语句。如:k=k+1;为赋值语句

k+1;为表达式语句k++;为自增1语句

a=(b=5)+(c=3);2、复合语句。如:{z=x+y;t=z/100;}一个复合语句在语法上作为一条语句处理,在一对花括号中的语句数量不限。

复合语句花括号必须配对;右花括号的后面不加分号。在复合语句中,不仅可以有执行语句,还可以有说明语句.

如:{inta=5;b=a*a;}

C程序的语句二、执行语句3、空语句。“;”4、函数调用语句。如:printf(“**book**”);

5、控制语句(9种)。如:if语句,for语句等条件语句。用于控制分支结构的语句;如if语句、switch语句等。循环语句。用于控制循环结构的语句;如while语句、dowhile语句、for语句等。转向语句。转向语句主要有goto语句、break语句、continue语句、return语句等。C程序的语句数据的输入和输出C语言中没有提供输入输出语句,其输入输出操作,是通过C语言系统所提供的输入输出函数

来实现的。1、默认的标准输入输出设备是键盘和显示器。2、输入输出函数被放在标准的I/O函数库中,库中的公用信息存放在头文件stdio.h中,若要使用这些输入输出函数,必须在源程序的开始使用预处理命令:

#include"stdio.h"一、字符输入函数getchar()

格式:getchar()功能:从标准输入设备上输入一个字符。函数的值就是从输入设备得到的字符。

如:charch;ch=getchar();注意:getchar()只能接收一个字符,而且只有在用户敲入回车键<Enter>后,读入才开始执行。数据的输入和输出二、字符输出函数putchar()格式:putchar(ch)

功能:将ch的值向标准输出设备输出。其中ch可以是字符型变量,整型变量,字符型常量。也可以输出转义字符。数据的输入和输出例:#include“stdio.h”main(){chara,b,c;a=‘T’;b=‘e’;c=‘a’;

putchar(a);putchar(b);putchar(c);

}程序运行结果:Tea#include"stdio.h"main(){ chara,b,c;a=getchar();b='c';c='t';putchar(a);putchar('\n');putchar(b);putchar('\n');putchar(c);putchar('\n');}数据的输入和输出三、格式输出函数printf()格式:printf(“控制字符串”,输出项列表)功能:按控制字符串规定的输出格式,将输出项列表中的各输出项的值依次输出到系统指定的标准输出设备(显示器)上。数据的输入和输出其中:控制字符串包括:格式说明和普通字符

①格式说明:%[m.n][l]格式字符作用是将输出的数据转换为格式字符规定的格式,然后输出。

格式字符意义d以十进制有符号形式输出整型数据o以八进制无符号形式输出整型数据(不带前导0)x以十六进制无符号形式输出整型数据(不带前导0x)u以十进制无符号形式输出整型数据c输出一个字符s输出字符串中的字符,直到遇到“\0”,或者输出由精度指定的字符数f以小数形式输出单精度和双精度数据,隐含的小数位数为6e以规格化的指数形式输出单精度和双精度数据,隐含的小数位数为6g按e和f格式中宽度较短的一种输出,不输出无意义的0printf(“控制字符串”,输出项列表)字符意义字母l用于长整型整数的输出,可加在格式符d、o、x、u前面m(正整数)指定输出数据所占的宽度,若输出的数据位数>m,为保证数据的正确性,则按实际位数输出;如果数据的位数<m,则多出的位数补空格.n(正整数).n称为精度。对实数,表示输出n位小数;对字符串,表示截取的字符个数;对于整数,指定必须输出的数字个数,若输出的数字少于指定的个数,则前面补0,否则按原样输出-输出的数字或字符左对齐+使输出的数字总是带“+”或“-”号0在输出的数据前加前导“0”#使输出的八进制数(或十六进制数)带前导0(或0x)printf(“控制字符串”,输出项列表)

输出项列表:是需要输出的一些数据,可以是一个或者是多个输出项,当有多个输出项时,输出项之间用逗号“,”隔开,输出项可以是常量、变量或表达式。输出项的个数和类型必须与控制字符串的格式字符的个数、类型相匹配。②普通字符:原样输出的字符;它可以包含可打印的字符和不可打印的字符,可打印的字符在“控制字符串”中直接用字符符号表示,不可打印的字符用转义字符表示,如换行‘\n’,水平制表‘\t’等。数据的输入和输出printf(“控制字符串”,输出项列表)数据的输入和输出例:main(){charch=‘a’;inta=123;floatx=12.3456;printf(“Hellocomputer\n”);printf(“%c,%d\n”,ch,ch); printf(“%d,%o,%x,%u\n”,a,a,a,a);printf(“%+d,%+d,%#o,%#x\n”,8,-8,a,a);printf(“%.5d,%.2d,%5d,%05d\n”,a,a,a,a);printf(“%f%10.4f%5.4f%2.3f\n”,x,x,x,x);}运行结果为:Hellocomputera,97123,173,7b,123+8,-8,0173,0x7b00123,123,123,0012312.34560012.345612.345612.346例:设a=12478,b=1274.678,c=’Hello’格式控制符 a输出格式 b输出格式 c输出格式 %d %8d %3d %o %x %u %-8d %f %e %8.2f %6.2f %10.2e %-10.2e %s %3s %7s %7.2s %-7.2s

12478 12478124783027630be1247812478

1274.6780001.274678e+0031274.681274.681.27e+0031.27e+003HelloHello HelloHeHe数据的输入和输出注意:(1)在格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。对long型数据要使用%ld格式输出。(2)在格式控制字符串中,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数,则多余的输出项不输出;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出项不定值(或0值)。(3)在格式控制字符串中,除了合法的格式说明外,可以包含任意的合法字符(包括转义字符),这些字符在输出时“原样照印”。(4)若需输出百分号%,则在格式控制字符串中用“%%”表示。(5)在输出语句中改变输出变量的值,如:inta=5;printf(“%d%d\n”,a,a++);(6)printf函数的返回值通常是本次调用中输出字符的个数。数据的输入和输出四、格式输入函数scanf()格式:scanf(“控制字符串”,地址表列)功能:按控制字符串规定的输入格式,从系统指定的标准输入设备(键盘)上将输入的数据依次存到输入项地址表列所指定的内存单元中。

地址表列:变量的地址表,即:&变量名,&变量名,…

控制字符串:与printf()函数类似。数据的输入和输出例:main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);printf(“s=%d”,a+b+c);}运行结果:从键盘上输入:312110屏幕上则显示:a=3,b=12,c=110s=125数据的输入和输出注意:(1)输入long整型数据时,在“%”和“d”之间必须加“l”;输入double型数据时,在“%”和“f(e)”之间也必须加l。否则得不到正确的数据。(2)当指定输入数据所占的宽度m时,系统自动按宽度m截取所需数据。但不能对实型数据指定小数位的宽度。例:scanf(“%4d%2d”,&a,&b);

若输入:123456则将1234→a,56→b

scanf(“%7.2f”,&a);不合法。(3)输入项与控制字符串中的格式说明从左到右在类型上必须一一对应匹配。(4)数据输入的合法结束:空格(一个或多个)、回车、TAB键、数据域宽,非法输入。(5)在用“%c”格式输入字符时,空格符、制表符或回车符、“转义字符”等都是有效字符。但是,如果在格式说明之间加入了空格后,这时输入字符中的空格符、制表符和回车符都将作为间隔符。数据的输入和输出例:已知:charc1,c2,c3;inta,b;floatd,e;格式输入语句输入数据的格式变量获得的值 scanf(“%d%d%f”,&a,&b,&d) 101112.5a=10,b=11,d=12.5 scanf(“%d,%d,%f”,&a,&b,&d) 10,11,12.5a=10,b=11,d=12.5 scanf(“%d,%*d,%f”,&a,&d) 10,11,12.5a=10,d=12.5 scanf(“%2d%2d”,&a,&b) 10113a=10,b=11 scanf(“%c%c%c”,&c1,&c2,&c3) ABCc1=’A’,c2=’B’,c3=’C’ABCc1=’A’,c2=’‘,c3=’B’ scanf(“%d%c%d”,&a,&c1,&b) 123c48Da=123,c1=’c’,b=48 scanf(“%7.2f”,&d)这是错误格式。因为输入数据时不能规定精度。 程序举例例:已知a=5.0,b=2.5,c=7.8,计算运行结果:y=1.602041程序代码如下:#include"stdio.h"#definePI3.14main(){floata=5.0,b=2.5,c=7.8,y;y=PI*a*b/(a+b*c);printf("y=%f\n",y);}程序举例例:从键盘输入两个整数赋给变量a和b,要求交换变量a和b中的值。程序代码如下:#include"stdio.h"main(){inta,b,t;sanf(“%d%d”,&a,&b);printf("a=%d,b=%d\n",a,b);

t=a;a=b;b=t;printf("a=%d,b=%d\n",a,b);}运行结果:输入:2266<Enter>输出:a=22,b=66a=66,b=22学会如何交换两个变量的值!!#include"stdio.h"main(){charc1,c2;c1=getchar();printf("%c,%d",c1,c1);c2=c1+32;printf("%c,%d",c2,c2);}例:从键盘输入一个大写字母,要求改用小写字母输出。程序代码如下:运行结果:输入:A<Enter>输出:A,65a,97程序举例1、若有以下定义和语句:intu=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);则输出结果是:A)8,16,10B)10,10,10C)8,8,10D)8,10,102、

温馨提示

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

评论

0/150

提交评论