C语言vivo笔试题目及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,以下哪个是合法的变量名?
A.1_variable
B.variable@1
C._variable1
D.varable
答案:C
2.若有定义:inta=5;则表达式a++的值为:
A.5
B.6
C.7
D.4
答案:A
3.C语言中,函数的返回值类型由:
A.return语句中的表达式类型决定
B.调用函数的主调函数类型决定
C.定义函数时所指定的函数类型决定
D.系统默认的类型决定
答案:C
4.以下数组定义中正确的是:
A.inta[5];
B.intn=5;inta[n];
C.inta(5);
D.inta{5};
答案:A
5.在C语言中,若有定义:intp;则指针p:
A.已经指向了一个整型变量
B.可以指向任何类型的变量
C.未指向任何变量,它的值是未定义的
D.已经指向了一个地址为0的存储单元
答案:C
6.以下对结构体的描述正确的是:
A.结构体不能包含指针成员
B.结构体成员的类型必须相同
C.结构体可以嵌套定义
D.结构体变量不能初始化
答案:C
7.C语言中,用于打开文件的函数是:
A.open()
B.fopen()
C.create()
D.makefile()
答案:B
8.若有定义:inta=1,b=2,c=3;表达式(ab?a:c)的值为:
A.1
B.2
C.3
D.0
答案:A
9.以下哪个不是C语言中的循环语句?
A.for
B.while
C.do-while
D.repeat-until
答案:D
10.在C语言中,函数调用时:
A.实参和形参各占独立的存储单元
B.实参和形参共用存储单元
C.由用户指定是否共用存储单元
D.由系统指定是否共用存储单元
答案:A
二、多项选择题(每题2分,共10题)
1.以下哪些是C语言中的基本数据类型?
A.int
B.float
C.double
D.char
E.struct
答案:A、B、C、D
2.关于C语言中的指针,以下说法正确的是:
A.指针变量可以进行算术运算
B.指针可以指向函数
C.可以有指针数组
D.指针可以指向任意类型的变量
E.空指针不占用内存空间
答案:A、B、C、D
3.在C语言中,以下哪些操作符具有左结合性?
A.+
B.-
C.
D./
E.%
答案:A、B、C、D、E
4.以下关于C语言函数的描述,正确的有:
A.函数可以有多个返回值
B.函数可以嵌套定义
C.函数可以没有参数
D.函数可以递归调用
E.函数可以有默认参数
答案:C、D
5.若有定义:inta[10];则以下哪些操作是合法的?
A.a[0]=1;
B.a[10]=2;
C.for(inti=0;i10;i++){a[i]=i;}
D.intp=a;p=3;
E.a[-1]=0;
答案:A、C、D
6.以下哪些是C语言中处理字符串的函数?
A.strlen()
B.strcpy()
C.strcat()
D.strcmp()
E.atoi()
答案:A、B、C、D
7.在C语言中,关于宏定义,以下说法正确的是:
A.宏定义只是简单的文本替换
B.宏定义可以带参数
C.宏定义不能嵌套
D.宏定义在编译阶段处理
E.宏定义比函数调用效率高
答案:A、B、D、E
8.以下哪些情况会导致C语言程序出现编译错误?
A.变量未定义就使用
B.语法错误
C.缺少头文件
D.数组越界访问(编译时能检测到的情况)
E.使用了未初始化的指针
答案:A、B、C
9.C语言中,以下关于结构体和联合体的区别正确的是:
A.结构体的所有成员都占用独立的内存空间,联合体的成员共用内存空间
B.结构体可以有多个不同类型的成员,联合体也可以
C.结构体变量的大小是所有成员大小之和,联合体变量的大小是最大成员的大小
D.结构体可以嵌套,联合体不能嵌套
E.对结构体成员的访问方式和联合体成员的访问方式完全相同
答案:A、B、C
10.若有定义:inta=1;以下哪些表达式的值为1?
A.a==1
B.a!=0
C.!!a
D.a1
E.a|0
答案:A、B、C、E
三、判断题(每题2分,共10题)
1.在C语言中,所有变量都必须在使用前定义。(对)
2.C语言中的数组名代表数组的首地址,是一个常量指针。(对)
3.函数中可以定义与全局变量同名的局部