中北大学c语言考试题及答案
一、单项选择题(每题2分,共10题)
1.C语言源程序文件的扩展名是()
A..exeB..cC..objD..h
2.以下定义变量正确的是()
A.int1a;B.floata-b;C.charc1;D.doubled2=2.3,5;
3.执行语句“inta=12;a+=a-=aa;”后,a的值是()
A.144B.0C.-264D.132
4.以下能正确表示逻辑值“真”的是()
A.0B.-1C.1.0D.NULL
5.若有定义“inta[5];”,则数组元素下标的下限是()
A.1B.0C.5D.4
6.函数调用“strlen(abc\0def)”的返回值是()
A.3B.7C.8D.4
7.若有定义“intp,a=10;p=a;”,则p的值是()
A.10B.aC.p的地址D.无确定值
8.以下对结构体类型变量的定义中,不正确的是()
A.structstudent{intnum;charname[20];}stu;
B.struct{intnum;charname[20];}stu;
C.structstudent{intnum;charname[20];}studentstu;
D.typedefstruct{intnum;charname[20];}STU;STUstu;
9.以下关于文件操作的叙述正确的是()
A.fopen函数打开文件失败时返回0
B.可以用fclose关闭标准输入输出流
C.fwrite函数用于从文件中读取数据
D.fseek函数用于移动文件指针
10.以下不是C语言关键字的是()
A.printfB.ifC.whileD.return
二、多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.下列表达式中,值为真的有()
A.32B.0!=0C.51D.0||1
3.以下能实现循环结构的语句有()
A.forB.whileC.do-whileD.switch
4.数组定义正确的有()
A.inta[3][4];B.floatb[][3]={{1,2},{3,4}};
C.charc[5]=hello;D.intd[3]={1,2,3,4};
5.以下关于函数的说法正确的有()
A.函数可以有返回值B.函数可以无参数
C.函数可以嵌套定义D.函数可以嵌套调用
6.以下关于指针的说法正确的有()
A.指针变量可以存储变量的地址
B.指针可以进行算术运算
C.可以有空指针
D.指针指向数组时,可通过指针访问数组元素
7.以下关于结构体的说法正确的有()
A.结构体可以包含不同类型的成员
B.结构体变量可以整体赋值
C.结构体可以嵌套定义
D.结构体成员可以通过结构体变量名访问
8.以下关于文件操作的函数有()
A.fopenB.freadC.fprintfD.getchar
9.以下属于C语言预处理命令的有()
A.includeB.defineC.ifD.printf
10.以下能正确输出字符常量a的有()
A.printf(%c,a);B.putchar(a);
C.printf(%s,a);D.charc=a;printf(%c,c);
三、判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.表达式“5/2”的结果是2.5。()
3.if语句中可以没有else子句。()
4.数组名代表数组的首地址。()
5.函数中return语句只能返回一个值。()
6.指针变量可以指向任何类型的变量。()
7.结构体变量在内存中所占字节数是各成员所占字节数之和。()
8.用fopen打开文件时,若文件不存在则一定不能打开。()
9.C语言中,注释部分会影响程序的执行。()
10.可以用scanf函数输入字符串。()
四、简答题(每题5分,共4题)
1.简述C语言中常量和变量