c++试卷1

  • 格式:doc
  • 大小:84.50 KB
  • 文档页数:8

()()
()()()
()
()
,都是()
,


C.与x 的值有关、
D.与x的值相反
2. C++源程序文件的后缀名为:()
A.cpp
B.exe
C.obj
D.lik
3、对于有返回值的函数,要结束函数运行必须使用语句()
A.break B. .return
C continue D.main
4. 所谓的静态存储即在程序运行期间分配固定的()
A.作用范围
B.存储单元
C.变量类型
D. 变量名称
5、语句while( !x ) ; 中的x等价于()
A.x==0 B.x!=1
C.x==5
D.x==1
6、语句for(I=0,j=0;I<=100;I++)j=j+I;的结果为()
A. 500
B. 100
C. 5000
D. 5050
7.给出以下定义:int a,*p;则下面正确的赋值语句为()
A. p=a;
B. &p=a;
C. p=&a;
D. p=*a;
8. 表达式‘c’&&‘d’、‘c’&&‘\0’和!‘c’║‘c’<=‘d’的值为()
A. 0 0 0
B. 1 0 1
C. 1 1 0
D. 1 1 1
9.在下列对字符串的定义中,错误的是()
A.char str[10]=”china”;
B.char *str=”china”;
C.char *str[10]={‘c’,’h’,’i’,’n’,’a’,’\0’};
D. char str[]=”china”;
10.若有int a=4;float b=14.70,能正确表示a+b对a取余的表达式是( )
A.(a+b)/c
B.(a+b)%c
C. (int)((a+b)%c)
D.(a+(int(b)))%c
11.下面对函数的正确的定义语句是()A.float function(int a,b);
B.float function(int a;b);
C. float function(int a,int b);
array[20]=”Iamstudent”,则函数strlen(array)的返回值
()
C.13
D.14
()
局部变量
字符型变量
则对此数组正确的引用是()
B.cout<<array(0);
D.cout<<array[5+4];
()
B.extern
C.register
D.auto
三、填空(1×14).
1. 一个可以执行的C++语言的源程序文件经过编译后
生成的文件的扩展名为_ 【1】
void,则表示该函数_ 【2】。

、一个整型变量和一个长整型变量在内存中所占的字节数分别为【3】
:___ 【5】_____、______【7】__。

10个,则在内存中必须至少有_ 【8】字
的值为_ 【9】。

_ 【10】;而”&”表示的含义为
,则表达式(x=1,y=33,z=34)的值为_ 【12】
,他们是_ 【13】、_ 【14】和数字.
四、简答题(20)
(1)))()((c s b s a s s ---
(2)33
4
R π
2 定义结构体类型student,该结构体包含的成员为name(字符型)、age (整型)、sex (字符型)、number(整型),定义一个student 类型指针变量std 。

五、阅读程序(26)
(一). 写出下列程序的输出结果是(5×2)
1.#include<iostream> using namespace std; int main( ) { int i=1,sum=0; do {sum += i; i++;
}while(i<=100)
cout<<”sum=”<<sum<<endl; return 0;}
________________________________
2. #include<iostream> using namespace std; int main( )
{ char str1[ ]=”I love china!”,str2[20],*p1,*p2; p1=str1;p2=str2;
for(;*p1!=’\0’;p1++,p2++) *p2=*p1; *p2=’\0’; p1=str1;p2=str2;
cout<<”str2 is:”<<p2<<endl;
return 0;
}
________________________________
________________________________
(二)程序填空(2×8)
1.使用子函数求两个实数的和
#include <iostream>
using namespace std;
int main( )
{ __________【1】____________; //子函数声明float a,b,c;
cout<<”输入两个实数”;
cin>>a>>b;
c= _____【2】________; //子函数调用cout<<”两个实数a和b的和为:”<<c<<endl;
return 0;
}
float add(float x,float y)
{ float z;
z=x+y;
【3】 ;
}
2.用冒泡排序法对输入的20 个整数从大到小进行排序
#include<iostream>
using namespace std;
int main( )
{
int a[20],i,j,k,max;
cout<<”\n Please input 20 data:\n”;
for (i=0;i<20;i++)
cin>> 【4】;
for(i=0;i<19;i++)
for( 【5】; 【6】;j++) if( 【7】)
{k=a[j];
【8】;
a[j+1]=k;}
cout<<’\n’;
for(i=0;i<20;i++)
cout<<a[i]<<””;
return 0;
}
参考答案
一、判断题
×,√,√,×,×,√,×,√,√,√
二、选择题
A,A,B,B,A,D,C,B,C,D,C,A,B,D,A
三、填空题
1、_ .obj
2、无返回值
3、4个,4个
4、_预处理指令__、___声明部分______、______函数__。

5、40
6、6
7、指针运算符,取地址符
8、34
9、字母、_ 下划线
四、简答题
1、请用C++语言的表达式表示下列代数式。

(1)sqrt(s*(s-a)*(s-b)*(s-c))
(2) (4*π*R*R*R)/3
2、struct student
{ char name;
int age;
char sex;
int number;
}std;
五、阅读程序
(一).写出下列程序的输出结果是
1、________sum=5050________________________
2、_____str1=”I love china!”__________
______ str2=”I love china!”______ (二)程序填空
1、
____ float add(float x,float y)_ ___add(a,b)_______
return(z)
2、a[i]
j=0; j=20-i
a[j]>a[j+1]
a[j]=a[j+1];。