09浦通信浦化工练习三.docx
《09浦通信浦化工练习三.docx》由会员分享,可在线阅读,更多相关《09浦通信浦化工练习三.docx(13页珍藏版)》请在冰点文库上搜索。
09浦通信浦化工练习三
09浦通信浦化工练习三
满分:
69分
姓名:
________
1、单项选择题(本题共计32分)
1、假定a为一个整型数组名,能引用元素a[5]的值是()()
A、a(5)
B、*(a+5)
C、*a+5
D、*a[5]
2、若有下面的变量定义,以下语句中合法的是()。
inti,a[10],*p;()
A、p=a+2;
B、p=a[5];
C、p=a[2]+2;
D、p=&(i+2);
3、若对两个数组a和b进行初始化
chara[]="ABCDEF";
charb[]={'A','B','C','D','E','F'};
则下列叙述正确的是。
()
A、a与b数组完全相同
B、a与b数组长度相同
C、a与b数组都存放字符串
D、数组a比数组b长度长
4、以下不能正确进行字符串赋初值的语句是()。
()
A、charstr[5]="good!
"
B、charstr[]="good!
"
C、char*str="good!
"
D、charstr[5]={'g','o','o','d'}
5、以下数组声明语句中正确的是()。
()
A、intn,a[n];
B、inta[];
C、inta[2][3]={{1},{2},{3}};
D、inta[][3]={{1},{2},{3}};
6、表达式18/4*sqrt(4.0)/5值的数据类型是________()
A、int
B、float
C、double
D、不确定
7、设inta=2,b=2;则++a+b的结果是________,a的结果是________,b的结果是________。
()
A、235
B、325
C、432
D、532
8、设intx=2,y=3,z=4;则下面的表达式中值不为1的表达式是________。
()
A、'x'&&'z'
B、(!
y==1)&&(!
z==0)
C、(xz‖1
D、x‖++y&&z-y
9、以下程序的输出是________。
#include
intw=3;
intfun(int);
voidmain()
{intw=10;
cout<}
intfun(intk)
{if(k==0)returnw;
return(fun(k-1)*k);
}()
A、360
B、3600
C、1080
D、1200
10、设有函数定义“intf1(void){return200,100;}”,设调用函数f1()时,________。
()
A、函数返回值100
B、函数返回两个值100和200
C、函数返回值200
D、语句“return200,100;”语法错,不能调用函数
11、有关函数重载的正确说法是____________。
()
A、函数名不同,但参数的个数和类型相同
B、函数名相同,但参数的个数不同或参数的类型不同
C、函数名相同,参数的个数和类型也相同
D、函数名相同,函数的返回值不同,而与函数的参数和类型无关
12、设有宏定义“#definef(x)(-x)*2”,执行语句”cout<()
A、-14
B、2
C、-5
D、5
13、字符串"One\'Two\n"占用的存储单元为________个。
()
A、8
B、9
C、10
D、11
14、设有说明语句:
chars[]="ab\0\123\\\n79";
strlen(s)的值是___________。
()
A、2
B、3
C、8
D、14
15、设有说明语句:
chars[]="ef\0\123\\\n89";sizeof(s)的值是____________。
()
A、2
B、9
C、11
D、15
16、数组作为函数的形参时,把数组名作为实参,传递给函数的是____________。
()
A、该数组的首地址
B、该数组的元素个数
C、该数组中的各元素值
D、该数组的大小
17、有一函数的定义如:
voidfun(char*s){…},则不正确的函数调用是____________。
()
A、voidmain()
{
chars[20]="abcdefgh";
fun(s);
…
}
B、voidmain()
{
chara[20]="abcdefgh";
fun(&a[0]);
…
}
C、voidmain()
{
chars[20]="abcdefgh";
char*p=s;fun(p);
…
}
D、voidmain()
{
chars[20]="abcdefgh";
fun(s[]);
…
}
18、在C++语言程序中,有关函数的定义正确的是____________。
()
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可以嵌套
D、函数的定义和函数的调用均可以嵌套
19、已知一函数的原型是:
intf(int,int=0,double=0.0);则下列函数中不可以加以重载的是__________。
()
A、intf(int);
B、intf(int,int);
C、f(int,int,double);
D、f(int,double);
20、对于一个功能不太复杂,并且要求加快执行速度,选用_______________合适。
()
A、内联函数
B、重载函数
C、递归调用
D、嵌套调用
21、以下能正确计算1*2*3*…*10的程序段是___________。
()
A、do{i=1;s=1;
s=s*i;i++;}
while(i<=10);
B、do{i=1;s=0;
s=s*i;i++;}
while(i<=10);
C、i=1;s=1;
do{s=s*i;
i++;}
while(i<=10);
D、i=1;s=0;
do{s=s*i;
i++;}
while(i<=10);
22、intx=-1;
do
{x=x*x;}
while(!
x);
下列说法正确的是___________。
()
A、是死循环
B、循环执行两次
C、循环执行一次
D、有语法错误
23、设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是____________。
()
A、0,0
B、0,1
C、1,0
D、1,1
?
24、运算符+、<=、=、%中,优先级最低的运算符是____________。
()
A、+
B、<=
C、=
D、%
25、在C++语言中,080是____________。
()
A、八进制数
B、十进制数
C、十六进制数
D、非法数
26、下列for循环的次数为_______.
for(inti=0,x=0;!
x&&i<=5;i++)()
A、5
B、6
C、1
D、无限
27、执行以下程序段时,输出________。
ints1=0,s2=0,s3=0,s4=0;
for(intt=1;t<=4;t++)
switch(t)
{
caset>=4:
s1++;break;
caset>=3:
s2++;break;
caset>=2:
s3++;
default:
s4++;
cout<}()
A、语法错,编译不通过
B、1,1,1,2
C、1,2,3,2
D、1,1,2,2
28、下述对C++语言字符数组的描述中错误的是________()
A、字符数组可以存放字符串
B、字符数组可以整体输入,输出
C、可以在赋值语句中用赋值运算符“=”对字符数组整体赋值
D、不可以用关系运算符对数组中的字符串进行比较
29、下面描述正确的是________()
A、两个字符串所包含的字符个数相同时才能比较字符串
B、字符个数多的字符串比字符个数少字符串大
C、字符串“STOp”与“STOP”相等
D、字符串“That”小于字符串“The”
30、判断字符串s1是否大于字符串s2,应当使用________()
A、if(s1>s2)
B、if(strcmp(s1,s2))
C、if(strcmp(s2,s1)>0)
D、if(strcmp(s1,s2)>0)
31、下面程序段的运行结果是________
charc[]="\t\v\\\0will\n";cout<A、14
B、3
C、9
D、字符串中非法字符,输出值不确定
32、对两个数组a和b进行如下初始化
chara[]=”ABCDEF”;
charb[]={‘A’,’B’,’C’,’D’,’E’,’F’};
则以下叙述正确的是________()
A、a和b数组完全相同
B、a与b所占字节数相同.
C、a和b中都存放字符串
D、a数组所占字节数比b数组所占字节数多
2、填空题(本题共计37分)
1、有数组定义inta[5];那么,*(a+2)访问的是数组a中下标为2的元素的_________。
(填值或者地址)
2、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。
请仔细阅读程序,在空白处填上合适的语句。
#include<stdio.h>
main()
{
inti,j;
for(i=0;________;i++)
{
j=i*10+6;
if(_________)
continue;
printf("%d",j);
}
}
3、如有定义int*p1;char*p2;则从变量占用的字节数来看,存在关系sizeof(p1)____________sizeof(p2)(填大于、小于或者等于)
4、函数的参数为数组或指针时,参数的传递方式为________传递。
5、凡是C源程序中行首以“#”表示的控制行都是___________指令。
6、若定义x和y为double类型,则表达式:
x=2,y=x+5/2的值是__________。
7、在C++中,字符串常量“Students”的值是________。
8、设有语句“inta[10];”,则a的值是_______。
9、执行语句序列
chars1[20]="aaa",s2[20]="bbbb",s3[20]="ccccc";
strcat(s1,strcat(s2,s3));
后s1,s2,s3的值分别是___
(1)___、___
(2)___、ccccc。
10、执行语句序列
chars1[]="ABCD",s2[]="XYZxyz";
for(inti=0;s2[i]=s1[i];i++);
后,数组s2中的字符串是_______。
11、如果一函数直接或间接地调用自身,这样的调用称为__________。
12、已知函数f的定义是:
intf(intn)
{n*=2;returnn+1;}
则执行
intm=6,n=2;
m=f(n);
后,m和n的值分别是________。
13、以下程序的执行结果是____________。
#include
voidsub(floatx,float*y,float*z)
{*y=*y-1.0;
*z=*z+x;
}
voidmain()
{floata=2.5,b=9.0,*pa,*pb;
pa=&a;pb=&b;
sub(b-a,pa,pb);
cout<}
14、静态整型变量有确定的初值,其缺少的初值是________。
15、若函数的形式参数是指针类型,则实参可以是指针名、数组名或__________。
16、函数中的形参和调用时的实参都是数组名时,传递方式为__________,都是变量时,传递方式为__________。
17、在C++中有两种类型的注释符,一种是C语言中使用的注释符(/*…*/),另一种是________。
参考答案
1.b,2.a,3.d,4.a,5.d,6.c,7.d,8.b,9.b,10.a,11.b,12.b,13.a,14.a,15.b,16.a,17.d,18.b,19.c,20.a,21.c,22.c,23.c,24.c,25.d,26.b,27.a,28.c,29.d,30.d,31.b,32.d
1.值,2.i<=10,j%3==0,3.等于,4.按地址,5.编译预处理,6.4.0,7.该字符串的首地址,8.数组a的起始地址,9.aaabbbbccccc,bbbbccccc,10.ABCD,11.递归调用,12.52,13.1.5,14.0,15.变量的地址,16.按地址传递,按值传递,17.//