计算机软件基础第二章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机软件基础第二章.ppt》由会员分享,可在线阅读,更多相关《计算机软件基础第二章.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 顺序结构、选择结构、循环结顺序结构、选择结构、循环结构的程序设计构的程序设计程序设计的三种基本结构顺序结构顺序结构用来表示一个操作序列,它的执用来表示一个操作序列,它的执行过程是按顺序执行各序列。行过程是按顺序执行各序列。选择结构选择结构也称分支结构,根据给定条件,也称分支结构,根据给定条件,选择执行某个分支操作。选择执行某个分支操作。循环结构循环结构根据条件重复执行某些操作。根据条件重复执行某些操作。相关基础知识在使用在使用CC语言库函数时,要用预编译命令语言库函数时,要用预编译命令#include#include将有关的将有关的 头文件头文件 包括到用户到源文件中。包括到用户
2、到源文件中。在头文件中包含了与用到的函数有关的信息在头文件中包含了与用到的函数有关的信息。例如使用标准输入输出库函数时,要用到例如使用标准输入输出库函数时,要用到stdio.hstdio.h文件。文文件。文件后缀件后缀hh是是headhead的缩写,的缩写,#include#include命令都是放在程序的开头,因命令都是放在程序的开头,因此这类文件被称为此这类文件被称为 头文件头文件。在调用标准输入输出库函数时,文。在调用标准输入输出库函数时,文件开头应有以下件开头应有以下预编译命令预编译命令:#include#include或或#includestdio.h#includestdio.h
3、stdio.hstdio.h是是standard intput&outputstandard intput&output的缩写,它包含了与标准的缩写,它包含了与标准I/OI/O库库有关的变量定义和宏定义有关的变量定义和宏定义。考虑到。考虑到printfprintf和和scanfscanf函数使用频繁,系函数使用频繁,系统允许在使用这两个函数时可不加统允许在使用这两个函数时可不加#include#include 命令。命令。一、格式输出函数一、格式输出函数printf的一般格式的一般格式Printf(格式控制字符串格式控制字符串,输出表列,输出表列);printf(a=%d,b=%d,a,b);
4、括号内包括两部分:括号内包括两部分:(1 1)格式控制字符串格式控制字符串 是用双引号括起来的字符串,也称是用双引号括起来的字符串,也称 转转换控制字符串换控制字符串,它包括两种信息:,它包括两种信息:格式说明,由格式说明,由%和格式字符组成,如和格式字符组成,如%d,%f%d,%f,%c%c等。它的等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由作用是将输出的数据转换为指定的格式输出。格式说明总是由%字符开始的。字符开始的。普通字符,即需要原样输出的字符。例如上面普通字符,即需要原样输出的字符。例如上面printfprintf函数中双函数中双引号内的逗号、空格、引号内的逗号、空
5、格、a=a=和和b=b=。(2 2)输出表列输出表列 是需要输出的一些数据,可以是表达式。是需要输出的一些数据,可以是表达式。常用的有以下几种格式字符:常用的有以下几种格式字符:d格式符格式符。用来输出十进制整数。有以下几种用法:。用来输出十进制整数。有以下几种用法:%d%d,按整型数据的实际长度输出。,按整型数据的实际长度输出。%md%md,m m为指定的输出字段的为指定的输出字段的宽度宽度。如果数据的位数小于。如果数据的位数小于m,m,则左端补以则左端补以空格空格,若大于,若大于m m,则按实际位数输出。,则按实际位数输出。%ld%ld,输出长整型数据。如:,输出长整型数据。如:long
6、a=135790;long a=135790;printf(%ld,a);printf(%ld,a);如果用如果用%d%d输出,就会发生错误,因为整型数据的范围为输出,就会发生错误,因为整型数据的范围为32768327683276732767。对。对longlong型数据应当用型数据应当用%ld%ld格式输出。对长整型数格式输出。对长整型数据据也可以指定字段宽度也可以指定字段宽度,如将上面,如将上面printfprintf函数中的函数中的%ld%ld改为改为%8ld,%8ld,则输出为:则输出为:135790135790一个一个int型数据可以用型数据可以用%d或或%ld格式输出格式输出。c格
7、式符格式符 用来输出一个字符。用来输出一个字符。f格式符格式符 用来输出实数(包括单、双精度),以小数形用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:式输出。有以下几种用法:%f,不指定字段宽度,由系统自动指定,使整数部,不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出分全部如数输出,并输出6位小数。应当注意,并非位小数。应当注意,并非全部数字都是有效数字。全部数字都是有效数字。单精度实数的有效位数一般单精度实数的有效位数一般为为7位。位。%m.nf指定输出的数据共占指定输出的数据共占m列,其中有列,其中有n位小数。位小数。如果数值长度小于如果数值长度小于m,则
8、左端补空格。,则左端补空格。%-m.nf与与%m.nf基本相同,只是使输出的数值向左基本相同,只是使输出的数值向左端靠,右端补空格。端靠,右端补空格。main()float f=123.456;printf(“%fn%10fn%10.2fn%-10.2fn,f,f,f,f,f);输出结果如下:输出结果如下:123456001凵凵凵凵123.456001凵凵凵凵凵凵凵凵凵凵凵凵123.46凵凵凵凵123.46凵凵凵凵凵凵凵凵二、二、scanf函数的一般格式函数的一般格式 scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列)格式控制格式控制的含义同的含义同printf函数;函数;地址
9、表列地址表列是由是由若干个地址组成的表列,可以是变量的地址,或字符若干个地址组成的表列,可以是变量的地址,或字符串的首地址。串的首地址。scanf(%d,&a);(1)可以指定输入数据所占列数,系统自动按它截)可以指定输入数据所占列数,系统自动按它截取所需数据。取所需数据。如:如:scanf(%3d%3d,&a,&b);输入:输入:123456 系统自动将系统自动将123赋给赋给a,456赋给赋给b。此方法也可用于字符型:此方法也可用于字符型:scanf(%3c,&ch);如果从键盘连续输入如果从键盘连续输入3个字符个字符abc,由于,由于ch只能容纳一个只能容纳一个字符,系统就把第一个字符字
10、符,系统就把第一个字符a赋给赋给ch。(2)输入数据时不能规定精度输入数据时不能规定精度,例如,例如,scanf(%7.2f,&a);scanf(%7.2f,&a);是不合法的,不能企图用这样的是不合法的,不能企图用这样的scanfscanf函数并输入以下数据而函数并输入以下数据而使使a a的值为的值为12345.6712345.67。1234567(3)scanf函数中的函数中的格式控制格式控制后面应当是后面应当是变量地址,变量地址,而不应是变量名而不应是变量名。(4)如果在)如果在格式控制格式控制字符串中除了格式说明以外还字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符
11、相同的有其它字符,则在输入数据时应输入与这些字符相同的字符。字符。如如scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);输入时应用如下形式:输入时应用如下形式:3 3,44 如果是:如果是:scanf(%dscanf(%d凵凵凵凵%d,&a,&b);%d,&a,&b);输入时两个数据间应空输入时两个数据间应空2 2个或更多的空格字符。如:个或更多的空格字符。如:1010凵凵凵凵3434或或1010凵凵凵凵凵凵3434如果是:如果是:scanf(%dscanf(%d:%d,&a,&b);%d,&a,&b);输入应该用以下形式:输入应该用以下形式:1212:3434 如果
12、是:如果是:scanf(a=%d,b=%d,&a,&b);scanf(a=%d,b=%d,&a,&b);输入应为以下形式:输入应为以下形式:a=12,b=34a=12,b=34putchar函数(字符输出函数)的作用是向终端输函数(字符输出函数)的作用是向终端输出一个字符。出一个字符。例如:例如:putchar(c);putchar(c);它输出字符变量它输出字符变量c c的值。的值。c c可以是字符型变量或整型变量。可以是字符型变量或整型变量。getchar函数的作用是从终端(或系统隐含指定的函数的作用是从终端(或系统隐含指定的输入设备)输入输入设备)输入一个字符一个字符。getchar函数
13、没有参数,函数没有参数,其一般形式为其一般形式为 getchar()函数的值就是从输入设备得到的字符。函数的值就是从输入设备得到的字符。putchar和和getchar可以用一行表示:可以用一行表示:putchar(getchar();如如getchar()getchar()的值为的值为aa,因此,因此putcharputchar函数输出函数输出aa。也可以用也可以用printfprintf函数输出:函数输出:printf(%c,getchar();printf(%c,getchar();如果在一个函数中(现为如果在一个函数中(现为main函数)要调用函数)要调用getchar函数,应该在该函
14、数的前面(或本文件开函数,应该在该函数的前面(或本文件开头)加上头)加上包含命令包含命令:#include顺序结构的例题:顺序结构的例题:例例4:输入三角形的三边长,求三角形面积输入三角形的三边长,求三角形面积 为简单起见,设输入的三边长为简单起见,设输入的三边长a、b、c能构成三角形。能构成三角形。从数学知识已知求三角形面积的公式为从数学知识已知求三角形面积的公式为 area=,其中其中s=(a+b+c)/2据此编写程序为:据此编写程序为:#include main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);ar
15、ea=sqrt(s*(s-a)*(s-b)*(s-c);/*sqrt()是求平方根的函数是求平方根的函数*/printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,a,b,c,s);printf(area=%7.2fn,area);例例5:从键盘输入一个大写字母,要求改用小:从键盘输入一个大写字母,要求改用小写字母输出写字母输出 如何将一个大写字母转换成小写字母?我如何将一个大写字母转换成小写字母?我们通过们通过码的形式来进行转换。码的形式来进行转换。includestdio.h main()char c1,c2;c1=getchar();printf(%c,%dn,c
16、1,c1);c2=c1+32;printf(%c,%dn,c2,c2);选择结构选择结构选择结构选择结构选择结构选择结构 基础知识基础知识关系运算符:关系运算符:、=、!=(双目运算符)(双目运算符)关系表达式:用关系运算符连接的式子关系表达式:用关系运算符连接的式子关系表达式的值只有两个:真为关系表达式的值只有两个:真为1,假为,假为0321逻辑运算符:双目逻辑运算符:双目&、|,单目,单目!逻辑表达式的结果是逻辑值,用逻辑表达式的结果是逻辑值,用0(逻辑假)、(逻辑假)、1(逻(逻辑真)辑真)表示表示逻辑运算符的运算规则:逻辑运算符的运算规则:ab!a!ba&ba|b非非0非非00011非
17、非0001010非非01001001100 ()()高高 !、!、+、-*、/、%+、-、=、!=&|=低低 选择结构选择结构选择结构选择结构一、一、一、一、if if语句语句语句语句if if语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。结果(真或假)决定执行给出的两种操作之一。if if语句的三种形式语句的三种形式语句的三种形式语
18、句的三种形式a.ifa.if(表达式)(表达式)(表达式)(表达式)语句语句语句语句 例如:例如:例如:例如:if(xy)printf(%d,x);if(xy)printf(%d,x);这种这种这种这种if if语句的执行过程见右图语句的执行过程见右图语句的执行过程见右图语句的执行过程见右图单分支单分支单分支单分支if if语句语句语句语句b.if if(表达式)语句(表达式)语句(表达式)语句(表达式)语句1 1 else else 语句语句语句语句2 2 例如:例如:例如:例如:if(xif(x y)printf(%d,xy)printf(%d,x););else else printf(
19、%d,yprintf(%d,y););执行过程见图。执行过程见图。执行过程见图。执行过程见图。双分支双分支双分支双分支if if语句语句语句语句例例例例6 6 输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这输入两个实数,按代数值由小到大的次序输出这两个数。两个数。两个数。两个数。main()main()float a,b,t;float a,b,t;scanf(%f,%f,&a,&b);scanf(%f,%f,&a,&b);if(ab)if(ab)t=a;a=b;b=t;t=a;a=b;b=t;printf(%5.
20、2f,%5.2f,a,b);printf(%5.2f,%5.2f,a,b);运行情况如下:运行情况如下:运行情况如下:运行情况如下:3.63.6,-3.2-3.2 -3.20-3.20,3.603.60例例例例7 7 输入输入输入输入3 3个数个数个数个数a a、b b、c c,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。,要求按由小到大的顺序输出。main()main()float a,b,c,t;float a,b,c,t;scanf(%f,%f,%f,&a,&b,&c);scanf(%f,%f,%f,&a,&b,&c);if(ab)if(ab)t=a
21、;a=b;b=t;t=a;a=b;b=t;运行情况如下:运行情况如下:运行情况如下:运行情况如下:if(ac)3if(ac)3,7 7,1 1 t=a;a=c;c=t;1.00 t=a;a=c;c=t;1.00,3.003.00,7.007.00if(bc)if(bc)t=b;b=c;c=t;t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);printf(%5.2f,%5.2f,%5.2f,a,b,c);c.ifc.if语句的嵌套语句的嵌套语句的嵌套语句的嵌套在在在在if if语句中又包含一个或多个语句中又包含一个或多个语句中又包含一个或多个语句中又包含一
22、个或多个if if语句称为语句称为语句称为语句称为if if语句的嵌套。一般形语句的嵌套。一般形语句的嵌套。一般形语句的嵌套。一般形式如下:式如下:式如下:式如下:if ()if ()if ()if ()语句语句语句语句1 1 内嵌内嵌内嵌内嵌if if else else 语句语句语句语句2 2 else else if ()if ()语句语句语句语句3 3 内嵌内嵌内嵌内嵌if if else else 语句语句语句语句4 4应当注意应当注意应当注意应当注意if if与与与与elseelse的配对关系。的配对关系。的配对关系。的配对关系。elseelse总是与它上面的最近的总是与它上面的最
23、近的总是与它上面的最近的总是与它上面的最近的if if配配配配对。对。对。对。如果如果如果如果if if与与与与elseelse的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以的数目不一样,为实现程序设计者的要求,可以加花括号来确定配对关系加花括号来确定配对关系加花括号来确定配对关系加花括号来确定配对关系。例如:。例如:。例如:。例如:if ()if ()if ()if ()语句语句语句语句1 1 (内嵌(内嵌(内嵌(内嵌if if)else else 语句语句语句语句2 2 这时这时这时这时 限定了内嵌限定了内嵌限
24、定了内嵌限定了内嵌if if语句的范围,因此语句的范围,因此语句的范围,因此语句的范围,因此elseelse与第一个与第一个与第一个与第一个if if配对。配对。配对。配对。例例例例8 8 有一函数:有一函数:有一函数:有一函数:-1 (x0)-1 (x0)1 (x0)编一程序,输入一个编一程序,输入一个编一程序,输入一个编一程序,输入一个x x的值,输出的值,输出的值,输出的值,输出y y值值值值此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:此题有多种解法,在此列出其中两种:程序程序程序程序1 1:main()main()int x,y
25、;int x,y;scanf(%d,&x);scanf(%d,&x);if(x0)y=-1;if(x=0)if(x=0)if(x0)y=1;if(x0)y=1;else y=0;else y=0;else y=-1;else y=-1;printf(x=%d,y=%dn,x,y);printf(x=%d,y=%dn,x,y);2 2、条件运算符、条件运算符、条件运算符、条件运算符若若若若if if语句中,在表达式为语句中,在表达式为语句中,在表达式为语句中,在表达式为 真真真真 和和和和 假假假假 时,且都只执行时,且都只执行时,且都只执行时,且都只执行一个赋值语句给同一个变量赋值时,可以用简
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 第二
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内