C语言程序设计的三种基本结构.ppt
《C语言程序设计的三种基本结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计的三种基本结构.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章C语言程序设计 的三种基本结构 C C 语言程序设计语言程序设计1 2.1 顺序结构程序设计2.2 选择结构程序设计2.3 循环结构程序设计本章主要内容2023/1/162o2.1.1 C语语句句o 2.1.2 字符数据的输入与输出字符数据的输入与输出o 2.1.3 格式输入与输出格式输入与输出o 2.1.4 顺序结构程序设计应用举例顺序结构程序设计应用举例2.1 顺序结构程序设计顺序结构程序设计 返回2023/1/1632.1.1C语句 一个C程序由若干个源程序文件组成,一个源文件由若干个函数和预处理命令及全局变量声明部分组成,一个函数由数据声明部分和执行语句部分组成,执行语句部分就是
2、由C语句组成的。C程序结构如图2-1所示。图2-12023/1/164C语句可分为以下5类:1表达式语句表达式语句由一个表达式加上分号“;”组成。执行表达式语句就是计算表达式的值。其一般形式为:在表达式语句中,最常用的是赋值语句。例如:a=7;将7赋给a。x=y+z;将y与z之和赋给x。2.1.1C语句表达式;2023/1/1652.1.1C语言基本语句 赋值运算符“=”右边的表达式也可以是一个赋值表达式,一般形式为:展开为:例如:a=b=c=9;与赋值语句不同的是,在声明变量时,不允许连续给多个变量赋初值。以下声明变量的方式是错误的:inta=b=c=9;变量=(变量=表达式);变量=变量=
3、表达式;2023/1/166必须改为:inta=9,b=9,c=9;又如:i+;自增1语句,i值增1,相当于i=i+1。而a*b;因计算结果不能保留,没有实际意义。说明:1)一个C语句必须在最后添加分号,分号是C语句中不可缺少的一部分。2)任何表达式都可以加一个分号成为语句。2023/1/1672函数调用语句 函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式为:例如:printf(ThisisaCProgram);调用库函数,输出字符串ThisisaCProgram。max(a,b);调用自定义的max函数。函数名(实际参数表);2023/1/1683控制语句 控制语句用于控制程序
4、的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。语言有9种控制语句,可分成以下3类:条件判断语句:if语句、switch语句循环执行语句:do-while、while和for语句转向语句:break语句、goto语句、continue语句、return语句例如:if(a0)printf(OK);2023/1/1694复合语句 把多个C语句用花括号“”括起来组成一个语句,该语句为复合语句。例如下述是一个复合语句:z=x;x=y;y=z;2023/1/16105空语句 只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。下面是一个空语句:;在程序中空语句可用来作空循环体,
5、空循环体什么也不做。例如:while(getchar()!=n);语句的功能是,从键盘输入的字符如果不是回车则重新输入,直到输入回车为止。2023/1/16112.1.2字符数据的输入与输出 输入/输出是以计算机为主体而言的。在语言中,所有的数据输入/输出都是由库函数完成的,因此都是函数语句。在使用语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中。#include或#includestdio.h2023/1/16122.1.2字符数据的输入与输出1putchar 函数(字符输出函数)putchar函数是字符输出函数,其功能是向终端(如显示器)输出单个字符。其一般形式为
6、:例如:putchar(A);输出大写字母Aputchar(c);输出字符变量c的值也可以输出转义字符,如:putchar();输出字符“”putchar(字符变量);2023/1/1613【例2-1】编写程序,输出英文单词Good。#includevoidmain()chara=G,b=o,c=o,d=d;putchar(a);putchar(b);putchar(c);putchar(d);putchar(n);程序运行结果:Good2023/1/16142.1.2字符数据的输入与输出2getchar函数(字符输入函数)getchar函数的功能是从终端(如键盘)输入一个字符。getchar
7、函数没有参数,其一般形式为:getchar函数只能接收一个字符,通常把接收的字符赋给一个字符变量或整型变量。如:charch;ch=getchar();getchar();2023/1/16152.1.2字符数据的输入与输出getchar函数也可以作为函数语句的一个参数被使用。如:printf(%c,getchar();putchar(getchar();如果通过键盘输入小写字母a,则以上两个函数语句均输出小写字母a。2023/1/1616【例2-2】将输入的单个字符原样输出。#includevoidmain()charch;ch=getchar();putchar(ch);程序运行情况如下:
8、如果输入:A运行结果:A2023/1/16172.1.3格式输入与输出 1printf函数(格式输出函数)printf函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf函数调用的一般形式为:printf(“格式控制”,输出表列);2023/1/16182.1.3格式输入与输出1)格式控制 格式控制字符串用于指定输出格式,它包括两种信息:格式说明和普通字符。格式说明:由“%”和格式字符组成,说明输出数据的类型、形式、宽度、小数位数等。printf函数中使用的格式字符主要包括:2023/1/16192.1.3格式输入与输出d格式符:以十进制形式输出带符号整
9、数(正数不输出符号)。有以下几种用法:l%d:按十进制整型数据的实际长度输出。l%md:m为指定的输出字段的宽度,即输出数据在输出设备上所占的列数。如果数据的位数小于m,则左端补以空格;如果大于m,数据则按实际位数输出。例如:int a=123,b=456;printf(%5d,%2d,a,b);l%ld:输出长整型数据。2023/1/16202.1.3格式输入与输出o格式符:以八进制整数形式输出(不输出前缀0),输出的数据不带符号。lx或X格式符:以十六进制形式输出无符号整数(不输出前缀0 x)。例如:int a=-1;printf(%d,%o,%x,a,a,a);输出结果为:-1,1777
10、77,fffflu格式符:以十进制形式输出无符号整数,输出长整型时用lu。lc格式符:用来输出一个字符,也可以指定输出字符的宽度。例如:printf(%c,%3c,a,b);2023/1/16212.1.3格式输入与输出s格式符:用来输出指定的字符串。s格式符有几种用法:l%s:原样输出给定的字符串。例如:printf(%s,GOOD);l%ms:m为输出字符串所占的列数。如果字符串的位数小于m,字符串左端补以空格;如果字符串的位数大于m,字符串将原样输出。例如:printf(%2s%6s,Good,Night);l%-ms:如果字符串长度小于指定的宽度,字符串向左边靠,在字符串的右边补空格。
11、例如:printf(%-6s,free);2023/1/16222.1.3格式输入与输出l%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,字符串的左侧补空格。l%-m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的左侧,字符串的右侧补空格。如果n大于m,将保证n个字符全部正常输出。例如:printf(%5.4s,%-5.3s,%2.4s,Shang,Shang,Shang);2023/1/16232.1.3格式输入与输出f格式符:以小数形式输出单、双精度实数,小数位数为6位。有以下几种用法:l%f:不指定字段宽度,由系统自动指定,使整数部分
12、全部输出,并输出6位小数。单精度实数的有效数字位数一般为7位,双精度实数的有效数字位数一般为16位。例如:float x=11111.111;double y=22222222222222.2222;printf(%f,%fn,x*2,y*3);输出结果:22222.220000,66666666666666.6600002023/1/16242.1.3格式输入与输出l%m.nf:指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,将在输出的数值左端补空格。l%-m.nf:与%m.nf基本相同。不同的是,如果数值长度小于m,将在输出的数值右端补空格。例如:float a=345.678
13、9;printf(%7.1f,%-7.2fn,a,a);输出结果为:345.7,345.682023/1/16252.1.3格式输入与输出le或E格式符:以指数形式输出实数,用e时指数以e表示,如1.2e3,用E时指数以E表示,如1.2E3。lg或G格式符:用来输出实数,它根据数值的大小,自动选f格式或e格式,且不输出无意义的零。用G时,若以指数形式输出,则指数以大写表示。lp格式符:输出变量的内存地址。l普通字符:在显示中起提示作用,输出时原样输出。例如:printf(a=%d,b=%dn,a,b);2023/1/16262.1.3格式输入与输出使用printf函数时需要注意以下几点:(1)
14、除了X、E、G外,其他格式字符必须用小写字母,如%d不能写成%D。(2)可以在“格式控制”字符串中包含转义字符,例如:printf(%dt%dn,123,789);(3)如果需要输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示。2023/1/16272.1.3格式输入与输出2)输出表列 输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。如:printf(max=%d,min=%d,a,b);双引号中的两个“%d”是格式说明,表示指定的变量a和b按十进制整型输出,双引号中其余内容是普通字符,原样输出。“a,b”为输出表列,变量之间用逗号隔开。假设a和b的
15、值分别是10和7,则输出为:max=10,min=72023/1/1628【例2-3】分析下面程序的输出结果。#includevoidmain()inta=65,b=66;printf(%d%dn,a,b);printf(a=%d,b=%dn,a,b);printf(%c,%cn,a,b);程序运行结果:6566a=65,b=66A,B 2023/1/1629【例2-4】格式字符应用实例。#includevoidmain()inta=65;floatb=12.1234567;doublec=12345.1234567;chard=A;printf(a=%d,%4d,%-4d,%o,%x,%cn
16、,a,a,a,a,a,a);printf(b=%f,%lf,%3.4f,%-6.1f,%en,b,b,b,b,b);printf(c=%lf,%f,%8.4lfn,c,c,c);printf(d=%c,%3c,%-4c,%dn,d,d,d,d);运行结果:a=65,65,65,101,41,Ab=12.123457,12.123457,12.1235,12.1,1.21235e+01c=12345.123457,12345.123457,12345.1235d=A,A,A,652023/1/16302.1.3格式输入与输出 使用printf函数时要注意输出表列中的求值顺序。不同的编译系统不一定
17、相同,可以从左到右,也可从右到左。TurboC是按从右到左进行的。【例2-5】分析输出表列中的求值顺序。#includevoidmain()inti=6;printf(%d,%d,%d,%dn,-i,+i,i+,i-);程序运行结果:6,7,5,62023/1/16312.1.3格式输入与输出2scanf函数(格式输入函数)scanf函数的功能是按指定的格式从终端输入数据,并将输入的数据存放到指定的变量中。scanf函数的一般形式为:如:scanf(%d%d,&a,&b);“%d%d”表示输入整型数据,&a,&b分别表示变量a和变量b的地址。scanf(格式控制,地址表列);2023/1/16
18、322.1.3格式输入与输出1)格式控制 格式控制字符串用于说明数据的类型及格式。其中包括两部分内容:格式说明和输入数据分隔符。常用的格式字符如下:d,i:输入有符号的十进制整数。u:输入无符号的十进制整数。o:输入无符号的八进制整数。X,x:输入无符号的十六进制整数。f:输入实型数c:输入单个字符。s:输入字符串。2023/1/16332.1.3格式输入与输出可用的附加字符有:l:用于输入长整型数据(如%ld,%lo,%lx)及double型数据(如%lf或%le)。h:用于输入短整型数据(如%hd,%ho,%hx)。m:指定输入数据所占宽度。例如:scanf(%3d%2d,&a,&b);若
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基本 结构
限制150内