C++程序设计教程 期末复习练习一c++.doc_第1页
C++程序设计教程 期末复习练习一c++.doc_第2页
C++程序设计教程 期末复习练习一c++.doc_第3页
C++程序设计教程 期末复习练习一c++.doc_第4页
C++程序设计教程 期末复习练习一c++.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

期末复习练习一一单项选择题(每小题1分,共20分)1、假设定义:int x = 3, y = 3; 则复合赋值表达式x/=1+y的值为 A 因为定型为整形(A) 0 (B) 0.75 (C) 6 (D) 以上都错2、表达式: 35 & -1 | 6 1/2) a=1; else a=0; 运行后, a的值是 B(A) 1 (B) 0 (C) 与机器有关 (D) 语法有错4、执行下列程序段后,a值为 Aa=1; b=0;if (a+b)?a+:b-) a += b;(A) 2 (B) 3 (C) 4 (D) 55、下列程序段执行后s值为 Cint i=1, s=0;do if (!(i%2) continue; s+=i; while (+i10);(A) 1 (B) 45 (C) 25 (D) 以上均不是6、对于int a,则表达式 1=ab?a+:b+,a+b)的值是(B )。(A) 7 (B)8 (C)9 (D)212.设a为int型变量,执行下列赋值语句后,a的取值分别是( B )。a=125.534; a=(int)125.521%4; a=52;(A)125,31,1 (B)125,1,20 (C)125,31,20 (D) 125.534,2,2013.设有如下程序段,下面描述中正确的是 ( C )。int k=10; while(k=0) k=k-1;(A) 循环执行一次 (B)循环是无限循环(C)循环体语句一次也不执行 (D)循环体语句执行一次14. 以下程序的输出结果为(A )。int i;void prt( ) for(i=5;i8;i+) printf(%c,*);printf(t);main( ) for(i=5;i=48&x=97&x=1222、用下列for循环将大写字母逆序输出(即从Z到A), 其语句应为:for (i=0; i26; i+)printf(“%c”,90-i); ;3、53十进制的值是 40 。4、若有定义: int m=5,y=2; 则执行表达式y+=y-=m*=y后的y值是 -165、在C语言中,表示逻辑“真”值用 1 表示。6、x,y,z均为整型变量,请写出描述“x或y等于z”的表达式_ x=z|y=z _ _。7、continue 只能出现在循环 语句中。8、若已知a=1,b=2,则表达式!ab的值为_ 1 _。9、C语言的基本数据类型分为_int_ _、float_ _、_char_ _。10、已知字母A的ASCII码值为十进制数65,且ch为字符型,则执行语句ch=A+6-0后,ch的值为_G _。三、程序分析题阅读下述程序,写出执行结果1、 #define X 5#define Y X+1#define Z Y*X/2main( )int a; a=Y;printf(Z=%d, a=%dn, Z, a);执行结果为:Z=7 , a=62. unsigned fun6(unsigned num) unsigned k=1;do k*=num%10; num/=10; while(num);return k;main() unsigned n=26;printf(fun=%dn,fun6(n);执行结果为:_ fun=12 .13. main( ) int p7=11,13,14,15,16,17,18;int i=0,j=0;while (i7 & pi%2=1) j+=pi+;printf(“n=dn”,j); 执行结果为:4. main( ) int a44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18;int i=0,j=0,s=0;while(i+4) if(i=2|i=4)continue;j=0;do s+=aij; while(j4);printf(“s=dn”,s); 执行结果为: n=245. #define PRINTAB printf(%d, %dn, a, b);#define PRINTXY printf(%d, %dn, x, y);void swap( int x, int y) int t;PRINTXYt=x; x=y; y=t;PRINTXYmain( ) int a=3, b=4;PRINTABswap(a, b);PRINTAB 执行结果为: 3.43,44,33,4.6. main( ) int a =1,2,3,4,5;int *p=a ;printf(%dn,*+p);printf(%dn,*p+);printf(%dn, (*p)+);printf(%dn,+*p);执行结果为:2235四、程序填充题(每空1分,共10分)阅读下列程序,在 处填入适当内容,使程序完整1试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。)main()int n,s; (1) int a ;for(n=1; (2) n1000 ;n+)for(s=0,a=l;a=n/2;(3) a+ )if(!(n%a) (4) s+=a ;if(5) n=s ) printf(%4d,n);2用“冒泡法”对输入的10个字符排序后按从小到大的次序输出。#define N 10char strN;main()int i,flag;for(i=0;i10;i+)scanf(%c,&stri);sort(1)_ str _);for(i=0;(2) iN ;i+)printf(%c,stri);printf(n);sort(str)char strN; int i,j;char t;for(j=1;jN;j+)for(i=0;i (3) stri+1 ) t=stri;(4) stri=stri+1 _;(5) stri+1=t _;五、编程题 (每题10分,共30分)1打印具有abcd=(ab+cd)2性质的全部四位数。(参考答案)main( ) int n , x , y ;for ( n=1000 ; n=9999 ; n+) x=n/100 ; y=n%100 ;if ( n = ( x+y )*( x+y ) )printf(“%dn”,n);2. 编写主函数,实现输入两个一般整数,完成两个数交换后再输出。(参考答案)void main()int x, y, z;printf(“Enter two numbers x y:”);scanf(“%d%d”, &x, &y);z=x;x=y;y=z;printf(“x=%d, y=%d”, x, y);3. 写一个程序,输入n, 输出n行数字三角图形,例如,输入n=4时, 输出以下图形:11 2 11 2 3 2 11 2 3 4 3 2 1(参考答案)Void main()int i, j, n;printf(“En

温馨提示

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

评论

0/150

提交评论