c语言(函数,数组,指针)练习题. 下载本文

内容发布更新时间 : 2024/5/9 14:46:17星期一 下面是文章的全部内容请认真阅读。

C语言第2次练习题

一. 选择题

1)一个C程序的执行是________. A.从程序的main( 函数开始执行。

B.从本程序的第一个函数开始执行。 C.从本程序第一条语句开始执行

D.从#include 处开始执行

3 定义 int a, *p1; 若使p1指向a,在程序中应使用_______。

A.*p1=&a; B. p1=&a; C. p1=a; D. p1=*a; 4 下列为一维数组初始化时, 正确的是_______.

A int a[ ]={1,3,5,….15}; B int a[5]=1; C int a[3]={5,6,8,3}; D int a[5]={0};

5. 下列要将

2,4,6,8存入数组a中,不正确的是______.

B int a[4]={2,4,6,8}; B int a[ ]={2,4,6,8};

C int a[4]; a={2,4,6,8}; D int a[4]; a[0]=2;a[1]=4,a[2]=6;a[3]=8;

6.下列二维数组定义并初始化中, 正确的是

A int a[2][ ]={{3,4},{5,10,15}}; B int a[2][3]={2,3,4,5,6,7,8,9}; C int a[ ][3]={{0},{1,2},{3,4,5}};

D int a[ ][4]={(1,2,4,5),(2,3),(3,4,9),(5,6,8)};

7. 若有说明: int a[5][5]; 则对数组元素的正确引用是______. A a[3+2][3] B a[0,3] C a[4][1+2] D a[ ][2]

8.若有定义: char ch[ ]=”book120”; 则数组

ch的存储长度是____;

A 7 B 8 C9 D10

9 设有定义: char s[20]; 向数组s中输入含有中间空格的字符串应使用的语句是______.

Ascanf(“%s”,&s; B scanf(“%s”,s; Cs=getchar(; Dgets(s;

10.在数组: int a[][3]={{1},{3,2},{4,5,6},{0}}; 中, 数组元素a[2][1]的值是________. A3 B 4 C 5 D 2

11 以下字符串赋值错误的是________。

Achar s1[ ]=”abcdef”; Bchar s2[10]; s2=”abcdefg”; Cchar *ps=”abcdef”; Dchar *pa; pa=”abcdefg”;

12 设有如下定义: char s1[20 ]=”Tianjin”, s2[10 ]=”Bbeijing”; 执行语句: strcpy(s1,s2; printf(“%s”,s1; 后, 输出结果是:_______. A Tiajinn B Beijing C TianjinBeijing D TianBeij

13. 设有定义语句:int m[ ]={5,4,3,2,1},i=2;,下面数组元素引用错误的

是____,

Am[--i] Bm[i*i] Cm[m[0]] Dm[i-2] 14. 下面的函数调用语句中fun函数的参数个数是 fun(fun(a,a+b,a+c,(a+b+c,25; A 3 B)4 C)5 D)6

15设有定义:int a[6]={1,2,3,4,5,6 }, *p=a;, *(p+3的

值是

A 3 B)4 C)5 D)6 二.阅读程序选择题

1.有以下程序: #include void f (int a, int b { int c; c=a; a=b ; b=c; }

void main( { int x =2, y = 3 ; f (x, y ;

printf(“%d, %d \\n”, x, y ; }

程序的输出结果是:

A)2,3 B)2,2 C)3,3 D)3,2

2.有以下程序: #include

void sub (int x,int y,int *z { *z=x-y; } void main( { int a,b,c; sub(10,6,&c; sub(8,c,&b; sub(c,b,&a;

printf(“%d %d %d\\n”,a,b,c; }

程序的输出结果是:

A 10 8 0 B 10 6 4 C8 4 4 D 0 4 4 3.有以下程序: #include void fun(int s[ ]; void main(