专科c语言期末考试题及答案
一、单项选择题(每题2分,共20分)
1.C语言程序的基本单位是()
A.函数B.过程C.子程序D.标识符
2.以下选项中,合法的标识符是()
A.123B._abcC.intD.ab
3.若有定义:inta=5;则表达式a+=a-=aa的值是()
A.-40B.0C.5D.25
4.执行语句:for(i=1;i++4;);后,变量i的值是()
A.3B.4C.5D.不定
5.以下正确的数组定义语句是()
A.inta[5]={1,2,3,4,5,6};
B.chara[]={a,b,c};
C.inta[5]=0123;
D.floata[3]={0.1f,0.2f,0.3f,0.4f};
6.若有定义:inta[3][4];则对数组元素引用正确的是()
A.a[2][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)
7.以下关于函数的叙述中正确的是()
A.函数必须有返回值
B.函数必须有形式参数
C.函数可以嵌套定义
D.函数可以嵌套调用
8.若有定义:chars[]=abcdef;则s数组的长度是()
A.6B.7C.8D.9
9.以下不能正确计算代数式值的C语言表达式是()
A.1/3sin(1.0)/3
B.sin(0.5)sin(0.5)
C.pow(sin(0.5),2)
D.1.0/9sin(1.0)
10.若有定义:intp,a=10;则以下正确的赋值语句是()
A.p=a;B.p=a;C.p=a;D.p=a;
二、多项选择题(每题2分,共20分)
1.以下属于C语言数据类型的有()
A.intB.floatC.doubleD.char
2.下列运算符中,优先级高于赋值运算符的有()
A.+B.C.==D.%
3.以下关于循环结构的描述,正确的有()
A.while循环先判断条件,后执行循环体
B.do-while循环先执行循环体,后判断条件
C.for循环只能用于循环次数确定的情况
D.三种循环都可以相互嵌套
4.以下正确定义数组并初始化的有()
A.inta[3]={1,2,3};
B.charb[]={a,b,c};
C.floatc[2]={1.0f,2.0f};
D.intd[4]={1,2};
5.以下函数声明正确的有()
A.intfun(inta,intb);
B.voidfun(int,int);
C.floatfun();
D.charfun(inta);
6.以下关于指针的描述,正确的有()
A.指针变量可以指向数组元素
B.指针变量可以进行算术运算
C.指针变量可以指向函数
D.空指针不指向任何有效对象
7.以下属于C语言输入输出函数的有()
A.printf()B.scanf()C.getchar()D.putchar()
8.以下关于结构体的描述,正确的有()
A.结构体可以包含不同类型的成员
B.结构体变量可以整体赋值
C.结构体可以嵌套定义
D.结构体变量可以作为函数参数
9.以下能正确打开文件的方式有()
A.FILEfp=fopen(test.txt,r);
B.FILEfp=fopen(test.txt,w);
C.FILEfp=fopen(test.txt,a);
D.FILEfp=fopen(test.txt,rb);
10.以下关于预处理命令的描述,正确的有()
A.include用于包含头文件
B.define可以定义常量和宏
C.预处理命令在编译之前执行
D.预处理命令必须以开头
三、判断题(每题2分,共20分)
1.C语言中,变量必须先定义后使用。()
2.字符型数据在内存中以ASCII码形式存储。()
3.关系运算符的优先级高于算术运算符。()
4.do-while循环的循环体至少会执行一次。()
5.数组名代表数组的首地址。()
6.函数的形参在函数调用时才分配内存空间。()
7.指针变量可