C语言高手进,帮忙解答一下下列各题的标准答案。此题是我的重要复习题,不知道的请不要给错误的答案,谢谢

32. 设有数组定义:char array[ ]=“abcdef”;则数组array所占的空间为_____.
A)4个字节 B)5个字节 C)6个字节 D)7个字节
34. 阅读下面程序,该程序段的功能是_____.
#include <stdio.h>
main()
{ int c[ ]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{ t=c[i];j=i-1;
while(j>=0&&t>c[j]) { c[j+1]=c[j];j- - ;}
c[j+1]=t;}
for(i=0;i<7;i++)printf(“%d ”,c[i] );
putchar('\n');
}
A)对数组元素的升序排列 B)对数组元素的降序排列
C)对数组元素的倒序排列 D)对数组元素的随机排列
36. 下列函数调用语句中含有______个参数
func((f1,f2),(f2,f3,f4),f5)
A)3 B)4 C)5 D)6
45. 设有下列定义:static int x,*p=&x,*q;
scanf(“%d,%d”,p,q);
若输入3,4,则x的值为_____.
A)3 B)4 C)0 D)无法确定
47. 下列程序的功能是_____.
int fun(char *a)
{ char *b=a;
while(*b)b++;
{return b-a ;}
}
A) 比较两个字符串的大小 B)字符串的复制
C) 计算字符串的长度 D) 字符串的连接
50. 以下函数返回a所指的数组中最小值所在的下标值:
fun(int *a, int n)
{ int i , j=0 , p ;
p=j ;
for(i=j;i<n;i++)
if(a[i]<a[p]) _______ ;
return(p);
}
在下划线处应填入_______.
A)i=p B)a[p]=a[i] C)p=j D)p=i
58. 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的排列次序正确的是_______
A)sizeof,&= , <<, ^ B)sizeof,<<, ^,&=
C)^,<<,sizeof, &= D)<<,^,&=,sizeof

专业回答,质量保证!
【答案】
32.D
33.B
36.A
45.C
47.C
50.D
58.B
【解析】
32.字符串数组除了里面的实际字符,系统还会自动的分配一个结束符"\0",所以该数组所占空间为6+1=7个。
33.一句话说不明白,放心,已经通过程序验证,答案肯定正确。
36.括号内的只能算是一个参数。
45.因为是static定义的静态变量,所以x的值是无法更改的,所以无论输入什么,x的值都不会变,而x会被默认初始化,所以是0。
47.很简单,用指针b指向a的最后一个字符,两者相减,即为长度。
50.如果a[i]<a[p],则p=i,让p指向小的下标,循环处理后则会指向最小的下标。
58.不多解释,请去查看运算符的优先级。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-29
32.d
34.a
36.a
45.d
47.c
50.d
58.c
第2个回答  2011-06-29
32、D(还有一个字符串结束标志要保存)
34、B
36、A
45、C(程序会出错,因为static变量会进行默认初始化,初始值为0,所以q指向0,x的值也是0,而在scanf()读取数字时,由于无法为NULL地址(也就是q指向的0地址)赋值,所以会出现运行时错误,而由于出错,没有对x的值进行修改,因此它还保持初始值0)
47、C
50、D
58、B(请查看C语言教材)追问

请帮忙看看我的另外两个问题哈

第3个回答  2011-06-29
6个字节 。
第4个回答  2011-06-29
32D 34A 36A 45D 47C 50D 58A
相似回答
大家正在搜