C++高级语言程序设计重修试卷
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<iostream.h> void f(int*a,int b) {int t=* a; *a=b;b=t;} void main(void) { int x=10,y=20;cout<<x<<ˋ\tˊ<<y<<ˋ\nˊ;f(&x,y);
cout<<x<<ˋ\tˊ<<y<<ˋ\nˊ }
6,下列叙述中,不正确的是_________。
A. this 指针是指向当前调用成员函数的对象的指针
B. this 指针可用于类中非静态的数据成员和函数成员
C. this 指针破坏了类的封装性
D. this 指针的类型与所指对象的类型相同
7,在一个 C++源程序文件中,若要定义一个只允许在该源文件中所有函数使
int maxlen=0,curlen0; num=0; for(;____________;)
{ while(*s= =ˋ ˊ)____________; if(*s!= ˋ\0ˊ{ while(*s!= ˋ ˊ&&*s){ curlen++;s++;} if (curlen>maxlen){maxlen=curlen; num=1;} else if(curlen==maxlen)_________________; curlen=0;
#define aa 123;
//第 2 行
void main(void)
//第 3 行
{cout<<aa<<ˋ\nˊ;}
//第 4 行
A. 编译时第 2 行出错
B. 编译时第 4 行出错
C. 编译时第 2 行和第 4 行均出错 D. 编译时无错误
4, 若 有 说 明 “char*S[]={ 〝 1234 〞 , 〝 5678 〞 , 〝 9012 〞 , 〝 3456 〞 ,
使用班级
VC++重修(医学信息、影像)
——————————
专业:
学院:
————————
出卷日期 2009 年 5 月 10 日
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 2 页 共 5 页
—————————
学号:
————————————
班级:
年级:
——————————
程序的输出是___________ 。
9,以下程序输出的第一行是______,第二行是____,第三行是_________。
#include<iostream.h>
void p1(char s[ ],int i)
{ if(s[i]!=0) p1(s,i+1);
线
cout<<s[i];
void p2(char s[ ],int I)
D. 字符串反向
9,为了避免嵌套的条件语句的二义性,C++语言规定 else 与________配对。
A.编辑时在同一列的 if B.其之前最近的还没有配对过的 if
C.其之后最近的 if
D.同一行上的 if
10,以下叙述正确的是________。
A.在 C++程序中,main 函数必须位于程序的最前面
完善程序题(共 15 分,每空 3 分) 11,下面程序的功能是:从输入的一行字符串中求出最长英文单词长度及最长 单词个数,并输出长度和个数,单词之间只能用一个或多个空格隔开。如输入字 符串〝I am a student〞时,最长单词的长度为 7,个数为 1。而输入字符串 〝word body book try〞时,最长单词的长度为 4,个数为 3,即有三个单词均为 最长单词。 #include <iostream.h> int lenOfLongest(char *s,int &num) {
for(i=j=0;s[i]!=‘\0’;i++) if(s[i]!=‘ ’) _________;else ____________; s[j]=‘\0’; cout<<s; } 得分 评卷人 五、编程题(共 35 分)
1, 计算级数
1 x x x ...... (1) x ......
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 4 页 共 5 页
试题 一
二
三
四
五
总
得分
分
答题纸
[11]
[16]
密
得分 评卷人 一、选择题(每题 2 分,共 20 分)
[12]
[17]
1
2
3
4
5
6
7
8
9 10
[13]
[18]
学号: 学生签名:
本人承诺:在本次考试中,自觉遵守考场规则,诚信考试,绝不作弊。 装 订线内答题无效
B.C++程序的每行中只能写一条语句
C.C++语言本身没有输入输出语句
D.在对一个 C++程序进行编译的过程中,可发现注释中的拼写错误
得 评卷人 二、填空题
分
(1-15 每空格 2 分,16-20 每空格 3 分,共 45 分)
基本概念题(共 10 分,每题 2 分) 1,在 C++中,“student”的值为_____________________。 2,设有语句“int a=6,b=3;float x=8,y; y=b/a*x/2;”,则 y 的值是________。 3,设有语句“char s[ ]=〝Rep\0Ch〞;int m=sizeof(s);”,则 m 的值是 _________。 4,设有语句,char *p;则指针变量 p 的引用可用语句________________。 5, 在 C++ 中 , 定 义 内 联 函 数 的 方 法 是 在 函 数 的 类 型 前 增 加 关 键 字 ________________。 阅读程序题(共 20 分,每空 2 分) 6,以下程序输出的第一行是_________ ,第二行是__________。
得分 评卷人 一、选择题(每题 2 分,共 20 分)
密 1,在数学式 3xy 中,变量 x 和 y 的取值为整数,而变量 a 和 b 的取值为实数, 5ab
在 C++程序中对应的正确表达式是_______。
A. 3/5*x*y/a/b
B. 3*x*y/5/a/b
C. 3*x*y/5*a*b
D. 3/a/b/5*x*y
学号:
—————————
学生签名:
装 订线内答题无效
班级:
本人承诺:在本次考试中,自觉遵守考场规则,诚信考试,绝不作弊。
————————————
年级:
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 1 页 共 5 页
试题
一
二
Байду номын сангаас
三
四
五
六
总
得分
分
请将答案全部答在答题纸上,将试卷和答题纸分开交卷。
} } return maxlen; } void main(void) { char str[256]; int number,len, cout<<〝输入一个英文句子:〞; cin.getline(str,256);len=lenOfLongest(str,number);
专业:
————————
2! 3!
n!
要求精度为 0.00000001。 (15 分)
2,编程
(1)输入一组非 0 整数(以输入 0 作为输入结束标志)到一维数组中,设 计一程序,统计这一组数中正数的个数、负数的个数,并求出这一组数的平 均值。(10 分)
(2)用函数实现求二个三角形面积之和。(10 分)
—————————
〝7890〞};”,则表达式*S[1]>*S[3]比较的是__________。
线 A. 〝1234〞和〝9012〞 C. ˋ1ˊ和ˋ9ˊ
B. ˋ5ˊ和ˋ3ˊ D. 〝5678〞和〝3456〞
5, 下列符号能用作 C++标识符的是__________。
A.5abc B.if C.abc D._abc
{ cout<<s[I];
if(s[I]!=0) p2(s,I+1);
}
void main(void)
{ char str[ ]=〝123〞;
cout<<str<<〝\n〞;
p1(str,0);cout<<ˋ\nˊ;
p2(str,0);cout<<ˋ\nˊ;
10, 程序的输出第一行是______,第二行是______,第三行是______。 #include<iostream.h> int k=1; void f(int m) { m+=k; k+=m; { char k=’B’; cout<< k - ‘A’ <<’\n’; } cout<<m<<’,’<<k<<’\n’; } void main(void) { int i=4; f(i); cout<<i<<’,’<<k<<’\n’; }
班级:
————————————
得分 评卷人 二、填空题(1-15 每空格 2 分,16-20 每空格 3 分,共 45 分)
[14]
[19]
封
[1]
[6]
[15]
[20]
年级:
——————————
[2]
[7]
专业:
————————
线
[3]
[8]
[4]
[9]
学院:
[5]
[10]
学院: 学院:
专业: 专业:
2,关于字符ˋ\0ˊ,不正确的说法是___________。
A. 常用来作为字符串的结束标志 B. 在计算机中存储时占一个字节的
内存
C. 是空格字符的转义表示形式
D. 作为逻辑值使用时等价于逻辑
“假”
3,编译以下程序时,结果是__________。
封
#include<iostream.h>
//第 1 行
密
密
封 封
线 线
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 5 页 共 5 页
得分
编程题 1(15 分)
评卷人 三、编程题(共 35 分)
编程题 2(20 分)
用的变量,则该变量需要使用的存储类别是________。
A.extern B.register
C.auto
D.static
8,下面函数的功能是_______。
void fun(char sl[ ],char s2[ ]) {while(*s2++=*sl++);}
A. 字符串比较
B. 字符串复制
C. 字符串连接
7, [程序]
#include<iostream.h>
int f(char *s)
{ char* p=s;
while(*p) p++;
return p-s;
密
}
void main(void) {cout<<f(〝ABCDEF〞);}
程序的输出是______________。
8, [程序]
#include<iostream.h>
年级: 年级:
班级: 班级: 学号: 学号:
本人承诺本:人在承本诺次:考在试本中次,考自试觉中遵,守自考觉场遵规守则考,场诚规信则考,试诚,信绝考不试作,弊绝。不作弊。 学生签名学:生签名: 装 订装 线订 内线 答内 题答 无题 效无 效
——— ———————————— ——————————————— ————————————— ————————
void f(int *s)
{ static int j=0;
do{s[j]+=s{[j+1];}while(++j<2);
}
void main(void)
封 { int k,a[10]={1,2,3,4,5};
for(k=1;k<3;k++) f(a);
for(k=0;k<5;k++) cout<<a[k];
学院:
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 3 页 共 5 页
cout<<〝str=〞<<str<<ˋ\nˊ; cout<<〝最长单词长度:〞<<len<〞\n 最长单词个数:〞<<number<<endl;
} 12,下面程序的功能是删除字符串 s 中的空格。 #include<iostream.h> void main(void) { char s[ ]= 〝This is a book. 〞;int i,j;
cout<<x<<ˋ\tˊ<<y<<ˋ\nˊ }
6,下列叙述中,不正确的是_________。
A. this 指针是指向当前调用成员函数的对象的指针
B. this 指针可用于类中非静态的数据成员和函数成员
C. this 指针破坏了类的封装性
D. this 指针的类型与所指对象的类型相同
7,在一个 C++源程序文件中,若要定义一个只允许在该源文件中所有函数使
int maxlen=0,curlen0; num=0; for(;____________;)
{ while(*s= =ˋ ˊ)____________; if(*s!= ˋ\0ˊ{ while(*s!= ˋ ˊ&&*s){ curlen++;s++;} if (curlen>maxlen){maxlen=curlen; num=1;} else if(curlen==maxlen)_________________; curlen=0;
#define aa 123;
//第 2 行
void main(void)
//第 3 行
{cout<<aa<<ˋ\nˊ;}
//第 4 行
A. 编译时第 2 行出错
B. 编译时第 4 行出错
C. 编译时第 2 行和第 4 行均出错 D. 编译时无错误
4, 若 有 说 明 “char*S[]={ 〝 1234 〞 , 〝 5678 〞 , 〝 9012 〞 , 〝 3456 〞 ,
使用班级
VC++重修(医学信息、影像)
——————————
专业:
学院:
————————
出卷日期 2009 年 5 月 10 日
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 2 页 共 5 页
—————————
学号:
————————————
班级:
年级:
——————————
程序的输出是___________ 。
9,以下程序输出的第一行是______,第二行是____,第三行是_________。
#include<iostream.h>
void p1(char s[ ],int i)
{ if(s[i]!=0) p1(s,i+1);
线
cout<<s[i];
void p2(char s[ ],int I)
D. 字符串反向
9,为了避免嵌套的条件语句的二义性,C++语言规定 else 与________配对。
A.编辑时在同一列的 if B.其之前最近的还没有配对过的 if
C.其之后最近的 if
D.同一行上的 if
10,以下叙述正确的是________。
A.在 C++程序中,main 函数必须位于程序的最前面
完善程序题(共 15 分,每空 3 分) 11,下面程序的功能是:从输入的一行字符串中求出最长英文单词长度及最长 单词个数,并输出长度和个数,单词之间只能用一个或多个空格隔开。如输入字 符串〝I am a student〞时,最长单词的长度为 7,个数为 1。而输入字符串 〝word body book try〞时,最长单词的长度为 4,个数为 3,即有三个单词均为 最长单词。 #include <iostream.h> int lenOfLongest(char *s,int &num) {
for(i=j=0;s[i]!=‘\0’;i++) if(s[i]!=‘ ’) _________;else ____________; s[j]=‘\0’; cout<<s; } 得分 评卷人 五、编程题(共 35 分)
1, 计算级数
1 x x x ...... (1) x ......
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 4 页 共 5 页
试题 一
二
三
四
五
总
得分
分
答题纸
[11]
[16]
密
得分 评卷人 一、选择题(每题 2 分,共 20 分)
[12]
[17]
1
2
3
4
5
6
7
8
9 10
[13]
[18]
学号: 学生签名:
本人承诺:在本次考试中,自觉遵守考场规则,诚信考试,绝不作弊。 装 订线内答题无效
B.C++程序的每行中只能写一条语句
C.C++语言本身没有输入输出语句
D.在对一个 C++程序进行编译的过程中,可发现注释中的拼写错误
得 评卷人 二、填空题
分
(1-15 每空格 2 分,16-20 每空格 3 分,共 45 分)
基本概念题(共 10 分,每题 2 分) 1,在 C++中,“student”的值为_____________________。 2,设有语句“int a=6,b=3;float x=8,y; y=b/a*x/2;”,则 y 的值是________。 3,设有语句“char s[ ]=〝Rep\0Ch〞;int m=sizeof(s);”,则 m 的值是 _________。 4,设有语句,char *p;则指针变量 p 的引用可用语句________________。 5, 在 C++ 中 , 定 义 内 联 函 数 的 方 法 是 在 函 数 的 类 型 前 增 加 关 键 字 ________________。 阅读程序题(共 20 分,每空 2 分) 6,以下程序输出的第一行是_________ ,第二行是__________。
得分 评卷人 一、选择题(每题 2 分,共 20 分)
密 1,在数学式 3xy 中,变量 x 和 y 的取值为整数,而变量 a 和 b 的取值为实数, 5ab
在 C++程序中对应的正确表达式是_______。
A. 3/5*x*y/a/b
B. 3*x*y/5/a/b
C. 3*x*y/5*a*b
D. 3/a/b/5*x*y
学号:
—————————
学生签名:
装 订线内答题无效
班级:
本人承诺:在本次考试中,自觉遵守考场规则,诚信考试,绝不作弊。
————————————
年级:
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 1 页 共 5 页
试题
一
二
Байду номын сангаас
三
四
五
六
总
得分
分
请将答案全部答在答题纸上,将试卷和答题纸分开交卷。
} } return maxlen; } void main(void) { char str[256]; int number,len, cout<<〝输入一个英文句子:〞; cin.getline(str,256);len=lenOfLongest(str,number);
专业:
————————
2! 3!
n!
要求精度为 0.00000001。 (15 分)
2,编程
(1)输入一组非 0 整数(以输入 0 作为输入结束标志)到一维数组中,设 计一程序,统计这一组数中正数的个数、负数的个数,并求出这一组数的平 均值。(10 分)
(2)用函数实现求二个三角形面积之和。(10 分)
—————————
〝7890〞};”,则表达式*S[1]>*S[3]比较的是__________。
线 A. 〝1234〞和〝9012〞 C. ˋ1ˊ和ˋ9ˊ
B. ˋ5ˊ和ˋ3ˊ D. 〝5678〞和〝3456〞
5, 下列符号能用作 C++标识符的是__________。
A.5abc B.if C.abc D._abc
{ cout<<s[I];
if(s[I]!=0) p2(s,I+1);
}
void main(void)
{ char str[ ]=〝123〞;
cout<<str<<〝\n〞;
p1(str,0);cout<<ˋ\nˊ;
p2(str,0);cout<<ˋ\nˊ;
10, 程序的输出第一行是______,第二行是______,第三行是______。 #include<iostream.h> int k=1; void f(int m) { m+=k; k+=m; { char k=’B’; cout<< k - ‘A’ <<’\n’; } cout<<m<<’,’<<k<<’\n’; } void main(void) { int i=4; f(i); cout<<i<<’,’<<k<<’\n’; }
班级:
————————————
得分 评卷人 二、填空题(1-15 每空格 2 分,16-20 每空格 3 分,共 45 分)
[14]
[19]
封
[1]
[6]
[15]
[20]
年级:
——————————
[2]
[7]
专业:
————————
线
[3]
[8]
[4]
[9]
学院:
[5]
[10]
学院: 学院:
专业: 专业:
2,关于字符ˋ\0ˊ,不正确的说法是___________。
A. 常用来作为字符串的结束标志 B. 在计算机中存储时占一个字节的
内存
C. 是空格字符的转义表示形式
D. 作为逻辑值使用时等价于逻辑
“假”
3,编译以下程序时,结果是__________。
封
#include<iostream.h>
//第 1 行
密
密
封 封
线 线
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 5 页 共 5 页
得分
编程题 1(15 分)
评卷人 三、编程题(共 35 分)
编程题 2(20 分)
用的变量,则该变量需要使用的存储类别是________。
A.extern B.register
C.auto
D.static
8,下面函数的功能是_______。
void fun(char sl[ ],char s2[ ]) {while(*s2++=*sl++);}
A. 字符串比较
B. 字符串复制
C. 字符串连接
7, [程序]
#include<iostream.h>
int f(char *s)
{ char* p=s;
while(*p) p++;
return p-s;
密
}
void main(void) {cout<<f(〝ABCDEF〞);}
程序的输出是______________。
8, [程序]
#include<iostream.h>
年级: 年级:
班级: 班级: 学号: 学号:
本人承诺本:人在承本诺次:考在试本中次,考自试觉中遵,守自考觉场遵规守则考,场诚规信则考,试诚,信绝考不试作,弊绝。不作弊。 学生签名学:生签名: 装 订装 线订 内线 答内 题答 无题 效无 效
——— ———————————— ——————————————— ————————————— ————————
void f(int *s)
{ static int j=0;
do{s[j]+=s{[j+1];}while(++j<2);
}
void main(void)
封 { int k,a[10]={1,2,3,4,5};
for(k=1;k<3;k++) f(a);
for(k=0;k<5;k++) cout<<a[k];
学院:
南通大学 2008—2009 学年第 2 学期 高级语言程序设计 VC++重修试卷(A)第 3 页 共 5 页
cout<<〝str=〞<<str<<ˋ\nˊ; cout<<〝最长单词长度:〞<<len<〞\n 最长单词个数:〞<<number<<endl;
} 12,下面程序的功能是删除字符串 s 中的空格。 #include<iostream.h> void main(void) { char s[ ]= 〝This is a book. 〞;int i,j;