、选择题(共30分,每小题2 分)
题目1
选择一项: r
选择一项: r
AA(i nt a, i nt b)
AA(i nt, i nt)
AA(i nt a; int b)
AA(int a, int) 正确答案是:AA(i nt a; int b)
题目2
在下面的保留字中,不能作为函数的返回值类型的是(
选择一项:ra. voidb. i nt
选择一项:
r
a. void
b. i nt
仁
c. enum
d. l ong 正确答案是:enum
题目3
假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的 地址增加的字节数为()° 选择一项:
1
b. 2
b. 2
仁
c. 4
d. 8
正确答案是:4
题目4
假定a为一个数组名,在下面的表达式中,存在语法错误的是( 选择一项:
C a. a[i]
TOC \o "1-5" \h \z *a++
*a
-Hd. *(a+1) 正确答案是:*a++
题目5
用calloc函数创建具有10个整型元素的一维数组的正确语句是() 选择一项:
i nt *p=calloc(10,2);
i nt *p=calloc(10);
i nt *p=calloc(10,4);
i nt *p=malloc(10)
正确答案是:int *p=calloc(10,4);
题目6
假定变量m定义为“ int m=7; ”,贝U下面正确的语句为( 选择一项:
int p=&m;
int *p=&m;
int &p=*m;
int *p=m;
正确答案是:int *p=&m;
题目7
假定k是一个double类型的变量,则定义变量p的正确语句为() 选择一项:
double p=&k;
i nt *p=&k;
double &p=*k;
char *p="Tha nk you!";
正确答案是:char *p="Tha nk you!";
若有语句为“int a[10], x, *pa=a; ” ,要把数组a中下标为3的元素值赋给x, 则不正确的语句为()。
选择一项:
x=pa[3];
x=*(a+3);
x=a[3];
x=*pa+3;
正确答案是:x=*pa+3;
题目9
假定有语句为“int b[10]; int *pb; ”,则下面不正确的赋值语句为()。
选择一项:
pb=b;
pb=&b[0];
pb=b+2;
pb=b [5];
正确答案是:pb=b [ 5];
题目10
已知“ int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为
( )。
选择一项:
free(p);
free p;
free(*p);
free[p];
正确答案是:free(p);
题目11
在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个 文件中给出该函数的()。
选择一项:
原型语句
J lb.参数表
函数名
返回类型 正确答案是:原型语句
题目12
,该函数假定一个函数定义为“ static int f1(int x,int y){return x+y;} 名称为()。
,该函数
选择一项:
static
—b. i nt
fl
return
正确答案是:f1
题目13
假定一个函数的原型语句为“int ff(int* x);
假定一个函数的原型语句为“int ff(int* x);
下面函数调用表达式不正确的是(
”,一个整型数组为a[10],则 )0
选择一项:
ff(a)
ff(a[0])
ff(a+3)
ff(&a[0]) 正确答案是:ff(a[0])
题目14
假定一个函数的数组参数说明为(
假定一个函数的数组参数说明为
()0 1B
char a[],与之等价的指针参数说明为
选择一项:
char a
char* a
char& a
char**a
正确答案是:char* a
假定一个函数的二维数组参数说明为 char w[][N],与之等价的指针参数说明为 ( )。
选择一项:
二 a. char (*w)[N]
char *w[N]
char (*w)N
char**a
正确答案是:char (*w)[N]
二、判断题(共30分,每小题2分。叙述正确则回答“是”,否则回答“否”)
题目16
在C语言中,一个函数由函数头和函数体组成。
选择一项:
亘对
错
正确的答案是“对”。
题目17
在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初 值0。
选择一项:
对
错
正确的答案是“对”。
题目18
如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前
加上保留字static 。
选择一项:
对
错
正确的答案是“错”。
如果在一个函数体