c语言 第3章.ppt

上传人:s****8 文档编号:66861853 上传时间:2022-12-21 格式:PPT 页数:51 大小:281KB
返回 下载 相关 举报
c语言 第3章.ppt_第1页
第1页 / 共51页
c语言 第3章.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《c语言 第3章.ppt》由会员分享,可在线阅读,更多相关《c语言 第3章.ppt(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第3 3章章 顺序结构程序设计顺序结构程序设计 C C 语言程序设计语言程序设计程序的三种基本结构程序的三种基本结构 顺序结构顺序结构N-S结结构构图图流流程程图图ABAB选择结构选择结构YNABP成成立立?P T F A B2程序的三种基本结构程序的三种基本结构循环结构循环结构NYP成立成立?A当当P成立时成立时 A直到型循环直到型循环直到型循环直到型循环 A当P成立时YNAP成立成立?当型循环当型循环当型循环当型循环N-S结结构构图图流流程程图图3本章主要内容:本章主要内容:l lC语言的语句类型语言的语句类型l l数据输出数据输出l l数据输入数据输入l l顺序结构程序设计顺序结构程序

2、设计43.1 C语言的语句类型语言的语句类型l主要内容:主要内容:函数调用语句函数调用语句说明性语句说明性语句表达式语句表达式语句控制语句控制语句复合语句复合语句空语句空语句53.1.1 说明性语句说明性语句l l对程序中使用的变量、数组、函数等操作对象进对程序中使用的变量、数组、函数等操作对象进对程序中使用的变量、数组、函数等操作对象进对程序中使用的变量、数组、函数等操作对象进行定义、声明的描述语句行定义、声明的描述语句行定义、声明的描述语句行定义、声明的描述语句l l只起说明作用,不产生可执行的机器指令代码。只起说明作用,不产生可执行的机器指令代码。只起说明作用,不产生可执行的机器指令代码

3、。只起说明作用,不产生可执行的机器指令代码。例如:例如:例如:例如:int a,b;float function(int,int);C C程序由函数组成。函数的格式:程序由函数组成。函数的格式:程序由函数组成。函数的格式:程序由函数组成。函数的格式:函数名(参数表)函数名(参数表)函数名(参数表)函数名(参数表)说明部分;说明部分;说明部分;说明部分;执行部分;执行部分;执行部分;执行部分;数据类型说明语句数据类型说明语句可执行语句可执行语句6l l表达式后面加一个分号,构成表达式语句表达式后面加一个分号,构成表达式语句x=3;y=y+5;x=a-b&c|d;printf(x=%d,y=%dn

4、,x,y);sort(a,10);3.1.2 表达式语句表达式语句 赋值语句赋值语句函数调用语句函数调用语句l l注意:注意:分号是语句必不可少的一部分分号是语句必不可少的一部分分号是语句必不可少的一部分分号是语句必不可少的一部分 单独的一个分号单独的一个分号单独的一个分号单独的一个分号“;”“;”构成一个空语句构成一个空语句构成一个空语句构成一个空语句例如:例如:例如:例如:;(空语句,是最简单的(空语句,是最简单的(空语句,是最简单的(空语句,是最简单的C C语句)语句)语句)语句)73.1.3 控制语句控制语句1选择分支控制语句选择分支控制语句 if()else switch()2循环控

5、制语句循环控制语句 for()while()do while()3其他控制语句其他控制语句 break、continue、gotoreturn83.1.4 复合语句复合语句 l l用一对花括号用一对花括号“”括起来的若干条语括起来的若干条语句句 l l花括号中可以是说明语句、表达式语句、花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句控制语句,也可以是复合语句l l例如:例如:if(ab)max=a;min=b;for(n=1;n=100)printf(“dn”,p);break;93.1.4 复合语句(续)复合语句(续)l l复合语句中如果有说明性语句,应该写在复合语句中如果有

6、说明性语句,应该写在可执行语句的前面可执行语句的前面例如:例如:main()int a,b;a=b=100;float c=10.23;printf(%fn,c);printf(%d%dn,a,b);要特别注意:要特别注意:l l花括号的配对花括号的配对l l花括号的位置花括号的位置C C C C语言学习语言学习语言学习语言学习的难点之的难点之的难点之的难点之一一一一103.2 数据输出数据输出l主要内容:主要内容:字符输出函数字符输出函数 格式输出函数格式输出函数113.2.1 字符输出函数字符输出函数 l l函数调用的一般形式函数调用的一般形式 putchar(ch)l l功能:功能:在标

7、准输出设备(即显示器屏幕)上输在标准输出设备(即显示器屏幕)上输出一个字符。出一个字符。l l例如:例如:putchar(b);putchar(n);putchar(101);putchar(st);12说明说明 l lputchar是是C语语言言的的标标准准库库函函数数,使使用用时时必必须加编译预处理命令:须加编译预处理命令:#include stdio.h 或或#include【例【例3.1】利用】利用putchar函数输出字符。函数输出字符。#include stdio.h main()char c1,c2;c1=a;c2=b;putchar(c1);putchar(c2);putcha

8、r(n);putchar(c1-32);putchar(c2-32);putchar(n);也可改为也可改为也可改为也可改为c1=c1=9797;c2=;c2=9898;输出结果:输出结果:输出结果:输出结果:abab AB AB例jc3_1133.3.1 字符输入函数字符输入函数 l l函数调用的一般形式函数调用的一般形式 getchar()l l功能:功能:从标准输入设备(即键盘)上交互输入从标准输入设备(即键盘)上交互输入一个字符。一个字符。l l例如:例如:getchar();c=getchar();printf(%c n,getchar();14例如:例如:【例【例3.8】getch

9、ar函数的应用。函数的应用。#include stdio.hmain()char ch;ch=getchar();printf(%c%dn,ch,ch);printf(%c%dnn,ch-32,ch-32);程序运行时输入:程序运行时输入:程序运行时输入:程序运行时输入:mm 并按回车键后并按回车键后并按回车键后并按回车键后输出结果是:输出结果是:输出结果是:输出结果是:m 109m 109M 77M 77例jc3_815说明:说明:l lgetchar是是C语语言言的的标标准准库库函函数数,使使用用时时必必须加编译预处理命令:须加编译预处理命令:#include stdio.h 或或#inc

10、lude l lgetchar函数需要交互输入,接收到输入字函数需要交互输入,接收到输入字符之后才继续执行程序。符之后才继续执行程序。l l连续使用连续使用getchar函数时,要注意字符的输函数时,要注意字符的输入形式入形式,例如执行如下程序段:,例如执行如下程序段:char ch1,ch2;ch1=getchar();ch2=getchar();必须连续输入两个必须连续输入两个必须连续输入两个必须连续输入两个字符,中间不能有字符,中间不能有字符,中间不能有字符,中间不能有其他字符其他字符其他字符其他字符163.3.2 格式输出函数格式输出函数 l l函数调用的一般形式函数调用的一般形式 p

11、rintf(格式控制格式控制,参数参数2,参数参数n)l l功能:功能:按格式控制所指定的格式,在标准按格式控制所指定的格式,在标准输出设备上输出参数输出设备上输出参数2、参数、参数n的值。的值。l l例如有程序段例如有程序段:int a=123,b=100;printf(%d%d%dn,a,b,a+b);printf(c=%d+%d=%dn,a,b,a+b);17格式说明域格式说明域由可选及必须的域组成,形式如下:由可选及必须的域组成,形式如下:Printf(“%flags width.prec F|N|h|L|l type”.)18type 必需必需 类型字符类型字符 决定参数为字符,字决

12、定参数为字符,字串,数字串,数字Flags 可选可选 标志字符标志字符 控制输出的对齐和符控制输出的对齐和符号,空格,小数点及八进制和十六进制前号,空格,小数点及八进制和十六进制前缀的输出,格式说明可以出现一个以上的缀的输出,格式说明可以出现一个以上的标志标志Width 可选可选 宽度说明宽度说明 指定输出字符的最小指定输出字符的最小数目数目.prec 可选可选 精度说明精度说明 指定所有或部分输出指定所有或部分输出域中可输出的最大字符,或整数值的最小域中可输出的最大字符,或整数值的最小字符数字符数19F,N 可选可选 距离修饰距离修饰 指定被输出对象的指定被输出对象的距离距离h,l,L 可选

13、可选 大小修饰大小修饰 决定所希望参数的决定所希望参数的大小大小如果百分号跟的字符作为格式说明域没有意如果百分号跟的字符作为格式说明域没有意义,该字符被复制到输出中。义,该字符被复制到输出中。20格式控制格式控制 l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输出数输出数据的类型、格式、个数据的类型、格式、个数l l包括:包括:普通字符普通字符和和格式说明符格式说明符照原样输出照原样输出 printf(c=%d+%d=%dn,a,b,a+b);格式说明符:指定输出格式说明符:指定输出3 3个十进制整型数,个十进制整型数,分别为变量分别为变量 a a、b b、a ab b的值

14、的值21输出格式说明符输出格式说明符整型整型整型整型数据数据数据数据%d 以有符号十进制形式输出整型数以有符号十进制形式输出整型数以有符号十进制形式输出整型数以有符号十进制形式输出整型数%o 以无符号八进制形式输出整型数以无符号八进制形式输出整型数以无符号八进制形式输出整型数以无符号八进制形式输出整型数%x 以无符号十六进制形式输出整型数以无符号十六进制形式输出整型数以无符号十六进制形式输出整型数以无符号十六进制形式输出整型数%u以无符号十进制形式输出整型数以无符号十进制形式输出整型数以无符号十进制形式输出整型数以无符号十进制形式输出整型数实型实型实型实型数据数据数据数据%f以小数形式输出实型

15、数以小数形式输出实型数以小数形式输出实型数以小数形式输出实型数%e 以指数形式输出实型数以指数形式输出实型数以指数形式输出实型数以指数形式输出实型数%g 按数值宽度最小的形式输出实型数按数值宽度最小的形式输出实型数按数值宽度最小的形式输出实型数按数值宽度最小的形式输出实型数字符型字符型字符型字符型数据数据数据数据%c 输出输出输出输出一个字符一个字符一个字符一个字符%s 输出输出输出输出字符串字符串字符串字符串其他其他其他其他%输出字符输出字符输出字符输出字符%本身本身本身本身l l在和格式符之间可以使用在和格式符之间可以使用在和格式符之间可以使用在和格式符之间可以使用附加说明符附加说明符附加

16、说明符附加说明符22附加格式说明符附加格式说明符 l l输出长整型数(只可与输出长整型数(只可与输出长整型数(只可与输出长整型数(只可与d d、o o、x x、u u结合用)结合用)结合用)结合用)mm指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽).n n对实型数据,指定输出对实型数据,指定输出对实型数据,指定输出对实型数据,指定输出 n n 位小数;位小数;位小数;位小数;对字符串,指定左端截取对字符串,指定左端截取对字符串,指定左端截取对字符串,指定左端截取n n 个字符输出个字符输出个字符输出个字符输出+使输出的数值数据无

17、论正负都带符号输出使输出的数值数据无论正负都带符号输出使输出的数值数据无论正负都带符号输出使输出的数值数据无论正负都带符号输出-使数据在输出域内按左对齐方式输出使数据在输出域内按左对齐方式输出使数据在输出域内按左对齐方式输出使数据在输出域内按左对齐方式输出整数位数整数位数整数位数整数位数+小数位数小数位数小数位数小数位数+小数点小数点小数点小数点 自动对自动对自动对自动对n n位后小数四舍五入位后小数四舍五入位后小数四舍五入位后小数四舍五入 例如:例如:例如:例如:%ld ld 输出十进制长整型数输出十进制长整型数输出十进制长整型数输出十进制长整型数%m.nfm.nf 右对齐,右对齐,右对齐,

18、右对齐,mm位域宽,位域宽,位域宽,位域宽,n n位小数或位小数或位小数或位小数或n n个字符个字符个字符个字符%-%-m.nfm.nf 左对齐左对齐左对齐左对齐 23#include#include Main()Main()UnsifnedUnsifned intint a=65535;a=65535;IntInt b=-2;b=-2;Printf(“aPrintf(“a=%=%d,%o,%x,%u,nd,%o,%x,%u,n,a,a,a,aa,a,a,a)Printf(“bPrintf(“b=%=%d,%o,%x,%u,nd,%o,%x,%u,n,b,b,b,bb,b,b,b)输出结果:输

19、出结果:输出结果:输出结果:a=-1a=-1,177777177777,ffffffff,6553565535 b=-2 b=-2,177776177776,fffefffe,655356553524Flags标志字符标志字符标志标志 意义意义 缺省缺省-在给定域宽内左对齐在给定域宽内左对齐 右对齐右对齐 输出结果(输出结果(右边用空格填充)右边用空格填充)+如果输出值有符号数,则如果输出值有符号数,则 只只在负在负 总是加上符号总是加上符号 数数前加(前加(-)空格空格 如果输出值是有符号数或是正数,则如果输出值是有符号数或是正数,则以空格作为前缀加到输出值前,如果空格以空格作为前缀加到输出

20、值前,如果空格和和+标志同时出现,则忽略空格标志同时出现,则忽略空格 无空格无空格25WidthWidth宽度说明宽度说明宽度说明宽度说明1 1,直接给出非负的十进制整数控制输出的最少字,直接给出非负的十进制整数控制输出的最少字,直接给出非负的十进制整数控制输出的最少字,直接给出非负的十进制整数控制输出的最少字符。符。符。符。2 2,间接方式使用星号(,间接方式使用星号(,间接方式使用星号(,间接方式使用星号(*)此时有参数表中)此时有参数表中)此时有参数表中)此时有参数表中widthwidth宽度参数必须是宽度参数必须是宽度参数必须是宽度参数必须是intint型提供其值。型提供其值。型提供其

21、值。型提供其值。宽度说明宽度说明宽度说明宽度说明n n:至少有:至少有:至少有:至少有n n个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字符宽度小于符宽度小于符宽度小于符宽度小于n n个,则输出用空格填充直到到达规个,则输出用空格填充直到到达规个,则输出用空格填充直到到达规个,则输出用空格填充直到到达规定宽度(如果定宽度(如果定宽度(如果定宽度(如果flagsflags为负号,则填充在输出值的为负号,则填充在输出值的为负号,则填充在输出值的为负号,则填充在输出值的右边,否则在左边)右边,否则在左边)右边,否则在左

22、边)右边,否则在左边)0n0n:至少有:至少有:至少有:至少有n n个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字个字符宽度输出,如果输出值中的字符宽度小于符宽度小于符宽度小于符宽度小于n n则输出用则输出用则输出用则输出用0 0填充在输出值的左边。填充在输出值的左边。填充在输出值的左边。填充在输出值的左边。26例例1 a=123,b=12345,printf(“%4d,%4d.”a,b);输出结果:空格输出结果:空格123,1234例例2 printf(“%3s,%7s”,”CHINA”,”CHINA”);输出结果:输出结果:CHI,空格空格

23、,空格空格CHINA例例3 printf(“%3s,%-7s”,”CHINA”,”CHINA”);输出结果:输出结果:CHI,CHINA空格空格空格空格27。precprec 精度说明精度说明精度说明精度说明1 1,直接给出非负的十进制整数,直接给出非负的十进制整数,直接给出非负的十进制整数,直接给出非负的十进制整数2 2,间接方式用(,间接方式用(,间接方式用(,间接方式用(*)此时参数表中精度参数必须)此时参数表中精度参数必须)此时参数表中精度参数必须)此时参数表中精度参数必须是是是是INTINT类型提供类型提供类型提供类型提供精度说明可以引起输出值的截断,或使浮点数输精度说明可以引起输出

24、值的截断,或使浮点数输精度说明可以引起输出值的截断,或使浮点数输精度说明可以引起输出值的截断,或使浮点数输出值四舍五入。出值四舍五入。出值四舍五入。出值四舍五入。如果精度值为哦,输出值是整形(如果精度值为哦,输出值是整形(如果精度值为哦,输出值是整形(如果精度值为哦,输出值是整形(d d,i i,u u,x x,X X)且待转换输出的值是哦,则无任何字符输出)且待转换输出的值是哦,则无任何字符输出)且待转换输出的值是哦,则无任何字符输出)且待转换输出的值是哦,则无任何字符输出例例例例printf(“%,0d”,o)printf(“%,0d”,o)28精度说明精度说明 输出精度输出精度(无)(无

25、)精度被设置为缺省精度被设置为缺省 类型类型 缺省值缺省值 d,I,o,u,x,X 1 e,E,f 6 g,G 所以有效数字所以有效数字 s 输出直到空字符(输出直到空字符(0)为)为止止 c 无影响无影响29精度说明精度说明精度说明精度说明 输出精度输出精度输出精度输出精度。0 0 对于对于对于对于d,I,o,u,x,Xd,I,o,u,x,X类型,精度为缺省类型,精度为缺省类型,精度为缺省类型,精度为缺省 对于对于对于对于e,E,fe,E,f类型,小数点不输出类型,小数点不输出类型,小数点不输出类型,小数点不输出。n n 对于对于对于对于d d,i i,o o,u u,x x,X X类型精度

26、值限定类型精度值限定类型精度值限定类型精度值限定输出最小字符数,如果输出值字符小于精度值,输出最小字符数,如果输出值字符小于精度值,输出最小字符数,如果输出值字符小于精度值,输出最小字符数,如果输出值字符小于精度值,则输出值左边填充则输出值左边填充则输出值左边填充则输出值左边填充0 0,如果输出值字符大于精度,如果输出值字符大于精度,如果输出值字符大于精度,如果输出值字符大于精度值,输出值不被截断。值,输出值不被截断。值,输出值不被截断。值,输出值不被截断。对于对于对于对于e e,E E,F F,类型精度值指定小数点后,类型精度值指定小数点后,类型精度值指定小数点后,类型精度值指定小数点后面的

27、数字,最后输出的数字是四舍五入的结果面的数字,最后输出的数字是四舍五入的结果面的数字,最后输出的数字是四舍五入的结果面的数字,最后输出的数字是四舍五入的结果 30精度说明精度说明 输出精度输出精度。n 对于对于G,g类型,精度值指定可类型,精度值指定可输出的最大数目输出的最大数目 对于对于s类型,精度值可输出的类型,精度值可输出的字符的最大数目,超出精度范围的字符不字符的最大数目,超出精度范围的字符不予输出。予输出。对于对于C类型,类型,无影响。无影响。31#includemain()printf (“%3s,%7.2s,%.4s,%-5.3sn”,”CHINA”CHINA”CHINA”CHI

28、NA”);输出结果:输出结果:CHINA,CH,CHIN,CHI32例例3.2 整型数据的输出整型数据的输出main()int a=11,b=22;int m=-1;long n=123456789;printf(%d%dn,a,b);printf(a=%d,b=%dn,a,b);printf(m:%d,%o,%x,%un,m,m,m,m);printf(n=%dn,n);printf(n=%ldn,n);程序输出:程序输出:程序输出:程序输出:1122a=11,b=22m:-1,177777,ffff,65535n=-13035n=123456789例jc3_a33例例3.3 实型数据的输出

29、实型数据的输出main()float x=1234.56,y=1.23456789;double z=1234567.123456789;printf(x=%f,y=%f n,x,y);printf(z=%fn,z);printf(z=%en,z);printf(z=%gn,z);printf(z=%18.8fn,z);printf(x=%10.3fn,x);printf(x=%-10.3fn,x);printf(x=%4.3fnn,x);程序输出:程序输出:程序输出:程序输出:x=1234.560059,y=1.234568z=1234567.123457z=1.23457e+06z=123

30、4570z=1234567.12345679x=1234.560 x=1234.560 x=1234.560例jc3_b34例例3.4 字符型数据的输出字符型数据的输出main()int m=97;char ch=B;printf(m:%d%cn,m,m);printf(ch:%d%cn,ch,ch);printf(%sn,student);printf(%10sn,student);printf(%-10sn,student);printf(%10.3sn,student);printf(%.3snn,student);程序输出:程序输出:程序输出:程序输出:m:97 ach:66 Bstu

31、dent studentstudent stustu例jc3_c35注意:注意:l lprintfprintf函数格式控制中的格式说明符与输出参数函数格式控制中的格式说明符与输出参数函数格式控制中的格式说明符与输出参数函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。的个数和类型必须一一对应。的个数和类型必须一一对应。的个数和类型必须一一对应。l l格式说明符的格式说明符的格式说明符的格式说明符的%和后面的描述符之间不能有空和后面的描述符之间不能有空和后面的描述符之间不能有空和后面的描述符之间不能有空格。除格。除格。除格。除%X X、%E%E、%G%G外类型描述符必须是小写外类型描

32、述符必须是小写外类型描述符必须是小写外类型描述符必须是小写字母。字母。字母。字母。l l 长整型数应该用长整型数应该用长整型数应该用长整型数应该用ldld(或或或或lolo、lxlx、lulu)格格格格式输出,否则会出现输出错误。式输出,否则会出现输出错误。式输出,否则会出现输出错误。式输出,否则会出现输出错误。l lprintfprintf函数的参数可以是常量、变量或表达式。函数的参数可以是常量、变量或表达式。函数的参数可以是常量、变量或表达式。函数的参数可以是常量、变量或表达式。在计算各参数值时,在计算各参数值时,在计算各参数值时,在计算各参数值时,Turbo CTurbo C采用从右至左

33、的顺采用从右至左的顺采用从右至左的顺采用从右至左的顺序求值。序求值。序求值。序求值。363.3.2 格式输入函数格式输入函数 l l函数调用的一般形式函数调用的一般形式 scanfscanf(格式控制格式控制格式控制格式控制,地址参数地址参数地址参数地址参数2,2,地址参数地址参数地址参数地址参数n)n);l l功能:功能:按格式控制指定的格式,从标准输入设按格式控制指定的格式,从标准输入设按格式控制指定的格式,从标准输入设按格式控制指定的格式,从标准输入设备备备备(即键盘即键盘即键盘即键盘)交互输入数据,并依次存放到对应地交互输入数据,并依次存放到对应地交互输入数据,并依次存放到对应地交互输

