C语言顺序结构程序设计.ppt

上传人:cn****1 文档编号:570427237 上传时间:2024-08-04 格式:PPT 页数:56 大小:625.50KB
返回 下载 相关 举报
C语言顺序结构程序设计.ppt_第1页
第1页 / 共56页
C语言顺序结构程序设计.ppt_第2页
第2页 / 共56页
C语言顺序结构程序设计.ppt_第3页
第3页 / 共56页
C语言顺序结构程序设计.ppt_第4页
第4页 / 共56页
C语言顺序结构程序设计.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《C语言顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言顺序结构程序设计.ppt(56页珍藏版)》请在金锄头文库上搜索。

1、第4章顺序结构程序设计 4.1 4.1 语句概述语句概述4.24.2 格式输出函数格式输出函数4.34.3 格式输入函数格式输入函数4.44.4 其它输入、输出函数其它输入、输出函数4.54.5 算法及其表示方法算法及其表示方法4.64.6 顺序结构程序设计举例顺序结构程序设计举例4.1 4.1 语句概语句概述述程序的结构:程序的结构:C语语句可分句可分为为以下三以下三类类:1.控制控制语语句句2.表达式表达式语语句句3.复合复合语语句句程序的程序的执行部分执行部分是由语句组成是由语句组成的。的。程序的功能也是程序的功能也是由执行语句实现由执行语句实现的。的。1.控制语句控控制制语语句句用用于

2、于控控制制程程序序的的流流程程,以以实实现现程序的各种程序的各种结结构方式。可分成以下三构方式。可分成以下三类类:1)条件判断语句:ifelse语语句句、switch语语句;句;2)循环执行语句:do while语语句句、while语语句、句、for语语句;句;3)转向语句:break语句、语句、goto语句、语句、continue语句、语句、return语句。语句。2.表达式语句表表达达式式语语句句由由表表达达式式加加上上分分号号“;”组组成成。执执行行表达式表达式语语句表示一个运算或者操作。句表示一个运算或者操作。其一般形式:其一般形式:表达式表达式;常常见见形式有形式有赋值语赋值语句、函

3、数句、函数调调用用语语句和空句和空语语句句例如:例如:x=y+z;y+z;i+;赋值语句赋值语句赋值语句赋值语句加加加加法法法法运运运运算算算算语语语语句句句句,但但但但计计计计算算算算结结结结果果果果不不不不能能能能保保保保留留留留,无实际意义无实际意义无实际意义无实际意义自增自增自增自增1 1语句,语句,语句,语句,i i值增值增值增值增1 11)赋值语句赋值语句赋赋值值语语句句是是由由赋赋值值表表达达式式再再加加上上分分号号构构成成的表达式的表达式语语句。句。其一般形式其一般形式为为:变变量量=表达式;表达式;赋值语句的功能和特点与赋赋值语句的功能和特点与赋值表达式相同。是程序中值表达式

4、相同。是程序中使用最多的语句之一。使用最多的语句之一。在赋值语句的使用中需要注意以下几点:1、赋值表达式的嵌套:赋值表达式的嵌套:赋赋 值值 符符 右右 边边 的的 表表 达达 式式 又又 是是 一一 个个 赋赋 值值 表表 达达 式式 : 变量变量=(变量变量=表达式表达式);展开之后的一般形式展开之后的一般形式为为:变量变量=变量变量=表达式表达式;例如:例如:a=b=c=d=e=5;按照按照赋值赋值运算符的右接合性,等效于:运算符的右接合性,等效于:e=5;d=e;c=d;b=c;a=b;2 2、变变变变量量量量说说说说明中明中明中明中给变给变给变给变量量量量赋赋赋赋初初初初值值值值和和

5、和和赋值语赋值语赋值语赋值语句的区句的区句的区句的区别别别别: :给给变变量量赋赋初初值值是是变变量量说说明明的的一一部部分分,赋赋初初值值后后的的变变量量与与其其后后的的其其它它同同类类变变量量之之间间仍仍必必须须用用逗逗号号间间隔隔,而而赋值语赋值语句句则则必必须须用分号用分号结结尾。尾。例如:例如:inta=5,b,c;3 3、在在在在变变变变量量量量说说说说明中,不允明中,不允明中,不允明中,不允许连续给许连续给许连续给许连续给多个多个多个多个变变变变量量量量赋赋赋赋初初初初值值值值: :如下述如下述说说明是明是错误错误的:的:inta=b=c=5;而赋值语句允许连续赋值:而赋值语句允

