C语言2作业参考答案(10)

2019-08-31 21:20

f(int b[],int n) { int i,r; r=1;

for(i=0;i<=n;i++) r=r*b[i]; return r; }

void main()

{ int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3);

printf(\}

[B]

A. 720 B. 120 C. 24 D. 6 3.执行下列程序后的输出结果是____。 #include char f(char s[],int n) { return (s[n]); } main()

{ char a[]=\

printf(\}

[A]

A. D B. C C. B D. A 4.执行下列程序后的输出结果是____。 #include int f(int a[],int n)

{ if(n==0) return a[0];

else return f(a,n-1)+a[n]; } main()

{ int x[]={1,3,5,7,9}; printf(\}

[D]

A. 1 B. 4 C. 9 D. 16 5.以下程序执行后的输出结果是______。 int f(int b[][4]) { int i,j,s=0;

for(j=0;j<4;j++) { i=j;

if(i>2) i=3-j; s+=b[i][j]; }

return s;

2分2分2分

}

void main( )

{ int a[4][4]={{1,2,3,4},{0,2,4,6}, {3,6,9,12},{3,2,1,0}}; printf(\}

[D]

A. 12 B. 11 C. 18 D. 16 6.以下程序的运行结果是____。 #include \

#define FUDGE(y) 2.84+y

#define PR(a) printf(\#define PRINT1(a) PR(a); putchar('\\n') main()

{ int x=2;

PRINT1(FUDGE(5)*x); }

[B]

A. 11 B. 12 C. 13 D. 15 7.设有以下宏定义: #define N 3

#define Y(n) ((N+1)*n)

执行语句z=2*(N+Y(5+1));后,z的值为_____________。 [C]

A. 出错 B. 42 C. 48 D. 54 8.有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 main()

{ int i;

for(i=1;i<=NUM;i++)printf(\}

该程序中的for循环执行的次数是______。 [B]

A. 5 B. 6 C. 7 D. 8 9.以下程序的输出结果是______。 #define SQR(X) X*X main()

{ int a=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m); printf(\ } [B]

A. 16 B. 2 C. 9 D. 1

2分2分2分2分2分

10.下列宏定义命令中,____格式是正确的。 [D]

A. #define pi=3.14159; B. define pi=3.14159 C. #define pi=\11.宏定义为“#define div(x,y) x/y;”,若语句

“printf(\\\n\-3));”作宏替换后为____。 [C]

A. printf(\-3)); B. printf(\-3);

C. printf(\-3;); D. printf(\-3;); 12.下列程序的输出结果____。 #define PT 5.5

#define S(x) PT*x*x #include int main(void)

{ int a = 1,b = 2;

printf(\}

[A]

A. 9.5 B. 18.5 C. 27.5 D. 49.5 13.下列程序的输出结果为____。 #include void main() { int x[10]; int i,m=1;

void sort(int a[],int n); for(i=0;i<10;i++){ m=-m; x[i]=m*i; }

sort(x,10);

for(i=0;i<10;i++)

printf(\}

void sort(int a[],int n) { int i,j,t;

for(i=1;i<10;i++){ t=a[i];

for(j=i-1; j>=0; j--) if(t>a[j]) break; else a[j+1]=a[j]; a[j+1]=t; }

2分2分2分

}

[B] 2分

A. -9 -7 -5 -3 -1 0 2 4 6 8 B. -8 -6 -4 -2 0 1 3 5 7 9 C. 0 -1 2 -3 4 -5 6 -7 8 -9 D. 0 1 -2 3 -4 5 -6 7 -8 9

二、程序填空题 (10分)

1. 输入一个整数,输出它的二进制序列。#include void main()

{ int a[32],x,i,m;

int change(int x,int a[]); scanf(\ m=change(x,a); for(i=0;i

printf(\}

int change( __(1)__ ) { int n=0,t,k; do { a[n]=x%2; __(2)__; n++; }while(x!=0);

for(k=0;k

return n; }

(1)答案 2分

int x,int a[]

(2)答案 2分

x=x/2

(3)答案 1分

a[k]=a[n-1-k]

5分

2. 输入一个6行、6列的数组,将每一行的所有元素都除以该行的主对角线元素,然后以行列对齐格式输出该数组。 #include void main()

{ int a[6][6],i,j;

void f(int a[][6],int m,int n); for(i=0; i<6;i++) for(j=0;j<6;j++)

scanf(\ __(2)__;

for(i=0; i<6;i++){ for(j=0;j<6;j++)

printf(\ __(3)__ ; } }

void f(int a[][6],int m,int n) { int i,j,t;

for(i=0;i

a[i][j]= __(5)__ ; }

}

5分

(1)答案 1分

&a[i][j]

(2)答案 1分

f(a,6,6)

(3)答案 1分

printf(\

(4)答案 1分

a[i][i]

(5)答案 1分

a[i][j]/t

三、程序设计题 (10分)


C语言2作业参考答案(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八年级数学上期第一次学段测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: