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 页
版权声明:本文标题:C++程序设计试卷及参考答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713683551a646831.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论