c程序的控制结构习题复习资料

合集下载

C++第三章 基本控制结构程序设计习题解答

C++第三章 基本控制结构程序设计习题解答

第三章基本控制结构程序设计习题一.基本概念与基础知识自测题3.1 程序阅读题3.1.3 请看如下程序段:if(num==1) cout<<”Alpha”;else if(num==2) cout<<”Bata”;else if(num==3) cout<<”Gamma”;else cout<<”Delta”;当num的值分别为1、2、3时,上面程序段的输出分别为(1)、(2)、(3)。

解答:检查条件语句与字符串输出概念:(1)Alpha(2)Bata(3)Gamma3.1.4 执行下面程序段后,m和k的值分别为(1)、(2)。

int m,k;for(k=1,m=0;k<=50;k++){if(m>=10) break;if(m%2==0){m+=5;continue;}m-=3;}(2)6二.编程与综合练习题3.2 编程求一元二次方程ax2+bx+c=0的根。

包括以下判断和结果:若输入a=0,给出提示;若∆>0,输出两个不等实根;若∆=0,输出两个相等实根;若∆<0,输出两个复数根。

解:本题以一个绝对值极小的数作为实数0。

#include <iostream.h>#include <math.h>#include <stdlib.h>void main(){double a,b,c;double delta,x1,x2;const double zero=1e-9; //定义一个很小的常数int sign;cout<<"输入三个系数a(a!=0), b, c:"<<endl;cin>>a>>b>>c;if(fabs(a)<zero){cout<<"二次项系数为0,方程根是-c/b";exit(0);}cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl;delta=b*b-4*a*c;if(fabs(delta)<zero){//绝对值很小的数即被认为是0cout<<"方程有两个相同实根:";cout<<"x1=x2="<<-b/(2*a)<<endl;}else {if(delta>0)sign=1;elsesign=0;delta=sqrt(fabs(delta));x1=-b/(2*a);x2=delta/(2*a);if(sign){cout<<"方程有两个不同实根:";cout<<"x1="<<x1+x2<<'\t'<<"x2="<<x1-x2<<endl;}else{//delta<0cout<<"方程无实根!有两个不同复数根:";cout<<"x1="<<x1<<"+i"<<x2<<'\t'<<"x2="<<x1<<"-i"<<x2<<endl;}}}3.3 设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80~89分为4分,70~79分为3分,60~69分为2分,60分以下为1分。

C语言考试习题及答案

C语言考试习题及答案
第一章 C语言程序设计概述习题
1. C语言程序的基本结构是【 】。 A) 函数 B) 语句 C) 字符 D) 程序行 2. 下列四个叙述中,正确的是【 】 A)在C程序中,主函数必须位于其他函数的最前面 B)在C程序中,一行只能写一条语句 C)C程序的基本结构是程序行 D)C语句是完成程序功能的最小单位 3. C语言规定,在一个C程序中,main()函数的位置是【 】 A) 必须在开始 B) 必须在最后 C) 可以任意 D) 必须在系统调用的库函数之后 4. 以下叙述中,正确的是【 】 。 A) C语言程序总是从第一个定义的函数开始执行 . B) C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 5. 在C语言提供的合法的关键字是【 】 A) switch B) cher C) Case D) FLOAT 6. 以下用户标识符,其中合法的是【 】 A) For B) 4d C) f2.G3 D) _f#
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【 】。 A)6 B) 4 C) 8 D) 2 8. 列四组数据类型中,C语言允许的一组是【 】 A) 整型、实型、逻辑型,双精度型 B) 整型、实型、字符型,无值类型 C) 整型、双精度型、布尔型,无值类型 D) 整型、实型、复型、字符型 9. 以下能正确定义变量a, b和c并为它们赋值的语句是【 】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 10. C语言所提供的五种基本数据类型包括:字符型、整型、双精度 型、浮点型和【 】。 A) 指针型 B) 结构型 C) 数组型 D) 无值类型 11. 设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f 的 数据类型是【 】。 A) int型 B) float 型 C) double型 D) 不确定 12. 若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式 (x+y)%2+(int)a/(int)b的值是【 】。 A) 0 B) 2 C) 1.5 D) 1 13. 若d为double型, 表达式 d=1, d+5, d++ 的值是【 】。 A) 1 B) 6.0 C) 2.0 D) 1.0 14. 设int a=1, d=4;float b=2.0, c=3.0, 则表达式: a+b*c-d%2 的值 是【 】。 A) 5 B) 6 C) 5.0 D) 6.0 15. 下列运算符中,优先级最高的是【 】。 A) * B) ++ C) + D) /= 16. 若希望当整型变量A的值为5时, 表达式的值为1, 则下面不能满足 要求的表达式是【 】。 A) A/2-1 B) A%2 C)(A-2)/2 D) (A+3)%2 17. a、b均为整数, 且b≠0, 则表达式 a/b*b+a%b的值是【 】。 A) a B) b C) a被b除的余数部分 D) a被b除商的整数部 分 18. 设x、y、z、s均为int型变量,且初值均为1,则执行语句s=(++x)+ (++y)-(++z);后, s的值为【 】。

