1、 栽苹键 (鼠父K £邹需酊) 中囹 当的 蝗科nnnmnmnmzi叩加 『瑟 考前须知:1. 考前请将密封线内填写清楚; 2.所有答案请答在试卷的答案栏上; 题号 . 四 五 总分 得分 评卷人 3.考试形式:闭卷; 4.本试卷共 五 大题,总分值100分, 考试时间120分钟。 诚信应考,考试作弊将带来严重后果! 《C++程序设计试卷》 、 单项选择题:(每题2分,共20分) 1 .结构化程序设计的三种基本控制结构是( )oA)输入、处理、输出 B)树形、网形、环形 C)顺序、选择、循环
2、D)主程序、子程序、函数 2 .以下哪个是C++的合法变量名()? A)8dB) ex3.12C)l_2aD) _int 3 .假设整型变量int a=2, b=l, c=3, d=4; 那么条件表达式a
3、设有如下定义语句:int a[5],*p=a;,那么以下表达式错误的选项是()。 A) p++ B) a++ C) p-aD) a+1.设有变量定义:double x; int m;函数原型声明:void f (double *, int &); 那么正确的函数调用语句是()o A) f (&x, m) ; B) f( x, &m) ; C) f (*x, &m) ; D) f (x, *m); 7 .假设用数组名作为调用函数的实参,那么传递给形参的是()oA)数组存贮首地址B)数组的第一个元素值 C)数组中全部元素的值D)数组元素的个数 8 .设有二维数组a[3][4],不等价的
4、一对表达是( )oA) *(a[0]+2)与 a[0] [2]B) a[0]+3 与 &a[0] [3] C) *a[l]与 a[l][0]D) a[0] [2]与 a[0]+2. 假设有函数原型int max (int a , int b);并且有:int (*p) ( int , int )二 max ; 调用max函数的正确方法是()o A) ( * p ) max ( a , b );B) * p max ( a , b );C) ( * p ) ( a , b );D) * p ( a , b ); 答: 诚信应考,考试作弊将带来严重后果! 《C++程序设计试卷》 □I?
5、 倒 参考答案 考前须知:1.考前请将密封线内填写清楚;2.所有答案请答在试卷的答案栏上; 3.考试形式:闭卷;4.本试卷共 五 大题,总分值100分,考试时间120分钟。 题号 ■ -A 四 五 总分 得分 评卷人 六、单项选择题:(每题2分,共20分) 答案栏: □I? 於 1、 七、 9. 10. 11. 12. , 13. 14. 15. void 八、 6. 7. 8. 2、 D 3、 C 4、 C 5、 D 6、 B 7、 A 8、A 9、I) 10、 简答题:
6、共17分) yB\xB x b=-l 6,4 &a[5], a+5 void fun (double (*p) [22]); class[2]. name[0] p->data; p=p->next; array maxjnin (int *, int , int *, int *); 阅读程序,写出运行结果:(每题4分,共20分) 106 aabcde 2,1 3,1 3,2 2,6 6, 6,6 《C++程序设计》试卷第10页共25页 九、程序填空题:(每空2分,共22分)a==b && b 二二c 1. a二二b | | a二二 c | | b二二ci <1
7、0
2. j % 3&a, &b
3. *xisprime(i) && isprime(n-i)
4. ! ( m%i)return 1;
5. m=i;n=j;cout< 8、w(10) «,/N,,«setw(10)〈< 〃平方“< 9、
cout<<,,max=,,< 10、ut<〈〃请输入一个浮点数:〃;
cin>>s;separate(s, i, d);〃调用函数
cout〈 11、有答案请答在试卷的答案栏上;
:《C++程序设计》试卷第12页共25页3.考试形式:闭卷;
4.本试卷共 五 大题,总分值100分,考试时间120分钟。
题号
.
四
五
总分
得分
评卷人
十一、单项选择题:(每题2分,共20分)
11 . 一个C++程序从编写源程序到得到运行结果要经历的四个步骤是()oA)编译、编辑、连接、运行
B)编辑、编译、汇编、运行C)编辑、编译、连接、运行
D)编译、连接、汇编、运行
12 .以下选项中,哪个是C++语言的合法变量名()?
A) file, cppB) _123C 12、9abcD) new
13 .对于语句序列:int x=5,y=6,z; float a=2.5; z二y/x+y/a+a;执行后 z 的值为( )oA) 5B) 6C) 6. 1D) 5.9
14 .以下选项中可作为C语言合法常量的是()。
A) -8el.O
B) -080
C) -80.
D) -80. 0e
15 .设有 inta=l, b=2, c=3, d=4;那么条件表达式 a〈b?a:c 13、short b;
b 二 a;cout< 14、«endl;
18 .设有定义语句:char *p=a;以下赋值语句中,正确的选项是()。
A) a二 " hello " ;B ) a[10]= " hello ” ;C) strcpy (a, "hello”);D) *p= " hello ” ;
19 .以下带有默认参数的函数原型声明中,正确的选项是( )o《C++程序设计》试卷第13页共25页
A)
B)
C)
D)
float
float
float
float
fun (int fun (int fun (int fun (int
a=5 , int b=5, int c, int d); a=5, in 15、t b=5, int c, int d=5); a=5, int b , int c , int d ); a , int b , int c=5, int d=5);
)o
20 .设有定义语句:struct point{ int x; int y; } vl;那么以下语句中正确的选项是(A) 0 答案栏:
A) 0 答案栏:
point. x=10;
struct v2; v2.x=10;
B)
D)
point v2; v2.x=10;
vl v2;v2.x=10;
1、
2、
3、
4、
5、
6、
7、8、9、
10、
16、
2、
,一
5、
,一
6、
7、
8、
9、
10、
1、
以下函数的功能是:用递归法将一个整数n转换成字符串。例如:输入整数
1635,应输出字符串“1635”。n的位数不确定,可以是任意位数的整数。请填空。
void fun(int n) {if(n<10)_
else
L1]
〃递归出口
【2】
//递归体
putchar(n% 10+48);
2、以下程序的功能是:用起泡法对6个整数排序(按从小到大顺序)。请填空。
#include 17、[6], i,j, t;
for(i=0; i<6; i++)
《C++程序设计》试卷第14页共25页
二、程序填空题(每空2分,共20分) 答案栏:
1、3、
cin»a[i];for(j=0;j<5;j++)
for(i=0; 13】 ; i++)if(a[i]>a[i+l])
(【4】〃交换两个数的位置,使小数上浮
)for(i=0; i<6; i++)
cout«a[i]«H H;
)3、以下程序的功能是:定义一个结构体类型,内含学生学号和一门课的成绩, 并开辟动态内存存放一个学生的数据:学号10()1,成绩90。执行该程序后运行 结果如下:
1001,90/请填 18、空。
#include 19、int a=2, b=3;
fl(a,b);cout«a«b«endl;
)5、以下程序的功能是:输出二维数组各元素值。请填空。
#include 20、以下函数的功能是:判断一个数是否为素数。请填空。
bool prime(int m)
(int i;
bool prime 1;prime l=true;
for(i=2; i<=sqrt(m); i++)if(m%i=0)【10】
return prime 1;
)三、阅读程序,写出运行结果。(每题3分,共24分)
答案栏:
1、2、3、4、
《C++程序设计》试卷第16页共25页5、6、
7、 8、1、#include 21、j;n=++i+j—;
cout«m«, ,«n«, ,«i«, 1«j;
}2、#include 22、x++)
(case 3: y++;
case 1: y+=3;brcak;y—;
)cout«y;
《C++程序设计》试卷第17页共25页4、
#include 23、 std; int x, y;
void fun(int a)
{ int y , b;b=a+2; x=x+a; y=x-b;
n«b«endl;
n«b«endl;
cout«x«n n«y«H n«a«n } int main() { int a=l, b=2;x=3, y=4;
fun(b);
cout«x«n H«y«n n«a«H return 0;
)#include 24、《C++程序设计》试卷第18页共25页
int main()
{ for (int i=0; i<3; i++) cout«f(i)«n
return 0; )#include 25、 (*p<*q) { r=p; p=q; q=r; } cout«^p«n H«*q«endl;*q=*p+*q;
cout«a«n n«b«endl;return 0;
)四' 简答题(每题4分,共12分)
1 .试分析字符串常量nabc\n\\efg\101n由哪几个字符构成?该字符串占用多少个字节? 假设用cout«”abc\n\\efg\10「';会看到的输出结果是什么?
2 .假设有如下定义: union ctypc { float y;
short int m; char code[3];
};
ctype cdat;《C++程序设计》试卷第19页共25页
答案栏: 26、
1、 2、3、 4、5、6、7、 8、9、― 10、二、简答题:(共20分)
1 .语句cout« " y\x42\句\102\nx”的显示结果是什么?说明理由。(3分)答:
2 .以下程序的输出结果是什么?请说明原因。(2分) int main(){ unsigned short a=65535;
short int b;b=a;
cout<<^ b=^ < 27、写出两个表示数组a最后一个元素地址的表达式(2分)。
答:
5 .设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的 原型。(2分)main ()
{ double s[10] [22];int n;
I II
fun(s);
答:
试画出变量cdat的内存构造图(示意图),并指出该变量占用内存的字节数。
6 .下面程序有错误:
#include 28、ut«endl;
)
int main()
{ int a[5]={ 10,20,30,40,50};for (int i=0; i<5; i++) cout«*a++«n ”;//(2)
cout«endl;fun(a);
return 0;
)源程序中(1)和(2)之处写法一样,但编译时(2)处出错而(1)处正确,试指出原因, 并将(2)处改正。
五、程序设计题(每题8分,共24分)(n>2)
(n>2)
1 .设计程序输出数列{An}的前50个数,输出时要求每行输出5个数。数列有 以下规律:
4=1,42=0.5,《C++程序设计》试卷第20页共25页
2 .众 29、数是指一组数据中出现次数最多的那个数据。例如:{1,2, 2, 3, 3, 2: 4}的众数是2o试设计一个求众数的函数mode,其形式参数有2个:数组(该 放组存放一组数据)、数据个数。函数的返回值是众数。在主函数中输4一组 数据存放在数组中,然后调用函数mode求得众数,最后在主函数中显示出众
数。
《C++程序设计》试卷第21页共25页.需要求2个不同的圆柱体的外表积,设计一个面向对象的程序。数据成员包 括:radius(半径),height(高);还可根据需要定义其它数据成员。要求分别用 成员函数实现以下功能:
(1)由键盘输入圆柱体的半径、高;(2)计算圆柱体的外表积;
(3 30、输出圆柱体的外表积。
请编写程序。
《C++程序设计》试卷参考答案十二、单项选择题:(每题2分,共20分)
1、 C 2、 B 3、 A 4、 C 5、 A 6、 D 7、 D 8、C 9、D 10、 B二、程序填空题(每空2分,共20分)
1> putchar(n+48);
3、i<5-j
5、p->n=1001; p->s=90;
7、int &x, int y
9、*(*(p+i)+j)
2、fun(n/10);4、t=a[i]; a[i]=a[i+l]; a[i+l]=t;
6、cout«p->n«n,n< 31、lse;三、阅读程序,写出运行结果。(每题3分,共24分)
1>-4 12 5 6
3、4
5、5 12 4
5 4 12
7、 STUDY U TUDY
2、 x—0.5, y=3.54、int2int65double2.1
6、5 7 934 12
46 34四、简答题(每题4分,共12分)
1. 字符串由9个字符组成:匕…修》」\匕,\\'nT官 A《C++程序设计》试卷第22页共25页
占用10个字节。 输出为:abc\efgA
2. 占4个字节。
1TT
code
3. (1)处的a实际上是指针变量,可以++; (2)处的a是一个数组名,不 32、能++可将(2)处改为 cout〈〈*(a+i) «H H; 或 cout«a[i]« «n H;
五、程序设计题(每题8分,共24分)
#include 33、ream>
using namespace std;
int mode(int a[ ], int n)
{ int i J, m=0, len, c;for (i=0; i 34、z«endl;
return 0;
)3.
#include 35、ius*2+2*3. 1415926*radius*height; return area;)
void Cylinder::output_area(){ calc_area();
cout 36、ge;};person class[10]={ “John” ,17,
19
18,
16,):
“Paul” ,“Mary” , “Adam
根据上述定义,写出能输出字母M语句。(3分)
答:
7 .以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分) struct link{int data; link * next; };link *head, *p;
p=head;while(p!=NULL) {cout< 37、 min返回基 本整型数组a的n个元素中的最大值和最小值。对应的函数原型是什么? (3分)(只 需给出原型,不用写函数定义)
答:
三、 阅读程序,写出运行结果:(每题4分,共20分)#include 38、dl;return 0;
1. ttinclude 39、oid incre ()
{ static int x=l;x*=x+l;
cout < 40、序设计》试卷第4页共25页
答案栏:1、2、4、
5、 程序填空题:(每空2分,共22分)
1 .下面程序的功能是:输入三角形的三条边存放在变量a, b和c中,判别它们能否构成 三角形,假设能,那么判断是等边、等腰、还是其它三角形,在横线上填上适当内容。
#include 41、 if ( 12] )
cout«〃等腰三角形! \n〃;
else cout<〈〃其它三角形! \n〃;
}else cout<<〃不能构成三角形! \n〃;
return 0;.以下程序功能是打印100以内个位数为6且能被3整除的所有数。 ttinclude 42、页共25页
2 .以下程序实现两个变量的值互换。
#include 43、数 n (n46)可以表示为 l+(n-l),2+(n-2),3+(n-3),...]ttinclude 44、z/«setw(3) << (n-i) < 45、 «i<=6):16
6 =
8 = 10= 12 = 14= 16 =
Press
3 ♦
3 *
any
7
7■
11
13 key to continue
J
int isprime(int m)
{ int i, k=sqrt(m);for (i=2; i<=k; i++)
if(【81) return 0 ;【9】
《C++程序设计》试卷第6页共25 46、页.下面是一个类的测试程序,其执行结果为:
50-12=38请将程序补充完整。
#include 47、
(5) (6)
(7) (8)
(9) (10)
(11) 《C++程序设计》试卷第7页共25页
五、
1.
编程题:(18分)答:
答:
《C++程序设计》试卷第8页共25页
(6分)编写程序,打印正整数的平方和立方值。程序运行后显示相应的提示信息, 要求输入2个正整数,然后显示这个范围的数据的平方和立方值。例如,分别输入 整数1和10,执行效果如以下图所示。
2. (6分)以下程序求一维数组元素的最大值,并返回此值。请依题意编写函数f及填写
函数原型。 ttinclude 48、n=10; 〃£函数原型 int main () {int a[n], i, max; for(i=0; i 49、 i=0, d=0;
cout« 〃请输入一个浮点数:〃;
cin>>s;
separate(s, i, d); 〃调用函数
cout〈〈s〈〈〃整数局部是:〃<>s;
separate(s, i, d); 〃调用函数
cout〈〈s〈〈〃整数局部是:〃<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818