哈理工C语言上机题库

急求~~~跪求~~~其他学校的有也可以~~~QQ:148055981!!!

第1个回答  2010-08-19
(已发到你的QQ邮箱中,请查收,以下是八套C++试题中的一套)
第一套

〖第1题〗『填 空』(1分)

C++语言表达式5>2>7>8的值是【1】.

答案:
1). 0

〖第2题〗『填 空』(1分)

【1】是标准C++指定的一个名字空间.

答案:
1). std

〖第3题〗『填 空』(1分)

已知 a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为【1】.

答案:
1). 1

〖第4题〗『填 空』(1分)

若有以下数组a,数组元素:a[0]~a[9],其值为

9 4 12 8 2 10 7 5 1 3
该数组可用的最小下标值是【1】.

答案:
1). 0

〖第5题〗『填 空』(1分)

C++提供了内联函数,在定义函数时冠以关键字【1】

答案:
1). inline

〖第6题〗『填 空』(1分)

已知 a=10,b=15,c=1,d=2,e=0,则表达式!a<e的值为【1】.

答案:
1). 0

〖第7题〗『填 空』(1分)

设(k=a=5,b=3,a*b),则表达式的值为【1】.

答案:
1). 15

〖第8题〗『填 空』(1分)

已知x=2,y=2 则表达式x*=y+8的值为【1】.

答案:
1). 20

〖第9题〗『填 空』(1分)

C++中,预定义算子dec表示【1】进制的输出.

答案:
1). 十 或 10

〖第10题〗『填 空』(1分)

写出表达式 1.234&&5.982 的值是【1】.

答案:
1). 1

〖第11题〗『填 空』(1分)

设x=4<4-!0,x的值为【1】.

答案:
1). 0

〖第12题〗『填 空』(1分)

函数的【1】调用是一个函数直接或间接地调用它自身.

答案:
1). 递归

〖第13题〗『填 空』(1分)

函数的定义不可以嵌套,但函数的调用【1】嵌套.

答案:
1). 可以

〖第14题〗『填 空』(1分)

定义指向整型变量的指针变量p的语句【1】.

答案:
1). int *p;

〖第15题〗『填 空』(1分)

有下列程序段,执行后的输出结果是【1】.
int a=3, b=5;
int max(int a, int b)
{ int c;
c=a>b? a:b;
return c;
}
void main()
{ int a=8;
cout<<max(a,b)<<endl;
}

答案:
1). 8

〖第16题〗『填 空』(1分)

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为【1】.

答案:
1). 6

〖第17题〗『填 空』(1分)

执行下列语句后,z 的值是【1】.int x=4,y=25,z=5; z=y/x*z;

答案:
1). 30

〖第18题〗『填 空』(1分)

int x=2,y=3,z=4; 则表达式x+y&&z的值为【1】.

答案:
1). 1

〖第19题〗『填 空』(1分)

在c++中,标准输入操作是由输入流对象【1】完成的,标准输出操作是由输出流对象【2】完成的(...

答案:
1). cin
2). cout

〖第20题〗『填 空』(1分)

int x=4,y=z=2;z=x==(y=z); 则z的值为【1】.

答案:
1). 0

〖第1题〗『判 断』(1分)

字符数组中每一个元素可存放一个字符,而字符指针变量存放字符串首地址.
答案:Y

〖第2题〗『判 断』(1分)

设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是4
答案:N

〖第3题〗『判 断』(1分)

不能对字符数组整体进行赋值,只能给各个元素赋值,而字符指针变量可以直接赋值.
答案:Y

〖第4题〗『判 断』(1分)

字符串连接函数是strcat( )
答案:Y

〖第5题〗『判 断』(1分)

int a [10]={0, 1, 2, 3, 4, 5};a[6]~ a[9]均为0.
答案:Y

〖第6题〗『判 断』(1分)

