您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 谭浩强版C++程序设计-第3章--程序设计初步
第3章程序设计初步本章要点基本概念赋值语句C++输入与输出关系运算和逻辑运算选择结构循环结构3.1面向过程的程序设计和算法在面向过程的程序设计中,设计者必须制定计算机执行的具体步骤。处理问题的一系列步骤即算法。计算机算法分为:数值算法和非数值算法。算法的表示方法有:自然语言用人们使用的语言描述算法流程图用一些图框、线条以及文字说明来形象地、直观地描述算法。伪代码计算机语言(程序)流程图示例假选择过程真循环体语句组过程开始结束3.2C++程序和语句1.C++程序结构程序包括:数据描述(声明语句)数据操作(执行语句)2.C++语句概述(1)声明语句变量说明,如inta;(2)执行语句控制语句主要完成分支结构程序和循环结构程序的控制。C++主要包括以下9个控制语句:if~else~语句分支语句switch语句多分支语句for语句循环语句while语句循环语句do~while语句循环语句continue语句结束本次循环语句break语句结束循环或结束switch语句goto语句转向语句return语句从函数返回语句2.C++语句概述函数调用语句C++有大量的系统函数,程序员也可以自己定义函数,对这些函数的调用可以作为一条语句。表达式语句由一个表达式构成一个语句,即在表达式后添加一个分号,如赋值表达式语句等。(3)空语句空语句只有一个分号。即:;因此空语句什么也不做。(4)复合语句除了上面的简单语句外,可以将一组简单语句用大括号{}括起来,称之为复合语句。3.3赋值语句赋值语句由赋值表达式加上一个分号构成。a=b+25;c=(29.5*d)/(a+b);赋值运算符具有“右结合性”,如:a=2;x=b;与2=a;×b=x;C++程序中可以出现连续赋值的情况。a=b=c=d;3.4C++的输入与输出C++通过调用输入输出流库的流对象cin和cout实现输入、输出功能。1.输入输出流的基本操作cin语句的一般格式:cin变量1变量2…变量n;cout语句的一般格式:cout表达式1表达式2…表达式n;在程序中使用cin、cout时,必须用预处理命令包含头文件stream,即#includestream。流提取运算符流插入运算符说明一个cin、cout语句可以分写成若干行。如:cinab;可以写成:cout“thisisaC++program”endl;可写成:不能用一个插入运算符插入多个输出项。如:couta,b,c;×coutabc;√输入多个数据时用空格分开。cin不能输入空格。cinab;cout“thisis”“aC++program”endl;2.在输入输出流中使用控制符-格式控制说明使用控制字符时,头文件应包含#includiostream和#includeiomainip一个cout语句中可以用多个控制符,但每个流插入运算符““后只能跟一个控制符,多个控制符需要用多个流插入运算符““。如:doublea=123.456789012345;couta;输出123.456(默认精度6)coutsetprecision(9)a;输出123.456789coutsetioflags(ios:fixed)setprecision(4)a输出123.4567(小数点后精度4)例3.1:输出使各行小数点对齐#includeiostream#includeiomanipusingnamespacestd;intmain(){doublea=123.456,b=3.14159,c=-3214.67;coutsetiosflags(ios∷fixed)setiosflags(ios∷right)setprecision(2);coutsetw(10)aendl;coutsetw(10)bendl;coutsetw(10)cendl;return0;}输出:123.463.14-3214.672.putchar和getchar函数putchar函数(字符输出函数)其作用是向终端输出一个字符,格式:putchar(c);输出字符变量c的值其中:c可以是字符型变量或整型变量也可以输出转义字符putchar(‘\101’)等效putchar(‘A’),和putchar(65);putchar(‘\’’)输出单引号’例3.2:输出单个字符#includeiostreamusingnamespacestd;intmain(){chara,b,c;a=′B′;b=′O′;c=′Y′;putchar(a);putchar(b);putchar(c);putchar(′\n′);putchar(66);putchar(79);putchar(89);putchar(10);return0;}运行结果:BOYBOYgetchar()函数(字符输入函数)getchar()函数的返回值为字符的值。例3.3输入单个字符#includeiostreamusingnamespacestd;intmain(){charc;c=getchar();putchar(c+32);return0;}getchar函数得到的字符可以赋给一个字符或整型变量,也可以不赋给任何变量。在调试程序时,可以用getchar()暂停程序执行;printf的作用是向终端输出若干个任意类型的数据。一般格式:printf(格式控制,输出列表)例如:printf(“%d%d”,a,b);格式控制输出列表printf(“a=%db=%d”,a,b)格式说明普通字符输出列表结果a=3b=43.scanf和printf函数d格式符d格式符。用来输出十进制整数。%dprintf(“%d,%d”,a,b);%mdprintf(“%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);则:�ŽŽŽŽŽ1234C格式符c格式符。用来输出一个字符。例:main(){chara=‘a’;intb=97;print(“%c,%d\n”,a,a);print(“%c,%d”,b,b);}结果:a,97a,97整数的范围在0~255之间,可以用字符形式输出;一个字符数据可以用整数形式输出。也可指定字符宽度。如:printf(“%3d”,c);S格式符s格式符。用来输出一个字符串。%s原长输出%ms字符串占m列,小于m左补空格%-ms大于m原样输出,小于m右补空格%m.ns输出占m列,只取字符串左端n个字符%-m.nsn个字符输出在m列的左侧,右补空格例:main(){printf(“%3S,%7.2s,%5.4s,%-5.3\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);}结果:CHINA,CH,CHIN,CHIf格式符f格式符。用来输出实数,以小数形式输出。%f,不指定字段宽度,由系统自动指定。整数部分如数输出,并输出6位小数。单精度实数有效位数为7位;双精度实数有效位数为16位,小数6位。如:main(){floatx,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和符号位.例:printf(“%e,%e”,123.456,0.006543);输出:1.234560e+002,6.543000e-003%m.ne和%-m.ne其中m为输出宽度,-为左齐,n为尾数的小数位数.说明格式字符一般用小写格式控制字符串中可以包括转义字符d、c、s、f、e、等字符,紧接在“%”后面即为格式字符,在其它位置则为普通字符printf(“c=%cf=%fs=%s”,c,f,s):若想输出“%”,则用连续两个“%”表示如:printf(“%f%%”,1.0/3);输出:0.333333%不同系统的格式输出,可能会有些小差别scanf格式输入函数,用来输入任何类型的多个数据一般格式:scanf(格式控制,地址列表)例:main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}运行时的合法输入可以是:①345②345③3④3(按Tab键)4455非法输入为: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%c”,&a,&b,&c);输入:abc3.5编写顺序结构的程序例3.5求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac≥0。源程序#includeiostream#includecmath//由于程序要用到数学函数sqrt,故应包含头文件cmathusingnamespacestd;intmain(){floata,b,c,x1,x2;cinabc;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);cout″x1=″x1endl;cout″x2=″x2endl;return0;}#3.6关系运算与逻辑运算关系运算符与关系表达式6个关系运算符:、=、、=、==、!=优先级高优先级低关系运算符优先级低于算术运算符、高于赋值运算符注意区分“等于”运算符“==”与“赋值”运算符“=”关系表达式的结果类型为bool,值只能为true或false如:inta=4,b=10;ab,a=b,ab,a=b,a==b,a!=b的结果分别为:true,true,false,false,false,true在C/C++中用数值1代表true,用0代表false。例:布尔量值的表示#includeiostreamusingnamespacestd;intmain(){inta,b;boolc;a=2;b=5;c=ab;coutc=cendl;if(c==true)coutabendl;elsecoutabendl;return0;}C++提供3个逻辑运算符:||(或)、&&(与)、!(非)优先级:低高逻辑表达式:用逻辑运算符连接进行逻辑运算的式子。逻辑表达式的结果类型为bool,值只能为true或false。判断一个逻辑量是否为true的标准是:如果其值为0认为是false,如果其值为非0就认为是true。逻辑运算符与逻辑表达式例如:(a=60)&&(a=100)//a的值在60到100之间,结果为true,条件成立(a90)||(b85)//a大于90,或者b大于85,结果为true,条件成立!(a==100)//a不等于100时,条件成立若a=4则!a为false逻辑与&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。逻辑或||:当且仅当两个运算量的值都为“假”时,运算结
本文标题:谭浩强版C++程序设计-第3章--程序设计初步
链接地址:https://www.777doc.com/doc-7224680 .html