C语言程序设计-第3章-C语言控制语句.ppt
《C语言程序设计-第3章-C语言控制语句.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计-第3章-C语言控制语句.ppt(125页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京科技大学第第3 3章章 C C语言控制语句语言控制语句 北京科技大学北京科技大学C C 语言程序设计语言程序设计北京科技大学2023/3/12本章介绍本章介绍l l数据输出数据输出l l数据输入数据输入l l顺序结构程序设计顺序结构程序设计l l分支结构程序设计分支结构程序设计l l循环结构程序设计循环结构程序设计北京科技大学2023/3/12程序的三种基本结构程序的三种基本结构 顺序序结构构N-S结结构构图图流流程程图图ABAB选择结构选择结构YNABP成成立立?P T F A B北京科技大学2023/3/12程序的三种基本结构程序的三种基本结构循循环结构构NYP成立成立?A当当P成立时
2、成立时 A直到型循环直到型循环直到型循环直到型循环 A当P成立时YNAP成立成立?当型循环当型循环当型循环当型循环N-S结结构构图图流流程程图图北京科技大学2023/3/123.1 结构化程序设计结构化程序设计l l3种基本种基本结构特点:构特点:只有一个入口和一个出口只有一个入口和一个出口 结结构构内内的的每每一一个个框框都都有有机机会会被被执执行行 结构内没有死循环结构内没有死循环l l仅包包含含3种种基基本本结构构的的程程序序称称为结构化程序构化程序北京科技大学2023/3/123.2顺序结构程序设计顺序结构程序设计l主要内容:主要内容:字符输出函数字符输出函数 格式输出函数格式输出函数
3、 字符输入函数字符输入函数 格式输入函数格式输入函数 顺序结构程序设计举例顺序结构程序设计举例北京科技大学2023/3/123.2.1 字符输出函数字符输出函数 l l函数调用的一般形式函数调用的一般形式putchar(ch)l l功能:功能:在标准输出设备(即在标准输出设备(即显示器屏幕显示器屏幕)上)上输输出一个字符出一个字符。l l例如:例如:putchar(b);putchar(n);putchar(101);putchar(st);输出输出:b输出输出:回车换行回车换行输出输出:A北京科技大学2023/3/12说明说明 l lputchar是是C语语言言的的标标准准库库函函数数,使使
4、用用时时必必须加编译预处理命令:须加编译预处理命令:#include stdio.h 或或#include【例【例3.1】利用】利用putchar函数输出字符。函数输出字符。#includestdio.hincludestdio.hmain()charc1,c2;c1=a;c2=b;putchar(c1);putchar(c2);putchar(n);putchar(c1-32);putchar(c2-32);putchar(n);也可改为也可改为也可改为也可改为c1=c1=9797;c2=;c2=9898;输出结果:输出结果:输出结果:输出结果:abab AB AB北京科技大学2023/3/
5、123.2.2 格式输出函数格式输出函数 l l函数函数调用的一般形式用的一般形式 printf(格式控制字符串格式控制字符串,输出表列输出表列)l l功能:功能:按按格式控制格式控制所指定的格式,在标准所指定的格式,在标准输出设备上输出输出设备上输出 输出表列各项的值。输出表列各项的值。l l例如有程序段例如有程序段:inta=123,b=100;printf(%d%d%dn,a,b,a+b);printf(c=%d+%d=%dn,a,b,a+b);2023/3/12输出:输出:123 100 223 输出:输出:c=123+100=223 北京科技大学2023/3/12格式控制字符串格式控
6、制字符串 l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输出数输出数据的类型、格式、个数据的类型、格式、个数l l包括:包括:非格式字符非格式字符和和格式字符格式字符照原样输出照原样输出 printf(c=%d+%d=%dn,a,b,a+b);格式字符格式字符:指定输出:指定输出3 3个十进制整型数,个十进制整型数,分分别为变量别为变量 a a、b b、a ab b的值的值北京科技大学2023/3/12输出格式说明符输出格式说明符整型整型整型整型数据数据数据数据%d 以有符号以有符号以有符号以有符号十进制十进制十进制十进制形式输出整型数形式输出整型数形式输出整型数形式输出整
7、型数%o 以无符号以无符号以无符号以无符号八进制八进制八进制八进制形式输出整型数形式输出整型数形式输出整型数形式输出整型数%x 以无符号以无符号以无符号以无符号十六进制十六进制十六进制十六进制形式输出整型数形式输出整型数形式输出整型数形式输出整型数%u以无符号以无符号以无符号以无符号十进制十进制十进制十进制形式输出整型数形式输出整型数形式输出整型数形式输出整型数实型实型实型实型数据数据数据数据%f以以以以小数小数小数小数形式输出实型数形式输出实型数形式输出实型数形式输出实型数%e 以以以以指数指数指数指数形式输出实型数形式输出实型数形式输出实型数形式输出实型数%g 按数值宽度最小的形式输出实型
8、数按数值宽度最小的形式输出实型数按数值宽度最小的形式输出实型数按数值宽度最小的形式输出实型数字符型字符型字符型字符型数据数据数据数据%c 输出输出输出输出一个字符一个字符一个字符一个字符%s 输出输出输出输出字符串字符串字符串字符串其他其他其他其他%输出字符输出字符输出字符输出字符%本身本身本身本身l l在和格式符之间可以使用在和格式符之间可以使用在和格式符之间可以使用在和格式符之间可以使用附加说明符附加说明符附加说明符附加说明符北京科技大学2023/3/12附加格式说明符附加格式说明符 l l输出长整型数(只可与输出长整型数(只可与输出长整型数(只可与输出长整型数(只可与d d、o o、x
9、x、u u结合用)结合用)结合用)结合用)mm指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽)指定数据输出的宽度(即域宽).n n对实型数据对实型数据对实型数据对实型数据,指定输出,指定输出,指定输出,指定输出 nn位小数;位小数;位小数;位小数;对字符串对字符串对字符串对字符串,指定左端截取,指定左端截取,指定左端截取,指定左端截取nn个字符输出个字符输出个字符输出个字符输出+使输出的数值数据无论正负都带符号输出使输出的数值数据无论正负都带符号输出使输出的数值数据无论正负都带符号输出使输出的数值数据无论正负都带符号输出-使数据在输出域内按左对齐方式输出使数
10、据在输出域内按左对齐方式输出使数据在输出域内按左对齐方式输出使数据在输出域内按左对齐方式输出整数位数整数位数整数位数整数位数+小数位数小数位数小数位数小数位数+小数点小数点小数点小数点 自动对自动对自动对自动对n n位后小数四舍五入位后小数四舍五入位后小数四舍五入位后小数四舍五入 例如:例如:例如:例如:%l ldd输出十进制输出十进制输出十进制输出十进制长整型数长整型数长整型数长整型数%m.nm.nf f右对齐,右对齐,右对齐,右对齐,mm位位位位域宽域宽域宽域宽,n n位小数位小数位小数位小数或或或或n n个字符个字符个字符个字符%-m.nm.nf f左对齐左对齐左对齐左对齐 北京科技大学
11、2023/3/12例例3.2 整型数据的输出整型数据的输出main()intainta=1111,b b=2222;intmintm=-1-1;longnlongn=123456789123456789;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,37777777777,ffffffff,4294967295n=123456789n=123456789北京
12、科技大学2023/3/12例例3.3 实型数据的输出实型数据的输出main()floatxfloatx=1234.561234.56,y y=1.234567891.23456789;doublezdoublez=1234567.1234567891234567.123456789;printf(x=%f,y=%fn,x,y);printf(z=%fn,z);printf(z=%en,z);printf(z=%18.8fn,z);printf(x=%10.3fn,x);printf(x=%-10.3fn,x);printf(x=%4.3fnn,x);程序输出:程序输出:程序输出:程序输出:x=
13、1234.560059,y=1.234568z=1234567.123457z=1.23457e+06z=1234567.12345679x=1234.560 x=1234.560 x=1234.560北京科技大学2023/3/12例例3.4 字符型数据的输出字符型数据的输出main()intmintm=9797;charchcharch=BB;printf(m:%d%cn,m,m);printf(ch:%d%cn,ch,ch);printf(%sn,student);printf(%10sn,student);printf(%-10sn,student);printf(%10.3sn,stu
14、dent);printf(%.3snn,student);程序输出:程序输出:程序输出:程序输出:m:97 ach:66 Bstudent studentstudent stustu北京科技大学2023/3/12注意:注意:l lprintfprintf函数格式控制中的格式字符与函数格式控制中的格式字符与函数格式控制中的格式字符与函数格式控制中的格式字符与输输出表列参出表列参出表列参出表列参数的个数和数的个数和数的个数和数的个数和类类型必型必型必型必须须一一一一一一一一对应对应。l l格式格式格式格式说说明符的明符的明符的明符的%和后面的描述符之和后面的描述符之和后面的描述符之和后面的描述符之
15、间间不能有空不能有空不能有空不能有空格。除格。除格。除格。除%X X、%E%E、%G%G外外外外类类型描述符必型描述符必型描述符必型描述符必须须是是是是小写小写小写小写字母字母字母字母。l l长长整型数整型数整型数整型数应该应该用用用用ldld(或或或或lolo、lxlx、lulu)格格格格式式式式输输出,否出,否出,否出,否则则会出会出会出会出现输现输出出出出错误错误。l lprintfprintf函数的参数可以是常量、函数的参数可以是常量、函数的参数可以是常量、函数的参数可以是常量、变变量或表达式。量或表达式。量或表达式。量或表达式。北京科技大学2023/3/123.2.3 字符输入函数字
16、符输入函数 l l函数调用的一般形式函数调用的一般形式getchar()l l功能:功能:从标准输入设备(即从标准输入设备(即键盘键盘)上)上输入一个输入一个字符字符。l l例如:例如:getchar();c=getchar();printf(%c n,getchar();北京科技大学2023/3/12例如:例如:【例【例3.5】getchar函数的应用。函数的应用。#includestdio.hincludestdio.hmain()charch;ch=getchar();ch=getchar();printf(%c%dn,ch,ch);printf(%c%dnn,ch-32,ch-32);
17、程序运行时输入:程序运行时输入:程序运行时输入:程序运行时输入:mm 并按回车键后并按回车键后并按回车键后并按回车键后输出结果是:输出结果是:输出结果是:输出结果是:m109m109M77M77北京科技大学2023/3/12说明:说明:l lgetchar是是C语语言言的的标标准准库库函函数数,使使用用时时必必须加编译预处理命令:须加编译预处理命令:#include stdio.h 或或#include l lgetchar函数需要函数需要交互输入交互输入,接收到输入字,接收到输入字符之后才继续执行程序。符之后才继续执行程序。l l连续使用连续使用getchar函数时,要注意字符的输函数时,要
18、注意字符的输入形式入形式,例如执行如下程序段:例如执行如下程序段:charch1,ch2;ch1=getchar();ch2=getchar();必须连续输入两个必须连续输入两个必须连续输入两个必须连续输入两个字符,中间不能有字符,中间不能有字符,中间不能有字符,中间不能有其他字符其他字符其他字符其他字符北京科技大学2023/3/123.2.4 格式输入函数格式输入函数 l l函数函数调用的一般形式用的一般形式 scanfscanf(格式控制字符串格式控制字符串格式控制字符串格式控制字符串,地址表列地址表列地址表列地址表列);l l功能:功能:按格式控制指定的格式,从标准输入设按格式控制指定的
19、格式,从标准输入设按格式控制指定的格式,从标准输入设按格式控制指定的格式,从标准输入设备备备备(即键盘即键盘即键盘即键盘)交互输入数据,并依次存放到对应地交互输入数据,并依次存放到对应地交互输入数据,并依次存放到对应地交互输入数据,并依次存放到对应地址表列参数指定的变量中址表列参数指定的变量中址表列参数指定的变量中址表列参数指定的变量中(即将输入值赋给变量即将输入值赋给变量即将输入值赋给变量即将输入值赋给变量)。l l例如:例如:scanfscanf(%(%d%f,&ad%f,&a,&f);,&f);scanfscanf(%o,%f,&(%o,%f,&b,&xb,&x););scanfscan
20、f(a=%d,b=%(a=%d,b=%d,&a,&bd,&a,&b););北京科技大学2023/3/12格式控制字符串格式控制字符串 l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输入数输入数据的类型、格式、个数以及输入的形式据的类型、格式、个数以及输入的形式 l l包括:包括:非格式字符非格式字符和和格式字符格式字符照原样输入照原样输入 scanf(a=%d,b=%d,&a,&b);格式字符格式字符:指定输入:指定输入2 2个十进制整型数个十进制整型数赋给赋给变量变量 a a 和和 b b北京科技大学2023/3/12输入格式说明符输入格式说明符整型整型整型整型数据数据数
21、据数据%d输入输入输入输入十进制十进制十进制十进制整型数整型数整型数整型数%u输入无符号的输入无符号的输入无符号的输入无符号的十进制十进制十进制十进制整型数整型数整型数整型数%o输入输入输入输入八进制八进制八进制八进制整型数整型数整型数整型数%x输入输入输入输入十六进制十六进制十六进制十六进制整型数整型数整型数整型数实型实型实型实型数据数据数据数据%f输入输入输入输入小数小数小数小数形式的单精度实型数形式的单精度实型数形式的单精度实型数形式的单精度实型数%e输入输入输入输入指数指数指数指数形式的单精度实型数形式的单精度实型数形式的单精度实型数形式的单精度实型数字符型字符型字符型字符型数据数据数
22、据数据%c输入输入输入输入单个字符单个字符单个字符单个字符%s输入输入输入输入一个字符串一个字符串一个字符串一个字符串l l在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符北京科技大学2023/3/12附加格式说明符附加格式说明符 l l与与与与d d、o o、x x、u u结合结合结合结合输入长整型数输入长整型数输入长整型数输入长整型数与与与与 f f结合结合结合结合输入输入输入输入doubledouble型数型数型数型数h h与与与与d d、o o、x x、u u结合结合结合结合输入短整型数输入短整型数输入短整
23、型数输入短整型数mm指定输入数据的宽度指定输入数据的宽度指定输入数据的宽度指定输入数据的宽度*忽略读入的数据忽略读入的数据忽略读入的数据忽略读入的数据(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)例如:例如:例如:例如:%l ld d、%l loo输入十进制、八进制输入十进制、八进制输入十进制、八进制输入十进制、八进制长整型数长整型数长整型数长整型数%lf lf、%le%le输入双精度实型数输入双精度实型数输入双精度实型数输入双精度实型数%mmff输入输入输入输入mm位数(位数(位数(位数(域宽域宽域宽域宽)%*dd忽略
24、输入的一个整型数忽略输入的一个整型数忽略输入的一个整型数忽略输入的一个整型数此变量接收此变量接收下一个数据下一个数据对对对对floatfloat和和和和doubledouble型指型指型指型指整数位数整数位数整数位数整数位数+小数点小数点小数点小数点+小数位数小数位数小数位数小数位数北京科技大学2023/3/12例如:例如:l lscanf(%d%d%d,&a,&b,&c);输入输入3个十进制整型数,以个十进制整型数,以空白符空白符(空格空格、tab键键或或回车键)回车键)分隔分隔l lscanf(%d,%o,%f,&a,&b,&x);输入输入3个数,以个数,以“,”分隔分隔l lscanf(
25、a=%d,b=%d,&a,&b);输入的形式是:输入的形式是:a=32,b=28(普通字符要照原样输入)普通字符要照原样输入)北京科技大学2023/3/12程序举例程序举例例例1:格式控制串中分隔符的:格式控制串中分隔符的应用。用。main()inta,b,c,d;scanf(%d%d,&a,&b);scanf(%d,%d,&c,&d);printf(n%d,%d,%d,%d,a,b,c,d);运行时输入:运行时输入:1 23,4输出:输出:?可以这样输入吗?可以这样输入吗?1 2 3,4输出:输出:1,2,3,41,2,3,4北京科技大学2023/3/12例例2:c格式符的使用。格式符的使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 语言 控制 语句
限制150内