江西农业大学C++考试题.docx
《江西农业大学C++考试题.docx》由会员分享,可在线阅读,更多相关《江西农业大学C++考试题.docx(18页珍藏版)》请在冰豆网上搜索。
![江西农业大学C++考试题.docx](https://file1.bdocx.com/fileroot1/2023-1/8/cffc343d-c7b0-4915-a357-9a6bfd9f33f7/cffc343d-c7b0-4915-a357-9a6bfd9f33f71.gif)
江西农业大学C++考试题
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],其值为
941282107513
该数组可用的最小下标值是【1】.
答案:
1).0
〖第5题〗『填空』(1分)
C++提供了内联函数,在定义函数时冠以关键字【1】
答案:
1).inline
〖第6题〗『填空』(1分)
已知a=10,b=15,c=1,d=2,e=0,则表达式!
a答案:
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】.
inta=3,b=5;
intmax(inta,intb)
{intc;
c=a>b?
a:
b;
returnc;
}
voidmain()
{inta=8;
cout<}
答案:
1).8
〖第16题〗『填空』(1分)
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为【1】.
答案:
1).6
〖第17题〗『填空』(1分)
执行下列语句后,z的值是【1】.intx=4,y=25,z=5;z=y/x*z;
答案:
1).30
〖第18题〗『填空』(1分)
intx=2,y=3,z=4;则表达式x+y&&z的值为【1】.
答案:
1).1
〖第19题〗『填空』(1分)
在c++中,标准输入操作是由输入流对象【1】完成的,标准输出操作是由输出流对象【2】完成的(...
答案:
1).cin2).cout
〖第20题〗『填空』(1分)
intx=4,y=z=2;z=x==(y=z);则z的值为【1】.
答案:
1).0
〖第1题〗『判断』(1分)
字符数组中每一个元素可存放一个字符,而字符指针变量存放字符串首地址.
答案:
Y
〖第2题〗『判断』(1分)
设inta[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是4
答案:
N
〖第3题〗『判断』(1分)
不能对字符数组整体进行赋值,只能给各个元素赋值,而字符指针变量可以直接赋值.
答案:
Y
〖第4题〗『判断』(1分)
字符串连接函数是strcat()
答案:
Y
〖第5题〗『判断』(1分)
inta[10]={0,1,2,3,4,5};a[6]~a[9]均为0.
答案:
Y
〖第6题〗『判断』(1分)
若有intⅰ=6,j=10;则执行完语句switch(i){case4:
j++;case5:
j--;case6:
j++;case...
答案:
N
〖第7题〗『判断』(1分)
C++语言中只能逐个引用数组元素而不能一次引用整个数组.
答案:
Y
〖第8题〗『判断』(1分)
保护继承方式下基类的保护成员在派生类中仍是保护成员.
答案:
Y
〖第9题〗『判断』(1分)
若有inti,*p;则语句*p=1000;
是合法的.
答案:
N
〖第10题〗『判断』(1分)
对于函数原型:
intfun(inta,intb=300,intc=200,intd=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分)
若有#defineS(a,b)a*b则语句area=S(3,2);area的值为6.
答案:
Y
〖第20题〗『判断』(1分)
C++语言允许嵌套定义函数,也允许嵌套调用函数.
答案:
N
〖第1题〗『单项选择』(1分)
下列程序的输出为().
#includevoidmain(){inty=10;while(y--);cout<<"y="<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分)
设有定义:
charstr[100];当执行cin>>str;后,从键盘输入:
″C++programmingwindows″...
A:
C++
B:
C++programming
C:
windows
D:
C++programmingwindows
答案:
A
〖第4题〗『单项选择』(1分)
在以下new和delete运算符使用中,错误的是().
A:
char*p=newchar[10];delete[]p;
B:
char*p=newchar[5];delete[]p;p=newchar[10];delete[]p;
C:
char*p=newchar;deletep;
D:
char*p=newint[10];deletep;
答案:
D
〖第5题〗『单项选择』(1分)
执行下列语句后的输出为().
intj=-1;
if(j<=1)cout<<"****"<elsecout<<"%%%%"<A:
****
B:
%%%%
C:
%%%%c
D:
有错,执行不正确
答案:
A
〖第6题〗『单项选择』(1分)
全局变量的定义不可能在().
A:
函数内部
B:
函数外面
C:
文件外面
D:
最后一行
答案:
A
〖第7题〗『单项选择』(1分)
以下程序段的输出结果是().
char*alp[]={"ABC","DEF","GHI"};intj;cout<A:
A
B:
B
C:
D
D:
DEF
答案:
D
〖第8题〗『单项选择』(1分)
若有inti=3,*p;p=&i;下列语句中输出结果为3的是().
A:
cout<<&p;
B:
cout<<*i;
C:
cout<<*p;
D:
cout<
答案:
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分)
下列语句的结果是().
#includevoidmain(){intj;j=3;cout<<++j;cout<<","<A:
3,3
B:
3,4
C:
4,3
D:
4,4
答案:
D
〖第13题〗『单项选择』(1分)
设inta=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分)
以下程序的输出结果是().
#includevoidmain(){inti,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:
inta[2][]={{1,0,1},{5,2,3}};
B:
inta[][3]={{1,2,3},{4,5,6}};
C:
inta[2][4]={{1,2,3},{4,5},{6}};
D:
inta[][3]={{1,0,1}{},{1,1}};
答案:
B
〖第18题〗『单项选择』(1分)
?
inta=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分)
?
以下程序段的输出结果为().
#includevoidmain(){inti,j;for(i=4;i>1;i--)for(j=1;jA:
无
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分)
?
以下程序段的输出结果为().
?
charc[]="abc";
?
inti=0;
do;while(c[i++]!
='\0');cout<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分)
设有定义intn;执行n='f'-'a'后,n的值是().
A:
f
B:
a
C:
5
D:
6
答案:
C
〖第28题〗『单项选择』(1分)
以下不能正确进行字符串赋初值的语句是().
A:
charstr[5]="good!
";
B:
charstr[]="good!
";
C:
char*str="good!
";
D:
charstr[5]={'g','o','o','d'};
答案:
A
〖第29题〗『单项选择』(1分)
两个指针变量不可以().
A:
相加
B:
比较
C:
相减
D:
指向同一地址
答案:
A
〖第30题〗『单项选择』(1分)
下列程序的输出结果是().
?
#includevoidmain(){inta=9;cout<<++a;}
A:
12
B:
11
C:
10
D:
9
答案:
C
〖第1题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
计算平均成绩并统计90分以上人数。
-------------------------------------------------------*/
#include
voidmain()
{intn,m;floatgrade,average=0;
/***********SPACE***********/
n=m=【?
】;
while
(1)
/***********SPACE***********/
{【?
】>>grade;
if(grade<0)break;
n++;
average+=grade;
/***********SPACE***********/
if(grade<90)【?
】;
m++;
}
if(n)cout<}
答案:
1).0
2).cin
3).continue
〖第2题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
编程求任意给定的n个数中的奇数的连乘积,偶数的平方和
以及0的个数。
-------------------------------------------------------*/
#include
voidmain()
{intr=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="<}
答案:
1).a%2
2).r*
3).a*a
〖第1题〗『程序改错』(8分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
函数fun的功能是:
求1到10的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
voidfun()
{
intn,j;
longs=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<}
voidmain()
{
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
#include
#include
voidwriteinfile(intn)
{
fstreammyfile;
myfile.open("f.txt",ios:
:
out);
myfile<myfile.close();
}
voidmain()
{
intm,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;}
----------------------