34、入数据,并依次存放到对应地址参数指定的变量中址参数指定的变量中址参数指定的变量中址参数指定的变量中(即将输入值赋给变量即将输入值赋给变量即将输入值赋给变量即将输入值赋给变量)。l l例如:例如:scanfscanf(%d%f,&a,&f);(%d%f,&a,&f);scanfscanf(%o,%f,&b,&x);(%o,%f,&b,&x);scanfscanf(a=%d,b=%d,&a,&b);(a=%d,b=%d,&a,&b);37输入域定义输入域定义1,下一个空白字符之前的所以字符(空白,下一个空白字符之前的所以字符(空白字符如:空格,字符如:空格,t,n.2,下一个不能按格式说明转换的字

35、符之前,下一个不能按格式说明转换的字符之前的这样字符。(例如八进制下出现输入的这样字符。(例如八进制下出现输入8)3,到达指定域宽的所有字符(在定义了域,到达指定域宽的所有字符(在定义了域宽的情况下)宽的情况下)38格式说明:格式说明:Printf(“%*widthF|N|h|L|l type”.)1)*,表示禁止字符输入下一个输入域赋值,表示禁止字符输入下一个输入域赋值,该域虽然被结实作为指定类型的域,但是该域虽然被结实作为指定类型的域,但是只被扫描而不被保存。其结果相当于跳过只被扫描而不被保存。其结果相当于跳过下一项。下一项。2)width宽度说明,为正十进制数。同宽度说明,为正十进制数。

36、同printf。39格式控制格式控制 l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输入数输入数据的类型、格式、个数以及输入的形式据的类型、格式、个数以及输入的形式 l l包括:包括:普通字符普通字符和和格式说明符格式说明符照原样输入照原样输入 scanf(a=%d,b=%d,&a,&b);格式说明符:指定输入格式说明符:指定输入2 2个十进制整型数赋个十进制整型数赋给变量给变量 a a 和和 b b40输入格式说明符输入格式说明符整型整型整型整型数据数据数据数据%d输入十进制整型数输入十进制整型数输入十进制整型数输入十进制整型数%u输入无符号的十进制整型数输入无符号的十进

37、制整型数输入无符号的十进制整型数输入无符号的十进制整型数%o输入八进制整型数输入八进制整型数输入八进制整型数输入八进制整型数%x输入十六进制整型数输入十六进制整型数输入十六进制整型数输入十六进制整型数实型实型实型实型数据数据数据数据%f输入小数形式的单精度实型数输入小数形式的单精度实型数输入小数形式的单精度实型数输入小数形式的单精度实型数%e输入指数形式的单精度实型数输入指数形式的单精度实型数输入指数形式的单精度实型数输入指数形式的单精度实型数字符型字符型字符型字符型数据数据数据数据%c输入单个字符输入单个字符输入单个字符输入单个字符%s输入一个字符串输入一个字符串输入一个字符串输入一个字符串

38、l l在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符41附加格式说明符附加格式说明符 l l与与与与d d、o o、x x、u u结合输入长整型数结合输入长整型数结合输入长整型数结合输入长整型数与与与与 f f 结合输入结合输入结合输入结合输入doubledouble型数型数型数型数mm指定数据输入的宽度(即域宽)指定数据输入的宽度(即域宽)指定数据输入的宽度(即域宽)指定数据输入的宽度(即域宽)*忽略读入的数据忽略读入的数据忽略读入的数据忽略读入的数据(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)

39、(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)例如:例如:例如:例如:%ldld、%lolo输入十进制、八进制长整型数输入十进制、八进制长整型数输入十进制、八进制长整型数输入十进制、八进制长整型数%lf lf、%le%le输入双精度实型数输入双精度实型数输入双精度实型数输入双精度实型数%mfmf输入输入输入输入mm位数(域宽)位数(域宽)位数(域宽)位数(域宽)%*%*dd忽略输入的一个整型数忽略输入的一个整型数忽略输入的一个整型数忽略输入的一个整型数对对对对floatfloat和和和和doubledouble型指型指型指型指整数位数整数位数整数位数整数位数+小数点小数点小数点小

40、数点+小数位数小数位数小数位数小数位数42例如:例如:l lscanf(%d%d%d,&a,&b,&c);输入输入3个整型十进制数,以空白符个整型十进制数,以空白符(空格、(空格、tab键或回车键)分隔键或回车键)分隔 l lscanf(%d,%o,%f,&a,&b,&x);输入输入3个数,以个数,以“,”分隔分隔l lscanf(a=%d,b=%d,&a,&b);输入的形式是:输入的形式是:a=32,b=28(普通字符要照原样输入)普通字符要照原样输入)43禁止字符的举例禁止字符的举例1,a=1,b=2,sanf(“%*d,%d”,&a,&b);我们输入:我们输入:135,246回车回车输出