6、许连续赋值:a=b=c=5;2)函数调用语句函函数数调调用用语语句句由由函函数数名名、实实际际参参数数加加上上分分号号“;”组组成成。执执行行函函数数语语句句就就是是调调用用函函数数体体(在后面函数中再在后面函数中再详细详细介介绍绍)。其一般形式其一般形式为为:函数名函数名(实际实际参数表参数表);例如:例如:printf(CProgram);调用库函数,输出字符串。调用库函数,输出字符串。3)空语句空空语语句句只只有有分分号号“;”组组成成的的语语句句称称为为空空语语句句。空空语语句是什么也不句是什么也不执执行的行的语语句。句。例如例如while(getchar()!=n);空语句空语句本语

7、句的功能是,只要从键本语句的功能是,只要从键盘输入的字符不是回车则盘输入的字符不是回车则重新输入。重新输入。3.复合语句复复合合语语句句把把多多个个语语句句用用括括号号括括起起来来组组成成的的一一个个语语句句称称复复合合语语句句。在在程程序序中中应应把把复复合合语语句句看成是看成是单单条条语语句,而不是多条句,而不是多条语语句句。例如:例如:x=y+z;a=b+c;printf(“%d%d”,x,a);是是是是一一一一条条条条复复复复合合合合语语语语句。句。句。句。复合语句内的各条语句都必须以分复合语句内的各条语句都必须以分复合语句内的各条语句都必须以分复合语句内的各条语句都必须以分号号号号“

8、 “;” ”结尾,在括号结尾,在括号结尾,在括号结尾,在括号“ “”外外外外不能加分号。不能加分号。不能加分号。不能加分号。4.2 4.2 printfprintf 函数(格式输出函数)函数(格式输出函数)1.printf()功能:功能:按按格格式式控控制制所所指指定定的的形形式式(向向用用户户屏屏)输输出出输出项的值。输出项的值。C不提供输入输出语句,不提供输入输出语句,只调用只调用printf()函数函数例:例:voidmain()inta,b,sum;a=123;b=456;sum=a+b;printf(”a=%d,b=%d,c=%dn”,a,b,sum);结果结果:a=123,b=45

9、6,c=579原样原样原样原样输出输出输出输出格式控制符与输出格式控制符与输出格式控制符与输出格式控制符与输出项表列一一对应项表列一一对应项表列一一对应项表列一一对应2.格式:格式:printfprintf(格式控制,输出项表列格式控制,输出项表列格式控制,输出项表列格式控制,输出项表列) )输出项表列输出项表列:由由一一个个或或多多个个输输出出项项组组成成(若若多多个个、它它们们之之间间用用逗逗号号隔隔开开),常常量量、变变量量、函函数数、表表达达式式、字字符符数数组组名等均可做输出项。名等均可做输出项。格式控制格式控制:是是用用双双引引号号括括起起来来的的字字符符串串,用用来来表表示示格格

10、式式说说明明,也也称称为为转转换换控控制制字字符符串串。其其中中字字符符可可由由下下面面3类类组组成成:l l普通字符(原样输出)普通字符(原样输出)普通字符(原样输出)普通字符(原样输出)l l转义字符(输出所表示的字符或实现其功能)转义字符(输出所表示的字符或实现其功能)转义字符(输出所表示的字符或实现其功能)转义字符(输出所表示的字符或实现其功能)l l格式说明:控制对应输出项的输出形式格式说明:控制对应输出项的输出形式格式说明:控制对应输出项的输出形式格式说明:控制对应输出项的输出形式a=%dn#includevoidmain()intk=68;floatt=56.3;printf(”

