admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:个人网页html模板完整代码)

(

线

)

线

诚信应考,考试作弊将带来严重后果!

《C++程序设计试卷》

注意事项:1. 考前请将密封线内填写清楚;

2. 所有答案请答在试卷的答案栏上;

3.考试形式:闭卷;

4. 本试卷共 五 大题,满分100分, 考试时间120分钟

题 号 一

得 分

评卷人

总分

一、 单项选择题:(每题2分,共20分)

1. 结构化程序设计的三种基本控制结构是( )。

A)输入、处理、输出 B)树形、网形、环形

C)顺序、选择、循环 D)主程序、子程序、函数

2. 下列哪个是C++的合法变量名( )?

A) 8d B)

ex3.12 C)1_2a D) _int

3. 若整型变量 int a=2,b=1,c=3,d=4; 则条件表达式a

A) 1 B) 2 C) 3 D) 4

4. for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( )。

A)0 B)5 C)6 D)无限循环

5. 若一个函数体中定义与全局变量相同名字的变量x,在函数体内对x赋值,修改的是

( )。

A)局部变量和全局变量都被修改 B) 全局变量x

C)不确定 D) 局部变量 x

6. 设有如下定义语句:int a[5],*p=a;,则下列表达式错误的是( )。

A)p++ B)a++ C)p-a D)a+1

7. 设有变量定义: double x; int m; 函数原型声明:void f(double *, int &);

则正确的函数调用语句是( )。

A) f(&x,m); B) f( x, &m); C) f(*x, &m); D) f (x,*m);

8. 若用数组名作为调用函数的实参,则传递给形参的是( )。

A) 数组存贮首地址 B) 数组的第一个元素值

C) 数组中全部元素的值 D) 数组元素的个数

9. 设有二维数组a[3][4], 不等价的一对表达是( )。

A) *(a[0]+2) 与 a[0][2] B) a[0]+3 与 &a[0][3]

C) *a[1] 与 a[1][0] D) a[0][2] 与 a[0]+2

10. 若有函数原型int max (int a , int b); 并且有:int (*p) ( int , int ) = max ;

调用max函数的正确方法是( )。

A) ( * p ) max ( a , b ) ; B) * p max ( a , b ) ;

C) ( * p ) ( a , b ) ; D) * p ( a , b ) ;

《 C++程序设计》试卷第 1 页 共 13 页

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

答案栏:

1、____ 2、____ 3、____ 4、____5、____ 6、____7、___ 8、____9、___ 10、____

二、 简答题:(共20分)

1. 语句 cout<< ”yx42x102nx”的显示结果是什么?说明理由。(3分)

答:

2. 以下程序的输出结果是什么?请说明原因。(2分)

int main()

{ unsigned short a=65535;

short int b;

b=a;

cout<<”b=”<

return 0;

}

答:

3. 设有说明char a[6], * b =a; sizeof(a), sizeof(b)的值各是多少?分析结果原因。

(3分)

答:

4. 设有说明int a[2*3]; 请写出两个表示数组a最后一个元素地址的表达式(2分)。

答:

5. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的

原型。(2分)

main()

{ double s[10][22];

int n;

fun(s);

}

答:

《 C++程序设计》试卷第 2 页 共 13 页

6. 设有如下定义:

struct person{char name[10]; int age;};

person class[10]={“Johu”, 17,

“Paul”, 19

“Mary”, 18,

“Adam 16,};

根据上述定义,写出能输出字母M语句。(3分)

答:

7. 以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分)

struct link{int data; link * next; };

link *head, *p;

……

p=head;

while(p!=NULL) {cout<<; p++; }

……

答:

8. 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基

本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么?(3分)(只

需给出原型,不用写函数定义)

答:

三、 阅读程序,写出运行结果:(每小题4分,共20分)

1. #include

using namespace std;

int main ()

{ int x,n;

x=n=5;

x+=n++;

cout<

return 0;

}

2. #include

using namespace std;

int main ()

