一.单选题
1.
下列对字符数组进行初始化的语句正确的是?
正确答案: A 你的答案: A (正确)
char a[] =“Hello”;
char a[][]={‘H’,‘e’,‘l’,‘l’,‘o’};
char a[5]= “Hello”;
char a[2][5]={ “Hello”,“World”};
解释:比较简单。
A正确。
B二维数组最后一维必须有值。***数组只能省略第一维(感谢评论提醒)
CD都超出长度,最后有"\0"
2.
语句 scanf("%7.2f",&a);是一个合法的scanf 函数。请问这句话的说法是正确的吗?
正确答案: B 你的答案: A (错误)
正确
错误
解释: scanf不能指定输入精度,可以指定长度。
比如%m.nf是不允许的,但是可以%mf。m为整数。
3.
函数即可以嵌套定义,又可以嵌套调用。请问这句话的说法是正确的吗?
正确答案: B 你的答案: A (错误)
正确
错误
解释:函数的定义不可以嵌套,调用可以
4.
以下程序运行后的输出结果是( )
int main()
{
int a=1,b=2,m=0,n=0,k;
k=(n=b<a)&&(m=a) ;
printf("%d,%d\n",k,m);
return 0;
}
正确答案: A 你的答案: B (错误)
0,0
0,1
1,0
1,1
解释:因为前面的等于0,所以不执行后面的语句,所以m=0
5.
下面关于虚函数的描述,错误的是
正确答案: B 你的答案: B (正确)
在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
虚函数可以是另一个类的友元函数,但不能是静态成员函数
基类中说明的纯虚函数在其任何需要实例化的派生类中都必须实现
解释:一旦在基类中指定某成员函数为虚函数,不管在公有派生类中是否给出virtual声明,派生类对其重载定义的成员函数均为虚函数,为增强可读性,通常在派生类中也加入virtual关键字。
6.
下列说法哪个是正确的()
正确答案: A B C D 你的答案: B (错误)
float的指数取值范围是-127,+128
float的取值范围是-3.4E+38,3.4E+38
float的指数位有8位
float的尾数位有23位
7.
以下全部都是合法的用户标识符的是()
正确答案: C 你的答案: D (错误)
user PAD#d stu-age
scnafn10 _345 A*stu
age exterm xbb
stu name Name char _1day
解释: 用户标识符只能由‘_’,数字和字母组成,且不能由数字开头。
A第三个存在‘-’,
B第三个存在’*’,
D第二个存在’ ’
8.
若有以下程序
#include < stdio. h >
char *a =" you";
char b[ ] =" Welcome you to China!" ;
main()
{
int i,j=0; char * p;
for(i=0;b[ i ] ! =’\0’;i + + )
{
if ( * a = = b[ i ] )
{
p=a;
for(j=i;*p!=’\0’;j+ +)
{
if(*p! = b[ j ]) break;
p++ ;
}
if(*p= =’\0’)
break;
}
}
printf("%s",& b[ i ] );
}
则程序的输出结果是?
正确答案: D 你的答案: D (正确)
China!
to China!
me you to China!
you to China!
解释:
#include < stdio. h >