发布时间 : 星期日 文章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 -