高级语言学习第三章_第1页
高级语言学习第三章_第2页
高级语言学习第三章_第3页
高级语言学习第三章_第4页
高级语言学习第三章_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、本章主要内容:本章主要内容:任务任务1、 熟悉程序设计的顺序结构熟悉程序设计的顺序结构任务任务2、掌握数据的输入与输出、掌握数据的输入与输出任务任务3、熟悉顺序机构程序设计实例、熟悉顺序机构程序设计实例重点难点重点难点:基本输入输出语句格式的控制:基本输入输出语句格式的控制第三章第三章 顺序结构程序设计顺序结构程序设计P30任务任务1 熟悉程序设计的顺序结构熟悉程序设计的顺序结构一、一、C程序结构程序结构C程序程序源程序文件源程序文件1源程序文件源程序文件2源程序文件源程序文件n 预处理命令预处理命令全局变量声明全局变量声明函数函数1函数函数n 函数首部函数首部函数体函数体局部变量声明局部变量

2、声明执行语句执行语句二、二、C语句分类及功能语句分类及功能C语句分类语句分类: 1.控制语句控制语句 2.函数调用语句函数调用语句 3.表达式语句表达式语句 4.空语句空语句 5.复合语句复合语句 一条完整的C语句必须以“;”结束。 “;”是一个语句不可缺少的一部分。1. 控制语句:控制语句:完成一定的控制功能。完成一定的控制功能。(补充)补充)C 有9种控制语句: if( ) else (条件语句) for( ) (循环语句) while( ) (循环语句) do while( ) (循环语句) continue (结束本次循环语句) break (中止执行switch或循环语句) swit

3、ch (多分支选择语句) goto (转向语句) return (从函数返回语句)2. 函数调用语句函数调用语句 (补充)补充)由一次函数调用加一个“ ; ”构成。 如:printf(“Hello World!”) ; 函数调用分号3. 表达式语句表达式语句 由表达式加上“ ; ”构成。如:x+4*y; 算术表达式语句 4*7,4+8; 逗号表达式语句 x=4*7; 赋值表达式语句(赋值语句)4. 空语句(补充)空语句(补充) 由一个 “ ; ”构成。 即: ;作用:程序转向点; 什么也不做的循环体。 whiel(ix2) y=x1*x1+x2 ; printf(y=%d,y) ; 不能省略不

4、能加“;”5. 复合语句复合语句 复合语句中的每一个语句还可以是复合语句; 复合语句尽管可由多个语句组合,但它只相当于一个语句,在任何单一语句可以存在的地方,复合语句都可以存在。main()int i;for(i=1;i=20;i+) printf(_); if(i%5=0) printf(n);任务任务2、掌握数据的输入与输出、掌握数据的输入与输出一一、数据输入输出的概念数据输入输出的概念计算机的输入输出是以计算机主机为主体而言。输入:从外部通过输入设备(如,键盘、磁盘 、光盘、扫描仪等)向计算机输入数据。输出:从计算机向外部设备(如,显示屏、打 印机、磁盘等)输出数据。二、二、数据输入输出

5、在语言中的实现数据输入输出在语言中的实现P32P32调用调用输入输出函数输入输出函数实现输入输出操作实现输入输出操作 语言本身不提供输入输出语句,输入和输出操作是通过调用语言库函数中输入输出函数来实现的。如:putchar函数输出字符getchar函数输入字符printf函数 格式输出scanf函数 格式输入2文件开头应有文件开头应有“#include”命令命令 在调用标准输入输出库函数时,文件开头应有预编译命令: #include 或 #include “stdio.h” 其中,stdio.h是“头文件”,包含了与用到的标准输入输出函数有关的信息。 系统允许在使用 printf 和 scan

6、f 两个函数时可不加“#include”命令。3. 字符数据的输入与输出字符数据的输入与输出p35(1) putchar 函数(字符输出函数)函数(字符输出函数)一般格式:putchar(c)必须有预编译命令 #include 功能 从终端输出一个字符一个字符, 且转换成ascii 码返回。说明:其中c可以是字符型常量、字符型变量、 整型常量、整型变量表达式。putchar 函数(字符输出函数)函数(字符输出函数)例:例:#include main() char a,b,c; a=B; b=O; c=Y; putchar(a);putchar(b);putchar(c); putchar();

