c语言考试试题及答案浙江大学
一、单项选择题(每题2分,共10题)
1.在C语言中,以下哪个是合法的标识符?()
A.3a
B.int
C._abc
D.+b
答案:C
2.若有定义inta=5;则表达式a++的值为()。
A.5
B.6
C.4
D.7
答案:A
3.C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时所指定的函数类型
D.形参的数据类型
答案:C
4.以下数组定义中正确的是()。
A.inta[5.5];
B.inta[0..5];
C.inta[];
D.inta[5];
答案:D
5.若有定义:structstudent{
charname[20];
intage;
};
structstudentstu1;
则对stu1中的成员age正确的引用是()。
A.student.age
B.stu1-age
C.stu1.age
D.stu1.age
答案:C
6.在C语言中,逻辑“真”等价于()。
A.non-zero
B.zero
C.yes
D.10
答案:A
7.若有定义:intp;则以下语句中正确的是()。
A.p=100;
B.scanf(%d,p);
C.p=20;
D.p=(int)malloc(4);
答案:D
8.C语言中,文件操作的一般步骤是()。
A.打开文件-读写文件-关闭文件
B.读写文件-打开文件-关闭文件
C.打开文件-关闭文件-读写文件
D.关闭文件-读写文件-打开文件
答案:A
9.以下关于宏定义的说法正确的是()。
A.宏定义在运行时进行替换
B.宏定义可以嵌套定义
C.宏定义不可以带参数
D.宏定义只是简单的字符串替换
答案:D
10.若有函数调用语句:func((e1,e2),(e3,e4,e5));则函数func的实参个数是()。
A.2
B.3
C.5
D.有语法错误
答案:A
二、多项选择题(每题2分,共10题)
1.以下哪些是C语言中的基本数据类型?()
A.int
B.char
C.struct
D.float
E.double
答案:ABDE
2.关于指针,以下说法正确的是()。
A.指针变量可以指向同类型的变量地址
B.指针变量可以进行算术运算
C.可以定义指向函数的指针
D.指针变量可以直接赋值一个整数
E.空指针不占用内存空间
答案:ABC
3.以下哪些是C语言中的循环结构?()
A.if-else
B.for
C.while
D.do-while
E.switch-case
答案:BCD
4.在C语言中,函数的参数传递方式有()。
A.值传递
B.地址传递
C.引用传递(C++概念,C中可通过指针模拟)
D.全局变量传递
E.函数返回值传递
答案:ABC
5.若有结构体定义如下:
structpoint{
intx;
inty;
};
以下哪些操作是正确的?()
A.structpointp1;p1.x=1;p1.y=2;
B.structpointp;p=(structpoint)malloc(sizeof(structpoint));p-x=1;p-y=2;
C.structpointarr[2];arr[0].x=3;arr[0].y=4;
D.structpointp;p.x=5;p.y=6;
E.structpointp2={7,8};
答案:ABCE
6.C语言中,以下哪些情况会导致编译错误?()
A.使用未定义的变量
B.数组越界访问(编译时可能检测不出)
C.函数调用时实参与形参类型不匹配
D.在函数内部重新定义一个已经在函数外部定义过的全局变量
E.给