11、%dt%dt%fn”,k,k+123,sqrt(t);结果:结果:681917.503333转义字符转义字符转义字符转义字符, ,跳到下一跳到下一跳到下一跳到下一区区区区9 91 17 7转义字符转义字符转义字符转义字符, ,回车回车回车回车格式控制格式控制格式控制格式控制符符符符, ,对应对应对应对应输输输输出格式出格式出格式出格式3.格式说明:格式说明:控控制制对对应应输输出出项项的的输输出出形形式式(每每个个格格式式说说明明按按先先后后顺顺序序与与输输出出项项一一一一对对应应),输输出出结结果果中格式说明被对应的输出项值取代。中格式说明被对应的输出项值取代。(1)格式说明基本形式:格式说

12、明基本形式:%d(或或%i)、%o、%x(或或%X)、%u、%c对应的输出项类型为对应的输出项类型为字符型字符型字符型字符型和和整型整型整型整型。带符号带符号带符号带符号十进制十进制十进制十进制带符号带符号带符号带符号八进制八进制八进制八进制带符号带符号带符号带符号十六进十六进十六进十六进制制制制无符号无符号无符号无符号十进制十进制十进制十进制字字字字符符符符例例:voidmain()inta=65;charc=!;printf(”%d,%cn”,a,a);printf(”c=%c,ItsASCIIcode=%dn”,c,c);结果:结果:65,Ac=!,ItsASCIIcode=33nmai

13、n()ninta=-1;nprintf(%d,%o,%x,%u,a,a,a,a);n/*假设int占2个字节*/-1的原码:1000,0000,0000,0001。-1在内存中的补码表示为:1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff输出:-1,177777,ffff,65535-1是十进制,177777是八进制,ffff是十六进制。%o%o、%x(%x(或或或或%X)%X)、%u%u按按按按unsignedunsigned型输出,且不带型输出,且不带型输出,且不带型输出,且不带前导符号前导符号前导符号前导符号“ “o”o

