2018高级语言程序设计考卷B及参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2
18. #include <iostream> using namespace std; int fib(void) { static int f0=0,fl=1; int f; f=f0+fl; f0=fl; fl=f; return(f); } int main() { int i,s=0; for(i=1;i<=8;i++) s=s+fib(); cout<<s<<endl; return 0; }
int n = 60; prim(n, 2); cout<<endl; return 0; }
输出:
20. #include <iostream> using namespace std; #define MAX 50 void rep(char *s,char *s1,char *s2) {
char *p; for(;*s;s++) {
for(p=s1;*p&&*p!=*s;p++); if(*p) *s=*(p-s1+s2); } } int main() { char s[MAX]="AaBbCcDd"; char s1[MAX]="abc"; char s2[MAX]="xyz"; rep(s,s1,s2); cout<<s<<endl; return 0; }
题号 一 二 三 四 五 六 七 八 九 十 合计 任课
满分 30 25 15 30
100 教师
得分
得分
一、单项选择题 (本大题共 15 小题,每小题 2 分,共 30 分)
在每小题列Baidu Nhomakorabea的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中
的对应位置。错选、多选或未选均无分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
12.设有定义 int i=0; 执行语句“ while (i++<5); ”后,变量 i 的值为
A.1
B.5
C.6
D.7
13.设有定义 int a[20]; 则与元素 a[4]等价的表示为
A. a+4
B.*a+4
C.*(a+4)
D.*(a+16)
14.设有定义 int i,*p; 使 p 指向 i 的赋值语句是
8.下面有关重载函数的说法中,正确的是
A.重载函数名可以不同
B.重载函数必须有不同的形参列表
C.重载函数形参个数必须不同 D.重载函数必须具有不同的返回值类型
9.在 C++中,函数的形式参数是 A.局部变量 B.全局变量
C.静态变量
D.外部变量
专业班级
学院
1
10.设有 int a[3][2]={1,2,3,4,5,6,},(*p)[3]; p=a; 则*(p+1)+1 代表的是
输出:
19.
#include <iostream> using namespace std; void prim(int m, int n) {
if(m>n){ while(m%n != 0) n++; m /= n; prim(m, n); cout<<n<<"*";
} } int main() {
A.a[0][1]+1
B.&a[1]+1
C.a[1][1]
D.&a[1][1]
11.已知函数 func 的原型是 double func(double *pd,int &ri);
变量 x 和 y 的定义是 double x; int y; 则正确的调用语句是 A.func(x,&y); B.func(&x,y); C.func(&x,&y); D.func(x,y);
D.k+=n+1
4.设 int a=1,b=2,c=3,d=4,f;,执行语句 f=(a!=b)?c++:d++; 后 f 的值是
A.2
B.3
C.4
D.5
5.设 int a;,则语句 for(a=0;a==0;a++);和语句 for(a=0;a=0;a++);执行循环的次数分别

A.0,0
B.1,0
C.0,1
D.1,1
6.若有定义 int a[4]={1,2,3,4};则 a[a[0]+2 * a[2]-a[3]]等于
A.1
B.2
C.3
D.4
7.定义二维数组并初始化,正确的是 A.int a[ ][ ]={1,2,3,4,5,6}; C. int a[2][ ]={1,2,3,4,5,6};
B. int a[ ][3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
17. #include <iostream> using namespace std; int main() { int x,y,s=0,k; for (x=1;x<=5;x++) { k=0; for (y=1;y<=x;y++) k=10*k+x; s=s+k; } cout<<s<<endl; return 0; } 输出:
请将下面各程序运行后的输出结果填写在下划线处。
16. #include <iostream> using namespace std; int main( ) { int a[3][3]={1,2,3,4,5,6,7,8,9}; int n,sum=0; for(n=0;n<3;n++) sum=sum+a[n][n]; cout<<sum<<endl; return 0; } 输出:
A.p=&i;
B.*p=&i;
C.*p=i;
D.p=*&i;
15.设宏定义 #define N 3
#define Y(n) ((N+1)*n)
则执行语句 cout<<2*(N+Y(5+1))<<endl;后的输出结果是
A.42
B.48
C.54
D.62
得分
二、程序阅读题(本大题共 5 小题,每小题 5 分,共 25 分)
姓名
学号
…………试卷装订线 ……………… 装订线内不要答题,不要填写考生信息………………试卷装订线 …………
武汉理工大学考试试卷(B 卷)
2018 ~2019 学年 1 学期 高级语言程序设计 A 课程 闭卷
时间 120 分钟, 56 学时, 3.5 学分,总分 100 分,占总评成绩 70 % 年 月 日
1.在 C++中,错误的 int 类型的常数是
A.0
B.037
C.0xaf
D.1E5
2.已知 int x=7,y=8,z=5; 则表达式(x*y/z++)的值是
A.9
B.9.33
C. 11
D. 11.20
3.与 k=n++完全等价的表达式是 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n
相关文档
最新文档