c语言 第3章.ppt
《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类型提供类型提供类型提供类型提供精度说明可以引起输出值的截断,或使浮点数输精度说明可以引起输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言 第3章 语言
限制150内