7、输出结果输出结果: BOY一般格式: getchar() 没有参数没有参数必须有预编译命令 #include 功能 从终端输入一个字符。#include”stdio.h” main() char c; c=getchar(); putchar(c); a例:a(2) getchar函数函数(字符输入函数字符输入函数)p32格式输入输出函数格式输入输出函数p33printf();scanf();格式字符说 明d,i用来输入有符号的十进制整数u用来输入无符号的十进制整数o用来输入无符号的八进制整数x,X用来输入无符号的十六进制整数c用来输入单个字符s用来输入字符串f用来输入实数(小数或指数)e,E

8、,g,G与f作用相同,e与f,g可以互相替换(3) printf 函数(格式输出函数)函数(格式输出函数)p36功能:向终端输出若干个任意类型的数据。功能:向终端输出若干个任意类型的数据。(一一)printf函数的一般格式函数的一般格式printf(格式控制,输出表列)(格式控制,输出表列)举例:举例:main( ) int a=3,b=4; printf(“a=%d b=%dn ”, a, b );输出结果输出结果: a=3 b=4格式说明格式说明(格式字符格式字符)普通字符普通字符输出表列输出表列转义字符转义字符main()char c1=a,c2=b,c3=c,c4=101,c5=116

9、; printf(“a%c b%ctc%cn”,c1,c2,c3); printf(“tb%c %c”,c4,c5);aabbccA Nprintf(格式控制,输出表列)1.1.格式说明格式说明, ,由由“% %”和格式字符组成和格式字符组成, ,如如%d,%f%d,%f等。等。 小结:小结:“输出表列输出表列”是需要输出的一些数据是需要输出的一些数据(变量、表变量、表 达式达式)。“格式控制格式控制”是用双引号括起来的字符是用双引号括起来的字符 也称也称 “转换控制字符串转换控制字符串”,它包括三种信息:,它包括三种信息:3.3.转义字符转义字符, ,将将 后面的字符转换成另外的意义后面的字

10、符转换成另外的意义P38P38表表2.2.普通字符普通字符, ,即需要原样输出的字符。即需要原样输出的字符。格式字符(补充)格式字符(补充) 对不同类型的数据用不同的格式字符。对不同类型的数据用不同的格式字符。1. d格式符格式符 用来输出十进制整数。用来输出十进制整数。(1)%d :按整型数据的实际长度输出。:按整型数据的实际长度输出。如:如:int a=123; printf(“%d”,a); 结果:结果:123(二二) 格式函数格式函数 对不同类型的数据用不同的格式字符。对不同类型的数据用不同的格式字符。1. d格式符格式符 用来输出十进制整数。用来输出十进制整数。(2)%md:m为指定

11、的输出字段的宽度。若数据为指定的输出字段的宽度。若数据 位数小于位数小于m,则,则左端左端补以空格补以空格;若大于若大于 m,则按实际位数输出。,则按实际位数输出。如:如:int a=123, b=12345; printf(“%4d,%4d”,a,b); 结果:结果:123 ,12345 (二二) 格式函数格式函数 对不同类型的数据用不同的格式字符。对不同类型的数据用不同的格式字符。1. d格式符格式符 用来输出十进制整数。用来输出十进制整数。(3)%ld:输出长整型数据。也可以对长整型数:输出长整型数据。也可以对长整型数 据指定字段宽度。据指定字段宽度。如:如:long a=1234567

12、; printf(“%ld,%8ld,%5ld”,a,a,a); 结果:结果:1234567, 1234567,1234567 2. o格式符格式符以以8进制数形式输出整数进制数形式输出整数 输出的数值不带符号输出的数值不带符号,即将符号也一起作为八即将符号也一起作为八进制数的一部分输出。进制数的一部分输出。 如:如:int a=-1; printf(“%d,%o”,a,a); 结果:结果:-1,177777 o格式符同d格式符一样,可以输出长整型数据,也可以指定字段宽度。1 111 111 111 111 1113. x格式符格式符以以16进制数形式输出整数。进制数形式输出整数。同样不会出现

