C++语言程序设计试卷A(软件)以及答案(共7页).doc
-
资源ID:14074637
资源大小:51KB
全文页数:7页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
C++语言程序设计试卷A(软件)以及答案(共7页).doc
精选优质文档-倾情为你奉上华东交通大学20052006学年第一学期考试卷承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。专业 班级 学号 学生签名: 试卷编号:(A)卷 C语言程序设计 课程 课程类别:必、限、任 闭卷( )、开卷(范围)( ): 题号一二三四五六七八九十总分计分人签名题分100得分考生注意事项:1、本试卷共 页,总分100分,考试时间120分钟。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。得分评阅人 一:选择题:(每题2分,共30分)1 合法的标识符是:A 。(A) a_b (B) a$ (C) a+b (D) 2a2下面程序段_D_。for(t=1;t<=100;t+) cin>>x ;if(x<0) continue; cout<<t ;(A)当x<0时整个循环结束 (B)当x>=0 时什么也不输出(C)printf函数永远也不执行 (D)最多允许输出100个非负整数3设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D )。 (A) a&&b (B) a<=b (C) c>=b|b+c&&b-c (D) a<=b+c&&c>=a+b4若有 int a; 则表达式语句 a+=a -=a*a; 等价于下列哪组表达式语句(D )。(A) +a; a*a; (B) a=a+a; a=a-a*a; (C) a=a+a-a*a; (D) a=a-a*a; a=a+a;5判断char型变量c1是否为小写字母的正确表达式为_ _B_。(A)a<=c1<=z (B)(c1>=a)&&(c1<=z)(C)(a>=c1)|(z<=c1) (D)(c1 >=a)|( c1 <=z)6若有以下的定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为: D (A) float (B) int (C) char (D) double 7C+源程序文件的缺省扩展名为_A_。(A)cpp (B)exe (C)obj (D)lik8在每个C+程序中都必须包含有这样一个函数,该函数的函数名_A_ 。(A)main (B)MAIN (C)name (D)function9在下面的一维数组定义中,哪一个有语法错误_C_(A)int a=1,2,3 (B)int a10=0 (C)int a (D)int a510在下面的函数声明中,存在着语法错误的是_D_(A)void BC(int a,int) (B)void BD(int , int)(C)void BE(int ,int ,int b) (D)void BF(int x ; int y)11执行以下程序后的输出结果为( B)。viod fun (int a,int b,int c) a=4; b=5; c=6;a=b+c;b=c+a;c=a+b;main() int x=10, y=20,z=30; fun (x,y,z); cout<<x<<,<<y<<,<<z<<endl; (A)30,20,10 (B)10,20,30 (C)11,17,28 (D)4,5,612下面的哪一个保留字不能作为函数的返回类型? C (A)void (B)int (C)new (D)long13给出以下定义:char x ="abcdefg"; char y ='a','b','c','d','e','f','g';则正确的叙述为( C )。(A)数组X和数组Y等价 (B)数组X和数组Y的长度相同(C)数组X的长度大于数组Y的长度(D)数组X的长度小于数组Y的长度14以下叙述中不正确的是( D )。(A)在不同的函数中可以使用相同名字的变量(B)函数中的形式参数是局部变量(C)在一个函数内定义的变量只在本函数范围内有效(D)在一个函数内的复合语句中定义的变量在本函数范围内有效15假定p是一个指向float型数据的指针,则p+1所指数据的地址比p指数据的地址大_C_ 个字节。 (A)1 (B) 2 (C) 4 (D) 8二:填空题(每空2分,共30分) 得分评阅人 1执行“cout<<143<<+<<18<<=<<143+18<<endl;”语句后得到的输出结果为_143+18161_ 。2执行“cout<<char(b+2)<<endl;”语句后得到的输出结果为_d_。3已知AZ的ASCII码为6590,当执行“char ch=16*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为_R_ 。4 定a=5,则条件表达式“a= =0 ? 10 : 20”的值为_20_5算术表达式对应的C+表达式为:_(x*y*y)/(3*a)+4*b-1_。6请补充下列程序中的空白处,使其能输出下图所示的图形。 * * * * * * * * * * * *#define M 10#include <stdio.h>main( ) int i,j,k ; for (i=0; i <6 ; i+) cout<<endl; for( j=0; j<=M/2-i;j+) cout<<" "; for( k=0;k<= 2*i ; k+) cout<<"*"; for (i=0; i<=5; i+) cout<<endl ; for( j=0; j<=i ; j+) cout<<" ";for(k=0; k<=M-2*i k+) cout<<"*"; 7以下程序实现:输入三个整数,按从大到小的顺序进行输出。main() int x,y,z,c;cin>>x>>y>>z ;if(_y<z _) c=y;y=z;z=c;if(_x<z _) c=x;x=z;z=c;if(_x<y _) c=x;x=y;y=c;cout<<x<<y<<z ; 8若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为_5.5_。a+(int)(b/3*(int)(a+c)/2)%49表示一个数x在1和10之间,用C语言表达式是: x>=1&&x<=10或者x>1&&x<10 三:给出下列程序运行后的输出结果(每小题5,共25分)得分评阅人 1#include <iostream.h>void main() int s1=0,s2=0;for (int i=0 ; i<15 ;i+)if (i%2) s1+=i;else s2+=i;cout<<s1”<<”,”<<s2<<endl;答案: 49,562# include<iostream.h>void main( ) int a10=12,39,26,41,55,63,72,40,83,95;int i0=0,i1=0,i2=0;for(int i=0; i<10; i+) switch (a i %3) case 0: i0+;break; case 1: i1+;break;case 2: i2+; cout<<i0<< <<i1<< <<i2<,endl; 答案:4 2 43# include < iostream . h >void SB (char ch) switch ( ch) case A :case a : cout<<”well!” ; break ;case B :case b : cout<<”good!”; break ;case C : case c : cout<<”pass!”; break ;default : cout<<” bad!”; break ; void main ( ) char a1= b , a2=C , a3= f ;SB( a1 ); SB( a2 ); SB( a3 ); SB( A );cout<<endl;答案:good!pass!bad!well!4# include< iostream.h.>void main( ) char a =”abcdabcabdaeaf;int b5 =0,i=5;while(ai) switch(ai) case a: b0+ +; break;case b: b1+ +; break;case c: b2+ +; break;case d: b3+ +; break;default: b4+ +; i+ +; for(i=0;i<5;i+ +) cout<<bi<<;cout<<endl;答案:3 2 1 1 25nclude <iostream.h>#include “string.h”void main()char *a5=”student”,”worker”,”cadre”,”soldier”,”peasant”;char *p1,*p2;p1=p2=a0for (int i=0;i<5;i+) if (strcmp(ai,p1)>0) p1=ai;if (strcmp(ai,p2)<0) p2=ai;cout<<p1<< <<p2<<endl;答案:worker cadre四 编程题(每题15分,共15 分)得分评阅人 (1)编写一个程序,要求:1)从键盘上输入10个整数放入数组a10中(用for循环实现);2)编写求和的函数sum和求最大值的函数max,主程序通过调用这两个函数,分别实现输出10个整数的和以及10个整数中的最大值,要求用数组名作为函数参数。答案:int sun(int x) main() int I,sum=0; int I,j,sum1,max1,a10; for(I=0;I<10;I+) for(I=0;I<10;I+) sum=sum+xI; scanf(“%d”,&aI);return(sum); sum1=sum(a); max1=max(a);int max(int x) printf(“sum1=%d,max1=%d”, int I,max; max=x0;for(I=1;I<10;I+)if(max<aI) max=aI;return(max);专心-专注-专业