大学C语言期末考试练习题(带详解答案)(6)

2019-01-03 17:34

5.

#include main() { int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; for (i=1; i<3; i++)

printf(\ \

}

运行结果为: 6 8

首先按存储顺序为数组x初始化 x[0][0]=1 x[0][1]=2 x[0][2]=3 x[1][0]=4 x[1][1]=5 x[1][2]=6 x[2][0]=7 x[2][1]=8 x[2][2]=9

初值i=1, 使得循环条件i<3成立,执行循环体 第1次循环

执行printf(\ \,打印出x[i][3-i],即x[1][2]的值

计算表达式3,即i++,i为2,使得循环条件i<3成立,继续执行循环体 第2次循环

执行printf(\ \,打印出x[i][3-i],即x[2][1]的值

计算表达式3,即i++,i为3,使得循环条件i<3成立,结束循环

6.

#include main( )

{ int n[3][3], i, j; for(i=0;i<3;i++ ) {for(j=0;j<3;j++ )

{n[i][j]=i+j;

printf(“%d ”, n[i][j]); } } }

运行结果为: 0 1 2 1 2 3 2 3 4

循环变量i为0, 循环条件 i<3成立,执行循环体

外层for第1次循环 相当于输出第1行 内层for循环j初值为0,循环条件j<3成立,执行循环体 内层for第1次循环 执行n[i][j]=i+j;即n[0][0]=0+0=0;

执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为1,j<3成立,继续执行内层循环体

内层for第2次循环

执行n[i][j]=i+j;即n[0][1]=0+1=1;

执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为2,j<3成立,继续执行内层循环体

内层for第3次循环

执行n[i][j]=i+j;即n[0][2]=0+2=2; 执行printf(“%d ”, n[i][j]); 执行内层循环表达式3,j++,j为3,j<3不成立,结束内层循环 执行printf(“\\n”); 执行外层for语句的表达式3,i++,i为,1, i<3成立,继续执行外层循环体 外层for第2次循环 相当于输出第2行 内层for循环j初值为0,循环条件j<3成立,执行循环体 内层for第1次循环 执行n[i][j]=i+j;即n[1][0]=1+0=1; 执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为1,j<3成立,继续执行内层循环体 内层for第2次循环

执行n[i][j]=i+j;即n[1][1]=1+1=2; 执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为2,j<3成立,继续执行内层循环体 内层for第3次循环

执行n[i][j]=i+j;即n[1][2]=1+2=3; 执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为3,j<3不成立,结束内层循环 执行printf(“\\n”);

执行外层for语句的表达式3,i++,i为,1, i<3成立,继续执行外层循环体 外层for第2次循环 相当于输出第3行 内层for循环j初值为0,循环条件j<3成立,执行循环体 内层for第1次循环 执行n[i][j]=i+j;即n[2][0]=2+0=1; 执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为1,j<3成立,继续执行内层循环体 内层for第2次循环

执行n[i][j]=i+j;即n[2][1]=2+1=2; 执行printf(“%d ”, n[i][j]);

执行内层循环表达式3,j++,j为2,j<3成立,继续执行内层循环体 内层for第3次循环

执行n[i][j]=i+j;即n[2][2]=2+2=3;

7.

#include main() {

char diamond[][5]={{?_?,?_?,?*?},{?_?,?*?,?_?,?*?}, {?*?,?_?,?_?,?_?,?*?},{?_?,?*?,?_?,?*?},{?_?,?_?,?*?}}; int i,j;

for(i=0;i<5;i++) {

for(j=0;j<5;j++)

printf(“%c”,diamond[i][j]); printf(“\\n”); }

}注:“_”代表一个空格。 运行结果为:

* * * * * * * *

8.

#include main( )

{ int i, f[10]; f[0]=f[1]=1;

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

f[i]=f[i-2]+f[i-1]; for(i=0;i<10;i++) { if(i%4==0)

printf(“\\n”);

printf(“%d ”,f[i]); } }

运行结果为: 1 1 2 3 5 8 13 21 34 55

执行内层循环表达式3,j++,j为3,j<3不成立,结束内层循环 执行printf(“\\n”);

执行外层for语句的表达式3,i++,i为,3, i<3不成立,结束外层循环

9.

#include “stdio.h” func(int b[ ]) { int j;

for(j=0;j<4;j++) b[j]=j; }

main( )

{ int a[4], i; func(a);

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

printf(“-”,a[i]); }

运行结果为: 0 1 2 3

详见教材P194 定义函数func

函数头:未定义函数的类型,则系统默认为int型。函数func的形参为整型数组名,即只接收整型数组地址。

函数体:定义整型变量j 循环变量初值(表达式1)j=0, 使得循环条件(表达式2)j<4成立,执行循环体

第1次循环 执行b[j]=j; 即b[0]=0;

执行循环变量自增(及表达式3) j++,j为1,使得j<4成立,继续执行循环体 第2次循环 b[1]=1;

j++,j为2,使得j<4成立,继续执行循环体 第3次循环 b[2]=2;

j++,j为3,使得j<4成立,继续执行循环体 第4次循环 b[3]=3;

j++,j为4,使得j<4不成立,结束循环

main函数: 定义整型变量i和数组a,其长度为4, func(a);表示调用函数func,并以数组名a作为调用的实参(数组名在C语言中表示数组所在内存空间的首地址,在以数组名作为实参时,形参与实参公用存储空间,因此对数组b的操作,即对数组a的操作。)

10.

#include main()

{float fun(float x[]); float ave,a[3]={4.5,2,4};

ave=fun(a); printf(“ave=%7.2f”,ave); }

float fun(float x[]) {int j;

float aver=1; for (j=0;j<3;j++)

aver=x[j]*aver;

return(aver); }

运行结果为: ave= 36.00 11.

#include main()

{int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; for(i=0;i<=1;i++)

{for(j=0;j<=2;j++)

b[j][i]=a[i][j]; }

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

{for(j=0;j<=1;j++)

printf(\ } }

运行结果为:

1 4 2 5 3 6 12.

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

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

r=r*b[i]; return (r);


大学C语言期末考试练习题(带详解答案)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018广东省学业水平测试物理识点总结

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

马上注册会员

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