第3章-顺序结构的程序设计_第1页
第3章-顺序结构的程序设计_第2页
第3章-顺序结构的程序设计_第3页
第3章-顺序结构的程序设计_第4页
第3章-顺序结构的程序设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计第3章顺序结构的程序设计主要内容1.C语句概述2.字符数据的输入输出3.格式化输入与输出4.顺序结构程序设计举例

3.1C语句概述C程序源程序文件1源程序文件2源程序文件n预处理命令函数n函数1数据声明函数首部函数体数据声明执行语句C语句分为6类说明语句表达式语句函数调用语句控制语句复合语句空语句

3.1C语句概述(一)说明语句

用来申请变量或声明将要使用的函数 例:intx,y,z;floatmax(floatx,floaty);

3.1C语句概述(二)表达式语句由一个表达式加一个分号构成一个语句

a=3;z=x+y;例:分号赋值表达式表达式语句+=

3.1C语句概述(三)函数调用语句由一个函数调用加一个分号构成一个语句

printf(“ThisisaCstatement.”);例:

3.1C语句概述(四)控制语句完成一定的控制功能

1if()~else条件语句6break间断语句

2for()~循环语句7switch()开关语句

3while()~循环语句8goto转向语句

4do~while();循环语句9return返回语句

5continue继续语句

3.1C语句概述(五)复合语句用一对{}括起来的语句

{ z=x+y; t=z/100; printf(“%f”,t); }例:复合语句{}后面无分号;注意:

3.1C语句概述(六)空语句只有一个分号的语句

(什么也不做)用来作为循环语句中的循环体留待以后对程序进行扩充时使用,对未设计完成的模块,用空语句作为函数体;;

3.1C语句概述C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的例如:字符输入函数:getchar字符输出函数:putchar格式输入函数:scanf格式输出函数:printf字符串输入函数:gets字数串输出函数:puts

3.2字符数据的输入输出在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中.例如:在调用标准输入输出库函数时,文件开头应该有:

#include“stdio.h”

或:

#include<stdio.h>头文件

3.2字符数据的输入输出3.2字符数据的输入输出一、字符输出函数一般形式:putchar(c)

函数作用:

向终端(显示器)输出一个字符

字符型变量、整型变量例1输出单个字符。

#include<stdio.h>

voidmain()

{

chara,b,c;

a=‘B’;b=‘O’;c=‘Y’;

putchar(a);putchar(b);putchar(c);putchar(‘\n’);

}

运行结果:BOYputchar(a);putchar(‘\n’);putchar(b);putchar(‘\n’);putchar(c);putchar(‘\n’);运行结果:BOY4.2字符数据的输入输出二、字符输入函数一般形式:getchar()

函数作用:从标准输入设备输入一个字符。函数值:从输入设备获取的字符。4.2字符数据的输入输出例2输入单个字符。

#include<stdio.h>

voidmain()

{

charc;

c=getchar();

putchar(c);

putchar(‘\n’);

}

运行程序:

从键盘输入字符‘a’

按Enter键

屏幕上将显示输出的字符‘a’

a

a4.2字符数据的输入输出

#include"stdio.h"main(){charc;c=getchar();

putchar(c);}接受一个字符=>c输出该字符c开始结束运行程序,如果从键盘输入: a[ENTER]

则输出为: a

如果从键盘输入: abc[ENTER]

则输出也为:

a注意:调用函数getchar时,程序执行被中断,等待用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后未按回车,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函数getchar才进行处理。函数getchar将回车键作为一个字符读入,若程序中有两个以上函数getchar时,应该一次性输入所有字符,最后再按回车。无论输入的是英文字母还是标点符号还是数字,都是作为字符输入。例:从键盘输入三个英文字母a,b和c,并依次同行内输出。

参考程序:#include<stdio.h>voidmain(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();printf("%c%c%c\n",ch1,ch2,ch3);}4.3格式输入与输出一、格式输出函数函数作用:向终端输出若干个任意类型数据。一般格式:printf(格式控制参数,输出表列)%d:以带符号的十进制形式输出整数%c:以字符形式输出,只输出一个字符%s:输出字符串%f:以小数形式输出单精度浮点数,隐含输出六位小数printf(”格式控制字符串”,参数1,参数2,…,参数n)必须用英文的双引号括起来作用是控制输出项的格式和输出一些提示信息要输出的表达式常量、变量、运算符表达式、函数返回值等,每个输出项之间用(,)分隔4.3格式输入与输出格式控制字符的组成:普通字符:按原样输出,主要用于输出提示信息。转义字符:指明特定操作。格式说明:由“%”和“格式字符串”组成:“%格式字符串”表示按规定的格式输出数据。4.3格式输入与输出#include<stdio.h>voidmain(){inta=97,b=98;printf(“1:%d%d\n”,a,b);printf(“2:%d,%d\n”,a,b);printf(“3:%c,%c\n”,a,b);printf(“4:a=%d,b=%d\n”,a,b);}程序运行结果:1:97982:97,983:a,b4:a=97,b=984.3格式输入与输出d,ix,Xoucse,Efg,G%%格式字符:十六进制无符号整数不带符号十进制整数