若有 int ⅰ=6,j=10; 则执行完语句switch(i){case 4: j++;case 5: j-- ;case 6: j++;case...
答案:N

〖第7题〗『判 断』(1分)

C++语言中只能逐个引用数组元素而不能一次引用整个数组.
答案:Y

〖第8题〗『判 断』(1分)

保护继承方式下基类的保护成员在派生类中仍是保护成员.
答案:Y

〖第9题〗『判 断』(1分)

若有int i,*p;则语句*p=1000;
是合法的.
答案:N

〖第10题〗『判 断』(1分)

对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun(1...
答案:N

〖第11题〗『判 断』(1分)

C++语言提供的文件操作包含文本文件和十进制文件.
答案:N

〖第12题〗『判 断』(1分)

定义一个对象时,系统只为该对象的数据成员开辟内存空间,而成员函数是同类对象共享的.
答案:Y

〖第13题〗『判 断』(1分)

从用户的使用角度,函数可以分为以下两种:即系统库函数和用户自定义函数.
答案:Y

〖第14题〗『判 断』(1分)

同一程序中局部变量和全局变量不可以同名.
答案:N

〖第15题〗『判 断』(1分)

在说明一个结构变量后,不能整体引用结构体变量,需要逐一引用.
答案:Y

〖第16题〗『判 断』(1分)

没用参数的两个函数是不能重载的.
答案:Y

〖第17题〗『判 断』(1分)

析构函数是一个函数体为空的成员函数.
答案:N

〖第18题〗『判 断』(1分)

在for语句中,循环次数是由变量来控制的.
答案:Y

〖第19题〗『判 断』(1分)

若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6.
答案:Y

〖第20题〗『判 断』(1分)

C++语言允许嵌套定义函数,也允许嵌套调用函数.
答案:N

〖第1题〗『单项选择』(1分)

下列程序的输出为().
#include <iostream.h>void main(){ int y=10; while(y--); cout<<"y="<<y<<"\n";}
A:y=0
B:while构成无限循环
C:y=1
D:y=-1

答案:D

〖第2题〗『单项选择』(1分)

若给定条件表达式(M)?(a++):(a--),则其中表达式M().
A:和(M==0)等价
B:和(M==1)等价
C:和(M!=0)等价
D:和(M!=1)等价

答案:C

〖第3题〗『单项选择』(1分)

设有定义: char str[100]; 当执行 cin>>str; 后,从键盘输入:〃C++ programming windows〃...
A:C++
B:C++ programming
C:windows
D:C++ programming windows

答案:A

〖第4题〗『单项选择』(1分)

在以下new和delete运算符使用中,错误的是().
A:char *p=new char[10]; delete[]p;
B:char *p=new char[5]; delete []p; p=new char[10]; delete []p;
C:char *p=new char; delete p;
D:char *p=new int[10]; delete p;

答案:D

〖第5题〗『单项选择』(1分)

执行下列语句后的输出为().
int j=-1;
if(j<=1) cout<<"****"<<endl;
else cout<<"%%%%"<<endl;
A:****
B:%%%%
C:%%%%c
D:有错,执行不正确

答案:A

〖第6题〗『单项选择』(1分)

全局变量的定义不可能在().
A:函数内部
B:函数外面
C:文件外面
D:最后一行

答案:A

〖第7题〗『单项选择』(1分)

以下程序段的输出结果是().
char *alp[]={"ABC","DEF","GHI"}; int j; cout<<alp[1];

A:A
B:B
C:D
D:DEF

答案:D

〖第8题〗『单项选择』(1分)

若有int i=3,*p;p=&i;下列语句中输出结果为3的是().
A:cout<<&p;
B:cout<<*i;
C:cout<<*p;
D:cout<<p;

答案:C

〖第9题〗『单项选择』(1分)

以下正确的说法是().
A:定义函数时,形参的类型说明可以放在函数体内
B:return后边的值不能为表达式
C:如果函数值的类型与返回值类型不一致,以函数值类型为准
D:如果形参与实参类型不一致,以实参类型为准

答案:C

〖第10题〗『单项选择』(1分)

以下只有在使用时才为该类型变量分配内存的存储类说明是().
A:auto和 static
B:auto和 register
C:register和 static
D:extern和 register

答案:B

〖第11题〗『单项选择』(1分)

以下叙述中正确的是().
A:全局变量的作用域一定比局部变量的作用域范围大
B:静态(static)类别变量的生存期贯穿于整个程序的运行期间
C:函数的形参都属于全局变量
D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值

答案:B

〖第12题〗『单项选择』(1分)

下列语句的结果是().
#include <iostream.h>void main(){ int j; j=3; cout<<++j; cout<<","<<j++<<endl;}
A:3,3
B:3,4
C:4,3
D:4,4

答案:D

〖第13题〗『单项选择』(1分)

设int a=0,b=5; 执行表达式++a||++b,a+b后,a,b和表达式的值分别是
A:1,5,7
B:1,6,7
C:1,5,6
D:0,5,7

答案:C

〖第14题〗『单项选择』(1分)

对于void类型函数,调用时不可作为().
A:自定义函数体中的语句
B:循环体里的语句
C:if语句的成分语句
D:表达式

答案:D

〖第15题〗『单项选择』(1分)

设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
数据类型为().
A:int
B:float
C:double
D:不确定

答案:C

〖第16题〗『单项选择』(1分)

以下程序的输出结果是().
#include <iostream.h>void main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;c...
A:i=2,j=1,k=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
D:i=1,j=1,k=3

答案:D

〖第17题〗『单项选择』(1分)

以下能对二维数组a进行正确初始化的语句是().
A:int a[2][]={{1,0,1},{5,2,3}};
B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}};
D:int a[][3]={{1,0,1}{},{1,1}};

答案:B

〖第18题〗『单项选择』(1分)

?
int a=1,b=2,c=3;
?
if(a>b)a=b;
?
if(a>c)a=c;
则a的值为().
A:1
B:2
C:3
D:不一定

答案:A

〖第19题〗『单项选择』(1分)

?
以下程序段的输出结果为().
#include <iostream.h>void main(){ int i,j; for(i=4;i>1;i--) for(j=1;j<i;j++) cou...
A:无
B:######
C:#
D:###

答案:B

〖第20题〗『单项选择』(1分)

以下选项中合法的用户标识符是().
A:long
B:_2Test
C:3Dmax
D:A.dat

