选择题Word下载.docx
《选择题Word下载.docx》由会员分享,可在线阅读,更多相关《选择题Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
A.inta(10);
B.intn=10,a[n];
C.intn;
scanf("
%d"
&
n);
inta[n];
D.#definen10inta[n];
6.
设array为一个数组,则表达式sizeof(array)/sizeof(array[0])的结果为()。
A.array数组首地址
B.array数组中元素个数
C.array数组中每个元素所占的字节数
D.array数组占的总字节数
7.
下列给一维数组定义及赋初值时,正确的是()。
A.inta[];
cin>
>
a;
B.inta[4];
a[4];
C.inta[1];
a[0]>
a[1];
D.inta[]={0};
8.
在下面的一维数组定义中,()有语法错误。
A.inta[]={1,2,3};
B.inta[10]={0};
C.inta[];
D.inta[5];
9.若有以下说明,则数值为4的表达式是()。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='
a'
d,g;
A.a[g-c]
B.a[4]
C.a['
d'
-'
c'
]
D.a['
-c]
10.
在C语言中,下面关于数组的描述正确的是()。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
11.
一个函数功能不太复杂,但要求被频繁调用,选用____。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
12.
下列带缺省值参数的函数说明中,正确的说明是 。
A.intFun(intx,inty=2,intz=3);
B.intFun(intx=1,inty,intz=3);
C.intFun(intx,inty=2,intz);
D.intFun(intx=1,inty,intz);
13.
在C++中函数原型不能标识:
____。
A.函数的返回类型
B.函数的参数个数
C.函数的功能
D.函数参数类型
14.
下面有关重载函数的说法中正确的是____。
A.重载函数必须具有不同的返回值类型;
B.重载函数形参个数必须不同;
C.重载函数必须有不同的形参列表
D.重载函数名可以不同;
15.
以下程序有语法性错误,有关错误原因的正确说法是:
main()
{intG=5,k;
voidprt_char();
……
k=prt_char(G);
……
}
A.语句voidprt_char();
有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
16.
下列选项中,()具有文件作用域。
A.函数形参
B.局部变量
C.全局变量
D.静态变量
17.
正确的函数原型形式为()。
A.voidfun(void);
B.doublefun(intx;
inty);
C.intfun(int=0,int);
D.doublefun(intx,y)
18.
下面叙述中错误的是()。
A.调用函数必须在一条独立的语句中完成
B.一个函数中可以有多条return语句
C.函数中通过return语句传递函数值
D.主函数名main也可以带有形参
19.
在函数的返回值类型与返回值表达式类型的描述中,错误的是()。
A.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变
B.函数返回值得类型就是返回值表达式的类型
C.函数返回值的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型
D.函数返回值的类型决定了返回值表达式的类型
20.
必须用一对大括号括起来的程序段是()。
A.switch语句中的case标号语句
B.if语句的分支
C.循环语句的循环体
D.函数的函数体
21.
语句int*p();
的含义是____。
A.p是一个函数,该函数返回指针。
B.p是指针变量,指向一个整型数据。
C.p是一个指向一维数组的指针变量。
D.p是数组,数组的元素是指针。
22.
设intx[]={1,2,3,4,5,6},*p=x;
则值为4的表达式是____。
A.p+=2,*++p
B.p+=2,*p++
C.p+=4,*p
D.p+=3,++*p
23.
以下选项中,不能正确赋值的是()
A.chars[]=“china”;
B.chars[10];
s1[]=“china”;
C.char*s=“china”;
D.char*s[4]=“china\n”;
24.
已知:
inta[6],*p=a;
则下列不能表示a[1]地址的表达式是()
A.p+1
B.++p
C.a+1
D.a++
25.在整型指针变量p1、p2的定义中,错误的是()。
A.intx,*p1,p2;
B.int*p1,x,*p2;
C.intx,*p1=&
x,*p2;
D.int*p1,x,*p2=&
x;
26.
若有intk=1,a[10]={10,20,30,40};
int*p1=a,*p2=&
a[2];
则下列不能正确执行的语句是()。
A.k=*p1+*p2;
B.p2=k;
C.p1=p2;
D.k=p2-p1;
27.
若有int*p[3];
则以下表述中正确的是()。
A.p是一个指向有3个元素的整型数组的指针
B.p是一个指向int型变量的指针
C.p是一个有3个元素的指针数组,每个元素是一个int型指针
D.p是一个数组,该数组的元素是指针p所指向的变量
28.
设有语句intarray[3][4];
则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是()。
A.array[i][j]
B.*(*(array+i)+j)
C.*(array[i]+j)
D.*(array+i*4+j)
29.
若有以下说明和语句,请选出哪个是对c数组元素的正确引用()
intc[4][5],(*cp)[5];
cp=c;
A.cp+1
B.*(cp+3)
C.*(cp+1)+3
D.*(*cp+2)
30.
设已有定义:
char*st=“howareyou”;
下列程序段中正确的是()
A.chara[11];
strcpy(++a,st);
B.chara[11],*p;
strcpy(p=a+1,&
st[4]);
C.chara[11];
strcpy(a,st);
D.chara[],*p;
strcpy(p=&
a[1],st+2);
31.
以下程序的运行结果是()
point(char*p){p+=3;
intmain()
{charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b;
point(p);
cout<
<
*p<
endl;
return0;
}
A.a
B.b
C.c
D.d
32.
阅读下面程序,执行后的结果为()
#include<
iostream>
usingnamespacestd;
voidfun(int*a,int*b)
{intk=5;
*a=k;
*b=*a+k;
intmain()
{int*a,*b,x=10,y=15;
a=&
x;
b=&
y;
fun(a,b);
cout<
*a<
”,”<
*b<
endl;
return0;
A.10,15
B.5,15
C.5,10
D.15,10
33.
下面程序段的运行结果是()。
charstr[]="
ABC"
*p=str;
printf("
%d\n"
*(p+3));
A.67
B.0
C.字符′C′的地址
D.字符′C′
34.
有如下程序段
int*p,a=10,b=1;
p=&
a=*p+b;
执行该程序段后,a的值为()。
A.编译出错
B.12
C.11
D.10
35.
若有“floata=1.5,b=3.5,*pa=&
*pa*=3;
pa=&
b;
”,则正确的是()
A.pa的值是1.5
B.*pa的值是4.5
C.*pa的值是3.5
D.pa的值是3.5
36.
设有以下说明语句
typedefstruct
{intn;
charch[8];
}PER;
则下面叙述中正确的是()。
A.PER是结构体变量名
B.PER是结构体类型名
C.typedefstruct是结构体类型
D.struct是结构体类型
37.
structstu
{i