2025年c 程序设计自考试题及答案.doc
2025年c程序设计自考试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()
A.\084B.\x43C.abD.\0
答案:B
2.若有定义:inta=5;则表达式a+=a-=aa的值是()
A.-40B.25C.-20D.40
答案:A
3.C语言中,函数返回值的类型是由()
A.return语句中的表达式类型决定
B.调用该函数的主调函数类型决定
C.定义函数时所指定的函数类型决定
D.以上说法都不正确
答案:C
4.以下数组定义中不正确的是()
A.inta[2][3];
B.intb[][3]={0,1,2,3};
C.intc[100][100][100]={0};
D.intd[3][]={{1,2},{3,4},{5,6}};
答案:D
5.在C语言中,下面那一个不是正确的用户标识符()
A.PIB.scanfC._3com_D.struct
答案:D
6.若有以下定义和语句:
inta=10,b=20;
printf(%d,(a,b));
输出结果是()
A.10B.20C.1020D.语法错误
答案:B
7.以下关于C语言中循环的描述,错误的是()
A.do-while循环至少会执行一次循环体
B.for循环中三个表达式可以部分省略
C.while循环的循环体可能一次都不执行
D.break语句只能用于switch语句,不能用于循环语句
答案:D
8.若有定义:intp;则下面正确的赋值表达式是()
A.p=10;B.p=NULL;C.p=20;D.p+1=2;
答案:B
9.设变量已正确定义并赋值,以下正确的表达式是()
A.x=y5=x+zB.int(15.8%5)C.x=y+z+5,++yD.x=25%5.0
答案:C
10.若有以下定义:
structstudent{
intnum;
charname[20];
floatscore;
};
structstudentstu;
则以下对结构体成员引用错误的是()
A.stu.numB.stu.nameC.structstudent.scoreD.stu.score
答案:C
二、多项选择题(每题2分,共10题)
1.以下关于C语言数据类型的描述,正确的有()
A.基本数据类型包括整型、浮点型、字符型等
B.枚举类型是一种用户自定义的数据类型
C.数组属于构造数据类型
D.指针是一种特殊的数据类型
答案:ABCD
2.以下哪些是C语言中的合法关键字()
A.ifB.thenC.whileD.case
答案:ACD
3.关于函数的描述,正确的有()
A.函数可以有返回值也可以没有返回值
B.函数的参数可以是基本数据类型,也可以是数组等复杂类型
C.函数可以嵌套定义
D.函数调用时实参和形参的类型要匹配
答案:ABD
4.在C语言中,对于指针变量的操作,以下正确的有()
A.可以通过指针变量访问它所指向的变量的值
B.可以对指针变量进行算术运算(如加、减整数)
C.可以将一个指针变量赋值给另一个同类型的指针变量
D.可以将一个整数直接赋给指针变量(不考虑特殊情况)
答案:ABC
5.下面关于C语言中数组的描述,正确的是()
A.数组名代表数组的首地址
B.数组的下标从0开始
C.可以用一个已初始化的数组对另一个数组进行整体赋值
D.二维数组在内存中是按行顺序存储的
答案:ABD
6.以下关于C语言中预处理命令的说法,正确的有()
A.include命令用于包含头文件
B.define命令用于定义宏
C.预处理命令在编译之前进行处理
D.可以自定义预处理命令
答案:ABC
7.若有以下代码片段:
inti=1;
switch(i){
case1:
printf(one);
break;
case2:
printf(two);
break;
default:
printf(other);
}
以下描述正确的是()
A.输出结果为one
B.如果去掉case1中的break,会继续执