14、”和和和和“ “x”x”%s对应的输出项为对应的输出项为字符串字符串或或字符数组字符数组例:例:voidmain()charname=”Jone”;printf(”%s%s%cn”,”Whois”,name,?);结果:结果:WhoisJone?字符串字符串字符串字符串字符字符字符字符%f、%e(或或%E)、%g(或或%G)对应对应floatfloat型输出项型输出项型输出项型输出项%lf、%le(或或%E)、%lg(或或%G)对应对应doubledouble型输出项型输出项型输出项型输出项%f小数形式(小数形式(6 6位小数位小数位小数位小数)%e(或或%E)标标准准化化指指数数形形式式(尾

15、尾尾尾数数数数的的的的小小小小数数数数点点点点前前前前有有有有一一一一位且只有一位非零、位且只有一位非零、位且只有一位非零、位且只有一位非零、6 6位小数位小数位小数位小数)%g(或或%G)让让系系统统自自动动选选取取%f(去去掉掉小小数数点点后后多多余余的零的零)或或%e中较短者中较短者6 6位有效位有效位有效位有效例:例:main()floatf;f=123.46;printf(”%f,%e,%gn”,f,f,f)结果:结果: 123.459999,1.234600e+002,123.46123.459999,1.234600e+002,123.46数字数字数字数字(2)在格式说明基本形式

16、中加附加格式说明符在格式说明基本形式中加附加格式说明符若若输输出出项项为为longlong型型或或unsignedunsignedlonglong型型,则则用用下下面格式说明控制:面格式说明控制:%ld、%lx、%lo、%lu若若输输出出项项为为shortshort型型或或unsignedunsignedshortshort型型,则则用用下下面格式说明控制:面格式说明控制:%hd、%hx、%ho、%hu在在格格式式说说明明%后后加加一一个个整整数数m指指定定宽宽度度为为|m|m|位位:若实际需要的若实际需要的位数位数位数位数|m|m|位位位位、则此、则此mm失效失效失效失效若若mm为无符号整数

17、为无符号整数为无符号整数为无符号整数,则,则左边填空格左边填空格左边填空格左边填空格若若mm为负整数为负整数为负整数为负整数,则,则右边填空格右边填空格右边填空格右边填空格若若mm为为为为带带带带正正正正号号号号整整整整数数数数,则则左左左左边边边边填填填填空空空空格格格格且且且且所所所所输输输输出出出出的的的的数数数数据据据据前有正负号前有正负号前有正负号前有正负号例:例:voidmain()inta=12;longb=12345678;printf(”%6dn”,a);printf(”%-6dn”,a);printf(”%+6dn”,a);printf(”%12ldn”,b);printf

18、(”%+8sn”,”book”);1 1 2 21 1 2 2+ 1 1 2 21 2 3 4 5 6 7 8b o o k字符串字符串字符串字符串负数本身肯定带负符号负数本身肯定带负符号负数本身肯定带负符号负数本身肯定带负符号, ,带正号必须这样写带正号必须这样写带正号必须这样写带正号必须这样写在在%s中中间间插插入入m.n:m含含义义同同,此此m可可省省略略、若若省省略略则则m=n。n为为无无符符号号整整数数、表表示示只输出对应字符串中左边只输出对应字符串中左边n个字符。个字符。例:例:voidmain()()printf(”%8.3sn”,”book”);printf(”%.3sn”,”

19、book”);输出:输出:b o ob o o宽度就是宽度就是宽度就是宽度就是3 3在在%f、%e(或或%E) 、%g (或或%G) 中中间间插插入入m.n:m含含义同义同,此,此m可省略、若省略则可省略、若省略则m=n。n为无符号整数、表示为无符号整数、表示n位小数,其余四舍五位小数,其余四舍五例例8:printf(”a=%+10.3lfn”,123.45678); 输出:输出:输出:输出:注:注:注:注:若若若若与与与与中中中中mm为正整数且为正整数且为正整数且为正整数且mm前加前加前加前加0 0,则输出,则输出,则输出,则输出的左边空位填的左边空位填的左边空位填的左边空位填0 0例例9:

20、printf(”a=%+010.3lfn”,123.45678); 输出:输出:输出:输出:a =+ 1 2 3 .4 5 7a = + 0 0 1 2 3 .4 5 7四舍五入四舍五入四舍五入四舍五入在在 %x、 %o、 %lx、 %lo 的的 %后后 加加#输输 出出 带带 前前 导导 的的八进制或十六进制数据八进制或十六进制数据例例10:voidmain()intx=7281;printf(”%o,%#on”,x,x);printf(”%x,%#xn”,x,x);输出:输出:16161,0161611c71,0x1c71注注:格格式式控控制制中中,连连续续的的两两个个%表表示示一一个个%

21、(不不是格式说明符)是格式说明符)(16161)(16161)8 8(1c71)(1c71)1616nPrintf函数输出列表的运算顺序程序示例nmain()nninti=1,j=2;nprintf(%d%d%d,i+j,+i,i);n4 2 1求值顺序自右至左4.34.3scanfscanf 函数(格式输入函函数(格式输入函数)数)1格式格式scanf(格式控制,输入项地址表列格式控制,输入项地址表列)地址:地址:1)变量名前加)变量名前加&变量在内存中的地址;变量在内存中的地址;2)数组名)数组名数组在内存中的首地址。数组在内存中的首地址。例如:例如:&a,&b分分别别表示表示变变量量a和

22、和变变量量b的地址。的地址。这这个地址就是个地址就是编译编译系系统统在内存中在内存中给给a,b变变量分配的地址。量分配的地址。一一个个或或多多个个地地址址组组成成(若若多多个个之之间间用逗号隔开用逗号隔开)变变量的地址和量的地址和变变量量值值的关系如下:的关系如下:1、在在赋值赋值表达式中表达式中给变给变量量赋值赋值:如:如:a=5672、scanf函函数数在在本本质质上上也也是是给给变变量量赋赋值值,但但要求写要求写变变量的地址量的地址:如如:scanf(”%d”,&a);3、这这两两者者在在形形式式上上是是不不同同的的。&是是一一个个取取地地址址运运算算符符,&a是是一一个个表表达达式式,

