中考c语言考试题及答案
单项选择题(每题2分,共10题)
1.C语言程序的基本单位是()
A.程序行B.语句C.函数D.字符
2.以下哪个是合法的标识符()
A.3aB._abcC.intD.a-b
3.若有定义:inta=5;则a++的值是()
A.5B.6C.4D.7
4.执行语句:printf(%d,5%3);的输出结果是()
A.1B.2C.3D.0
5.以下哪种循环结构先执行循环体,再判断条件()
A.forB.whileC.do-whileD.以上都不是
6.若有定义:inta[5];则数组元素下标的范围是()
A.1-5B.0-4C.0-5D.1-4
7.函数返回值的类型由()决定。
A.return语句中的表达式类型B.调用函数的主调函数类型
C.定义函数时所指定的函数类型D.形参类型
8.以下哪个头文件用于输入输出操作()
A.stdlib.hB.math.hC.stdio.hD.string.h
9.若有定义:charc=A;则c+32的值是()
A.aB.AC.97D.65
10.以下关于指针的说法,正确的是()
A.指针就是地址B.指针不能指向数组
C.指针只能指向变量D.指针不能进行运算
多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.intB.floatC.charD.double
2.以下哪些运算符属于算术运算符()
A.+B.%C./D.=
3.下列关于if语句的说法正确的有()
A.可以有多个else分支B.可以嵌套使用
C.else总是与最近的if配对D.if后面的条件可以是任意表达式
4.以下哪些是正确的数组初始化方式()
A.inta[3]={1,2,3};B.inta[]={1,2,3};
C.inta[3]={1,2};D.inta[3]={0};
5.以下关于函数的说法正确的有()
A.函数可以有参数B.函数可以没有返回值
C.函数可以嵌套定义D.函数可以递归调用
6.以下哪些头文件包含常用的数学函数()
A.stdio.hB.math.hC.stdlib.hD.string.h
7.以下关于字符数组的说法正确的有()
A.可以存储字符串B.可以用%s格式输出
C.长度必须在定义时指定D.字符数组名就是字符串的首地址
8.以下哪些属于循环结构()
A.for循环B.while循环C.do-while循环D.switch语句
9.以下关于结构体的说法正确的有()
A.可以包含不同类型的成员B.可以作为函数参数
C.结构体变量不能整体赋值D.结构体可以嵌套定义
10.以下哪些是C语言的预处理命令()
A.includeB.defineC.ifD.else
判断题(每题2分,共10题)
1.C语言区分大小写。()
2.变量必须先定义后使用。()
3.表达式1/2的值是0.5。()
4.for循环的三个表达式都可以省略。()
5.数组名代表数组的首地址。()
6.函数中如果没有return语句,就不会返回任何值。()
7.指针变量可以指向任何类型的变量。()
8.字符串结束标志是\0。()
9.switch语句中每个case后面必须有break语句。()
10.结构体变量占用的内存空间是其所有成员占用空间之和。()
简答题(每题5分,共4题)
1.简述C语言中变量的作用域。
答:变量作用域指变量的有效范围。局部变量在定义它的函数或复合语句内有效;全局变量作用域从定义处开始到源文件结束,若在其他文件使用需用extern声明。
2.简述for循环的执行流程。
答:先执行初始化表达式,再判断条件表达式,若条件为真,执行循环体,然后执行更新表达式,接着再次判断条件表达式,如此循环,直到条件表达式为假,结束循环。
3.简述数组和指针的关系。
答:数组名是数组首元素的地址,可将数组名赋给指针变量,通过指针访问数组元素。指针