一些C语言的问题2 很紧急,很感谢您回答!

19下面正确的说法是 。
A)return语句必须放在函数的最后
B)main()函数必须放在其他函数之前
C)任何两个函数都可以互相调用
D)return后面的表达式类型应该与函数的类型赋值相容
20、.若有定义int *p, a; 则正确的语句是 。
A) p=&a; scanf(“%d”, *p); B)p=&a; scanf(“%d”, p);
C) p=&a; scanf(“%d”, &p); D) scanf(“%d”, a);
21、int x,*p; float y,*q; 则正确的语句是 。
A)p=&y; B)q=0 C)q=&y; p=q; D)q=&y; p=&x;
21、通过调用函数swap(a,b);能够交换a,b的值,函数的正确写法是 。
A)void swap(int x,int y){ int t; t=x; x=y; y=t; }
B) void swap(int *x,int *y){ int *t; *t=*x; *x=*y;*y=*t;}
C) void swap(int *x,int *y) { int t; t=*x; *x=*y; *y=t; }
D) void swap(int *x,int *y) { int *t; t=x;x=y; y=t;}
22、设函数首部是int fun( int x, int *y){………} 则正确的说法是 。
A) 在函数中改变y的值将影响对应实参指针的值
B) 在函数中改变*y的值将影响对应实参指针的值
C) 在函数中改变y的值将影响对应实参指针所指对象的值
D) 在函数中改变*y的值将影响对应实参指针所指对象的值
23、以下定义语句中正确的是 。
A) char a='A' b='B'; B) float a=b=10.0;
C) int a=10,*b=&a; D) float *a,b=&a;
24、合法的数组定义是 。
A)int a[ ]={ ‘a’, ‘b’,’c’}; B)int a[5]={0,1,2,3,4,5};
C)char a={‘A’,’B’,’C’ }; D)int a[5]={};
25、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 。
A) 3 B) 6 C) 10 D) 20
26、正确的初始化语句是 。
A)int a[2][3]={{1,1},{2,2},{3,3}}; B)int a[3][ ]={{1},{2},{3}};
C)int a[ ][3]={1,2,3,4,5}; D)int a[ ][ ]={1,2,3,4,5};
27、double a[2][2]={0.0};下面说法正确的是 。
A)该语句存在语法错误 B)把所有元素初始化为0.0
C)仅把a[0][0]初始化为0.0 D)也把a[2][2]初始化为0.0
28、int a[ ][2]={1,3,5,7,9};下面正确的说法是 。
A)该数组共有6个元素 B)等价于 int a[3][2]={{1,3,5},{7,9,0}};
C)该数组共有5个元素 D)等价于int a[ ][2]={{1},{3},{5},{7},{9}};
29、 int a[2][4]; 则错误的说法是 。
A)a是有两个元素a[0],a[1]的一维数组 B)a[1]代表一个地址常量
C)a[0]是有4个元素的一维数组 D)a[1][2]等价*(a+1)[2]
30、int a[5], *p=a; 则对数组元素地址的正确引用是 。
A)&a B)p+2 C)a+5 D)&(*p+2)
31、int w[3][4], (*p)[4]; p=w; 则非法的数组元素是 。
A)*(*(p+1)+2) B)p[2][3] C)*(w[3]+3) D)(*(w+1))[3]
32、int a[10][4]; 用形式fun(a+1)调用函数fun, 则函数的首部不可以写成 。
A) fun(int *s[10]) B) fun(int ((*s)[4])
C) fun(int s[ ][4]) D) fun(int s[3][4])

数组问题比较多,有些概念自己也模糊了,所以答案仅供参考

19下面正确的说法是 。
D)return后面的表达式类型应该与函数的类型赋值相容
20、.若有定义int *p, a; 则正确的语句是 。
B)p=&a; scanf(“%d”, p);
21、int x,*p; float y,*q; 则正确的语句是 。
D)q=&y; p=&x;
21、通过调用函数swap(a,b);能够交换a,b的值,函数的正确写法是 。
C) void swap(int *x,int *y) { int t; t=*x; *x=*y; *y=t; }
22、设函数首部是int fun( int x, int *y){………} 则正确的说法是 。
D) 在函数中改变*y的值将影响对应实参指针所指对象的值
23、以下定义语句中正确的是 。
A) char a='A' b='B';
24、合法的数组定义是 。
C)char a={‘A’,’B’,’C’ };
25、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 。
D) 20
26、正确的初始化语句是 。
B)int a[3][ ]={{1},{2},{3}};
27、double a[2][2]={0.0};下面说法正确的是 。
C)仅把a[0][0]初始化为0.0
28、int a[ ][2]={1,3,5,7,9};下面正确的说法是 。
D)等价于int a[ ][2]={{1},{3},{5},{7},{9}};
29、 int a[2][4]; 则错误的说法是 。
C)a[0]是有4个元素的一维数组
30、int a[5], *p=a; 则对数组元素地址的正确引用是 。
B)p+2
31、int w[3][4], (*p)[4]; p=w; 则非法的数组元素是 。
A)*(*(p+1)+2)
32、int a[10][4]; 用形式fun(a+1)调用函数fun, 则函数的首部不可以写成 。
A) fun(int *s[10])
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-07
建议你去败笔那学习C语言吧

参考资料:败笔网络安全小组

第2个回答  2010-07-07
19.c
20d
21c
22b
23 A
24 A
25 D
26B
27C
28C
29B
30C
31 I DON'T KNOW
32A
第3个回答  2010-07-07
C D D C B C D D C C A A B A A
相似回答