C语言第四章程序控制结构复习题

C语言第四章程序控制结构复习题

C语言第四章程序控制结构复习题选择结构程序设计复习题一.选择题1.已有定义语句:int x=3,y=4,z=5;,则值为0的表达式是:()a) x>y++ b) x<=++y c) x !=y+z>y-z d) y%z>=y-z 2.已有定义语句:int x=3,y=0,z=0;,则值为0的表达式是:()a) x&&y b) x||z c) x ||z+2&&y-z d) !((x<y)&& !z||y)<="" bdsfid="66" p=""></y)&&>3. x为奇数时值为“真”,x为偶数时值为“假”的表达式是:()a) !(x%2==1) b) x%2==0 c) x%2 d) !(x%2)4. 已有定义语句:int a=3,b=4;,则执行下述表达式后,变量b 的值是:()(a++==4)&&(b++==5)a) 3 b) 4 c) 5 d) 65. 已有定义语句:int a=4,b=6;,则执行下述表达式后,变量b 的值是:()(a++==4)||(b++==6)a) 4 b) 5 c) 6 d) 76. 已有定义语句:int x=6,y=4,z=5;,执行以下语句后,能正确表示x,y,z值的选项是:()if(xa) x=4,y=5,z=6b) x=4,y=6,z=6c) x=4,y=5,z=5d) x=5,y=6,z=47. 以下程序的运行结果是:()main(){ int i=0;if(i==0) printf(“**”);else printf(“$”); printf(“*\n”);}a) * b) $* c) ** d) ***8. 若变量a,b,c都为整型,且a=1、b=15、c=0,则表达式a==b>c的值是()a) 0 b) 非零c) “真”d) 19. a为0时,值为“真”的表达式是()a) a b) !(++a) c) a=0 d) a==010. 若有定义和语句:int a=4,b=5,c=0d; d=!a&&!b||!c;,则d 的值是()a) 0 b) 1 c) -1 d) 非0的数11. 以下选项不能正确判断a为偶数的表达式是()a) a%2==0 b) !a%2!=0c) a/2*2-a==0 d) !(a%2)12. 有以下程序:main(){ int a=2,b=1,c=2;if(b<a)< bdsfid="99" p=""></a)<>if(b<0) c=0,c++;b++;printf(“b=%d,c=%d\n”,b,c);}程序的输出结果是:()a) b=1,c=2 b) b=1,c=0c) b=2,c=2 d) b=1,c=113. 有以下程序:main(){ int n;scanf(“%d”,&n);if(n++<5) printf(“%X\n”,n);else printf(“%X\n”,n--);}若执行程序时从键盘上输入9,则输出结果是:()a) 11 b) A c) 9 d) 814. 有以下程序:main(){ int m=5;if(++m>5)if(m++>5) printf(“%d\n”,m+5); else printf(“%d\n”,m--);else printf(“%d\n”,--m);}程序的输出结果是:()a) 8 b) 5 c) 10 d) 1215. 有以下程序:main(){ float x=2.0,y;if(x<0.0) y=0.0;else if(x<5.0)&&(!x)) y=1.0/(x+2.0); else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}程序的输出结果是:()a) 0.000000 b) 0.250000c) 0.500000d) 1.00000016. 假设所有变量均已正确说明:a=b=c=0; x=35;if(!a) x--;else if(b) ; if(c) x=3;else x=4;以上程序段运行后,x的值是:()a) 34 b) 35 c) 4 d) 317. 当a=1、b=3、c=5、d=4时,执行下面一段程序:if(a<b)< bdsfid="147" p=""></b)<>if(celseif(a<c)< bdsfid="152" p=""></c)<>if(belse x=3;else x=6;else x=7;以上程序段运行后,x的值是:()a) 1 b) 2 c) 3 d) 618. 执行以下程序:main(){ int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a==b) t=5;else t=2*s;printf(“t=%d\n”,t);}要使输出结果为:t=4,给a和b输入的值应满足的条件是:()a) a>b b) a<b<a a>b</b19. 以下程序的输出结果是:()main(){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b ?(a>c ? a:c) : (b));}a) 5 b) 4 c) 6 d) 不确定20. 若有定义语句:int x=3,y=2,z=1; 则以下表达式的值是:()z*=(x>y ? ++x :y++)a) 0 b) 1 c) 4 d) 321. 有以下程序:main(){ int a=15,b=21,m=0;switch(a%3){ case 0: m++;break;case 1: m++;switch(b%2){ default: m++;case 0: m++;break;}}printf(“%d\n”,m);}程序的输出结果是:()a) 1 b) 2 c) 3 d) 422.以下while循环中,循环体执行的次数是:()k=1;while (--k) k=10;a) 10次b) 无限次c) 一次也不执行d) 1次23.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=0;while (!x!=0) x++;a) 退出while循环后,x的值为0b) 退出while循环后,x的值为1c) while的控制表达式是非法的d) while循环执行无限次24. 有以下程序段,其中n为整型变量,执行后输出结果是:()while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 025. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()t=1;while (-1){ t--;if(t) break;}a) 循环一次也不执行b) 循环执行一次c) 循环控制表达式(-1)不合法d) 循环执行2次26. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=-1;do{;}while (x++);printf(“x=%d”,x);a) 该循环没有循环体,程序错误b) 输出x=1c) 输出x=0d) 输出x=-127. 有以下程序段,其中x,y为整型变量,程序输出结果是:()for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;printf(“x=%d,y=%d”,x,y);a) x=2,y=0 b) x=1,y=0c) x=1,y=1 d) x=0,y=028. 有以下程序:{ int x=0,y=0;while(x<5&&++y) y--,x++; printf(“%d,%d”,y,x);}程序的输出结果是:()a) 0,5 b) 1,5 c) 0,4 d) 1,429. 有以下程序:main(){ int num=0;do{ num++ ;printf(“%d\n”,num); } while(num<=2);}程序的输出结果是:()a) 1 b) 1c) 1 d) 12 2 23 3430. 有以下程序:main(){ int x=3;do{ printf(“%d”,x-=2); }while(!(--x));}程序的输出结果是:()a) 1 b) 3 0 c) 1 -2 d) 死循环31. 有以下程序:main(){ int y=10;do { y--; } while(--y);printf(“%d\n”,y--);}程序的输出结果是:()a) 1 b) -1 c) 8 d) 032. 有以下程序:main(){ int x=3,y;do{ y=--x;if( !y) printf(“x”) ;else printf(“y”) ;} while(x);}程序的输出结果是:()a) xyx b) yyx c) yxx d) yxy33. 有以下程序段,此处do-while循环的结束条件是:()int n=0,p;do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3);a) p的值不等于12345并且n的值小于3b) p的值等于12345并且n的值大于等于3c) p的值不等于12345或者n的值小于3d) p的值等于12345或者n的值大于等于334. 有以下程序:main(){ int a,b,t;for(a=3,b=0 ;!a==b ;a--,b++)if(a>b) { t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);程序的输出结果是:()a) 4,1 b) 1,4 c) 4,-1 d) -1,435. 有以下程序:main(){ int x=3,y=0;do{ while( !y) y=-x;} while(x--);printf(“%d,%d\n”,x,y);}程序的输出结果是:()a) -1,3 b) -1,-3c) 0,0 d) 1,-336. 有以下程序:main(){ int m,n;printf(“Enter m,n:”) ; scanf(“%d%d”,&m,&n); while(m!=n){while(m>n) m-=n;while(n>m) n-=m;}printf(“m=%d\n”,m);}程序的输出结果是:()a) m=3 b) m=2 c) m=1 d) m=037. 有以下程序:main(){ int i,s=1;for(i=1 ;i<=50 ;i++)if( !(i%5)&& !(i%3)) s+=i;printf(“%d\n”,s);程序的输出结果是:()a) 409 b) 277 c) 1 d) 9138. 有以下程序:main(){ int x=0,y=0,i;for(i=1 ; ;++i){ if(i%2==0) {x++ ;continue ;} if(i%5==0) {y++ ;break ;}}printf(“%d,%d”,x,y);}程序的输出结果是:()a) 2,1 b) 2,2 c) 2,5 d) 5,239. 有以下程序:main(){ int i=0,a=0;while(i<30){for(;;){if((i%10)==0) break;else i--;}i+=11; a+=i;}printf(“%d\n”,a);}程序的输出结果是:()a) 66 b) 63 c) 33 d) 3240. 有以下程序:main(){ int a,b;for(a=1,b=1 ;a<=100 ;a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);}程序的输出结果是:()a) 101 b) 6 c) 5 d) 441. 有以下程序:main(){ int i=0;for(i+=3 ;i<=5 ;i=i+2)switch(i%5){ case 0: printf(“*”);case 1: printf(“#”); break;default: printf(“!”); break;case 2: printf(“&”);}}程序的输出结果是:()a) *# b) !& c) !*# d) *#*二.填空题1.设y是int型变量,请写出当y是奇数时值为1的关系表达式_ y%2 或y%2==0 或y%2!=0_.2. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是__ x>5||x<-5__.3. 若x为int类型,请以最简单的形式写出与!x等价的C语言表达式___ x==0__.4. 设x,y,z,t均为int型变量,则执行下述语句后,x的值是__4__,y的值是__3__,z的值是__4__,t的值是__1__。

第3章C语言程序的控制结构

第3章C语言程序的控制结构
操作功能。 空语句在程序中经常出现在循环体中,用以实现
延时功能。
第3章 C语言程序的控制结构 3.2.4 注释行 注释行的一般形式如下: /*注释内容*/ 其中,注释内容是对程序段或程序行的注释说明。注释行可以 作为单独的一行出现在程序中, 也可以出现在某个语句之后。
第3章 C语言程序的控制结构 例3.1 少只。 已知鸡兔总头数为h,总脚数为f,求鸡兔各有多
v=3.14*r*r*h/3; printf("v=%f\n",v);
}
第3章 C语言程序的控制结构
3.3 分支结构
3.3.1 关系运算符和关系表达式 所谓关系运算实际上是比较运算。关系运算将两个数值进 行比较,并判断比较的结果是否符合规定的条件。
第3章 C语言程序的控制结构 表 3-1 关系运算符
↑↑ ↑↑↑ ↑
① ⑤ ⑥④③ ② 该表达式的值为1。 运算顺序为圆圈内数字标明的优先顺序。
第3章 C语言程序的控制结构
实际上,逻辑运算符两侧的不等式,不但可以是0和1,
或者是0和非0的整数,也可以是任何类型的数据。例如,可以 是字符型、 实型或指针型等。系统最终以0或非0来判断它们 属于“真”或“假”。 例如: ′a′&&′b′ 该逻辑表达式的值为1。 因为′a′和′b′的ASCII码均不为0。
第3章 C语言程序的控制结构
(b>a)==c
为真, 表达式的值为1, 因为b>a的值为1
(真),等于c的值; a>b+c 为假,表达式的值为0。
如果有以下赋值表达式,则 d=a>b e=a<b<c d的值为0; e的值为0,因为a<b的值为1, 而1不小于c;

C++作业2-控制结构

C++作业2-控制结构

一、判断题(每小题2分,共20分)1.switch结构case语句后的多个语句必须放在花括号中。

答案:F。

2.要在if选择结构体中包括多条语句,就要把这些语句放在花括号中。

复合语句可以放在程序中出现单个语句的任何地方。

答案:T3.空语句就是在正常语句出现的地方放一个分号(;),表示不采取任何操作。

答案:T4.do/while重复结构执行循环体之后再测试循环条件,因此,do/while结构至少执行循环体一次。

答案:T5. break语句在while、for和do/while结构中执行时,将使程序立即退出这些结构。

答案:T6.大多数程序中,每个case面的语句之后要包括一个break语句。

几个case可以不执行相同语句。

答案:F7.continue语句用于循环语句中,并不终止本层循环,而只是绕过本次循环。

答案:T8.如果表达式x>y为true或a<b为true,则表达式(x>y&&a<b)为true。

答案:F9.for重复结构处理计数器控制循环的所有细节。

for结构的一般格式如下: for(expression1, expression2, expression3)statement其中expression1初始化循环控制变量,expression2是循环条件,expression3递增控制变量。

答案:F10.goto语句只能从循环体内跳到循环体外,不能从循环体外跳到循环体内。

答案:T二、选择题(每题3分,共45分)1.若k为整型,以下while循环体中的语句执行( )。

k=2;while(k=0){cout<<k;k--;cout<<" ";}A.无限次B.0次C.1次D.2次答案:B2.在下列选项中,会构成死循环的是( )。

A. int i=100;B. for(;;);C. int k=10000;D. int s=36;答案:B3.为了避免在嵌套的条件语句if…else中产生二义性,C++规定else子句总是与()配对。

C++(练习)第2章,程序控制结构

C++(练习)第2章,程序控制结构

一,单选题1. 有如下语句序列:int k=0;do{k+=5;cout<<'$';}while(k<19);while(k-->0)cout <<'*';执行上面的语句序列输出字符“$”和“*”的个数分别是()。

A 4和20B 5和20C 4和21D 5和21参考答案A2. 循环体被至少执行一次的循环语句为_______。

A whileB forC do ...whileD 多重循环参考答案C3. 有如下程序:int x=3;do{x-=2;cout<<x;} while(!(--x));执行这个程序的输出结果是()。

A 1B 3 0C 1-2D 死循环参考答案C4. 有如下程序段:int i=1;while(1){ i++;if (i%3==0) cout<<"*";}执行这个程序段输出字符*的个数是( )。

A 1B 2C 3D 4参考答案C5. 以下为死循环的程序段是()。

Afor ( int x=0; x<3; x-- )x+=2;Bint k = 0;do{ ++k; } while ( k>=0 );Cint a = 5;while ( a ){ a--; }Dint i = 3;for ( ; i; i-- );参考答案B6. C++语言的跳转语句中,对于break和continue说法正确的是__________。

A break语句只应用于循环体中B continue语句只应用于循环体中C break是无条件跳转语句,continue不是D break和continue的跳转范围不够明确,容易产生问题参考答案B7. 有如下程序段:int i=1;while(1){ i++;if (i%3==0) cout<<"*";}执行这个程序段输出字符*的个数是( )。

(3)程序控制结构(选择结构)-田媚

(3)程序控制结构(选择结构)-田媚
• 格式输出函数 • 格式输入函数
17
例:设1990年我国工业产值是100,如果每年以7.4% 的速度增长,求20年后我国的工业产值是多少?
1.
分析:计算产值的公式是:
p1=p0(1+r)n 其中:p1为n年后的产值,p0为初始值, r为增长率,n 为年数。
2. 3.
安排计算步骤 写出完整的程序
18
5
6ቤተ መጻሕፍቲ ባይዱ
1
主 函数一个C 1. 一个 C 程序必须有一个_____
二、填空:
主 函数开始执行。 程序必定从______
7
8
2. C 语言中的标识符可分为
用户标识符 关键字 、______________ _______
3. C 语言程序中的数据,在计算机内存储器中
位 ,其中只能存 最小的存储单位称为______
if
if 语句
if–else else–if
if(表达式)语句; if (表达式)语句; if(表达式)语句1 if(表达式)语句 1; else 语句2 语句2; if(表达式1 if(表达式 1)语句 )语句1 1; else if(表达式 if(表达式2 2)语句 )语句2 2; … else if(表达式 if(表达式m m)语句 )语句m m; else 语句 n; 36
23
一、关系运算符和关系表达式
关系表达式概念:
用关系运算符将两个表达式(可以是算术 用关系运算符将两个表达式 (可以是算术 表达式、关系表达式、赋值表达式或逻辑表达 式)连接起来的式子,称为关系表达式。 式) 连接起来的式子,称为关系表达式。
关系表达式 逻辑表达式
关系运算符:
< <= > >=

C程序设计复习资料(含答案)

C程序设计复习资料(含答案)

C程序设计复习资料(含答案)C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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<<”a=”<<a<<”,b=”<<b;
}
A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2
switch(a)
{case 0: switch(b)
{ case 0:cout<<”a=”<<a<<”b=”<<b<<endl; break;
case 1:cout<<”a=”<<a<<”b=”<<b<<endl; break;
}
case 1:a++; b++; cout<<"a= “<<a<<”b=”<<b<<endl;
}
}
a=0 b=1
a=1 b=2
4.3 #include <iostream.h>
void main()
{int i=1;
while(i<=10)
if(++i%3!=1)
continue;
else cout<<i<<endl;
}
4 7 10
4.4 #include<iostream.h>
void main()
{int i,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<<endl;
}
x=16
5.编程题
5.1求100~200之间不能被3整除也不能被7整除的数。
#include<iostream>
2.2什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程,比较其异同点。
2.3根据一个实际问题,用不同的循环语句编程,分析其优缺点。
3.选择题
3.1对if语句中的表达式的类型,下面描述正确的是(D)。
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
3.4已知int i=0,x=0;下面while语句执行时的循环次数为(D)。
while(!x && i<3) {x++;i++;}
A. 4 B.3 C.2 D.1
3.5以下形成死循环的程序段是(B )。
A. for(int x=0;x<3;){x++;};
B. int k=0; do{++k;} while(k>=0);
}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=1980; emp.birth.month=5;emp.birth.day=l;
using namespace std;
int main(){
int i ;
概念填空题
1.1任何算法的描述都可以分解为顺序结构、分支结构和循环结构。顺序结构的特点是各块按照书写次序依次执行。分支结构的特点是根据条件判断选择执行路径。循环结构用于实现重复性动作。根据算法的有穷性,循环必须在一定条件下进行,无条件必然会导致死循环。
1.2 switch语句执行流程是:①求表达式的值,其中表达式的值只能是整型、字符型、布尔型或枚举型等类型,而不能取实型这样的连续值;②在常量表达式中找与之相等的分支作为执行入口,并从该分支的语句序列开始执行下去,直到遇到break或switch的结束括号“}”为止;③当表达式的值与所有常量表达式的值均不相等时,若有default分支,则执行其语句序列;④若没有该分支,则结束switch语句,继续后续语句的执行;
1.4 C++中的文件有两个相互联系的概念:内部文件和外部文件。文件通常是指磁盘文件,这里称为外部文件;而在程序中运行的文件则称为内部文件,更正式的名称是文件流对象。程序中操作的是内部文件,最后保存的是外部文件。
2.简答题
2.1 C++中有什么形式的选择控制语句?归纳它们的语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。
1.3 c++中提供了若干转向语句,可以改变程序原来的执行顺序。break语句只能用在switch语句和循环语句中,从该处跳出switch语句或循环语句,转去执行switch语句或循环语句之后的语句。continue语句只能用在循环中,程序执行到continue语句时,将跳过其后尚未执行的循环体语句,开始新的循环。return语句用在函数中,用来返回到函数调用处。
C.int a=5;while(a){a--;};
D.int i=3;结构变量emp定义为;
strnct Employee{
char name[20];
long code;
struct{
int year;int month;int day;
}birth;
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;
cout<<d<<endl;
}
20
4.2 #include <iostream.h>
void main()
{int a=0, b=1:
C.必须是关系表达式或算术表达式
D.可以是任意表达式
3.2与for(表达式1;表达式2;表达式3)功能相同的语句为(A)。
A.表达式1;B.表达式1;
while(表达式2){while(表达式2){
循环体;表达式3;
表达式3;}循环体;}
C.表达式1;D.do{
do{表达式1;
循环体;循环体;
表达式3;}while(表达式2);表达式3;} while(表达式2)
3.7下面的程序段循环执行了(A)次。
int k=10;
while (k=3) k=k-1;
A.死循环B.0次C.3次D.7次
3.8语句while(!E)中的表达式!E等价于(A)。
A.E==0B.E!=1C.E!=0D.E= =1
4.写出下列程序运行结果
4.1#include <iostream.h>
相关文档
最新文档