一、选择题
1、有以下定义:
struct data
{ int i;char c;double d;}x;
以下叙述中错误的是______。
A.x的内存地址与x. i的内存地址相同
B.struct data是一个类型名
C.初始化时,可以对x的所有成员同时赋初值
D.成员i、c和d占用的是同一个存储空间
2、以下函数的功能是:计算a的n次方作为函数值返回。
double fun(double a,int n)
{ int i;double s=1.0;
for(i=1;i<=n;i++)s=______;
return s;
}
为实现上述功能 ……此处隐藏19327个字…… p;(2)错误:y+=1/(i*i)
正确:y+=1.0/(i*i)
[解析] 错误(1):使用for循环计算公式取到m时,最后一次循环应该等于m,所以i<m应改为i<=m。
错误(2):在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此需要对结果进行强制转换或者将除数或被除数其中一个整型常量变为浮点型常量。
四、程序设计题
43、Void fun(int*w,int p,int n)
{
int i,j,t;
for(i=p;i<=n-1;i++)
{
t=w[n-1];
for(j=n-2;j>=0;j--)
w[j+1]=w[j];
w[0]=t;
}
[解析] 本题采用“循环右移”的算法。