2025c语言程序设计第三版试题及答案
一、单项选择题(每题2分,共10题)
1.C语言源文件的后缀是()
A..cB..objC..exeD..h
2.以下哪个是合法的标识符()
A.1aB.a_1C.intD.a-b
3.若inta=5;则a++的值是()
A.5B.6C.4D.7
4.以下循环体的执行次数是()
```c
for(inti=10;i10;i++){}
```
A.0次B.1次C.10次D.无限次
5.定义数组inta[5];则数组元素下标的范围是()
A.1-5B.0-4C.0-5D.1-4
6.函数返回值的类型取决于()
A.return语句中表达式的类型B.调用函数的主调函数类型
C.定义函数时函数的类型D.形参的类型
7.以下哪种数据类型占用字节数最多()
A.charB.intC.floatD.double
8.若有inta=3,b=4;则ab?a:b的值是()
A.3B.4C.7D.1
9.用于输入字符串的函数是()
A.scanfB.getsC.putcharD.printf
10.以下正确的数组定义是()
A.inta[];B.inta(5);C.inta[5];D.inta{5};
二、多项选择题(每题2分,共10题)
1.以下属于C语言关键字的有()
A.intB.floatC.mainD.if
2.以下哪些是合法的常量()
A.3.14B.aC.abcD.0x12
3.下列运算符中,优先级高于乘法的有()
A.+B.==C.%D.++
4.关于for循环,正确的描述有()
A.可以用于循环次数已知的情况B.可以省略某些表达式
C.可以嵌套使用D.执行效率比while循环高
5.以下能正确定义二维数组的有()
A.inta[2][3];B.inta[][3]={1,2,3,4,5,6};
C.inta[2][]={1,2,3,4,5,6};D.inta[2][3]={{1,2},{3,4}};
6.函数调用时,实参和形参的关系正确的有()
A.实参和形参个数必须相同B.实参和形参类型必须一致
C.实参和形参在内存中是同一存储单元D.形参在函数调用结束后释放内存
7.以下属于字符输入输出函数的有()
A.getcharB.putcharC.scanfD.printf
8.以下关于指针的描述正确的有()
A.指针变量存储的是内存地址B.指针可以进行算术运算
C.指针可以指向数组D.指针可以指向函数
9.以下能打开文件的函数有()
A.fopenB.openC.fwriteD.fread
10.以下属于C语言数据类型的有()
A.结构体B.联合体C.枚举D.数组
三、判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.表达式5/2的结果是2.5。()
3.while循环和do-while循环的执行过程完全相同。()
4.数组名代表数组的首地址。()
5.函数可以嵌套定义,但不能嵌套调用。()
6.指针变量可以和整数进行加法运算。()
7.结构体变量中的成员可以是不同的数据类型。()
8.用fopen打开文件时,若文件不存在则会自动创建。()
9.在C语言中,注释可以嵌套。()
10.sizeof(int)得到的是int类型变量占用的字节数。()
四、简答题(每题5分,共4题)
1.简述C语言中变量的存储类别有哪些?
答案:C语言变量存储类别有auto(自动)、register(寄存器)、static(静态)、extern(外部)。auto为默认存储类别,register建议存寄存器,static有静态生存期,extern用于声明外部变量。
2.简述函数的定义格式。
答案:返回值类型函数名(形参列表){
函数体语句;
}
例如:intadd(inta,