23、其其功功能能是是求求变变量的地址。量的地址。变变量名量名,不不能写地址能写地址变变量量的的值值变变量量a的地址的地址4.6.2功功能能:系系统统切切换换到到用用户户屏屏、要要求求并并等等待待用用户户按按格格格格式式式式控控控控制制制制形形形形式式式式和和和和顺顺顺顺序序序序输输入入要要赋赋给给输输入入项项的的常常常常量量量量,按按回车键结束,系统立即把所输入的赋给相应输入项。回车键结束,系统立即把所输入的赋给相应输入项。它它是是一一个个标标准准库库函函数数,与与printf函函数数相相同同,使使用用scanf函数之前不必包含函数之前不必包含stdio.h文件。文件。4.6.3注注意意:格格式式

24、控控制制字字符符串串的的作作用用与与printf函函数数相相同同,但但不不不不能能能能显显显显示示示示非非非非格格格格式式式式字字字字符符符符串串串串,也也就就是是不不不不能能能能显显显显示示示示提提提提示示示示字字字字符符符符串串串串。地地地地址址址址表表表表列列列列中中中中给给给给出出出出各各各各变变变变量量量量的的的的地地地地址址址址。地地地地址址址址是是是是由地址运算符由地址运算符由地址运算符由地址运算符“ “&”&”后跟后跟后跟后跟变变变变量名量名量名量名组组组组成的。成的。成的。成的。不能是符号常量,不加单不能是符号常量,不加单撇号或双撇号,撇号或双撇号,直接输入直接输入一定一定要

25、有要有例:例:voidmain()inta,b,sum;scanf(”%d,%d”,&a,&b);sum=a+b;printf(“sum=%dn”,sum);执行程序时应输入执行程序时应输入123,456 如果要输入如果要输入a=123;b=456;使用使用scanf函数还必须注意以下几点:函数还必须注意以下几点:1) scanf函函 数数 中中 没没 有有 精精 度度 控控 制制 , 如如 :scanf(%5.2f,&a);是是非非法法的的。不不能能用用此此语语句句输输入小数入小数为为2位的位的实实数。数。2)scanf中中要要求求给给出出变变量量地地址址,如如给给出出变变量量名名则则会会出

26、出错错。如如scanf(%d,a);是是非非法法的,的,应应改改为为scnaf(%d,&a)。3)在在输输入入多多个个数数值值数数据据时时,若若格格式式控控制制串串中中没没有有非非格格式式字字符符作作输输入入数数据据之之间间的的间间隔隔则则可可用用空空格格,TAB或或回回车车作作间间隔隔。C编编译译在在碰碰到到这些符号这些符号即即认为该认为该数据数据结结束。束。4)在在输输入入字字符符数数据据时时,若若格格式式控控制制串串中中无无非非格格式式字字符符,则则认认为为所所有有输输入入的的字字符符均均为为有有效字符。如:效字符。如:scanf(%c%c%c,&a,&b,&c);输输入入为为:则赋值则

27、赋值:如果在格式控制中加入空格作如果在格式控制中加入空格作为间为间隔,如隔,如:scanf(%c%c%c,&a,&b,&c);输输入入时时数据之数据之间间可加空格。可加空格。def bcabcad ef bca空格,输入多少个无关空格,输入多少个无关空格,输入多少个无关空格,输入多少个无关def 5)如如果果格格式式控控制制串串中中有有非非格格式式字字符符则则输输入入时时也要也要输输入入该该非格式字符。非格式字符。scanf(%d,%d,%d,&a,&b,&c);输输入入时应为时应为:scanf(a=%d,b=%d,c=%d,&a,&b,&c);则输则输入入应为应为:非格式符非格式符“,”作作

28、间间隔符隔符5 , 6,7 a=5,b=6,c=7 “a=a=a=a=“、” ” , ,” ”、“ “b=“b=“、 ”c=c=c=c=“为为为为间间间间隔隔隔隔符符符符6)如如输输入的数据与入的数据与输输出的出的类类型不一致,型不一致,scanf(a=%d,b=%d,c=%d,&a,&b,&c);输输入:入:虽虽然然编译编译能能够够通通过过,但,但结结果将不正确。果将不正确。scanf(”%d:%d”,&a,&b);应输入:应输入:a=5;b=6;c=7 123 : 456 scanf(”%d,%dn”,&a,&b);应输入:应输入:scanf(”%d%d”,&a,&b);应输入:应输入:1