41、结果:输出结果:a=246,b=2我们输入我们输入11。2,246回车回车输出结果:输出结果:a=1,b=244Scanf程序举例:程序举例:1)a=1,b=2,scanf(“%3d.%4d”,&a,&b);输入输入1234,4567回车回车输出结果:输出结果:a=123,b=22)A=1,b=2,scanf(“%3d.%4d”,&s,&b);scanf(“%3d.%4d”,&s,&b);同样输入:同样输入:1234,4567回车回车输出结果:输出结果:a=4,b=456745使用使用scanf函数应注意:函数应注意:l l要求在程序运行中输入数据,输入的数据个数和要求在程序运行中输入数据,输

42、入的数据个数和要求在程序运行中输入数据,输入的数据个数和要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。类型必须与格式说明符一一对应。类型必须与格式说明符一一对应。类型必须与格式说明符一一对应。l l地址参数形式:地址参数形式:地址参数形式:地址参数形式:&变量名(除数组或指针变量)变量名(除数组或指针变量)变量名(除数组或指针变量)变量名(除数组或指针变量)l l格式控制中有普通字符时,必须照原样输入。格式控制中有普通字符时,必须照原样输入。格式控制中有普通字符时,必须照原样输入。格式控制中有普通字符时,必须照原样输入。l l格式控制中无普通字符时,输入的数值型数据和

