C++程序设计基础第二版课后答案电子工业出版社.docx
《C++程序设计基础第二版课后答案电子工业出版社.docx》由会员分享,可在线阅读,更多相关《C++程序设计基础第二版课后答案电子工业出版社.docx(164页珍藏版)》请在冰点文库上搜索。
C++程序设计基础第二版课后答案电子工业出版社
第1章基本数据与表达式
1.1选择题
1.一个最简单的C++程序,可以只有一个(c)。
(a)库函数(b)自定义函数(c)main函数(d)空函数
2.用C++语言编制的源程序要变为目标程序必须要经过(d)。
(a)解释(b)汇编(c)编辑(d)编译
3.C++程序中的简单语句必须以(b)结束。
(a)冒号(b)分号(c)空格(d)花括号
4.有说明inta=0;doublex=5.16;以下语句中,(c)属于编译错误。
(a)x=a/x;(b)x=x/a;(c)a=a%x;(d)x=x*a;
5.执行C++程序时出现的“溢出”错误属于(c)错误。
(a)编译(b)连接(c)运行(d)逻辑
6.下列选项中,全部都是C++关键字的选项为(c)。
(a)whileIFStatic(b)breakchargo
(c)sizeofcaseextern(d)switchfloatinteger
7.按C++标识符的语法规定,合法的标识符是(a)。
(a)_abc(b)new(c)π(d)"age"
8.下列选项中,(a)不能作为C++的分隔符。
(a)标识符(b);(c):
(d)+
9.下列正确的八进制整型常量表示是(b)。
(a)0a0(b)015(c)080(d)0x10
10.下列错误的十六进制整型常量表示是(c)。
(a)0x11(b)0xaf(c)0xg(d)0x1f
11.在下列选项中,全部都合法的浮点型数据的选项为(b)。
(a)-1e3.515.2e-4(b)12.34-1e+50.1E-12
(c)0.2e-2-12345.e-5(d)5.0e(1+4)0.18e+2
12.下列正确的字符常量为(d)。
(a)"a"(b)′name′(c)a(d)′\101′
13.下列选项中,(d)不能交换变量a和b的值。
(a)t=b;b=a;a=t;(b)a=a+b;b=a-b;a=a–b;
(c)t=a;a=b;b=t;(d)a=b;b=a;
14.关于下列语句叙述错误的是(a)。
inti=10,*p=&i;
(a)p的值为10(b)p指向整型变量i
(c)*p表示变量i的值(d)p的值是变量i的地址
15.有以下变量说明,下面不正确的赋值语句是(b)。
inta=5,b=10,c;int*p1=&a,*p2=&b;
(a)*p2=b;(b)p1=a;
(c)p2=p1;(d)c=*p1*(*p2);
16.有以下变量说明,下面正确的语句是(b)。
inta=10,b;int&pa=a,&pb=b;
(a)&pb=a;(b)pb=pa;(c)pb=&pa;(d)*pb=*pa;
17.执行下面语句序列后,a和b的值分别为(b)。
inta=5,b=3,t;
int&ra=a;
int&rb=b;
t=ra;ra=rb;rb=t;
(a)3和3(b)3和5(c)5和3(d)5和5
18.在下列运算符中,(d)优先级最高。
(a)<=(b)*=(c)+(d)*
19.在下列运算符中,(d)优先级最低。
(a)!
(b)&&(c)!
=(d)?
:
20.设inti=1,j=2;则表达式i+++j的值为(c)。
(a)1(b)2(c)3(d)4
21.设inti=1,j=2;则表达式++i+j的值为(d)。
22.在下列表达式选项中,(c)是正确。
(a)++(a++)(b)a++b(c)a+++b(d)a++++b
23.已知inti=0,j=1,k=2;则逻辑表达式++i||--j&&++k的值为(b)。
(a)0(b)1(c)2(d)3
24.执行下列语句后,x的值是(d),y的值是(c)。
intx,y;
x=y=1;++x||++y;
(a)不确定(b)0(c)1(d)2
25.设X为整型变量,不能正确表达数学关系1<X<5的C++逻辑表达式是(a)。
(a)1(c)1(X<=1)&&!(X>=5)26.已知intx=5;执行下列语句后,x的值为(c)。x+=x-=x*x;(a)25(b)40(c)–40(d)2027.设inta=1,b=2,c=3,d=4;则以下条件表达式的值为(a)。aa:cc:d(a)1(b)2(c)3(d)428.以下逗号表达式的值为(d)。(x=4*5,x*5),x+25(a)25(b)20(c)100(d)451.2把下列数学表达式写成c++算术表达式1.2.x{x[x(ax+b)+c]+d}+e3.ln(1+||10)4.5.cot6.lg(a2+ab+b2)【答案】1.1/(1+1/(1+1/(x+y)))2.x*(x*(x*(a*x+b)+c)+d)+e3.log(1+pow(fabs((a+b)/(a–b)),10)4.sqrt(1+3.14159/2*cos(48*3.14159/180))5.1/tan((1-x*x)/(1+x*x))或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))6.log10(a*a+a*b+b*b)1.3用关系表达式或逻辑表达式表示下列条件1.i被j整除2.n是小于正整数k的偶数3.1≤x<104.x,y其中有一个小于z5.y[–100,–10],并且y[10,100]6.坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内7.三条边a,b和c构成三角形8.年份Year能被4整除,但不能被100整除或者能被400整除【答案】1.i%j==02.(n3.1<=x&&x<104.x5.!(y>=-100&&y<=-10)&&!(y>=10&&y<=100)6.sqrt(pow((x-10),2)+pow((y-20),2))<357.a+b>c&&b+c>a&&c+a>b8.(year%4==0)&&(year%100!=0)||(year%400==0)1.4阅读下列程序,写出执行结果1.#includevoidmain(){inta=1,b=2,x,y;cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
(c)1(X<=1)&&!(X>=5)26.已知intx=5;执行下列语句后,x的值为(c)。x+=x-=x*x;(a)25(b)40(c)–40(d)2027.设inta=1,b=2,c=3,d=4;则以下条件表达式的值为(a)。aa:cc:d(a)1(b)2(c)3(d)428.以下逗号表达式的值为(d)。(x=4*5,x*5),x+25(a)25(b)20(c)100(d)451.2把下列数学表达式写成c++算术表达式1.2.x{x[x(ax+b)+c]+d}+e3.ln(1+||10)4.5.cot6.lg(a2+ab+b2)【答案】1.1/(1+1/(1+1/(x+y)))2.x*(x*(x*(a*x+b)+c)+d)+e3.log(1+pow(fabs((a+b)/(a–b)),10)4.sqrt(1+3.14159/2*cos(48*3.14159/180))5.1/tan((1-x*x)/(1+x*x))或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))6.log10(a*a+a*b+b*b)1.3用关系表达式或逻辑表达式表示下列条件1.i被j整除2.n是小于正整数k的偶数3.1≤x<104.x,y其中有一个小于z5.y[–100,–10],并且y[10,100]6.坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内7.三条边a,b和c构成三角形8.年份Year能被4整除,但不能被100整除或者能被400整除【答案】1.i%j==02.(n3.1<=x&&x<104.x5.!(y>=-100&&y<=-10)&&!(y>=10&&y<=100)6.sqrt(pow((x-10),2)+pow((y-20),2))<357.a+b>c&&b+c>a&&c+a>b8.(year%4==0)&&(year%100!=0)||(year%400==0)1.4阅读下列程序,写出执行结果1.#includevoidmain(){inta=1,b=2,x,y;cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
(X<=1)&&!
(X>=5)
26.已知intx=5;执行下列语句后,x的值为(c)。
x+=x-=x*x;
(a)25(b)40(c)–40(d)20
27.设inta=1,b=2,c=3,d=4;则以下条件表达式的值为(a)。
a
a:
cc:d(a)1(b)2(c)3(d)428.以下逗号表达式的值为(d)。(x=4*5,x*5),x+25(a)25(b)20(c)100(d)451.2把下列数学表达式写成c++算术表达式1.2.x{x[x(ax+b)+c]+d}+e3.ln(1+||10)4.5.cot6.lg(a2+ab+b2)【答案】1.1/(1+1/(1+1/(x+y)))2.x*(x*(x*(a*x+b)+c)+d)+e3.log(1+pow(fabs((a+b)/(a–b)),10)4.sqrt(1+3.14159/2*cos(48*3.14159/180))5.1/tan((1-x*x)/(1+x*x))或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))6.log10(a*a+a*b+b*b)1.3用关系表达式或逻辑表达式表示下列条件1.i被j整除2.n是小于正整数k的偶数3.1≤x<104.x,y其中有一个小于z5.y[–100,–10],并且y[10,100]6.坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内7.三条边a,b和c构成三角形8.年份Year能被4整除,但不能被100整除或者能被400整除【答案】1.i%j==02.(n3.1<=x&&x<104.x5.!(y>=-100&&y<=-10)&&!(y>=10&&y<=100)6.sqrt(pow((x-10),2)+pow((y-20),2))<357.a+b>c&&b+c>a&&c+a>b8.(year%4==0)&&(year%100!=0)||(year%400==0)1.4阅读下列程序,写出执行结果1.#includevoidmain(){inta=1,b=2,x,y;cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
c:
d
28.以下逗号表达式的值为(d)。
(x=4*5,x*5),x+25
(a)25(b)20(c)100(d)45
1.2把下列数学表达式写成c++算术表达式
1.
2.x{x[x(ax+b)+c]+d}+e
3.ln(1+|
|10)4.
5.cot
6.lg(a2+ab+b2)
【答案】
1.1/(1+1/(1+1/(x+y)))
2.x*(x*(x*(a*x+b)+c)+d)+e
3.log(1+pow(fabs((a+b)/(a–b)),10)
4.sqrt(1+3.14159/2*cos(48*3.14159/180))
5.1/tan((1-x*x)/(1+x*x))
或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))
6.log10(a*a+a*b+b*b)
1.3用关系表达式或逻辑表达式表示下列条件
1.i被j整除2.n是小于正整数k的偶数
3.1≤x<104.x,y其中有一个小于z
5.y
[–100,–10],并且y
[10,100]
6.坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内
7.三条边a,b和c构成三角形
8.年份Year能被4整除,但不能被100整除或者能被400整除
1.i%j==02.(n3.1<=x&&x<104.x5.!(y>=-100&&y<=-10)&&!(y>=10&&y<=100)6.sqrt(pow((x-10),2)+pow((y-20),2))<357.a+b>c&&b+c>a&&c+a>b8.(year%4==0)&&(year%100!=0)||(year%400==0)1.4阅读下列程序,写出执行结果1.#includevoidmain(){inta=1,b=2,x,y;cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
3.1<=x&&x<104.x5.!(y>=-100&&y<=-10)&&!(y>=10&&y<=100)6.sqrt(pow((x-10),2)+pow((y-20),2))<357.a+b>c&&b+c>a&&c+a>b8.(year%4==0)&&(year%100!=0)||(year%400==0)1.4阅读下列程序,写出执行结果1.#includevoidmain(){inta=1,b=2,x,y;cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
5.!
(y>=-100&&y<=-10)&&!
(y>=10&&y<=100)
6.sqrt(pow((x-10),2)+pow((y-20),2))<35
7.a+b>c&&b+c>a&&c+a>b
8.(year%4==0)&&(year%100!
=0)||(year%400==0)
1.4阅读下列程序,写出执行结果
1.#include
voidmain()
{
inta=1,b=2,x,y;
cout<cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
cout<x=!a>b;y=x--&&b;cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
x=!
a>b;y=x--&&b;
cout<cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
cout<}【答案】42-102.#includevoidmain(){intx,y,z,f;x=y=z=1;f=--x||y--&&z++;cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
}
4
2
-1
0
2.#include
intx,y,z,f;
x=y=z=1;
f=--x||y--&&z++;
cout<<"x="<cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
cout<<"y="<cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
cout<<"z="<cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
cout<<"f="<}【答案】x=0y=0z=2f=13.#include#includevoidmain(){inta=123;int&ra=a;int*pa=&a;cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
x=0
y=0
z=2
f=1
3.#include
#include
{inta=123;
int*pa=&a;
cout<}【答案】1231737b1.5思考题1.什么叫数据类型?数据的类型定义有什么作用?2.数据对象在C++中有什么不同的访问方式?请编写一个程序验证之。3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。4.什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。5.为了约束只能对数据对象的值做读操作,C++采用什么方式?请做出简要归纳。6.什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。inta=1,b=2;doublex=0.5;1.6编程题1.输入一个三位整数,将它反向输出。【解答】#includevoidmain(){intx,i,j,k;cout<<"pleaseinputx:";cin>>x;i=x/100;j=(x-i*100)/10;k=x-i*100-j*10;cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
1231737b
1.5思考题
1.什么叫数据类型?
数据的类型定义有什么作用?
2.数据对象在C++中有什么不同的访问方式?
请编写一个程序验证之。
3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?
4.什么叫数据对象的引用?
对象的引用和对象的指针有什么区别?
请用一个验证程序说明之。
5.为了约束只能对数据对象的值做读操作,C++采用什么方式?
请做出简要归纳。
6.什么叫表达式?
表达式值的类型由什么因素决定?
使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。
inta=1,b=2;doublex=0.5;
1.6编程题
1.输入一个三位整数,将它反向输出。
【解答】
{intx,i,j,k;
cout<<"pleaseinputx:
";
cin>>x;
i=x/100;
j=(x-i*100)/10;
k=x-i*100-j*10;
cout<}2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。图1.11正方形【解答】#includevoidmain(){floatx,y,b;cout<<"pleaseinputx,y:";cin>>x>>y;b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);cout<}3.输入三个整数,求出其中最小数(要求使用条件表达式)。【解答】#includevoidmain(){inta,b,c,temp,min;cout<<"pleaseinputa,b,c:";cin>>a>>b>>c;temp=(aa:b;min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
2.输入平面上某点横坐标x和纵坐标y,若该点在由图1.11表示的方块区域内,则输出1;否则,输出0。
图1.11正方形
{floatx,y,b;
cout<<"pleaseinputx,y:
cin>>x>>y;
b=(-2<=x)&&(x<=2)&&(-2<=y)&&(y<=2);
cout<
3.输入三个整数,求出其中最小数(要求使用条件表达式)。
{inta,b,c,temp,min;
cout<<"pleaseinputa,b,c:
cin>>a>>b>>c;
temp=(a
b;
min=(temptemp:c;cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
temp:
c;
cout<<"min="<}第2章程序控制结构2.1选择题1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。(a)if(x&&y)i++;(b)if(x=y)i++;(c)if(x||y)i++;(d)if(!x)i++;2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。(a)y=1;(b)y=-1;if(x>=0)if(x!=0)if(x==0)y=0;if(x>0)y=1;elsey=-1;elsey=0(c)if(x<=0)(d)y=-1;if(x<0)y=-1;if(x<=0)elsey=0;if(x<0)y=-1;elsey=1;elsey=1;3.假设i=2,执行下列语句后i的值为(b)。switch(i){case1:i++;case2:i--;case3:++i;break;case4:--i;default:i++;}(a)1(b)2(c)3(d)44.已知inti=0,x=0;下面while语句执行时循环次数为(d)。while(!x&&i<3){x++;i++;}(a)4(b)3(c)2(d)15.已知inti=3;下面do_while语句执行时循环次数为(b)。do{i--;cout<=1);(a)1(b)2(c)3(d)无限6.下面for语句执行时循环次数为(b)。for(inti=0,j=5;i=j;){cout<i++;j--;}(a)0(b)5(c)10(d)无限7.以下死循环的程序段是(b)。(a)for(intx=0;x<3;){x++;};(b)intk=0;do{++k;}while(k>=0);(c)inta=5;while(a){a--;};(d)inti=3;for(;i;i--);2.2阅读下列程序,写出执行结果1.#includevoidmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
第2章程序控制结构
2.1选择题
1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。
(a)if(x&&y)i++;(b)if(x=y)i++;
(c)if(x||y)i++;(d)if(!
x)i++;
2.设有函数关系为y=
,下面选项中能正确表示上述关系为(c)。
(a)y=1;(b)y=-1;
if(x>=0)if(x!
=0)
if(x==0)y=0;if(x>0)y=1;
elsey=-1;elsey=0
(c)if(x<=0)(d)y=-1;
if(x<0)y=-1;if(x<=0)
elsey=0;if(x<0)y=-1;
elsey=1;elsey=1;
3.假设i=2,执行下列语句后i的值为(b)。
switch(i)
{case1:
i++;
case2:
i--;
case3:
++i;break;
case4:
--i;
default:
4.已知inti=0,x=0;下面while语句执行时循环次数为(d)。
while(!
x&&i<3){x++;i++;}
(a)4(b)3(c)2(d)1
5.已知inti=3;下面do_while语句执行时循环次数为(b)。
do{i--;cout<
=1);
(a)1(b)2(c)3(d)无限
6.下面for语句执行时循环次数为(b)。
for(inti=0,j=5;i=j;)
{cout<
i++;j--;
(a)0(b)5(c)10(d)无限
7.以下死循环的程序段是(b)。
(a)for(intx=0;x<3;){x++;};
(b)intk=0;
do{++k;}while(k>=0);
(c)inta=5;while(a){a--;};
(d)inti=3;for(;i;i--);
2.2阅读下列程序,写出执行结果
{inta,b,c,d,x;
a=c=0;b=1;d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)
x=15;
elsex=25;
cout<}【答案】202.#includevoidmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
20
2.#include
{inta=0,b=1;
switch(a)
{case0:
switch(b)
cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
case1:
cout<<"a="<}case1:a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
a++;b++;cout<<"a="<}}【答案】a=0b=1a=1b=23.#includevoidmain(){inti=1;while(i<=10)if(++i%3!=1)continue;elsecout<}【答案】47104.#includevoidmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【答案】i=4j=15.#includevoidmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
a=0b=1
a=1b=2
3.#include
{inti=1;
while(i<=10)
if(++i%3!
=1)
continue;
elsecout<
7
10
4.#include
{inti=0,j=5;
do
{i++;j--;
if(i>3)break;
}while(j>0);
cout<<"i="<
i=4j=1
5.#include
{inti,j;
for(i=1,j=5;i{j--;}cout<}【答案】336.#includevoidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<"s="<}【答案】s=77.#includevoidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
{j--;}
33
6.#include
{inti,s=0;
for(i=0;i<5;i++)
s+=i;break;
s+=2;
cout<<"s="<
s=7
7.#include
{inti,j,x=0;
for(i=0;i<=3;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
cout<<"x="<}【答案】x=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.4编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includevoidmain(){floatscore;cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个数,按从小到大的顺序输出。【解答】#includevoidmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
x=16
2.3思考题
1.C++中有什么形式的选择控制语句?
归纳它们语法形式、应用场合。
根据一个实际问题使用不同的条件语句编程。
2.什么叫循环控制?
归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。
3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。
4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。
分析在什么情况下可以适当使用goto语句。
2.4编程题
1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。
{floatscore;
cout<<"pleaseinputscore:
cin>>score;
if(score>=85)cout<<"Verygood!
elseif(score>=60)cout<<"Good!
elsecout<<"Nogood!
2.输入三个数,按从小到大的顺序输出。
{inta,b,c,t;
cout<<"a,b,c=";
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。【解答】#includevoidmain(){floata,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
{floata,b,c;
if(a+b>c&&b+c>a&&c+a>b)
{if(a==b&&b==c)
cout<<"等边三角形!
"<elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
elseif(a==b||a==c||b==c)
cout<<"等腰三角形!
"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
elsecout<<"一般三角形!
"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
elsecout<<"不能形成三角形!
"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】#includevoidmain(){floatscore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}}else{cout<<"数据输入错误!"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
4.输入百分制成绩,并把它转换成五级分制,转换公式为:
{floatscore;chargrade;
cout<<"score=";
if(score>=0&&score<=100)
{switch(int(score)/10)
{case10:
case9:
grade='a';break;
case8:
grade='b';break;
case7:
grade='c';break;
case6:
grade='d';break;
case5:
case0:
grade='e';break;
else
{cout<<"数据输入错误!
"<gotoend;}cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
gotoend;}
cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】2#include3voidmain()4{charfirst,second;5cout<<"Firstinput(s,rorp):";6cin>>first;7cout<<"Secondinput(s,rorp):";8cin>>second;9switch(first)10{case's':11switch(second)12{case's':cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
end:
;//分号不能省
5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:
剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
2#include
3voidmain()
4{charfirst,second;
5cout<<"Firstinput(s,rorp):
6cin>>first;
7cout<<"Secondinput(s,rorp):
8cin>>second;
9switch(first)
10{case's':
11switch(second)
12{case's':
cout<<"Scissortiesscissor."<13case'r':cout<<"Scissoriscrushedbyrock."<14
13case'r':
cout<<"Scissoriscrushedbyrock."<14
14
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2