29、23,456 1 按格式控制按格式控制按格式控制按格式控制符输入符输入符输入符输入123456 数据分割,多少数据分割,多少数据分割,多少数据分割,多少个无关个无关个无关个无关scanf(”%d”,&a);scanf(”%d”,&b);应输入:应输入:或输入:或输入:scanf(”%dn”,&a);scanf(”%d”,&b);应输入:应输入:或输入:或输入:123 456 123456 多少个无关多少个无关多少个无关多少个无关123 456 123456 多少个无关多少个无关多少个无关多少个无关voidmain()chara,b;scanf(%c%c,&a,&b);printf(%c%cn,

30、a,b);scanf(%c%c,&a,&b);printf(n%c%cn,a,b); 输输入:入: 显显示:示: 输输入:入:显显示:示:MN MMN M N说明说明1.格格式式控控制制中中不不包包含含附附加加格格式式说说明明符符m.n,一一般般不不包包含转义字符(含转义字符(nn可以可以可以可以)。)。2.double型型输输入入项项必必须须使使用用如如下下格格式式说说明明:%lf、%le、%lg(输出一样输出一样输出一样输出一样)3.* *在在格格式式说说明明%后后插插入入* *表表示示跳跳过过它它所所指指定定的的列列数,如:数,如: scanf(”%dscanf(”%d%*5%dn”,&

31、a,&b);%*5%dn”,&a,&b);输入输入:结果结果:用用用用%f只能输出只能输出只能输出只能输出6 6位小数,输出位小数,输出位小数,输出位小数,输出1010位用位用位用位用%20.10lf%20.10lf1 2 39 98 87 76 65 54 5 6 a值:值:123b值:值:456如果只有如果只有如果只有如果只有%*d%*d则表示本输入项再度入后不赋给相应的变量则表示本输入项再度入后不赋给相应的变量则表示本输入项再度入后不赋给相应的变量则表示本输入项再度入后不赋给相应的变量voidmain()inta;scanf(%d,&a);printf(%ld,a); 输输输输入:入:入

32、:入:123123 显显显显示:示:示:示:80610518061051main()longa;scanf(%ld,&a);printf(%ld,a); 输输输输入:入:入:入:12345678901234567890 显显显显示:示:示:示:123456789012345678904、在格式说明基本形式中加附加格式说明符在格式说明基本形式中加附加格式说明符l若若输输出出项项为为long型型或或unsignedlong型,则型,则必须必须用下面格式说明控制:用下面格式说明控制:%ld、%lx、%lo、%lu h若若输输出出项项为为short 型型或或unsigned short型,型,则则可用

33、可用下面格式说明控制:下面格式说明控制:%hd、%hx、%ho、%hu。4.44.4其它输入、输出函数其它输入、输出函数1.getchar 1.getchar 1.getchar 1.getchar 函数(字符输入函数)函数(字符输入函数)函数(字符输入函数)函数(字符输入函数)形式形式:getchar()功功能能:c=getchar();同同scanf(”%c”,&c);注注 意意 : 需需 在在 文文 件件 开开 头头 加加 #include”stdio.h”输入一个字符,赋给变量输入一个字符,赋给变量输入一个字符,赋给变量输入一个字符,赋给变量c c例例:#include#include

34、 voidmain()chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);输入:输入:$ $# a ab bc c结果:结果:$ $#输入:输入:$ $ # a ab bc c结果:结果: $ $#换行换行使用使用getchar函数函数还应还应注意几个注意几个问题问题:1)getchar函函数数只只能能接接受受单单个个字字符符,输输入入数数字字也也按按字字符符处处理理。输输入入多多于于一一个个字字符符时时,只只接收第一个字符。接收第一个字符。2)使用本函数前必)使用本函数前必须须包含文件包

