C++-chap-3-程序设计初步_第1页
C++-chap-3-程序设计初步_第2页
C++-chap-3-程序设计初步_第3页
C++-chap-3-程序设计初步_第4页
C++-chap-3-程序设计初步_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章程序设计初步1本章主要内容C++输入输出流语句顺序结构的程序设计分支结构的程序设计循环结构的程序设计21.C++的输入和输出C++和C一样,没有提供专门的输入和输出语句,在C++中需要通过调用输入输出流库中的流对象cin和cout,来实现输入和输出操作。要使用C++提供的输入输出流对象cin和cout,必须在程序的开头增加一行:#include<iostream>31.C++的输入和输出(1)输入流与输出流的根本操作cin在程序中代表标准输入设备(键盘)cin语句的一般格式:cin>>变量1>>变量2>>…>>变量n;例如:cin>>a;表示通过键盘给a赋值 cin>>a>>b;4实际操作时如何输入?1.C++的输入和输出cout在程序中代表标准输出设备(显示器)cout一般格式:cout<<表达式1<<表达式2<<…<<表达式n;例如:cout<<a;表示将a的值输出到屏幕上 cout<<a+b<<endl; cout<<“Thisis”<<“aC++” <<“program.”<<endl;cout<<“ThisisaC++program.”<<endl;5实际输出形式是什么?1.C++的输入和输出(2)在标准输入流和输出流中使用控制符注意:如果使用控制符,就需要在程序的开头除了加iostream头文件外,还要加上iomanip头文件。

控制符也可称为操作符64.C++的输入和输出71.C++的输入和输出例如1:整数的输出#include"iostream.h"#include<iomanip.h>voidmain(){ inta=20; cout<<hex<<a<<endl; cout<<oct<<a<<endl; cout<<setw(8)<<a<<endl; cout<<setw(8)<<setfill('*')<<a<<endl;}84.C++的输入和输出例如2:定点小数的输出#include"iostream.h"#include<iomanip.h>voidmain(){doublex=12.5689;cout<<setprecision(3)<<x<<endl;//3代表有效数字位cout<<setiosflags(ios::fixed);cout<<setprecision(3)<<x<<endl;//3代表小数位数保存3位cout<<setw(10)<<x<<endl;cout<<setiosflags(ios::right)<<x<<endl;//setw(10)只起一次的作用cout<<setw(10)<<setiosflags(ios::right)<<x<<endl;}94.C++的输入和输出例如3:指数形式的输出#include"iostream.h"#include<iomanip.h>voidmain(){doublex=12.5689;cout<<setiosflags(ios::fixed);cout<<setw(10)<<setprecision(3)<<x<<endl;//3代表小数位数保存3位cout<<setiosflags(ios::scientific)<<x<<endl;//出现错误cout<<resetiosflags(ios::fixed);//终止设置的浮点数的定点格式cout<<setiosflags(ios::scientific)<<x<<endl;//3代表尾数局部的小数位数}101.C++的输入和输出例如4:书中的例3.1#include<iostream>#include<iomanip>usingnamespacestd;intmain(){doublea=123.456,b=3.14159,c=-3214.67;cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);cout<<setw(10)<<a<<endl;cout<<setw(10)<<b<<endl;cout<<setw(10)<<c<<endl;return0;}11Setw(10)只对a起作用运行结果:132.463.4-3214.671.C++的输入和输出〔3〕用getchar和putchar函数进行字符的输入和输出〔4〕用scanf和printf函数进行输入和输出12以上2局部自学〔和C语言的使用一样〕运算符和运算表达式练习表达式〔19〕&&〔-0.3〕的值是占内存字节数最多的是〔〕。A)0.0B)'0'C)"0"D)013运算符和运算表达式练习以下程序段的运行结果是? inta=12,b1,b2; b1=a++; b2=++a;

