姓名__________________ 专业名称__________________ 班号________________学号__________________教学中心_________________…………………… ……
姓名__________________ 专业名称__________________ 班号________________学号__________________教学中心_________________
…………………… …… … … … … …密………………… …… … … … … ……封……………… …… … … …线… … … …… … … ……………………
(20 年至20 学年度第 学期)
考试时间 年 月 日(120分钟) 课程 C语言 教师签名_____
大题号
一
二
三
四
五
六
七
八
九
十
合 计
得 分
一、单项选择题(每题2分,共30分)
1. 请问:下面这个程序段的输出是什么?( )
int a=7,b=8,c=9;
if(a
printf("a=%d b=%d c=%d\n",a,b,c);
? A . a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8
2.C语言对嵌套 if 语句的规定是:else总是与( )配对。
A.其之前最近的 if B.第一个 if
C.缩进位置相同的 if D. 其之前最近且不带 else 的 if
3.有以下程序段:
int k=0;
while(k=1) k++;
while循环执行的次数是( )。
A.无限次 B.有语法错,不能执行
C. 一次也不执行 D.执行1次
4.若有语句:
static char x[]="12345";
static char y[] = {'1','2','3','4','5'};
则下面那一个是正确的描述。( )
A.x数组和y数组的长度相同。
B.x数组长度大于y数组长度。
C.x数组长度小于y数组长度。
D.x数组等价于y数组。
5.若有定义:int a[5][6]; 则下面关于数组a的叙述中正确的是( )。
A.该数组共有20个元素 B.a[0][6]是该数组的一个元素
C.a[0][0]是该数组的一个元素 D.a[5][6]是该数组的一个元素
6.对局部变量不正确描述()
A.在不同块内可以使用相同的变量名而不会混淆。
B.局部变量在任何一个函数内有效。
C.局部变量的初值每调用一次赋一次
D.用auto说明的变量为局部变量。
7.凡是函数中未指定存储类别的局部变量,隐含的存储类别为( )。
A.auto B. register C. static D. extern
8.在说明语句:int *f( );中,标识符f代表的是( )
A.一个返回值为指针型的函数名
B. 一个用于指向整型数据的指针变量
C.一个用于指向函数的指针变量
D.一个用于指向一维数组的行指针
9.typedef( )
A. 可以定义各种类型名和变量名。
B. 可以创造新的数据类型。
C. 和#define作用相同。
D. 只是对已存在的类型增加一个类型名,不能创造新类型。
10.若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是( )。
A.fp=fopen("d1.dat","r"); B.fp=fopen("d1.dat","rb");
C.fp=fopen("d1.dat","r+"); D.fp=fopen("d1.dat","w");
11.以下选项中,当x为大于1的奇数时,值为0的表达式是( )。
A.x%2==1 B.x/2 C.x%2!=0 D.x%2==0
12.若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是( )。
A.*(*w+3) B.*(w+1)[4] C.*(*(w+1)) D.*(&w[0][0]+1)
13. 有以下程序段typedef str