35、含文件“stdio.h”。3)在在TC屏屏幕幕下下运运行行含含本本函函数数程程序序时时,将将退退出出TC屏屏幕幕进进入入用用户户屏屏幕幕等等待待用用户户输输入入。输输入完入完毕毕再返回再返回TC屏幕。屏幕。2.2.putcharputchar 函数(字符输出函数)函数(字符输出函数) 格式格式格式格式: : : : putcharputchar ( ( 一个整形或字符型输出项一个整形或字符型输出项 ) ) 功功功功能能能能: : : : 同同 printfprintf ( ( ”%c”, ”%c”, 输输出出项项 ),),在在显显示示器器上上 输出单个字符输出单个字符输出单个字符输出单个字符。

36、例如:例如:例如:例如:putchar(Aputchar(A); ); (输出大写字母输出大写字母A A) putchar(xputchar(x); ); (输出字符变量输出字符变量x x的值)的值) putchar(putchar(101101); ); (也是输出字符也是输出字符A A) putchar(nputchar(n); ); (换行)换行)对对对对控控控控制制制制字字字字符符符符则则则则执执执执行行行行控控控控制制制制功功功功能能能能,不不不不在在在在屏屏屏屏幕幕幕幕上上上上显显显显示示示示。使使使使用用用用本本本本函函函函数数数数前前前前必必必必须须须须要要要要用用用用文文文文

37、件件件件包包包包含含含含命命命命令令令令:#include#include或或或或 #include“#include“stdio.hstdio.h” ”例:例:#include#include voidmain()charc=A;putchar(66);putchar(53);putchar(c+2);putchar(n);putchar(7);putchar(n);结果:结果:B+C7B B+C C7 7换行换行换行换行换行换行换行换行3.puts函数nputs函数(字符串、字符数组中字符串输出函数)n一般形式:puts(char*str);n功能:将字符串或字符数组中存放的字符串输出到显

38、示器上。n例如:putstr(“ChinanBeijingn”);4.gets函数(字符串输入函数)ngets函数(字符串输入函数)n一般形式:gets(char*str);n功能:接收从键盘输入的一个字符串,存放在字符数组中。n例如:nchars81;ngets(s);4.5算法及其表示方法1算法:算法:为解决一个问题而采取的方法和步骤称为为解决一个问题而采取的方法和步骤称为“算法算法”。2算法的算法的5大特性大特性(1)有穷性(有限的步骤)有穷性(有限的步骤)(2)确定性(确定性(不能有歧义)不能有歧义)(3)有有0个或多个输入个或多个输入(4)有有1个或多个输出(即算法必须得到结果)个或

39、多个输出(即算法必须得到结果)(5)有有效效性性:算算法法的的每每个个步步骤骤都都应应当当能能有有效效执执行行,并并能得到确定的结果。能得到确定的结果。3算法的表示方法算法的表示方法常用的算法表示方法:自然语言,传统流程图,结构化流程图(N-S流程图),伪代码、计算机语言等。(1)用自然语言表示算法(2)用流程图表示算法流程图表示算法:用一些图框表示各种操作,用箭头表示算法流程。用图形表示算法直观形象,易于理解。美国标准化协会ANSI规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用。4.5算法及其表示方法4.6顺序结构程序设计举例n例:输入三角形的三边长,求三角形面积。n为简单起见,

40、设输入的三边长a,b,c能构成三角形。从数学知识已知求三角形面积的公式为:n#includenmain()nnfloata,b,c,s,area;nscanf(%f%f%f,&a,&b,&c);ns=(a+b+c)/2;narea=sqrt(s*(s-a)*(s-b)*(s-c);/*sqrt()求平方根的函数*/nprintf(a=%7.2f,b=%7.2f,c=%7.2fn,a,b,c);nprintf(area=%8.3fn,area);nn346na=3.00,b=4.00,c=6.00narea=5.333n求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac0。n一元二次方程的根为:n#includenmain()nnfloata,b,c,disc,p,q,x1,x2;nscanf(%f%f%f,&a,&b,&c);/*输入a,b,c*/ndisc=b*b-4*a*c;/*计算*/np=-b/(2*a);nq=sqrt(disc)/(2*a);nx1=p+q;x2=p-q;/*计算2个方程的根*/nprintf(x1=%fnx2=%fn,x1,x2);/*输出*/nn132nx1=-1.000000nx2=-2.000000

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号