1、1 概念填空题1.1 任何算法的描述都可以分解为顺序结构、分支结构和循环结构。 顺序结构 的特点是各块按照书写次序依次执行。 分支结构 的特点是根据条件判断选择执行路径。 循环结构 用于实现重复性动作。根据算法的 有穷性 ,循环必须在一定条件下进行,无条件必然会导致 死循环 。1.2 switch 语句执行流程是: 求表达式的值,其中表达式的值只能是 整型 、 字符型 、 布尔型 或 枚举型 等类型,而不能取 实型 这样的连续值;在常量表达式中找与之相等的分支作为执行入口,并从该分支的语句序列开始执行下去,直到遇到 break 或switch 的结束括号“”为止;当表达式的值与所有常量表达式的
2、值均不相等时,若有 default 分支,则执行其语句序列;若没有该分支,则结束 switch 语句,继续 后续 语句的执行;1.3 c+中提供了若干转向语句,可以改变程序原来的执行顺序。 break 语句只能用在switch 语句和循环语句中,从该处跳出 switch 语句或循环语句,转去执行 switch 语句或循环语句之后的语句。continue 语句只能用在 循环 中,程序执行到 continue 语句时,将跳过其后尚未执行的循环体语句,开始 新的 循环。 return 语句用在函数中,用来返回到函数 调用 处。1.4 C+中的文件有两个相互联系的概念:内部文件和外部文件。文件通常是指
3、 磁盘文件 ,这里称为外部文件;而在程序中运行的文件则称为 内部文件 ,更正式的名称是文件流对象。程序中操作的是 内部文件 ,最后保存的是 外部文件 。2.简答题2.1 C+中有什么形式的选择控制语句?归纳它们的语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.2 什么叫循环控制?归纳比较 C+中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程,比较其异同点。2.3 根据一个实际问题,用不同的循环语句编程,分析其优缺点。3.选择题3.1 对 if 语句中的表达式的类型,下面描述正确的是( D ) 。A.必须是关系表达式B.必须是关系表达式或逻辑表达式C.必须是关
4、系表达式或算术表达式D.可以是任意表达式3.2 与 for(表达式 1;表达式 2;表达式 3)功能相同的语句为( A ) 。A表达式 1; B表达式 1;while(表达式 2) while(表达式 2)循环体; 表达式 3;表达式 3; 循环体;C表达式 1; Ddodo 表达式 1;循环体; 循环体;表达式 3;while(表达式 2); 表达式 3; while(表达式 2)3.3 以下程序输出结果为(A ) 。void main() int x(1),a(0),b(0);switch(x)case 0:b+;case 1:a+;case 2:a+;b+;cout=0);C.int a
5、=5;while(a)a-;D.int i=3;for( ; i ; i-);3.6 已知有职工情况结构变量 emp 定义为;strnct Employeechar name20;long code;structint year; int month; int day;birth;emp;下列对 birth 的正确赋值方法是( D)。A.year=1980; month=5; day=1;B.birth.year=1980; birth.month=5; birthday=1;C.emp.year=1980; emp.month=5;emp.day=1;D.emp.birth.year=198
6、0; emp.birth.month=5;emp.birth.day=l;3.7 下面的程序段循环执行了(A )次。int k=10;while (k=3) k=k-1;A死循环 B0 次 C3 次 D7 次3.8 语句 while(!E) 中的表达式!E 等价于(A) 。AE=0 BE!=1 CE!=0 DE= =14.写出下列程序运行结果4.1#include void main()int a,b,c,d,x;a=c=0; b=1;d=20;if(a) d=d-10;else if(!b)if(!c)x=15;else x=25;coutvoid main()int a=0, b=1:sw
7、itch(a)case 0: switch(b) case 0:coutvoid main()int i=1;while(ivoid main()int i,j,x=0;for(i=0;iusing namespace std;int main()int i ;for(i=100;iusing namespace std;int main()int a,b,i;int max,min;cinab;min=ab? a:b;for(i=min;i=1;i-)/求最大公约数if(a%i=0 int main()int a,b;cina;b=0;for(;a;)b=b*10+a%10;a/=10;co
8、utusing namespace std;int main()double s=0,i=1;int p=1;dos=s+p*1/i;i+=2;p*=-1;while(1/i=1e-6);coutusing namespace std;int main()char in;int i,j;docoutin;if(in=97)int line=in-A;for (i=0;i0;j-) cout0;i-)/下三角(少一行)for(j=0;jusing namespace std;void main()char c;int i,j,k,n,cinc;/输入AZ等符号n=c-A;for(i=-n;ius
9、ing namespace std;int main()int s,l,w;/l 表示距离,w 表示重量cinlw;if(wusing namespace std;int main()int s=0,neg=0,plu=0;int n;cinn;while(n!=0)s+=n;if(n0)plu+;else neg+;cinn;coutusing namespace std;int main()int i,a,sum_yz; /sum_yz是a的因子和for(a=1;ausing namespace std;int main()int i,j,k,count=0;for(i=0;i=0)cou
10、tusing namespace std;int main()char st15=A,B,C,D,E,st25=J,K,L,M,N;int i=0,j,k,l,m,n;for(j=0;j5;j+)/0号位if(j=0) continue;/A选手不与选手J比赛,即st10不与st20比赛for(k=0;k5;k+)/1号位if(k=j) continue;/剔除乙队占据0号位的选手for(l=0;l5;l+)/2号位if(l=j|l=k) continue;/剔除乙队占据0、 1号位的选手for(m=0;m5;m+)/3号位if(m=j|m=k|m=l) continue;/剔除乙队占据0、1、2号位的选手if(m=3) continue;/st13不与st23比赛,即D不与M比赛for(n=0;n5;n+)/4号位if(n=j|n=k|n=l|n=m) continue;/剔除乙队占据0、1、2、3号位的选手if(n=3) continue;/st14不与st23比赛,即E不与M比赛coutst10-st2jtst11-st2kt;coutst12-st2ltst13-st2mt;coutst14-st2nendl;i+;coutiendl;return 0;