武大C语言习题集 联系客服

发布时间 : 星期日 文章武大C语言习题集更新完毕开始阅读

C. 数组在初始化时被赋值的元素的个数 D. 数组元素的个数及其类型

14. 以下程序的输出结果是______。 #include void main( ) { int i , a[10];

for (i=9;i>=0;i--) a[i]=10-i;

printf(\; } A.258 B.741 C.852 D.369

15. 如已有定义:int a[4];若要把10,20,30,40分别赋值给数组a的4个元素,下面正确的赋值方式是______。

A. scanf(\; B. scanf(\

C. a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10; D. a={10,20,30,40}; 16.题目不存在= =!

17. 设有程序段: #define N 3 #define M N+2 float a[M][N]; 则数组a的元素个数和最后一个元素分别为______。

A. 15,a[5][3] B. 15,a[3][5] C. 8,a[4][2] D. 15,a[4][2]

18. 设有:int x[2][4]={1,2,3,4,5,6,7,8};printf(\; 则输出结果是______。 A. 8 B. 1 C. 随机数 D. 语法检查出错 19. 以下程序的输出结果是______。 #include void main()

{ int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 };

for(i=0;i<3;i++) printf(\; }

A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9 20. 以下数组定义中正确的是______。 A. float f[3,4]; B. int a[ ][4]; C. char c(3); D. double d[3+2][4]; 21. 指出以下错误语句______。

A. int a[2][3]= {{1,2,3},{4,5,6}}; B. int b[2][3]= {1,2,3,4,5,6}; C. int a[][]={{1,2,3},{4,5,6}}; D. int a[][3]={{1,2,3},{4,5,6}};

22. 若定义数组并初始化int b[][3]={{1,2,3},{4,5,6}};以下语句哪一个成立______。 A. b[1][2]的值为1 B. b[1][2]的值为4 C. b[1][2]的值为6 D. b[1][2]的值为2 23. 若定义数组并初始化

int i,j,a[2][3]= {{1,2},{3,4},{5,6}}; for(i=0;i<2;i++)

for(j=0;j<3;j++) printf(\;语句的结果是哪一个______。 A. 1,2,3,4,5,6 B. 1 2 3 4 5 6 C. 120340 D. 1 2 0 3 4 0

24. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6}; 以下语句哪一个不成立______。

A. a和b数组中各有6个元素

B. b数组的初始化是错误的

C. a数组与b数组中每个对应元素相等 D. a、b数组都是整型数组

25. 合法的数组初始化是______。 A. int x[][]={{1,2,3},{4,5,6}}; B. int x[][3]={1,2,3,4,5};

C. int x[3][3]={1,2,3;4,5,6;7,8,9}; D. int x[3][3]={1,2,3};

26. 在对二维数组初始化时,错误的说法是______。 A.可对二维数组的全部元素赋初值 B.可对二维数组的部分元素赋初值

C.给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略 D.给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略 27. 以下程序的输出结果是______。 #include void main()

{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf(\; } A.0650 B. 1470 C. 5430 D.输出值不确定 28. 在内存中,二维数组存放的顺序是______。 A.按行顺序 B.按列顺序

C.按元素的大小 D.按元素被赋值的先后顺序

29. 设定义了:char a[10]={'1','2','3','4','5'}; 则a[5]的正确初值是______。 A. '5' B. 5 C. '\\0' D. ' '

30. 设有:char a[10]; 下列语句那个是正确的______。 A. scanf(\; B. scanf(\ a); C. printf(\ a) D. printf(\

31. 设有定义:char a[][5]={{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}}; 则a[0][0]和a[4][4]的初值分别为______。

A. *,* B. 空格,空格 C. 空白符,* D. *,空白符

32. 设有:char a[]={\; 则a在内存中占用的字节数是______。 A. 15 B. 12 C. 16 D. 32

33. 给出以下定义:char u[ ]=\; char v[ ]={'a','b','c','d','e','f'}; 则下列正确的描述为______。

A. 数组u和数组v等价 B. 数组u和数组v的长度相等

C. 数组u的长度大于数组v的长度 D. 数组u的长度小于数组v的长度

34. 若有以下定义和语句,则输出结果是______。 char string[ ]=\; printf(\; A. Su B. Sun C. Sunn D. Sunny 35. C语言中实现字符串输入的库函数是______。 A. gets(字符数组) B. puts(字符数组)

C. strlen (字符串) D. strcmp(字符串1,字符串2)

36. 若定义数组并初始化char a[]={\该数组的元素个数是______。 A. 不知道 B. 5 C. 6 D. 7

37. 若定义数组并初始化char a[10]={\该数组的元素中 a[2]是______。 A. 'L' B. 'E' C. 'H' D. 'O'

38. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下会导致错误的语句______。

A. printf(\; B. printf(\; C. printf(\; D. printf(\; 二、多项选择题

1. 若定义数组int a[10];指出下列错误语句__ABCD__。 A. a数组共有10个元素,其引用方法是:a[1],a[2]...a[10]; B. a数组是整型数组,其元素自动初始化为0; C. a数组最后一个元素的引用方法是a[10]; D. a数组第一个元素的引用方法是a[1]; 三、判断题

1. 可以用如下的语句定义数组a:int n=10,a[n];

2. 设已定义:int a[15]={1,2,3,4,5}; 则语句 printf(\的输出结果是5。 3. 数组中的所有元素必须属于同一种数据类型。 4. 数组名表示的是该数组元素在内存中的首地址。

5. C语言只能单个引用数组元素而不能一次引用整个数组。

6. 定义数组: int a[10]; 则数组a的最后一个元素是a[9],数组 a共有9个元素。 7. C语言中数组元素用数组名后带圆括弧的下标表示。 8. C语言中数组所占存储单元的多少仅由数组的长度决定。

9. 定义一维数组int a[10];则语句for(i=0;i<10;i++) scanf(\;是正确的。 3-2 一、

1.C 2.C 3.D 4.D 5.D 6.D 7.C 8.C 9.A 10.B 11.B 12.A 13.D 14.C 15.C

16.空 17.D 18.C 19.C 20.D 21.C 22.C 23.C 24.B 25.D 26.D 27.A 28.A 29.C 30. D 31.D 32.C 33.C 34.B 35.A 36.C 37.A 38.A 二、1.ABCD

三、1.错 2.错 3.对 4.对 5.对 6.错 7.错 8.错 9.错

4 -1

一、单项选择题;[020000150200001] >C语言程序的基本单位是______。 A. 程序 B. 语句 C. 字符 D. 函数

[020000150200004]下面函数 f(double x) {printf(“m\\n”,x);} 的类型为______。 A. 实型 B. void 类型 C. int 类型 D. A、B、C均不正确

[020000150200007]已有数组定义int a[3][4];和函数调用语句f(a); ,则在f函数的说明中,对形参数组array的错误定义方式是______。

A. f(int array[ ][6]) B. f(int array[3][ ]) C. f(int array[ ][4]) D. f(int array[2][5])

[020000160200001]函数的实参不能是______。 A. 变量 B. 常量 C. 语句 D. 函数调用表达式

[020000160200004]函数调用语句f((x,y),(a,b,c),(1,2,3,4));中,所含的实参个数是______。 A. 1 B. 2 C. 3 D. 4

[020000160200007]以下说法中正确的是______。 A. 实参可以是常量、变量或表达式。 B. 形参可以是常量、变量或表达式。 C. 实参可以为任意类型。

D. 形参应与其对应的实参类型一致。

[020000160200010]若有函数调用语句fun(a+b, (x,y), fun(n+k,d,(a,b))); ,则在此函数调用语句中实际参数的个数是______。 A. 3 B. 4 C. 5 D. 6

[020000170200002]关于函数的调用,以下错误的描述是______。 A. 出现在执行语句中 B. 出现在一个表达式中

C. 作为一个函数的实参 D. 作为一个函数的形参

[020000170200005]下面程序段中,主函数中变量a被初始化为______。 int f() { return 3.5; } void main() { int a=f(); }

A. 3.5 B. 无确定值 C. 3 D. 程序出错 [020000170200008]下列说法中正确的是______。

A. 调用函数时,实参变量与形参变量可以共用内存单元。 B. 调用函数时,实参的个数、类型和顺序与形参可以不一致。 C. 调用函数时,形参可以是表达式。

D. 调用函数时,将为形参分配内存单元。 [020000170200011]以下程序: #include <stdio.h> f(int x) { return x; } main()

{ float a=3.14; a=f(a); printf("%.2f\\n",a); return; } 执行结果为______。 A. 3 B. 3.14 C. 3.00 D. 0

[020000170200014]执行下列程序后, 变量a的值应为______。 int f(int x) {return x+3;}

main() {int a=1; while(f(a)<10) a++; return;} A. 11 B. 10 C. 9 D. 7

[020000170200017]在下列函数调用中,不正确的是______。 A. fun(3,9); B. fun(a,b); C. fun(5,a+b); D. float fun(a,b);

[020000190200003]以下说法中正确的是______。

A. 一个函数在它的函数体内调用它自身称为嵌套调用。

B. 一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。