13、负的十六进制数。同样不会出现负的十六进制数。4. u格式符格式符以十进制形式输出以十进制形式输出unsigned型数据型数据5. C格式符格式符用来输出一个字符。用来输出一个字符。 一个整数一个整数,只要它的值在只要它的值在0255范围内,也范围内,也可以用字符形式输出,在输出前可以用字符形式输出,在输出前,将该整数转换将该整数转换成相应的成相应的ASCII字符;反之,一个字符数据也字符;反之,一个字符数据也可以用整数形式输出。可以用整数形式输出。如:如:main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i);

14、 输出结果:输出结果: a,97 a,976. s格式符格式符用来输出一个字符串。用来输出一个字符串。 (1) %s :按原长度输出字符串。:按原长度输出字符串。 如:如: printf(“%s”,“CHINA”) 输出结果:输出结果:CHINA(2) %ms :输出的字符串占:输出的字符串占m列,如字符串本列,如字符串本 身长度大于身长度大于m,则突破,则突破m的限制,将字符串的限制,将字符串 全部输出,若串长小于全部输出,若串长小于m,则,则左补空格左补空格。(3) %ms :如果串长小于:如果串长小于m,则在,则在m列范围内列范围内 ,字符串向左靠,字符串向左靠,右补空格右补空格。(4)

15、 %m.ns :输出占:输出占m列,但只取字符串中左端列,但只取字符串中左端 n个字符。输出在列的右侧,个字符。输出在列的右侧,左补空格左补空格。如。如 果果nm,则自动取值,即保证个字符正常输出。则自动取值,即保证个字符正常输出。(5) %m.ns , 其中其中m、n含义同上,含义同上,n个字符输出个字符输出 在在m列范围的左侧,列范围的左侧,右补空格右补空格。如:printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA” ,“CHINA”, “CHINA”); 输出结果:CHINA, CH,CHIN, CHI 7. f格式符格式符以小数形式输出实数。

16、以小数形式输出实数。 (1) %f :不指定字段宽度:不指定字段宽度,由系统自动指定,由系统自动指定, 使整数部分全部如数输出,并输出使整数部分全部如数输出,并输出6位小数位小数。 注意注意float型和型和double型数据的有效位数,型数据的有效位数, 如:float x=123456.123; printf(“%f”,x); 输出结果:123456.125000main() double x,y; x=1111111111111.111111111; y=1111111111111.111111111; printf(“%f”,x+y);2222222222222.222170(2) %

17、m.nf :指定输出的数据共占:指定输出的数据共占m列列,其中有其中有n 位小数。若数据长度小于位小数。若数据长度小于m,则左端补空格。,则左端补空格。(3)%m.nf : 与与%m.nf 基本相同,只是使输出基本相同,只是使输出 的数值向左端靠,右端补空格。的数值向左端靠,右端补空格。如:float f=123.456; printf(“%10.2f ,%-10.2f”,f); 输出结果: 123.46,123.468. e格式格式以指数形式输出实数。以指数形式输出实数。 (1) %e如: printf(“%e”,123.456); 输出结果: 1.234560e+02 6位2位一般共占一般

18、共占12列宽度列宽度(2) % m.ne和和 %m.ne: m、n和和“”字符含义字符含义与与 前相同。此处前相同。此处n指数据的数字部分指数据的数字部分(又称尾数又称尾数) 的小数位数。的小数位数。 9. g格式符格式符用来输出实数用来输出实数,它根据数值的大它根据数值的大 小小,自动选自动选f格式或格式或e格式格式(选择输出时占宽度较选择输出时占宽度较 小的一种小的一种),且不输出无意义的零。,且不输出无意义的零。如:f=123.468; printf(“%f , %e , %g”, f , f, f);输出如下输出如下:123.468000 , 1.234680e+002 , 123.4

