一级c语言考试题及答案
单项选择题(每题2分,共10题)
1.C语言程序的基本单位是()
A.函数B.过程C.子程序D.标识符
2.以下选项中可作为C语言合法常量的是()
A.-80B.-080C.-8e1.0D.-80.0e
3.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()
A.2.500000B.2.750000C.3.500000D.0.000000
4.若变量已正确定义,有以下程序段:inta=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(%d,%d,%d\n,a,b,c);其输出结果是()
A.程序段有语法错B.3,5,3C.3,5,5D.3,5,7
5.以下能正确定义一维数组的选项是()
A.inta[5]={0,1,2,3,4,5};B.chara[]={0,1,2,3,4,5};
C.chara={A,B,C};D.inta[5]=0123;
6.若有以下定义和语句:chars1[10]=abcd!,s2=\n123\\;printf(%d%d\n,strlen(s1),strlen(s2));则输出结果是()
A.55B.105C.107D.58
7.有以下程序:includestdio.hmain(){inta=1,b=2,c=3,x;x=(a^b)c;printf(%d\n,x);}程序的运行结果是()
A.0B.1C.2D.3
8.若有定义语句:inta[3][6];按在内存中的存放顺序,a数组的第10个元素是()
A.a[0][4]B.a[1][3]C.a[0][3]D.a[1][4]
9.以下叙述中错误的是()
A.可以给指针变量赋一个整数作为地址值
B.函数可以返回地址值
C.改变函数形参的值,不会改变对应实参的值
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
10.以下关于宏的叙述错误的是()
A.宏名必须用大写字母表示
B.宏是预处理命令
C.宏替换不占用运行时间
D.宏替换只是字符替换
多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.实型C.字符型D.结构体
2.以下关于变量作用域的说法正确的有()
A.全局变量作用域从定义处到文件结束
B.局部变量作用域只在本函数内
C.静态局部变量作用域到程序结束
D.静态全局变量作用域只在本文件内
3.以下运算符中,优先级高于赋值运算符的有()
A.+B.C.D.
4.以下关于数组的说法正确的有()
A.数组名是一个指针常量
B.数组元素可以是不同类型
C.可以通过下标访问数组元素
D.数组可以作为函数参数
5.以下能正确打开文件的方式有()
A.“r”B.“w”C.“a”D.“rb+”
6.以下关于函数的说法正确的有()
A.函数可以嵌套定义
B.函数可以嵌套调用
C.函数可以有返回值
D.函数可以没有形参
7.以下关于指针的说法正确的有()
A.指针变量可以指向不同类型变量
B.指针可以进行算术运算
C.指针可以指向数组
D.空指针不指向任何对象
8.以下关于结构体的说法正确的有()
A.结构体成员可以是不同类型
B.结构体可以作为函数参数
C.可以定义结构体数组
D.结构体变量可以整体赋值
9.以下属于预处理命令的有()
A.defineB.includeC.ifD.else
10.以下关于文件操作的说法正确的有()
A.fopen用于打开文件
B.fclose用于关闭文件
C.fread用于从文件读取数据
D.fwrite用于向文件写入数据
判断题(每题2分,共10题)
1.C语言中,main函数必须位于程序的开头。()
2.字符型常量可以用单引号或双引号括起来。()
3.在C语言中,变量必须先定义后使用。()
4.数组