带符号十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数

实际位数浮点数百分号本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.67789e+02567.789000567.789%4.3格式输入与输出说明:除了X,E,G外,其他各式字符必须用小写。可以在printf函数中的“格式控制”字符串中包含转义字符。一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。想输出%,则应该在格式控制字符串中用连续两个%表示4.3格式输入与输出附加说明符说明

l

输出长整型数据,可加在格式转换符d,o,x,u前面

m(正整数)输出数据的宽度指定宽度>实际宽度,补空格指定宽度<=实际宽度,按实际输出不指定宽度,按实际输出

.n(正整数)对实数,表示输出n位小数。不足补0;多出则舍入处理。对字符串,表示截取的字符个数。不足补空格,多出则丢弃。

-

输出的数据在输出域内向左对齐实例:

#include<stdio.h>voidmain(){charc='a';charch[]="Good-bye.";printf("%c,%3c,%3d\n",c,c,c);printf("%s,%10s,%-8s,%-12s,%6.4s\n",ch,ch,ch,ch,ch);}答案:

a,__a,_97Good-bye.,_Good-bye.,Good-bye.,Good-bye.___,__Good例3字符数据的输出。

#include<stdio.h>

voidmain()

{

charc=‘a’;

inti=97;

printf(“%c,%d\n”,c,c);

printf(“%c,%d\n”,i,i);

}

运行结果:

a,97

a,97指定输出字数的宽度,

printf(“%3c”,c);

则输出:

aa4.3格式输入与输出二、格式输入函数函数作用:按照变量在内存的地址将变量值存进去。一般格式:scanf(格式控制参数,地址表列)同printf函数是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址4.3格式输入与输出scanf(”格式控制字符串”,地址列表)必须用英文的双引号括起来由普通字符和格式说明符组成由若干地址组成的列表变量的地址、字符串的首地址、指针变量等,以逗号(,)间隔4.3格式输入与输出例4用scanf函数输入数据。

#include<stdio.h>voidmain(){ inta,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d,%d,%d\n",a,b,c);}运行情况:

345(输入a,b,c的值)

3,4,5(输出a,b,c的值)a在内存中的地址&是地址运算符4.3格式输入与输出

使用scanf函数时应注意的问题:(1)scanf函数中的“格式控制字符串”后面应当是变量地址,而不应是变量名。(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。scanf("%d,%d:%f",&x,&y,&z);

输入序列:1,2:3.5[ENTER]

结果:x=1,y=2,z=3.54.3格式输入与输出scanf("%c%c%c",&c1,&c2,&c3);

输入:a□b□c↙

结果:a→c1,□→c2,b→c3(其余被丢弃)(3)在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入(4)在输入数据时,可以使用空格,或“回车”或“跳格”(Tab)键作为数据之间的分隔符。4.3格式输入与输出scanf("%d%d%d",&x,&y,&z);

输入序列一:1

2

3[ENTER]

结果:x=1,y=2,z=3

输入序列二:1[TAB]23[ENTER]

输入序列三:1[ENTER] 23[ENTER]

结果与输入序列一的结果一样。scanf("x=%d",&x);

要使x的值等于12,从键盘应怎样输入?

正确的输入序列:x=12[ENTER]

4.4顺序结构程序设计举例例5输入三角形的三边长,求三角形面积。假设:三个边长a,b,c能构成三角形。已知面积公式:area=s=(a+b+c)*0.5结束输入三边长计算s计算面积开始输出面积#include<stdio.h>

#include<math.h>

voidmain()

{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,s=%7.2f\n”,a,b,c,s);

printf(“area=%7.2f\n”,area);}

数学函数库因为要用到其中的sqrt函数运行情况:

3,4,6

a=3.00,b=4.00,c=6.00,s=6.50

area=5.334.4顺序结构程序设计举例例6从键盘输入一个大写字母,要求改用小写字母输出。#include<

温馨提示

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

评论

0/150

提交评论