cout<<b1<<b2<<endl;14运算符和运算表达式练习4.intx=0,y=3。表达式〔!x||++y〕的值为?,y的值为多少?5.以下程序段的运行结果是?doublea=5.3,b=9.7;intt;t=a;a=b;b=t;cout<<a<<“”<<b<<endl;15运算符和运算表达式练习6.a=3*2,a*4,a+5表达式的值是?7.表达式7/2的值是?8.inty=4;z=4;那么表达式x=y==z的值为?9.在以下选项中,与k=++n;语句功能完全等价的表达式是A〕k=n,n=n+1 B〕n=n+1,k=n C〕k=++n D〕k+=n+1162.编写顺序结构的程序顺序结构的程序:是指程序中各语句在执行时按照由上至下的排列顺序依次被执行。例题1:实现数据交换例题2:求一元一次方程3x-1=0的解例题3:求x的平方根(假设x≥0)例题4:求一元一次方程ax+b=0的解(假设输入的a是非0值)172.编写顺序结构的程序#include<iostream>usingnamespacestd;intmain(){inta,b,c;cin>>a>>b;cout<<“a=”<<a<<‘,’<<“b=”<<b<<endl;c=a;a=b;b=c;cout<<“a=”<<a<<‘,’<<“b=”<<b<<endl;return0;}18运行时输入:3-62.编写顺序结构的程序#include<iostream>usingnamespacestd;intmain(){doublex;x=1/3;(正确否?)cout<<“方程的解="<<x<<endl;return0;}192.编写顺序结构的程序#include<iostream>#include<cmath>usingnamespacestd;intmain(){floatx;cin>>x;cout<<"x的平方根值="<<sqrt(x)<<endl;return0;}20使用的数学函数库,要给出头文件“cmath”使用的数学函数库,要给出头文件“cmath”数学函数2.编写顺序结构的程序#include<iostream>usingnamespacestd;intmain(){doublea,b,x;cin>>a>>b;x=-b/a;

cout<<"方程"<<a<<"x"<<"+"<<b<<"=0的解="<<x<<endl;return0;}213.关系运算和逻辑运算〔1〕逻辑常量整数0和1构成布尔型的表示范围,也可以表示成true〔真〕和false〔假〕,相当于:enumbool{false,true};布尔型可以代表成千上万的真假命题,因此,它可以与很多表达式的值相对应。如:a>5,3!=5等等22定义枚举类型bool,它只有两个值falsetrue3.关系运算和逻辑运算〔2〕逻辑变量变量是存放常量的,常量的值决定了变量的值;逻辑类型的常量可以是任意值,但逻辑型变量只能存放数值0或1。即逻辑常量 逻辑变量

23非零1〔真〕零0〔假〕1〔真〕10〔假〕03.关系运算和逻辑运算〔2〕逻辑变量布尔类型的变量只能存放数值0或1,例如:boola=3;boolb=1;boolc=a+b; boold=a-b; 24注意:非零值代表真,零值代表假a,b,c,d的值是?a=1b=1c=1d=03.关系运算和逻辑运算关系运算符和关系表达式〔与C语言使用方法相同〕逻辑运算符和逻辑表达式〔与C语言使用方法相同〕25课下自学4.选择结构和if语句选择结构是用来判定所给条件是否满足,根据判定的结果〔真或假〕决定执行给出的两种操作之一。实现选择结构的语句有:if语句if语句的嵌套条件表达式switch语句264.选择结构和if语句〔1〕if语句的形式〔三种形式〕形式1:if〔表达式〕语句27对应语句:

if(a>b)cout<<a<<endl;

语句1条件是否4.选择结构和if语句形式2:if〔表达式〕语句1else语句228对应语句:if(a==b)cout<<“yes”<<endl;elsecout<<“no”<<endl;4.选择结构和if语句设计举例:1.〔前面的例题3:〕求x的平方根2.〔前面的例题4:〕求一元一次方程ax+b=0的解3.编写程序,判断一个整数是否为2的倍数4.编写程序,判断一个整数是否既是2的倍数,又是3的倍数294.选择结构和if语句形式3:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3……elseif(表达式n)语句nelse语句n+1304.选择结构和if语句对应练习:score:代表学生成绩,如果学生成绩:score≥90,输出“优”80≤score<90,输出“良”;70≤score<80,输出”中”60≤score<70,输出”及格”;score≤60,输出”不及格”;314.选择结构和if语句对应语句:cin>>score;if(score>=90)cout<<”优”;elseif(score>=80)cout<<”良”;elseif(score>=70)cout<<”中”;elseif(score>=60)cout<<”及格”;elsecout<<”不及格”;32代表:此时score<904.选择结构和if语句设计举例:5.输入一个数据,判断该数是正数、还是负数、还是06.输入一个字符,判断该字符是数字字符,还是字母字符,或者是其他字符7.有一个函数x(x<1)y=2x-1(1≤x<10)3x-11(x≥10)33编写一程序,输入x,输出y的值7.选择结构和if语句#include<iostream>usingnamespacestd;intmain(){intx,y;cout<<"enterx:";cin>>x;if(x<1){y=x;cout<<"x="<<x<<",y=x="<<y;}elseif(x<10)//1≤x<10{y=2*x-1;cout<<"x="<<x<<",y=2*x-1="<<y;}else//x≥10{y=3*x-11;cout<<"x="<<x<<",y=3*x-11="<<y;}cout<<endl;return0;}344.选择结构和if语句〔2〕if语句嵌套if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句435内嵌if内嵌if4.选择结构和if语句〔3〕条件运算符和条件表达式一般形式:<表达式1>?<表达式2>:<表达式3>例1:min=(a<b)?a:b例2:设charch=‘M’,那么表达式:ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch的值是?cA)MB)aC)mD)z

