谭浩强版C++程序设计-第3章--程序设计初步ppt课件.ppt
《谭浩强版C++程序设计-第3章--程序设计初步ppt课件.ppt》由会员分享,可在线阅读,更多相关《谭浩强版C++程序设计-第3章--程序设计初步ppt课件.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 程序设计初步程序设计初步本章要点本章要点n基本概念基本概念n赋值语句赋值语句nC+输入与输出输入与输出n关系运算和逻辑运关系运算和逻辑运算算n选择结构选择结构n循环结构循环结构3.1 面向过程的程序设计和算法面向过程的程序设计和算法n在面向过程的程序设计中,设计者必须制定计在面向过程的程序设计中,设计者必须制定计算机执行的具体步骤。算机执行的具体步骤。n处理问题的一系列步骤即算法。计算机算法分处理问题的一系列步骤即算法。计算机算法分为:数值算法和非数值算法。为:数值算法和非数值算法。n算法的表示方法有:算法的表示方法有:自然语言自然语言 用人们使用的语言描述算法用人们使用的语言描述
2、算法流程图流程图 用一些图框、线条以及文字说明来形象用一些图框、线条以及文字说明来形象 地、直观地描述算法。地、直观地描述算法。伪代码伪代码 计算机语言(程序)计算机语言(程序)流程图示例流程图示例假假选择选择过程过程真真循环体语句组循环体语句组过程过程开始开始结束结束3.2 C+程序和语句程序和语句1.C+程序结构程序结构程序包括:程序包括:数据描述(声明语句)数据描述(声明语句)数据操作(执行语句)数据操作(执行语句)2.C+语句概述语句概述(1)声明语句)声明语句 变量说明,如变量说明,如 inta;(2)执行语句)执行语句 控制语句控制语句主要完成分支结构程序和循环结构程序的控制。主要
3、完成分支结构程序和循环结构程序的控制。C+主要包括以下主要包括以下9个控制语句:个控制语句:ifelse语句语句 分支语句分支语句 switch语句语句 多分支语句多分支语句 for语句语句 循环语句循环语句 while语句语句 循环语句循环语句 dowhile语句语句 循环语句循环语句 continue语句语句 结束本次循环语句结束本次循环语句 break语句语句 结束循环或结束结束循环或结束switch语句语句 goto语句语句 转向语句转向语句 return语句语句 从函数返回语句从函数返回语句2.C+语句概述语句概述函数调用语句函数调用语句 C+有大量的系统函数,程序员也可以自己定义函
4、数,有大量的系统函数,程序员也可以自己定义函数,对这些函数的调用可以作为一条语句。对这些函数的调用可以作为一条语句。表达式语句表达式语句 由一个表达式构成一个语句,即在表达式后添加一由一个表达式构成一个语句,即在表达式后添加一个分号,如赋值表达式语句等。个分号,如赋值表达式语句等。(3)空语句)空语句 空语句只有一个分号。即:空语句只有一个分号。即:;因此空语句什么也不做。因此空语句什么也不做。(4)复合语句)复合语句 除了上面的简单语句外,可以将一组简单语句用大除了上面的简单语句外,可以将一组简单语句用大括号括号 括起来,称之为复合语句。括起来,称之为复合语句。3.3 赋值语句赋值语句n赋值
5、语句由赋值语句由赋值表达式赋值表达式加上一个加上一个分号分号构成。构成。a=b+25;c=(29.5*d)/(a+b);n赋值运算符具有赋值运算符具有“右结合性”,如:,如:a=2;x=b;与;与 2=a;b=x;nC+程序中可以出现连续赋值的情况。程序中可以出现连续赋值的情况。a=b=c=d;3.4 C+的输入与输出的输入与输出n C+通过调用输入输出流库的流对象通过调用输入输出流库的流对象cin和和cout 实现输入、输出功能。实现输入、输出功能。1.输入输出流的基本操作输入输出流的基本操作cin语句的一般格式:语句的一般格式:cin变量变量1变量变量2变量变量n;cout语句的一般格式:
6、语句的一般格式:cout表达式表达式1表达式表达式2表达式表达式n;n在程序中使用在程序中使用cin、cout时,必须用预处理命时,必须用预处理命令包含头文件令包含头文件stream,即即#include。流提取运算符流提取运算符流插入运算符流插入运算符说明说明n一个一个cin、cout语句可以分写成若干行。语句可以分写成若干行。如:如:cinab;可以写成:可以写成:cout“this is a C+program”endl;可写成:可写成:n 不能用一个插入运算符插入多个输出项。不能用一个插入运算符插入多个输出项。如:如:couta,b,c;coutaba b;cout“this is”“
7、a C+program”endl;2.在输入输出流中使用控制符在输入输出流中使用控制符-格式控制格式控制说明说明n使用控制字符时,头文件应包含使用控制字符时,头文件应包含#includ 和和#include n一个一个cout语句中可以用多个控制符,但每个流插语句中可以用多个控制符,但每个流插入运算符入运算符“后只能跟一个控制符,多个控后只能跟一个控制符,多个控制符需要用多个流插入运算符制符需要用多个流插入运算符“。如:如:double a=123.456789012345;couta;输出输出123.456(默认精度(默认精度6)coutsetprecision(9)a;输出输出123.45
8、6789 coutsetioflags(ios:fixed)setprecision(4)a输出输出123.4567(小数点后精度(小数点后精度4)例例3.1:输出使各行小数点对齐:输出使各行小数点对齐#include#include using namespace std;int main()double a=123.456,b=3.14159,c=-3214.67;coutsetiosflags(ios fixed)setiosflags(ios right)setprecision(2);coutsetw(10)aendl;coutsetw(10)bendl;coutsetw(10)ce
9、ndl;return 0;输出:输出:123.46 3.14 -3214.672.putchar和和 getchar函数函数nputchar函数函数(字符输出函数)字符输出函数)其作用是向终端输出一个字符,其作用是向终端输出一个字符,n格式:格式:putchar(c););输出字符变量输出字符变量c的值的值 其中其中:c 可以是可以是字符型变量字符型变量或或整型变量整型变量n也可以输出转义字符也可以输出转义字符 putchar(101)等效等效 putchar(A),和和putchar(65);putchar()输出单引号输出单引号例例3.2:输出单个字符:输出单个字符#include usi
10、ng namespace std;int main()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n);putchar(66);putchar(79);putchar(89);putchar(10);return 0;运行结果运行结果:BOY BOYn getchar()函数函数(字符输入函数)字符输入函数)getchar()函数的返回值为字符的值。函数的返回值为字符的值。例例 3.3 输入单个字符输入单个字符#include using namespace std;int main()char c;c=get
11、char();putchar(c+32);return 0;getchar函数得到的字符可以赋给一个字符或整函数得到的字符可以赋给一个字符或整型变量,也可以不赋给任何变量。型变量,也可以不赋给任何变量。在调试程序时,可以用在调试程序时,可以用getchar()暂停程序执行;暂停程序执行;n printf的作用是向终端的作用是向终端输出输出若干个若干个任意类型任意类型的数据。的数据。n一般格式一般格式:printf(格式控制,输出列表)格式控制,输出列表)例如:例如:printf(“%d%d”,a,b););格式控制格式控制 输出列表输出列表printf(“a=%d b=%d”,a,b)格式说明
12、格式说明 普通字符普通字符 输出列表输出列表 结果结果 a=3 b=43.scanf 和和printf函数函数n d 格式符格式符d格式符。用来输出十进制整数。格式符。用来输出十进制整数。%d printf(“%d,%d”,a,b););%md printf(“%4d,%4d”,a,b)a=123;b=12345;printf(“%4d,%4d”,a,b);123,12345%ld 输出长整型数输出长整型数 printf(“%ld,%ld”,a,b););如:如:a=1234;printf(“%10ld”),a);则:则:1234 C 格式符格式符 c格式符。用来输出一个字符。格式符。用来输出
13、一个字符。例:例:main()char a=a;int b=97;print(“%c,%dn”,a,a););print(“%c,%d”,b,b););结果:结果:a,97 a,97n整数的范围在整数的范围在0255之间,可以用字符形式输出;之间,可以用字符形式输出;n一个字符数据可以用整数形式输出。也可指定字符宽度。如:一个字符数据可以用整数形式输出。也可指定字符宽度。如:printf(“%3d”,c););S 格式符格式符 s格式符。用来输出一个字符串。格式符。用来输出一个字符串。%s 原长输出原长输出%ms 字符串占字符串占m列,小于列,小于m左补空格左补空格%-ms 大于大于m原样输出
14、,小于原样输出,小于m右补空格右补空格%m.ns 输出占输出占m列,只取字符串左端列,只取字符串左端n个字符个字符%-m.ns n个字符输出在个字符输出在m列的左侧,右补空格列的左侧,右补空格例:例:main()printf(“%3S,%7.2s,%5.4s,%-5.3n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”););结果:结果:CHINA,CH,CHIN,CHIf 格式符格式符 f格式符。用来输出实数,以小数形式输出。格式符。用来输出实数,以小数形式输出。%f,不指定字段宽度,由系统自动指定。整数部分如不指定字段宽度,由系统自动指定。整数部分如数输出,并输出数输出,
15、并输出6位小数。单精度实数有效位数为位小数。单精度实数有效位数为7位;位;双精度实数有效位数为双精度实数有效位数为16位,小数位,小数6位。位。如:如:main()float x,y;x=111111.111;y=222222.222;printf(“%f”,x+y););结果:结果:333333.326125%m.nf 指定输出的数据占指定输出的数据占m列,其中列,其中n位小数;右对齐。位小数;右对齐。%-m.nf 同上,左对齐。同上,左对齐。e 格式符格式符e格式符。以指数形式输出实数。格式符。以指数形式输出实数。%e 整数一位整数一位,小数小数6位位,指数指数5位包括位包括e和符号位和符
16、号位.例例:printf(“%e,%e”,123.456,0.006543);输出输出:1.234560e+002,6.543000e-003%m.ne和和%-m.ne 其中其中m为输出宽度,为输出宽度,-为左齐为左齐,n为尾数的小数位数为尾数的小数位数.说明说明n 格式字符一般用小写格式字符一般用小写n格式控制字符串中可以包括转义字符格式控制字符串中可以包括转义字符nd、c、s、f、e、等字符,紧接在、等字符,紧接在“%”后面即为格后面即为格式字符,在其它位置则为普通字符式字符,在其它位置则为普通字符 printf(“c=%cf=%fs=%s”,c,f,s):n若想若想输出输出“%”,则用连
17、续两个,则用连续两个“%”表示表示 如:如:printf(“%f%”,1.0/3););输出:输出:0.333333%n不同系统的格式输出,可能会有些小差别不同系统的格式输出,可能会有些小差别nscanf 格式输入函数格式输入函数,用来输入任何类型的多个用来输入任何类型的多个数据数据n一般格式一般格式:scanf(格式控制格式控制,地址列表地址列表)例例:main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c);运行时的合法输入可以是运行时的合法输入可以是:3 4 5 3453 3(按按Tab键键)4 4 5 5非法输
18、入为非法输入为:3,4,5scanf 函数函数说明说明 1.格式控制后面是变量地址格式控制后面是变量地址,而不是变量名而不是变量名如:如:scanf(“%d,%d”,a,b);是不对的是不对的2.格式控制字符串中除了格式说明符以外的其它字格式控制字符串中除了格式说明符以外的其它字符符,在输入时要原样输入在输入时要原样输入,如如:scanf(“%d:%d:%d”,&a,&b,&c);scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);3.在用在用“%c”格式输入字符时格式输入字符时,空格字符和空格字符和“转义字转义字符符”都作为有效字符都作为有效字符,如如:scanf(“%c%c%
19、c”,&a,&b,&c);输入输入:a b c3.5 编写顺序结构的程序编写顺序结构的程序 例例3.5 求一元二次方程式求一元二次方程式ax2+bx+c=0的根。的根。a,b,c的值在运行时由键盘输入,它们的值的值在运行时由键盘输入,它们的值满足满足b2-4ac0。源程序源程序#include#include /由于程序要用到数学函数由于程序要用到数学函数 sqrt,故应包含头文件,故应包含头文件cmathusing namespace std;int main()float a,b,c,x1,x2;cinabc;x1=(-b+sqrt(b*b-4*a*c)/(2*a);x2=(-b-sqrt
20、(b*b-4*a*c)/(2*a);coutx1=x1endl;coutx2=x2endl;return 0;#3.6 关系运算与逻辑运算关系运算与逻辑运算n 关系运算符与关系表达式关系运算符与关系表达式 6个关系运算符:个关系运算符:、=、=、!=优先级高优先级高 优先级低优先级低 关系运算符优先级低于算术运算符、高于赋值运算符关系运算符优先级低于算术运算符、高于赋值运算符 注意区分注意区分“等于等于”运算符运算符“=”与与“赋值赋值”运算符运算符“=”关系表达式的结果类型为关系表达式的结果类型为bool,值只能为,值只能为 true 或或 false 如:如:int a=4,b=10;a
21、b,ab,a=b,a=b,a!=b的结果分别为:的结果分别为:true,true,false,false,false,true在在C/C+中用数值中用数值1代表代表true,用,用0代表代表false。例:例:布尔量值的表示布尔量值的表示#includeusing namespace std;int main()int a,b;bool c;a=2;b=5;c=ab;coutc=cendl;if(c=true)coutabendl;else coutb=60)&(a90)|(b85)/a大于大于90,或者,或者b大于大于85,结果为,结果为true,条件成立,条件成立!(a=100)/a不等于
22、不等于100时,条件成立时,条件成立 若若a=4 则则 !a 为为false逻辑与逻辑与&:当且仅当两个运算量的值都为:当且仅当两个运算量的值都为“真真”时,运算结果为时,运算结果为“真真”,否则为,否则为“假假”。逻辑或逻辑或|:当且仅当两个运算量的值都为:当且仅当两个运算量的值都为“假假”时,运算结果为时,运算结果为“假假”,否则为,否则为“真真”。逻辑非逻辑非!:当运算量的值为:当运算量的值为“真真”时,运算结果时,运算结果为为“假假”;当运算量的值为;当运算量的值为“假假”时,运算结果时,运算结果为为“真真”。n 逻辑运算符的运算规则逻辑运算符的运算规则判断某一年是否为闰年的逻辑表达式
23、判断某一年是否为闰年的逻辑表达式分析:闰年是符合下列条件之一的年份:分析:闰年是符合下列条件之一的年份:(1)能被)能被4整除,但不能被整除,但不能被100整除;整除;(2)能被)能被100整除,又能被整除,又能被400整除。整除。n用逻辑表达式表示:用逻辑表达式表示:(year%4=0&year%100!=0)|year%400=0 3.7 选择结构和选择结构和if语句语句n选择结构也称分支结构,就是在程序运行过选择结构也称分支结构,就是在程序运行过程中,根据具体条件执行不同的程序段。程中,根据具体条件执行不同的程序段。nC+选择结构可以由选择结构可以由if语句或语句或switch语句实现。
24、语句实现。nC+提供了提供了3种形式的种形式的if语句。语句。1.if语句形式一语句形式一n一般形式:一般形式:if(表达式表达式)语句组语句组;注意:表达式必须用注意:表达式必须用“()”括起来括起来 若语句组中只有一条简单的若语句组中只有一条简单的语句,则大括号语句,则大括号“”可以省略。可以省略。表达式语句假(0)真(非0)表达式语句假(0)真(非0)表达式语句假(0)真(非0)例例 输入一个成绩输入一个成绩,判断是否需要补考,如判断是否需要补考,如果需要打印出来果需要打印出来#include int main()int score;cout score;if(score 60)cout
25、 不及格,需要补考!不及格,需要补考!endl;程序运行时,若输入的成绩大于或等于程序运行时,若输入的成绩大于或等于6060,则没有任何输,则没有任何输出。出。2.if语句形式二语句形式二n一般形式:一般形式:if(表达式表达式)语句组语句组1;else 语句组语句组2;表达式表达式语句组语句组1语句组语句组2真真假假if-else语句流程图注意:表达式必须用注意:表达式必须用“()”括起来括起来 若语句组中只有一条简单的语句,若语句组中只有一条简单的语句,则大括号则大括号“”可以省略。可以省略。外不用加分号。外不用加分号。例:求两个数中较大的值和较小的值例:求两个数中较大的值和较小的值#in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 谭浩强版 C+ 程序设计 初步 ppt 课件
限制150内