C语言题库及答案(选择题)

发布时间 : 星期日 文章C语言题库及答案(选择题)更新完毕开始阅读

C.程序中的main函数

D.包含文件中的第一个函数

85.C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为()。 A.void B.double C.int D.char 86.C语言程序中,当调用函数时()。 A.实参和形参各占一个独立的存储单元 B.实参和形参可以共用存储单元

C.可以由用户指定是否共用存储单元

D.计算机系统自动确定是否共用存储单元

87.数组名作为实参数传递给函数时,数组名被处理为()。 A.该数组的长度 B.该数组的元素个数 C.该数组的首地址 D.该数组中各元素的值 88.以下描述中,正确的是()。

A.预处理是指完成宏替换和文件包含中指定的文件的调用 B.预处理指令只能位于C源文件的开始

C.C源程序中凡是行首以#标识的控制行都是预处理指令

D.预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

89.以下对C语言函数的描述中,正确的是()。 A.C程序必须由一个或一个以上的函数组成 B.C函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个程序文件中 90.以下函数调用语句中实参的个数是()。 exce((v1,v2),(v3,v4,v5),v6);

A.3 B.4 C.5 D.6 91.以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));

A.2 B.3 C.5 D.语法错误 92.C语言中函数调用的方式有()。 A.一种:函数调用作为语句

B.一种:函数调用作为函数表达式

C.两种:函数调用作为语句或函数表达式

D.三种:函数调用作为语句、函数表达式或函数参数 93.执行下面程序后,输出结果是()。 main()

{ a=45,b=27,c=0; c=max(a,b); printf(\}

int max(int x,int y) { int z;

if(x>y) z=x; else z=y;

- 9 -

return(z); }

A.45 B.27 C.18 D.72 94.以下程序的输出结果为()。 main()

{int a=1,b=2,c=3,d=4,e=5;

printf(\ }

int func(int x,int y) {

return(x+y); }

A.15 B.13 C.9 D.函数调用出错 95.下列定义不正确的是()。 A.#define PI 3.141592 B.#define S 345

C.int max(int x,int y); { } D.static char c;

96.下列程序运行结果为: #define P 3

#define S(a) P*a*a main() {int ar; ar=S(3+5);

printf(\ }

A.192 B.29 C.27 D.25

97.已知p,p1为整型指针变量,a为整型数组名,j为整型变量,下列赋值语句中不正确的是()。

A.p=&j,p=p1; B.p=a; C.p=&a[j]; D.p=10;

98.经过下列的语句 int j,a[10],*p=a;定义后,下列语句中合法的是()。 A.p=p+2; B.p=a[5]; C.p=a[2]+2; D.p=&(j+2); 99.两个指针变量不可以()。

A.相加 B.比较 C.相减 D.指向同一地址 100.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。 A.int p=&x; B.int *p=x; C.int *p=&x; D.*p=*x; 101.关于指针概念说法不正确的是()。 A.一个指针变量只能指向同一类型变量 B.一个变量的地址称为该变量的指针

C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中 D.指针变量可以由整数赋值,不能用浮点数赋值 102.设有说明int (*ptr)[M];其中标识符ptr是()。 A.M个指向整型变量的指针

B.指向M个整型变量的函数指针

- 10 -

C.一个指向具有M个整型元素的一维数组的指针

D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量 103.设char a[5],*p=a;,下面选择中正确的赋值语句是()。

A.p=\ B.a=\ C.*p=\ D.*a=\104.具有相同类型的指针变量p与数组a,不能进行的操作是()。 A.p=a; B.*p=a[0]; C.p=&a[0]; D.p=&a; 105.若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a;

A.&a[5] B.p+2 C.a++ D.&a 106.若有下列定义和语句,则对a数组元素的非法引用是()。 int a[2][3], (*pt)[3]; pt=a;

A.pt[0][0] B.*(pt+1)[2] C.*(pt[1]+2) D.*(a[0]+2) 107.以下程序段的输出结果是()。

char *alp[]={\A.A B.B C.D D.DEF

108.设有以下语句, 若0

for (j=0;j<4;j++) strp[j]=str[j];

A.strp B.str[k] C.strp[k] D.*strp 109.若有int a[][2]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为()。

A.非法,2 B.&a[1][0],2 C.&a[0][1],3 D.a[0][0],4 110.若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为()。 A.p1=&ch; scanf(\

B.p2=(char *)malloc(1);scanf(\C.*p3=getchar();

D.p4=&ch;*p4=getchar();

111.当定义一个结构体变量时,系统分配给它的内存是()。 A.各成员所需内存量的总和 B.结构中第一个成员所需内存量 C.结构中最后一个成员所需内存量 D.成员中占内存量最大者所需的容量

112.设有如下定义: struct sk {int a; float b;} data,*p;若要使p指向data中的a域,正确的赋值语句是()。

A.p=(struct sk*)&data.a; B.p=(struct sk*) data.a; C.p=&data.a; D.*p=data.a; 113.以下对枚举类型名的定义中正确的是()。 A.enum a={sum,mon,tue};

B.enum a {sum=9,mon=-1,tue}; C.enum a={\D.enum a {\

114.在下列程序段中,枚举变量c1,c2的值依次是()。 enum color {red,yellow,blue=4,green,white} c1,c2;

- 11 -

c1=yellow;c2=white; printf(\

A.1,6 B.2,5 C.1,4 D.2,6

115.变量p为指针变量,若p=&a,下列说法不正确的是()。

A.&*p==&a B.*&a==a C.(*p)++==a++ D.*(p++)==a++ 116.以下程序的输出结果是()。 main()

{ char s[]=\ p=s;

printf(\ }

A.123 B.321 C.213 D.312 117.执行下列语句后的结果为()。 int x=3,y;

int *px=&x; y=*px++;

A.x=3,y=4 B.x=3,y=3 C.x=4,y=4 D.x=3,y不知

118.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。 A.8 B.23 C.17 D.6

119.若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是()。

A.a=3,b=4 B.a=4,b=3 C.a=4,b=4 D.a=3,b=3 120.在位运算中,操作数每右移一位,其结果相当于()。 A.操作数乘以2 B.操作数除以2 C.操作数乘以16 D.操作数除以16

121.fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A.字符串读入后不会自动加入'\\0' B.fp是file类型的指针

C.fgets函数将从文件中最多读入n-1个字符 D.fgets函数将从文件中最多读入n个字符 122.C语言中的文件类型只有()。 A.索引文件和文本文件两种 B.ASCII文件和二进制文件两种 C.文本文件一种 D.二进制文件一种

123.C语言中,文件由()。

A.记录组成 B.由数据行组成 C.由数据块组成 D.由字符(字节)序列组成 124.C语言中的文件的存储方式有()。

A.只能顺序存取 B.只能随机存取(或直接存取) C.可以顺序存取,也可随机存取 D.只能从文件的开头进行存取 125.下列程序的输出结果是()。 main()

{ int x=1,y=0,a=0,b=0; switch(x)

- 12 -

联系合同范文客服:xxxxx#qq.com(#替换为@)