43、格式控制中无普通字符时,输入的数值型数据和格式控制中无普通字符时,输入的数值型数据和格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。字符串用空白符分隔,字符型数据不必分隔。字符串用空白符分隔,字符型数据不必分隔。字符串用空白符分隔,字符型数据不必分隔。l ldoubledouble型数据输入时,必须用型数据输入时,必须用型数据输入时,必须用型数据输入时,必须用%lf lf或或或或%le le格式格式格式格式l l实型数输入时域宽不能用实型数输入时域宽不能用实型数输入时域宽不能用实型数输入时域宽不能用m.nm.n形式的附加说明形式的附加说明形式的附加说明形式的附

44、加说明 l l为了减少不必要的输入量,除了逗号、分号、空为了减少不必要的输入量,除了逗号、分号、空为了减少不必要的输入量,除了逗号、分号、空为了减少不必要的输入量,除了逗号、分号、空格符以外,格式控制中尽量不要出现普通字符,格符以外,格式控制中尽量不要出现普通字符,格符以外,格式控制中尽量不要出现普通字符,格符以外,格式控制中尽量不要出现普通字符,也不要使用也不要使用也不要使用也不要使用 n n 、t t 等转义字符等转义字符等转义字符等转义字符46l lscanf(%c%c%c,&ch1,&ch2,&ch3);要输入:要输入:abc 不能输入:不能输入:a b c l l注意数值型数据与注意