答案:B

〖第21题〗『单项选择』(1分)

若定义函数double *function(),则函数function()的返回值为().
A:实型数
B:实数的地址
C:指向函数的指针
D:函数的地址

答案:B

〖第22题〗『单项选择』(1分)

已定义ch为字符型变量,以下赋值语句中错误的是().
A:ch='\';
B:ch=62+3;
C:ch=NULL;
D:ch='\xaa';

答案:A

〖第23题〗『单项选择』(1分)

以下不符合C++语言语法的赋值语句是().
A:a=1,b=2
B:++j;
C:a=b=5;
D:y=(a=3,6*5);

答案:A

〖第24题〗『单项选择』(1分)

?
以下程序段的输出结果为().
?
char c[]="abc";
?
int i=0;
do ;while(c[i++]!='\0');cout<<i-1;
A:abc
B:ab
C:2
D:3

答案:D

〖第25题〗『单项选择』(1分)

以下运算符中,优先级最高的运算符是().
A:?:
B:++
C:&&
D:,

答案:B

〖第26题〗『单项选择』(1分)

以下关于类和对象叙述正确的是().
A:一个类只能有一个对象
B:一个对象可以属于几个不同的类
C:对象是类的一个具体实例
D:一个类中可以有本类的对象

答案:C

〖第27题〗『单项选择』(1分)

设有定义int n; 执行n='f'-'a'后,n的值是().
A:f
B:a
C:5
D:6

答案:C

〖第28题〗『单项选择』(1分)

以下不能正确进行字符串赋初值的语句是().
A:char str[5]="good!";
B:char str[]="good!";
C:char *str="good!";
D:char str[5]={'g','o','o','d'};

答案:A

〖第29题〗『单项选择』(1分)

两个指针变量不可以().
A:相加
B:比较
C:相减
D:指向同一地址

答案:A

〖第30题〗『单项选择』(1分)

下列程序的输出结果是().
?
#include <iostream.h>void main(){ int a=9; cout<<++a;}
A:12
B:11
C:10
D:9

答案:C

〖第1题〗『程序填空』(8分)

/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

题目:计算平均成绩并统计90分以上人数。
-------------------------------------------------------*/
#include<iostream.h>
void main()
{int n,m;float grade,average=0;
/***********SPACE***********/
n=m=【?】;
while(1)
/***********SPACE***********/
{【?】>>grade;
if(grade<0)break;
n++;
average+=grade;
/***********SPACE***********/
if(grade<90)【?】;
m++;
}
if(n)cout<<average/n<<" "<<m<<endl;
}

答案:
1). 0
2). cin
3). continue

〖第2题〗『程序填空』(8分)

/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

题目:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和
以及0的个数。
-------------------------------------------------------*/

#include<iostream.h>
void main()
{int r=1,s=0,t=0,n,a,i;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{cout<<"a=";
cin>>a;
/***********SPACE***********/
if(【?】!=0)
/***********SPACE***********/
【?】=a;
else
if(a!=0)
/***********SPACE***********/
s+=【?】;
else
t++;
}
cout<<"r="<<r<<",s="<<s<<",t="<<t<<endl;
}

答案:
1). a%2
2). r*
3). a*a

〖第1题〗『程序改错』(8分)

/*------------------------------------------------------
【程序改错】
--------------------------------------------------------

题目:函数fun的功能是:求1到10的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。

--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/

#include<iostream.h>
void fun()
{
int n,j;
long s=0,t=1;
for(n=1;n<=10;n++)
{
/**********FOUND**********/
s=1;
for(j=1;j<=n;j++)
/**********FOUND**********/
t=t*n;
/**********FOUND**********/
s+t=s;
}
/**********FOUND**********/
cin>>"jiecheng=">>s<<endl;
}
void main()
{
fun();
}

答案:
1). t=1;
2). t=★t★*★j★; 或 t*=j; 或 t=j*t;
3). s=★s★+★t★; 或 s+=t; 或 s=t+s;
4). cout★<<★"jiecheng="★<<★s★<<★endl;

〖第1题〗『程序设计』(6分)

/*------------------------------------------------
【程序设计】
--------------------------------------------------

题目: 将10进制正整数n转化成k进制(K<9)按位输出到 m.

--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句。
------------------------------------------------*/

#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
void writeinfile(int n)
{
fstream myfile;
myfile.open("f.txt",ios::out);
myfile<<n<<endl;
myfile.close();
}
void main()
{
int m,n,k,l=1;
n=8;k=2;
/**********Program**********/

/********** End **********/
writeinfile(m);
}
答案:----------------------
m=0;
while(n!=0)
{m=m+n%k*l;
n=n/k;l*=10;}
----------------------本回答被网友采纳
第2个回答  2010-08-11
呵呵 这个在我学校有复印的 不过我没整电子文稿 都是打印的 你那么着急?补考也不用这么着急吧 很容易过的 而且回去复印 看看也不迟
第3个回答  2010-08-13
我也求!
第4个回答  2010-08-14
啥时候要啊 我上学期的题打印版在学校寝室 得等我20号回去的 你几号补考 现在机房没开吗