模拟题5
一、选择题(用答题卡答题,答案依次填在21~30答题号内)
21.以下说法不正确的是21。
A.定义函数时,形参的类型说明不能放在函数体内
B.return后边的值可以为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
22.以下选项中非法的表达式是22。
A.0<=x<100 B.i=j= =0 C.(char)(65+3) D.x+1=x+1 23.已定义c为字符型变量,则下列语句中正确是23。
A.c='97'; B.c="97"; C.c=97; D.c="a";
24.下列程序执行后的输出结果是24。
#define MA(x) x*(x-1)
main( ) { int a=1,b=2;printf("%d \n",MA(1+a+b));}
A.6 B.8 C.10 D.12
25.已定义以下函数
fun(int *p)
{ return *p; }
该函数的返回值是25。
A.不确定的值B.形参p中存放的值
C.形参p所指存储单元中的值D.形参p的地址值
26.以下不能正确定义二维数组的选项是26。
A.int a[2][2]={{1},{2}}; B.int a[ ][2]={1,2,3,4};
C.int a[2][2]={{1},2,3}; D.int a[2][ ]={{1,2},{3,4}};
27.不合法的main函数命令行参数表示形式是27。
A.main(int a,char *c[ ]) B.main(int arc,char **arv)
C.main(int argc,char *argv) D.main(int argv,char *argc[ ])
28.若要说明一个类型名STP,使得定义语句STP s;等价于char *s;,以下选项中正确的是28。
A.typedef STP char *s; B.typedef *char STP;
C.typedef STP *char ;D.typedef char* STP;
29.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n
的值为29。
A.1 B.2 C.3 D.0
30.以下叙述中不正确的是30。
A.C语言中的文本文件以ASCII码形式存储数据
B.C语言中对二进制文件的访问速度比文本文件快
C.C语言中,随机读写方式不适用于文本文件
D.C语言中,顺序读写方式不适用于二进制文件
二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)
基本概念题(共5分)
1.任何函数的返回值都是通过函数体中的(1)语句返回的。
2.若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是(2)。
3.若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式(3)。
4.1.要使以下程序段输出10个整数,请填入一个整数。
for(i=0;i<= (4);printf("%d\n",i+=2));
5.以下程序运行后的输出结果是(5)。