36什么含义?4.选择结构和if语句switch语句也称为开关语句,它是多分支结构的另一种形式,在实际中常被使用。如:学生成绩分类、人口按年龄分段、产品按等级划分等等。总之,当条件值为一系列的整数值时,考虑用switch语句会比较简捷。374.选择结构和if语句switch语句的一般形式38switch(整数表达式){case常量表达式1:语句1;break;case常量表达式2:语句2;break;…case常量表达式n:语句n;break;default:语句n+1;}注意:除了最后一个分支,其他分支都有退出语句break7.选择结构和if语句例如:输入学生的百分制成绩,判断该学生的等级用switch语句如何实现?39switch((int)score/10){case10:case9:cout<<“优”<<endl;break;case8:cout<<“良”<<endl;break;case7:cout<<“中”<<endl;;break;case6:cout<<“及格”<<endl;break;case5:case4:case3:case2:case1:case0:cout<<“不及格”<<endl;break;default:cout<<“输入错误”<<endl;;}4.选择结构和if语句8.编写程序实现:从键盘输入两个操作数x,y及一个运算符op,计算表达式xopy的值并输出。op是加、减、乘、除四那么运算之一。〔假设输入的y值不为零〕404.选择结构和if语句#include<iostream>#include<cmath>usingnamespacestd;intmain(){doublex,y;charop;cin>>x>>y;cin>>op;switch(op){ case'+':cout<<x+y<<endl;break; case'-':cout<<x-y<<endl;break; case'*':cout<<x*y<<endl;break; case'/':cout<<x/y<<endl;}return0;}可以增加:default:

cout<<“输入错误”<<endl;作为课下作业完善此题4.选择结构和if语句9.编写程序,显示输入的某一钳工的每小时报酬。假设钳工共有1/2/3/4四个级别,1级钳工每小时5元,2级钳工每小时10元,3级钳工每小时20元,4级钳工每小时50元。例如:程序运行输入2,屏幕显示“10元/小时”42作为课下作业4.选择结构和if语句10.编写“学生信息管理”主控程序,假设该系统具有查找、增加、修改、删除等功能,当进入某个功能项时,可使用cout输出流输出一些提示信息。如:当点击“查找”项时,显示“您已经进入“查找”模块!”请用switch语句设计实现43作为课下作业4.选择结构和if语句作业:认真复习ppt内容,整理并掌握课上讲过的所有例题上交的作业:〔交电子版〕书后练习P85-P86:2、4ppt中的3个作业〔第8、9、10题〕所有电子版文件要存放在“学号姓名-周数”文件夹中,上交的是.cpp源文件,文件名是“1.cpp、2.cpp……”44本周上交作业4个题5.循环结构和循环语句实现循环结构的常用语句有:

whiledo-whilefor语句458.循环结构和循环语句〔1〕while一般形式:while(表达式){ 循环体}

46循环体表达式是否可包含多条语句当只有一条语句时,其外面的花括号可以省略8.循环结构和循环语句〔2〕do-whiledo-while循环是先执行循环,然后再判断是否继续循环的条件,因而,该循环至少执行循环一次。一般形式:do{ 循环体}while(表达式);

47循环体表达式是否可包含多条语句当只有一条语句时,其外面的花括号不能可以省略8.循环结构和循环语句〔3〕for语句for语句的一般形式:for(循环变量初始化;条件判断;循环变量的增量) { 循环体 }48可包含多条语句当只有一条语句时,其外面的花括号可以省略8.循环结构和循环语句for语句的流程图49开始循环初始状态循环体状态修正条件判断未结束结束结束8.循环结构和循环语句〔4〕循环嵌套是指一个循环体中又包含着另一个完整的循环结构。for(i=1;i<=9;++i){for(j=1;j<=9;++j)……….………..]50选择结构编程小测验根据以下图编写程序,实现不同图形的面积计算518.循环结构和循环语句设计练习:求1-100的自然数之和求1-100奇数之和分别计算1-100之间的奇数之和和偶数之和求1-100自然数的平均值输入假设干数据,求这些数据的平均值求2个数的最大公约数

