C++(物流重考)

  • 格式:doc
  • 大小:64.00 KB
  • 文档页数:6

华东交通大学2002——2003第二学期
重考试卷
c++程序语言设计课程闭卷课程类别:必修
1.C++源程序文件的缺省扩展名为()
A. cpp
B. exe
C. obj
D. lik
2.设a和b均为bool类型,则a||b为真的条件是()。

A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
3.下列变量命中,哪一个是合法的()
A)int B)int-3 C) A+b D)int_3
4.假定一个字符串的长度为m,则定义存储该字符串的字符数组的长度至少为()。

A.m-1
B.m
C.m+1
D.m+2
5.设有int m, n, p; 则表达式m=1,n=2,p=3, m&&n&p的值为()。

A.1
B.2
C.63
D.0
6.表达式6‖3‖1‖0的值为()。

A.1
B.2
C.3
D.4
7.下面各语句中,能正确进行字符串赋值操作的语句行是()。

A.char str[4][5]={"ABCDE"};
B. char str[5]={'A','B','C','D','E'}
C. Char *str; str="ABCDE";
第1页共6页
D. char *str; cin>>s;
8.表示关系a<=b<=c的C++语言表达式为()。

A. (a<=b)&&(b<=c)
B. (a<=b)AND(b<=c)
C. (a<=b<=c)
D. (a<=b)&(b<=c)
9.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()。

A. k=*P1+*P2;
B. p2=k;
C. P1=P2;
D. K=*P1 * (*P2);
10.当执行以下程序段时()。

a=-1;
do { a=a*a;} while( !a);
A.循环体将执行一次
B.循环体将执行两次
C.循环体将执行无限次
D.系统将提示有语法错误
11.当需要把一个带初始化的变量定义为常值变量时,则应在该语句的前面加上关键字()。

A.static
B.const
C.continue
D.extern
12.下列十六进制的整型常量表示中,()是正确的。

A)0x8B B)083 C)0XBA D)0X54.4
13.下列字符常量表示中,()是错误的。

A)’\007’ B)’*’ C)’\4c’ D)’\t’
14.在int a[4][3]={{1,2},{3,4,5},{6,9,10},{8,7}};中,b[2][2]的值是:
A)0 B)4 C)9 D)10
15.两个字符串连接,可使用下列哪一个函数()
A)strlen(); B)strcpy C)strcmp D)strcat
二、填空题(共20分)
1.执行 cout<<char(‘B’+2)<<endl; 语句后得到的输出结果为;
第2页共6页
第 5页 共6页
2.
3. C++语言程序中出现的/*……*/部分或//……部分所起的作用是 。

4. 分支语句if(a>=b) max=a; else max=b; 用含条件运算符的赋值语句表示
为 。

5. 用于输出表达式值的标准输出流对象是 , 用于从键盘上为变量
输入值的标准输入流对象是 ; 6. 过程化程序设计方法中,程序有三种基本结构,
即: 、 、 。

7. 若有int x=4; float y=14.70; 则6/4的值为 ,6.0/6的值
为 ;能正确表示x+y 对x 取余的表达式是 ; 8. 十进制数34和3.23的类型分别为 和 . 9. x>1 && y!=0的相反条件为 。

10. 假定一个二维数组的定义为" int b[3][5]; ", 则该数组所含元素的个数
为 ,所占存储空间的字节数为 .
11. C++语言中数据类型的转换有两种: 和 。

12. 在C++中有二种参数传递方式: 和 。

三、 语法简答题(15分)
1. 请用C++语言的表达式表示下列代数式。

(1))2(/4
12
d xy am +
(2).9
5)32(⨯-=F c
2. 用科学记数法表示下列数字
(1)23000
(2)0.0023
3.定义一个3行3列的整型二维数组array,并为数组的每个元素都
进行初始化。

四、程序分析题:(共15分)
1.#include<iostream.h>
void main()
{
char ch[]=”welcome!”;
cout<<ch[4]<<”\n”;
cout<<ch<<endl;
}
2.#include "iostream.h"
int x=3,y=4,z=5;
void func1(int a , int b);
void main()
{ int x=6;
y=5;
cout<<x<<’,’<<y<<’,’<<z<<’;’ ;
func1(x,y);
z*=x+y;
cout<<x<<’,’<<y<<’,’<<z<<’\n’ ;
}
第4页共6页
void func1(int a , int b)
{ int z=10;
a=a+b+x;
b=a-b+y;
cout<<x<<’,’<<a<<’,’<<b<<’,’<<z<<’;’ ;
}
3.#include<iostream.h>
void main()
{ int i(1)
do {
i++;
cout<<++i<<endl;
if(i==7)break;
}while(i==3);
cout<<”ok!\n”;
}
五、实例编程题(共20分)
1.根据要求将下列程序进行修改调整,使其能完成与原来程序同样
的功能。

将下列程序分别用do……while和for 循环结构进行改写。

#include <iostream.h>
main( )
{int j,sum=0; j=1;
while(j<=1000)
{sum=sum+j;
j++;
}
cout<<“The sum is : ” <<sum<<endl;
}
第5页共6页
2.从键盘输入任意8个数,按照从小到大的顺序进行排序。

要求输出原序列和排序后的序列。

第6页共6页。