c语言综合习题及答案
C语言练习题
一、选择题
1. 一个完整的C源程序是【B 】。
A)要由一个主函数或一个以上的非主函数构成
B)))A)A)A)以下选项中不合法的标识符是
A)print B)FOR C)&a D)_00
7.以下选项中可作为C语言合法常量的是
A)-80 B)-080 C)-8e1.0 D)-80.0e
8.以下选项中不属于字符常量的是
A)′C′ B)"C" C)′\xCC′ D) ′\072′
9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】
A)floatB)long
C)int D)double
10. 以下关于函数叙述中,错误的是【D】。
A)A)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[1>2][!1] D) a[0][3]
13.若有说明: int a[][4]={0,0};则下面不正确的叙述是【D】
A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1
C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1
D)有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
14.下列选项中错误的说明语句是
A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={"toyou\0"};
C)char a[]="toyou\0"; D)char a[]=′toyou\0′;
15.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是
A)strcat(a2,a1); B)strcpy(a2,a1);
C)strcat(a1,a2); D)strcpy(a1,a2);
15. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【C】。
A)A)A)
A) 数组的首地址 B) 数组的第一个元素的值
C) 数组中全部元素的值 D) 数组元素的个数
19 若函数调用时,用数组名作为函数的参数,以下叙述中正确的是【A】。
A)有以下程序 #include
main()
{ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};
printf("%d%d\n",strlen(p),strlen(q));}
以下叙述中正确的是
A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D) 由于p和q数组中都没有字符串结束符,故长度都不能确定
A)static char str[]="China";
B)static char str[]; str="China";
C)static char str1[5],str2[]={"China"}; str1=str2;
D)static char str1[],str2[];str2={"China"}; strcpy(str1,str2);
26.在C语言程序中,当调用函数时【B】
A)实参和形参共用一个存储空间
B)实参和形参各占一个独立的存储空间
C)由用户指定实参和形参是否共用存储空间
D)由系统确定实参和形参是否共用存储空间
27. 关于以下fun函数的功能叙述中,正确的是【A】。
int fun(char *s)
{
char *t=s;
while(*t++) ;
t--;
return(t-s);
}
A) 求字符串s的长度 B) 比较两个串的大小
C) 将串s复制到串t D) 求字符串s所占字节数
21. 下面程序段运行后的输出结果是【B】 (假设程序运行时输入5,3回车)
int a, b;
void swap( )
{
int t;