C/C++语言试卷(A)和答案.doc_第1页
C/C++语言试卷(A)和答案.doc_第2页
C/C++语言试卷(A)和答案.doc_第3页
C/C++语言试卷(A)和答案.doc_第4页
C/C++语言试卷(A)和答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

2007 2008学年第二学期C/C+语言程序设计试卷(A)年级专业 班级 学号 姓名_题号一二三四五总分得分适用年级专业:_ 07级信工、自动化、测控、电子技术专业 试卷说明:_闭卷笔试,120分钟_ 一单项选择题(每小题1分,共20分)在备选答案中只有一个是正确的,将其选出并把它的标号写在题后括号内1、假设定义:float x = 3, y = 3; 则复合赋值表达式x /= 1+y的值为( A )。 (A) 0 (B) 0.75 (C) 6 (D) 以上都错2、表达式: 35 & -1 | 6 2) a=1; else a=0; 运行后, a的值是( 1 )。(A) 1 (B) 0 (C) 与机器有关 (D) 语法有错4、类中的成员的访问权限不能定义为( D )。(A) public (B) protected(C) private (D) static5、执行下列程序段后,a值为( A )。a=1; b=2;printf( (ab)?a+:+b);(A) 2 (B) 3 (C) 4 (D) 56、关于类和对象不正确的说法是( C )。(A) 类是一种类型,它封装了数据和操作 (B) 对象是类的实例(C) 一个类的对象只有一个(D) 一个对象必属于某个类7、下列程序段执行后s值为( C )。 int i=1, s=0;do s+=i; while (+i3);(A) 1 (B) 45 (C) 25 (D) 以上均不是8、对于int a=0,则表达式 0=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) 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=122 。2、用下列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值是 -16 。5、在C语言中,表示逻辑“真”值用 1 表示。6、x,y,z均为整型变量,请写出描述“x或y等于z”的表达式_ x=z|y=z _ _。7、continue 只能出现在 循环语句for 语句中。8、若已知a=1,b=2,则表达式!ab的值为_ 1 _。9、C语言的基本数据类型分为_int _、_char _、_ _。10、已知字母A的ASCII码值为十进制数65,且ch为字符型,则执行语句ch=A+6-0后,ch的值为_G_ _。 三、程序分析题(每小题5分,共30分)阅读下述程序,按格式写出执行结果,注意:格式和结果分别计分1. #define X 5#define Y X+1#define Z 5main( )int a; a=Y; printf(Z=%d, a=%dn, Z, a); 执行结果为: 2. 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);执行结果为:_ 3. 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); 执行结果为: 5. #define PRINTAB printf(%d, %dn, a, b);#define PRINTXY printf(%d, %dn, x, y);void swap( int x, int y) int t; PRINTXY t=x; x=y; y=t; PRINTXYmain( ) int a=3, b=4; PRINTAB swap(a, b); PRINTAB 执行结果为: . 6. main( ) int a =1,2,3,4,5; int *p=a ;printf(%dn,*+p); printf(%dn,*p+); printf(%dn, (*p)+); printf(%dn,+*p); 执行结果为: 四、程序填充题(每空1分,共10分)阅读下列程序,在 处填入适当内容,使程序完整1试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。) main() int n,s; (1) ; for(n=1; (2) ;n+) for(s=0,a=l;a=n/2;(3) ) if(!(n%a) (4) ; if(5) ) printf(%4d,n); 2用“冒泡法”对输入的10个字符排序后按从小到大的次序输出。 #define N 10 char strN; main() int i,flag; for(i=0;i10;i+) scanf(%c,&stri); sort(1)_ _); for(i=0;(2) ;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) ) t=stri; (4) _; (5) _; 五、编程题 (每题10分,共30分)1打印具有abcd=(ab+cd)2性质的全部四位数。2. 编写主函数,实现输入两个一般整数,完成两个数交换后再输出。3. 写一个程序,输入n, 输出n行数字三角图形。例如,输入n=4时, 输出以下图形:1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1Int add(int x,int y) Return x+y;Main() Int a,b; Scanf(“%d%d”,a,b)lPrintf(“%d”,add(a+b);2007 2008学年第二学期C/C+语言程序设计试卷答案(A)年级专业 班级 学号 姓名_题号一二三四五总分得分适用年级专业:_ 试卷说明:_闭卷笔试,120分钟_ 一单项选择题(每小题1分,共20分)在备选答案中只有一个是正确的,将其选出并把它的标号写在题后括号内1、A 2、A 3、B 4、D 5、A 6、C 7、C 8、B 9、B 10、C11、B 12、B 13、C 14、A 15、B 16、A 17、A 18、C 19、A 20、A二、填空题(每空1分, 共10分) 1、(x=48&x=97&x=122)2、printf(“%c”,90-i);3、404、-165、16、x=z|y=z7、循环8、19、int float char 10、G 三、程序分析题(每小题5分,共30分)阅读下述程序,按格式写出执行结果,注意:格式和结果分别计分1. Z=7 , a=6 2. fun=12 3. n=24 4. s=102 5. 3 , 4 3 , 4 4 , 3 . 3 , 4 6. 2 2 3 5 四、程序填充题(每空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 10 char 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时, 输出以下图形:1 1 2

温馨提示

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

评论

0/150

提交评论