2025c语言考试题及答案山东科技大学
一、单项选择题(每题2分,共10题)
1.C语言程序的基本单位是()
A.函数B.过程C.子程序D.标识符
2.以下选项中合法的标识符是()
A.-a1B.a%bC.a1_bD.int
3.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()
A.2.5B.2.75C.3.5D.0
4.以下关于C语言中while和do-while循环的叙述正确的是()
A.do-while循环体不能是复合语句
B.while循环和do-while循环在任何情况下都不等价
C.do-while的循环体至少无条件执行一次
D.while循环的循环体至少无条件执行一次
5.若有定义:inta[10];则对a数组元素的正确引用是()
A.a[10]B.a[3.5]C.a(5)D.a[0]
6.以下不能正确定义二维数组的选项是()
A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={1,2,3,4};
D.inta[2][]={{1},{2}};
7.函数调用时,当实参和形参都是简单变量时,它们之间数据传递的过程是()
A.实参将其地址传递给形参,并释放原先占用的存储单元
B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C.实参将其值传递给形参,调用结束时形参再将其值回传给实参
D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参
8.若有以下定义和语句:
```c
chars1[10]=abcd!,s2=n123\\;
printf(%d%d\n,strlen(s1),strlen(s2));
```
则输出结果是()
A.55B.105C.107D.58
9.以下叙述中正确的是()
A.预处理命令行必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“”开头
C.每个C程序必须在开头包含预处理命令行:includestdio.h
D.C语言的预处理不能实现宏定义和条件编译的功能
10.若有定义:struct{intx;inty;}d={1,3},p=d;则表达式(p).x+p-y的值是()
A.4B.1C.3D.2
二、多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.实型C.字符型D.结构体
2.以下运算符中,优先级高于乘法运算符“”的有()
A.+B.%C.==D.()
3.下列关于C语言中数组的描述,正确的有()
A.数组元素类型必须一致
B.数组大小在定义时必须确定
C.可以通过数组名直接访问整个数组
D.数组可以是一维的也可以是多维的
4.以下函数定义正确的有()
A.intfun(inta,intb){returna+b;}
B.voidfun(inta,intb){a=b;}
C.fun(inta,intb){returna-b;}
D.floatfun(inta,floatb){returnab;}
5.以下关于指针的说法,正确的有()
A.指针变量可以指向数组元素
B.指针变量可以指向函数
C.指针变量可以指向结构体变量
D.指针变量可以指向基本数据类型变量
6.以下能正确打开文件的语句有()
A.FILEfp=fopen(test.txt,r);
B.FILEfp=fopen(test.txt,w+);
C.FILEfp=fopen(test.txt,a);
D.FILEfp=fopen(test.txt,rb);
7.以下属于C语言中循环结构的有()
A.for循环B.while循环C.do-while循环D.switch语句
8.以下关于结构体的描述,正确的有()
A.结构体可以包含不同类型的成员
B.结构体成员可以是数组
C.结构体变量可以作为函数参数
D.可以