528.循环结构和循环语句#include<iostream>usingnamespacestd;intmain(){intp,r,n,m,temp;cout<<"pleaseentertwopositiveintegernumbersn,m:";cin>>n>>m;if(n<m){temp=n;n=m;m=temp;}//把大数放在n中,小数放在m中while(m!=0)//求n和m的最大公约数

{r=n%m;n=m;m=r;}cout<<“HCF=”<<n<<endl;//输出最大公约数return0;}53注意:重点理解求最大公约数的算法8.循环结构和循环语句设计练习:7.求之和8.有一分数序列:分别求出并输出该序列的前10项的值

548.循环结构和循环语句设计练习:9.有一分数序列:求出并输出该序列的前10项的和值

558.循环结构和循环语句#include<iostream>usingnamespacestd;intmain(){inti,t,n=10;doublea=2,b=1,s=0;for(i=1;i<=n;i++){s=s+a/b;t=a;a=a+b;//将前一项分子与分母之和作为下一项的分子

b=t;//将前一项的分子作为下一项的分母

}cout<<"sum="<<s<<endl;return0;}568.循环结构和循环语句〔5〕提前结束循环用break语句提前结束循环过程例如输入假设干数据,并依此显示在屏幕上,当输入数据0时,程序结束。578.循环结构和循环语句#include<iostream>usingnamespacestd;intmain(){intn; cout<<"请输入假设干个整数:"<<endl; while(1) {cin>>n;if(n!=0)cout<<n<<""; elsebreak; } cout<<endl;return0;}58运行结果?8.循环结构和循环语句用continue语句提前结束本次循环例如:如何实现输出100以内能被7整除的数?598.循环结构和循环语句#include<iostream>usingnamespacestd;intmain(){cout<<"100之内能被7整除的数有:"<<endl; for(intn=0;n<=100;++n) {if(n%7!=0) continue;cout<<n<<""; } cout<<endl;return0;}608.循环结构和循环语句设计练习:10.将100-200之间不能被3整除的数输出61作业:1.编写程序实现:从键盘输入两个操作数x,y及一个运算符op,计算表达式xopy的值并输出。op是加、减、乘、除四那么运算之一。说明:当输入的操作符op不是四那么运算之一时,要提示重新输入op;要考虑除法时除数为零的情况。假设除数为零,那么显示“dividedbyzero.”后结束程序运行〔用exit(1)函数强制结束程序运行〕可根据自己思路,自行设计程序结束运行的条件62交电子版作业:2.使用循环和选择结构实现以下功能。输入假设干学生成绩,当输入的成绩是负数或超过100时,程序运行结束;对输入的所有成绩统计出90分数段、80分数段、70分数段、60分数段、60以下分数段的人数并输出。63交电子版作业3.见以下图。利用循环和switch结构实现:可屡次选择菜单项,直到选择“4.退出运行”结束整个程序的运行64交电子版8.循环结构和循环语句本周的作业:复习ppt中的所有内容整理并掌握本次课中的所有例题,写出全部代码,写在自己的笔记本上掌握本页之后的所有练习题,不懂的qq咨询或下次上课询问65(1)阅读以下程序段并答复以下问题。设程序运行时读入的数据是402050和10total=0;cin>>k;for(i=1;i<=3;++i)cin>>k;//属于循环体的语句total=total+k;//该语句的缩进错误cout<<“total=”<<total;1.哪个〔或那些〕语句在循环体中?2.哪个语句的缩进不正确?3.数据40会加到total上吗?4.哪些数据会加到total上?5.total的最终结果是多少?669.练习40不会加到total中10会加到total中Total最终结果:10(2)执行以下程序后,x和z的值是?#include<iostream>voidmain(){intx,y=1,z;if(x=z=y)x=3;cout<<x<<”,”<<z;}A〕3,0 B〕0,0 C〕0,1 D〕3,1(3)假设定义intd,c=6,那么执行下面语句后,d值为switch(c){ case0:d=0;break; case1: case2:d=1;break; case3: case4:d=2;break; default:d=3;}A)0 B)1 C)3 D)269(4)以下程序段执行后,s的值为?intk,s=0;for(k=1;k<=10;++k) s=s+k;A)1+2+3+...+10 B)0C)11 D)1070(5)以下两条条件语义等价的是?A〕if(a=2)if(a==2)B〕if(a-2)if(a!=2)C〕if(a〕if(a==0)D〕if(a-2)if(a==2)71(6)假设输入1,那么以下程序段的输出结果为?intx;cin>>x;switch(x){case5:printf("Excellent");case4:printf("Good");default:printf("Poor");case3:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论