2023年度C语言考前冲刺通关训练题
C语言传递参数均是以值传递passbyvalue,另外也可以传递指针apointerpassedbyvalue。下面是小编为大家搜索整理的C语言专项训练题,希望能给大家带来帮助!更多精彩内容请及时下面是小编为大家整理的2023年度C语言考前冲刺通关训练题,供大家参考。
C语言传递参数均是以值传递pass by value,另外也可以传递指针a pointer passed by value。下面是小编为大家搜索整理的C语言专项训练题,希望能给大家带来帮助!更多精彩内容请及时关注我们免费学习考试 网!
一、选择题
1. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是 。
A.均占4个字节
B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义
D.由C语言编译系统决定
正确答案:D
答案解析:不同的编译系统或计算机系统对几类整型数所占用的字节数有不同的规定。long、int和short类型数据占用内存大小是由选择何种C编译系统决定的。
2. 下列定义数组的语句中,正确的是
A.int N=10; int x[N];
B.#define N 10 int x[N];
C.int x[0..10];
D.int x[];
正确答案:B
答案解析:数组说明的一般形式为:类型说明符 数组名[常量表达式];其中类型说明符可以是任一种基本数据类型或构造数据类型,数组名是定义的数组标识符。常量表达式表示数据元素的个数,也就是数组的长度,必须是整型常量。
3. 以下叙述中错误的是
A.typedef的作用是用一个新的标识符来代表已存在的类型名
B.typedef说明的新类型名必须使用大写字母,否则会出编译错误
C.可以用typedef说明的新类型名来定义变量
D.用typedef可以说明一种新的类型名
正确答案:B
答案解析:typedef语句的作用仅仅是用″标识符″来代表已存在的″类型名″,并未产生新的数据类型,原来类型名依然有效。为了便于识别,一般习惯将新的类型名用大写字母表示。
4. 以下选项中,能用作数据常量的是
A.115L
B.0118
C.1.5e1.5
D.o115
正确答案:A
答案解析:本题考查常量定义。数据常量可有10进制、8进制、16进制、指数法等,8进制数字为0-7,第一个字符为0,而不是o。指数法表示时,指数部分须为整型,选项A中数字后加入L是说明此变量为长整型,是正确的常量表示形式。
5. 以下选项中合法的变量是
A.5a
B.A%
C._10_
D.sizeof
正确答案:C
答案解析:对于变量的命名要利用标识符命名,所谓标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。其中标识符构成如下:①标识符由字母、数字和下划线组成;②第一个字符必须为字母或下划线;因此选项A中数字开头,选项B出现了非法字符%,而选项D中sizeof为关键字,不能为变量命名。
二、程序设计题
学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。:
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数flm的花括号中填入你编写的若干语句。
【参考答案】
【考点分析】
本题考查:查找结构体数组中的最小数据,需要通过for循环语句和if条件语句来完成。
【解题思路】
本题中第一个循环语句的作用是遍历数组求出最低分数,第二个循环语句的作用是将数组中的元素与最低分比较,查找是否存在与最低分相等的成绩。