45、数值型数据与char型数据的混合输入型数据的混合输入注意(续)注意(续):l l格式符之间若无普通字符,则:格式符之间若无普通字符,则:输入的数值型数据用空白符分隔输入的数值型数据用空白符分隔 输入的输入的 char型数据不必分隔型数据不必分隔 例如:例如:scanf(%d%d,&m,&n);scanf(%c,&ch);错误输入:错误输入:32 28 a 正确输入:正确输入:32 28a 473.4 顺序结构程序设计顺序结构程序设计3.4.1 顺序结构程序的一般算法描述顺序结构程序的一般算法描述变量定义变量定义变量赋值变量赋值运算处理运算处理输出输出结果结果可用:可用:变量初始化变量初始化赋值

46、语句赋值语句输入函数调用语句输入函数调用语句注意各个语句的顺序注意各个语句的顺序注意各个语句的顺序注意各个语句的顺序483.4.2 顺序结构程序设计举例顺序结构程序设计举例【例【例3.15】数据交换。从键盘输入】数据交换。从键盘输入a、b的值,的值,输出交换以后的值。输出交换以后的值。思路:思路:在计算机中交换变量在计算机中交换变量a和和b的值,的值,不能只写下面两个赋值语句不能只写下面两个赋值语句a=b;b=a;正确的交换方法:正确的交换方法:c=a;a=b;b=c;49举例:举例:【例【例3.16】已知三条边】已知三条边a、b、c,求三角形面求三角形面积。计算三角形面积的海伦公式:积。计算

47、三角形面积的海伦公式:其中:其中:设定义:设定义:整型变量整型变量 a、b、c实型变量实型变量 s、area50程序如下:程序如下:#include#include main()int a,b,c;float s,area;scanf(%d,%d,%d,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%8.3f n,area);程序运行情况如下:程序运行情况如下:3,4,5 area=6.000 实际上还需要判断实际上还需要判断实际上还需要判断实际上还需要判断a a、b b、c c是否能构成三角形,即是否能构成三角形,即是否能构成三角形,即是否能构成三角形,即应该进行选择判断处理应该进行选择判断处理应该进行选择判断处理应该进行选择判断处理 运行运行jc3_1651

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com