19、6810列12列如:f=123.468; printf(“%f , %e , %g”, f , f, f);输出如下输出如下:123.468000 , 1.234680e+02 , 123.46810列二、二、scanf 函数(格式输入函数)函数(格式输入函数)P32(一一)scanf(格式控制,地址表列)(格式控制,地址表列)1015main() int a,b,c; scanf(“%d,%d”,&a,&b); printf(“a=%d,b=%d”,a,b);输入:输入:10,15输出:输出:a=10,b=15ab如:如:int a,b,c; scanf(“%d%d%d”,&

20、amp;a,&b,&c);输入形式:输入形式:10 17 181 int a,b,c; scanf(“%d,%d,%dn”,&a,&b,&c);输入形式:输入形式: 10,11,12 scanf(“%3d%3d%c”,&a,&b,&ch); 输入形式:输入形式:123456abc 结果:结果:a=123 b=456 ch=ascanf(“%d%d%c”,&a,&b,&ch); 输入形式:输入形式:123 456abc 结果:结果:a=123 b=456 ch=amain() char c1,c2; scan

21、f(“c1=%c,c2=%c”,&c1,&c2); printf(“%c%c”,c1,c2);输入数据:c1=a,c2=b 输出数据:abmain() int x,y,z; char ch; scanf(“%7.2d%d%d%c”,x,y,z,ch); main() int x,y; scanf(“%5d,%3d”,&x,&y);输入数据: 345,567 有错吗? 说明说明:1. %后的后的“*”附加说明符,用来表示跳过它相应的数据。附加说明符,用来表示跳过它相应的数据。如:如:scanf(“%2d ,%*3d , %2d”,&a,&b); 输

22、入:输入:12 , 456 , 67 结果:结果:a=12 b=67 2. 输入数据时不能规定精度。输入数据时不能规定精度。 Scanf(“%7.2f”,&a);3、scanf(“a=%d, b=%d”,&a,&b); 输入:输入:a=12,b=134、scanf(“%c%c%c”,&a,&b,&c); 输入:输入:a b c 空格和转义字符都作为有效字符输入空格和转义字符都作为有效字符输入main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(

23、“ %f %e”,&x,&y); scanf(“ %c %c”,&c1,&c2); printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);输入数据:a=10 b=20 10 10 a b输出数据:10,20,10.00000,20.00000,a,b输入方式2:a=10 b=20 10 20 a b main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“x=%f y=%e”,&x,&y); scanf(“c1=%

24、c c2=%c”,&c1,&c2); printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);输入数据:a=10 b=20 x=10 y=10c1=a c2=b输出数据:10,20,10.00000,20.00000,a,b3.5 顺序结构程序设计顺序结构程序设计 (顺序结构) (选择结构) (循环结构)二、顺序结构程序设计二、顺序结构程序设计例3.1 输入两个整数给变量x,y,然后输出,再交换x和y中的值,再输出。例3.2输入一个double类型的数,保留小数点后两位,对第三位进行四舍五入,然后输出main()double x; printf(“e

25、nter x:n”);scanf(“%lf”,&x); x=x*100; x=x+0.5; x=int(x); x=x/100; printf(“x=%d”,x);二、顺序结构程序设计二、顺序结构程序设计特点特点:程序按语句从上到下的排列顺序依此执程序按语句从上到下的排列顺序依此执 行,每条语句必须执行且只能执行一次,行,每条语句必须执行且只能执行一次, 没有执行不到或执行多次的语句。没有执行不到或执行多次的语句。例如:例如:已知圆柱体半径已知圆柱体半径6 6米,高米,高7 7米,求体积。米,求体积。#define PI 3.14159main( ) float r , h , s , v ; r=6 ; h=7 ; s=PI*r*r ; v=s*h ; printf(“V=%fn”, v);例3.10 输入三角形的三条边,求三角形的面积。输入三角形的三条边,求三角形的面积。分析:已知三角形的三条边 a,b,c。 求解三角形的面积area。 计算公式设 s=(a+b+c)/2 area=)(*)(*)(*csbsass开始开始给给a,b,ca,b,c赋值赋值计算计算s=(a+b+c)/2s=(a+b+c

温馨提示

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

评论

0/150

提交评论