VC++语言考试.docx
- 文档编号:24294877
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:24
- 大小:20.23KB
VC++语言考试.docx
《VC++语言考试.docx》由会员分享,可在线阅读,更多相关《VC++语言考试.docx(24页珍藏版)》请在冰豆网上搜索。
VC++语言考试
一、单选题(每题2分共40道小题总分值80分)
1.
阅读下面程序,并给出结果(B)。
main()
{
unionEXAMPLE{struct{
intx;inty;}in;
inta,b;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d%d",e.in.x,e.in.y);
}
(2分)
∙A.38
∙B.48
∙C.47
∙D.25
是否存疑
答案:
解析:
2.函数调用自身被称为(C)。
(2分)
∙A.继承
∙B.重载
∙C.递归
∙D.多态
是否存疑
答案:
解析:
3.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(C)。
(2分)
∙A.EOF
∙B.0
∙C.非零值
∙D.NULL
是否存疑
答案:
解析:
4.
有以下程序
main()
{char*s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是(C)。
(2分)
∙A.n,two
∙B.t,one
∙C.w,one
∙D.o,two
是否存疑
答案:
解析:
5.C语言程序由(C)组成。
(2分)
∙A.子程序
∙B.过程
∙C.函数
∙D.主程序与子程序
是否存疑
答案:
解析:
6.多个具有不同类型或个数参数的函数共用一个函数标识名被称为(B)函数。
(2分)
∙A.继承
∙B.重载
∙C.递归
∙D.多态
是否存疑
答案:
解析:
7.在C++中,14%4的运算结果为(C)(2分)
∙A.1
∙B.2
∙C.3
∙D.4
是否存疑
答案:
解析:
8.下面正确调用形式是(D)。
(2分)
∙A.fscanf(文件指针,格式字符串,输出表列);
∙B.fscanf(格式字符串,文件指针,输出表列);
∙C.fscanf(格式字符串,输出表列,文件指针);
∙D.fscanf(文件指针,格式字符串,输入表列);
是否存疑
答案:
解析:
9.
设有说明:
uniondata{
inti;floatf;
struct{
intx;chary;
}s;
doubled;
}a;
在16位微机环境下,int类型的整数占用两个字节,则变量a在内存中所占字节数为(A)。
(2分)
∙A.8
∙B.17
∙C.9
∙D.15
是否存疑
答案:
解析:
10.以下对C语言中共用体类型数据的叙述(C)的叙述是正确的。
(2分)
∙A.可以对共有变量名直接赋值
∙B.一个共用体变量中可以同时存放其所有成员
∙C.一个共有体变量中不能同时存放其所有成员
∙D.共用体类型定义中不能出现结构体类型的成员
是否存疑
答案:
解析:
11.变量的有效范围与其定义位置有关,(B),其作用域在整个源程序文件中都有效。
(2分)
∙A.在第一个函数中定义的变量
∙B.在定义第一个函数之前所定义的变量
∙C.在主函数中定义的变量
∙D.在函数中定义的静态变量
是否存疑
答案:
解析:
12.下列说法不正确的是(A)。
(2分)
∙A.宏替换不占用运行时间
∙B.宏无类型
∙C.宏替换只是字符替换
∙D.宏名必须用大写字母表示
是否存疑
答案:
解析:
13.
有以下程序
main()
{char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%d\n”,strlen(p[4]));
}
执行后输出结果是(A)。
(2分)
∙A.2
∙B.3
∙C.4
∙D.5
是否存疑
答案:
解析:
14.下面对结构数据类型的叙述中,(C)是错的。
(2分)
∙A.结构变量可以在说明结构类型后定义,也可在说明结构时定义
∙B.结构可由若干个成员组成,各成员的数据类型可以不同
∙C.定义一个结构类型后,编译程序要为结构的各成员分配存储空间
∙D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用
是否存疑
答案:
解析:
15.
若有以下程序:
main()
{intk=2,i=2,m;
m=(k+=i*=k);
printf(“%d,%d\n”,m,i);}
执行后的输出结果是(C)。
(2分)
∙A.8,6
∙B.8,3
∙C.6,4
∙D.7,4
是否存疑
答案:
解析:
16.若在函数定义时省去类型标识符,则系统默认函数返回值类型为(A)。
(2分)
∙A.整形
∙B.浮点型
∙C.字符型
∙D.空类型
是否存疑
答案:
解析:
17.
若变量都已正确说明,则以下程序段(C)。
a=2;b=3;
printf(a>b?
”***a=%d”:
”###b=%d”,a,b);
(2分)
∙A.没有正确的输出格式控制
∙B.输出为:
***a=2
∙C.输出为:
###b=2
∙D.输出为:
***a=2###b=2
是否存疑
答案:
解析:
18.C++中不能用来组成循环结构的关键字是(C)(2分)
∙A.for
∙B.while
∙C.switch
∙D.do
是否存疑
答案:
解析:
19.
下列程序的输出结果是(B)
#include
voidmain()
{intn[][3]={10,20,30,40,50,60};
int(*p)[3];
p=n;
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;}
(2分)
∙A.10,30,50
∙B.10,20,30
∙C.20,40,60
∙D.10,30,60
是否存疑
答案:
解析:
20.
设有如下程序段,其结果是(B)。
inta=100,b=100;
for(;a!
=b;++a,b++)
printf(“---\n”);
(2分)
∙A.输出---
∙B.输出100行---
∙C.死循环
∙D.该for循环一次也不执行
是否存疑
答案:
解析:
21.
若程序中定义了以下函数
doublemyadd(doublea,doubleB)
{return(a+B);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)。
(2分)
∙A.doublemyadd(doublea,B);
∙B.doublemyadd(double,double);
∙C.doublemyadd(doubleb,doubleA);
∙D.doublemyadd(doublex,doubley);
是否存疑
答案:
解析:
22.以下选项中合法的实型常数是(C)。
(2分)
∙A.5E2.0
∙B.E-3
∙C..2E1
∙D.1.3E
是否存疑
答案:
解析:
23.
下面程序段的运行结果是(A)。
(注:
└┘表示空格)
charc[6]={‘a’,‘b’,‘c’,‘\0’,‘d’,‘\0’};
printf(“%s”,c);
(2分)
∙A.abc
d
∙
∙B.‘a’‘b’‘c’
‘d’
∙
∙C.abc└┘d
∙D.abc
是否存疑
答案:
解析:
24.
intn=0;
while(n=1)n++;
while循环执行次数是(D)。
(2分)
∙A.0次
∙B.1次
∙C.不确定次
∙D.无限次
是否存疑
答案:
解析:
25.
有以下程序
main()
{chars[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是(C)。
(2分)
∙A.赋初值的字符串有错
∙B.6,7
∙C.5,6
∙D.6,6
是否存疑
答案:
解析:
26.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(D)。
(2分)
∙A.a,point,*&a
∙B.&*a,&a,*point
∙C.*&point,*point,&a
∙D.&a,&*point,piont
是否存疑
答案:
解析:
27.
有以下程序
#include
main()
{FILE*fp;inti,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
for(i=1;i<4;i++)fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&k,&n);printf(“%d%d\n”,k,n);
fclose(fp);
}
执行后输出结果是(A)。
(2分)
∙A.12
∙B.1230
∙C.123
∙D.00
是否存疑
答案:
解析:
28.如有以下定义“inty[4][4]={1,2,3,4,5,6,7,8,9,10},*pyl=y[l],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是(B)。
(2分)
∙A.*(y[l]+2)
∙B.*(y+1)+2
∙C.pyl[2]
∙D.py2[1][2]
是否存疑
答案:
解析:
29.已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是(C)。
(2分)
∙A.scanf(“%2d%2d%2d”,&i,&j,&k);
∙B.scanf(“%d%d%d”,&i,&j,&k);
∙C.scanf(“%d,%d,%d”,&i,&j,&k);
∙D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
是否存疑
答案:
解析:
30.已定义以下函数
fun(char*p2,char*p1)
{while((*p2=*p1)!
=‘\0’){p1++;p2++;}}
函数的功能是(A)。
(2分)
∙A.将p1所指字符串复制到p2所指内存空间
∙B.将p1所指字符串的地址赋给指针p2
∙C.对p1和p2两个指针所指字符串进行比较
∙D.检查p1和p2两个指针所指字符串中是否有‘\0’
是否存疑
答案:
解析:
31.若有变量说明:
chars,s1[20];执行语句:
s="student";s1=s;正确的叙述是(A)。
(2分)
∙A.二个语句都不正确
∙B.s所指向的字符串和s1的值都是"student"
∙C.第一个语句正确,而第二个语句不正确
∙D.第二个语句正确,而第一个语句不正确
是否存疑
答案:
解析:
32.整型变量a的取值范围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为(A)。
(2分)
∙A.–1<=a<=10|20<a<40
∙B.(–1<=a&&a<=10)|(20<a&&a<40)
∙C.(–1<=a&&a<=10)||(20<a&&a<40)
∙D.–1<=a<=10||20<a<40
是否存疑
答案:
解析:
33.
设x=3,y=-4,z=6,下面表达式的结果是(B)。
!
(x>y)+(y!
=z)||(x+y)&&(y-z)
(2分)
∙A.0
∙B.1
∙C.-1
∙D.6
是否存疑
答案:
解析:
34.C语言中函数能否嵌套调用和递归调用?
以下说法正确的是(A)。
(2分)
∙A.二者均不可
∙B.前者可,后者不可
∙C.前者不可,后者可
∙D.二者均可
是否存疑
答案:
解析:
35.有语句charstr1[10],str2[10]={"books"};则能将字符串books赋给数组str1的正确语句是(B)。
(2分)
∙A.str1={"Books"};
∙B.strcpy(str1,str2);
∙C.str1=str2;
∙D.strcpy(str2,str1);
是否存疑
答案:
解析:
36.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(B)。
(2分)
∙A.float型
∙B.int型
∙C.long型
∙D.double型
是否存疑
答案:
解析:
37.在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为(C)。
(2分)
∙A.54
∙B.3
∙C.18
∙D.21
是否存疑
答案:
解析:
38.在while循环中使用(D)语句可以立即跳出整个循环体。
(2分)
∙A.continue
∙B.return
∙C.case
∙D.break
是否存疑
答案:
解析:
39.C语言结构体类型变量在程序执行期间(A)。
(2分)
∙A.所有成员一直驻留在内存中
∙B.只有一个成员驻留在内存中
∙C.部分成员驻留在内存中
∙D.没有成员驻留在内存中
是否存疑
答案:
解析:
40.
以下程序的输出结果是用(D)表示。
main()
{intk=17;
printf("%d,%o,%x\n",k,k,k);
}
(2分)
∙A.17,021,0x11
∙B.17,17,17
∙C.17,0x11,021
∙D.17,21,11
二、多选题(每题1分共10道小题总分值10分)
1.若变量已正确定义并赋值,下面不符合C语言语法的表达式是(ACD)(1分)
∙A.a:
=b+1
∙B.a=b=c+2
∙C.int18.5%3
∙D.a=a+7=c+b
是否存疑
答案:
解析:
2.以下说法中不正确的是(ACD)(1分)
∙A.C++语言程序总是从第一个函数开始执行
∙B.C++语言程序总是从main()函数开始执行
∙C.C++语言程序中的main()函数必须放在程序的开始部分
∙D.在C++语言程序中,要调用的函数必须在main()函数中定义
是否存疑
答案:
解析:
3.若有定义:
char*str[]={"one","two","three"},**p=str;则可以表示出字符't'的表达是(BD)(1分)
∙A.*str+2
∙B.*str[2]
∙C.*(p+1)
∙D.**++p
是否存疑
答案:
解析:
4.下列描述中正确的是(AB)。
(1分)
∙A.定义函数中指定的形参,在函数未调用时不占用内存空间。
∙B.实参应该是确定的值。
∙C.实参与形参的类型可以不同。
∙D.形参可以将函数运算后的值传递给实参。
是否存疑
答案:
解析:
5.当用public继承从基类派生一个类时,基类的(ABD)成员可被派生类中的成员函数访问(1分)
∙A.protected
∙B.public
∙C.private
∙D.friend
是否存疑
答案:
解析:
6.在C语言中,不合法的长整型常数是(ACD)(1分)
∙A.2.1869e10
∙B.0L
∙C.4962710
∙D.0.054838743
是否存疑
答案:
解析:
7.下面的表达式中值为0的是(ABC)(1分)
∙A.3/5
∙B.5>>3
∙C.!
3
∙D.5%3
是否存疑
答案:
解析:
8.如果打开文件时,选用的文件操作方式为“wb+”,则下列说法中正确的是(ACD)(1分)
∙A.要打开的文件是二进制文件
∙B.要打开的文件必须存在
∙C.要打开的文件可以不存在
∙D.打开文件后可以读取数据
是否存疑
答案:
解析:
9.下面变量赋初值中正确的是(ABC)(1分)
∙A.inta=3;
∙B.inta,b=3;
∙C.inta=3,b=3;
∙D.inta=b=3;
是否存疑
答案:
解析:
10.下列关于数组初始化的说法正确的是(AC)(1分)
∙A.若对数组a定义:
"staticintx[10];",则数组元素值均为0
∙B."intx[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
∙C.对于"intx[10]";它的元素初值是不确定的
∙D."intx[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
是否存疑
答案:
解析:
三、判断(每题1分共10道小题总分值10分)
1.C++中标识符内的大小写字母是没有区别的。
(1分)(×)
∙
∙
是否存疑
答案:
解析:
2.说明或定义对象时,类名前面不需要加class关键字。
(1分)(√)
∙
∙
是否存疑
答案:
解析:
3.当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用全局变量。
(1分)(×)
∙
∙
是否存疑
答案:
解析:
4.想要在程序中正确地使用自定义的函数,则必须先声明它,然后再定义它。
(1分)(√)
∙
∙
是否存疑
答案:
解析:
5.C++是一种以编译方式实现的高级语言。
(1分)(√)
∙
∙
是否存疑
答案:
解析:
6.返回值类型、参数个数和类型都相同的函数也可以重载。
(1分)(×)
∙
∙
是否存疑
答案:
解析:
7.C++是最开始提出类概念的语言(1分)(×)
∙
∙
是否存疑
答案:
解析:
8.结构体的默认访问权限为public,而类中的默认访问权限为protected。
(1分)(×)
∙
∙
是否存疑
答案:
解析:
9.一个函数中可以有多于一个return语句。
(1分)(√)
∙
∙
是否存疑
答案:
解析:
10.构造函数可以声明为虚函数。
(1分)(√)
∙
∙
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 语言 考试