{ char s[6]="abcde", *p=s;

cout<<*p<

return 0;

}

《 C++程序设计》试卷第 3 页 共 13 页

3. #include

using namespace std;

int main()

{ int i,j;

for( i=1; i<=3; i++ )

{ j=1;

while (j

{ cout << i<<','<

j++;

}

}

return 0;

}

4. 以下程序的输出的结果是

#include

using namespace std;

void incre();

int x=3;

int main()

{ int i;

for (i=1;i

}

void incre()

{ static int x=1;

x*=x+1;

cout <

}

5. #include

using namespace std;

void fun ( int , int , int * ) ;

int main ( )

{int x , y , z ;

fun ( 5 , 6 , &x ) ;

fun ( 7 , x , &y ) ;

fun ( x , y , &z ) ;

cout << x << ","<< y << "," << z ;

return 0;

}

void fun ( int a , int b , int * c )

{ b+=a ; * c=b-a ; }

《 C++程序设计》试卷第 4 页 共 13 页

答案栏:1、__________________________ 2、__________________________

3、__________________________ 4、__________________________

5、__________________________

四、 程序填空题:(每空2分,共22分)

1. 下面程序的功能是:输入三角形的三条边存放在变量a,b和c 中,判别它们能否构成

三角形,若能,则判断是等边、等腰、还是其它三角形,在横线上填上适当内容。

#include

using namespace std;

int main()

{ float a, b, c ;

cout<<"a,b,c=";

cin>>a>>b>>c;

if ( a+b>c && b+c>a && c+a>b )

{

if ( 【1】 )

cout<<"等边三角形!n";

else if ( 【2】 )

cout<<"等腰三角形!n";

else cout<<"其它三角形!n";

}

else cout<<"不能构成三角形!n";

return 0;

}

2. 以下程序功能是打印100以内个位数为6且能被3整除的所有数。

#include

using namespace std;

int main ( )

{ int i , j ;

for ( i = 0 ; ___【3】___ ; i + + )

{ j = i * 10 + 6 ;

if ( ___【4】____ ) continue ;

cout << j << ” ” ;

}

return 0;

}

《 C++程序设计》试卷第 5 页 共 13 页

3. 下列程序实现两个变量的值互换。

#include

using namespace std;

void swap(int *, int *);

int main()

{ int a=3,b=8;

swap(【5】 );

cout<<"a="<return 0;

}

void swap(int *x,int *y)

{ int temp= 【6】 ; *x=*y; *y=temp; }

4. 求n(n≥6)内的所有偶数表示为两个素数之和,下图为输入16的运行结果。补充完整

以下程序。

[提示:一个偶数n(n≥6)可以表示为 1+(n-1),2+(n-2),3+(n-3),… ]

#include

using namespace std;

#include

#include

int isprime(int);

int main()

{ int num,i,n;

cout<<" 请输入一个偶数N(N>=6):";

cin>>num;

for( n=6; n<=num; n+=2)

for( i=3;i<=n/2;i+=2)

if(____ 【7】_________)

{cout<

break;}

return 0;

}

int isprime(int m)

{ int i, k=sqrt(m);

for(i=2; i<=k; i++)

if(____ 【8】_________) return 0 ;

____ 【9】_________

}

《 C++程序设计》试卷第 6 页 共 13 页

5. 下面是一个类的测试程序,其执行结果为:

50-12=38

请将程序补充完整。

#include

using namespace std;

class Test

{ int m,n;

public:

void init(int,int);

void print();

};

void Test::init(int i,int j)

{ ______ 【10】_______________

}

void Test::print()

{ ________ 【11】__________________

}

int main()

{ Test a;

(50,12);

();

return 0;

}

答案栏:

(1)__________________________

(3) __________________________

(5) __________________________

(7) __________________________

(9) __________________________

(2) __________________________

(4) __________________________

(6) __________________________

(8) __________________________

(10) _________________________

(11) _____________________________________

《 C++程序设计》试卷第 7 页 共 13 页


本文标签: 函数 结果 定义