大学C语言期末考试练习题详解答案及过程讲解 读程序数组Word下载.docx
- 文档编号:3549381
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:17
- 大小:17.95KB
大学C语言期末考试练习题详解答案及过程讲解 读程序数组Word下载.docx
《大学C语言期末考试练习题详解答案及过程讲解 读程序数组Word下载.docx》由会员分享,可在线阅读,更多相关《大学C语言期末考试练习题详解答案及过程讲解 读程序数组Word下载.docx(17页珍藏版)》请在冰点文库上搜索。
第4次循环
执行a[i]=10-i等价于a[6]=10-6=4
计算表达式3,即i--,i为5,使得循环条件i>
第5次循环
执行a[i]=10-i等价于a[5]=10-5=5
计算表达式3,即i--,i为4,使得循环条件i>
第6次循环
执行a[i]=10-i等价于a[4]=10-4=6
计算表达式3,即i--,i为3,使得循环条件i>
第7次循环
执行a[i]=10-i等价于a[3]=10-3=7
计算表达式3,即i--,i为2,使得循环条件i>
第8次循环
执行a[i]=10-i等价于a[2]=10-2=8
计算表达式3,即i--,i为1,使得循环条件i>
第9次循环
执行a[i]=10-i等价于a[1]=10-1=9
计算表达式3,即i--,i为0,使得循环条件i>
第10次循环
执行a[i]=10-i等价于a[0]=10-0=10
计算表达式3,即i--,i为-1,使得循环条件i>
=0不成立,跳出循环体
2.
{inti,a[6];
for(i=0;
i<
6;
i++)
a[i]=i;
for(i=5;
i>
=0;
i--)
printf("
%3d"
a[i]);
}
543210
首先定义整型变量i,整型数组a,a的长度为6,即a中包含6个整型元素(整型变量)
执行第一个for循环语句
初值i=0,使得循环条件i<
6成立,执行循环体
执行a[i]=i等价于a[0]=0
计算表达式3,即i++,i为1,使得循环条件i<
6成立,继续执行循环体
执行a[i]=i等价于a[1]=1
计算表达式3,即i++,i为2,使得循环条件i<
执行a[i]=i等价于a[2]=2
计算表达式3,即i++,i为3,使得循环条件i<
执行a[i]=i等价于a[3]=3
计算表达式3,即i++,i为4,使得循环条件i<
执行a[i]=i等价于a[4]=4
计算表达式3,即i++,i为5,使得循环条件i<
执行a[i]=i等价于a[5]=5
计算表达式3,即i++,i为6,使得循环条件i<
6不成立,结束循环
执行第二个for循环语句
初值i=5,使得循环条件i>
执行printf("
即输出a[5]的值
即输出a[4]的值
即输出a[3]的值
即输出a[2]的值
即输出a[1]的值
即输出a[0]的值
=0不成立,结束循环
3.
main()
{inti,k,a[10],p[3];
k=5;
for(i=0;
i<
10;
i++)
a[i]=i;
3;
p[i]=a[i*(i+1)];
k+=p[i]*2;
%d\n"
k);
21
首先定义整型变量i,k,整型数组a,a的长度为10,整型数组p,p的长度为3
k初值为5
第一个for循环语句为数组a进行初始化
执行完第一个for语句后,a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]=6,a[7]=7,a[8]=8,a[9]=9(循环过程略)
第二个for循环语句为数组p进行初始化
3成立,执行循环体
执行p[i]=a[i*(i+1)];
即p[0]=a[0*(0+1)]=a[0]=0
3成立,继续执行循环体
即p[1]=a[1*(1+1)]=a[2]=2
即p[2]=a[2*(2+1)]=a[6]=6
3不成立,结束循环
第三个for循环语句
执行k+=p[i]*2;
即k=5+p[0]*2=5+0=5
即k=5+p[1]*2=5+2*2=9
即k=9+p[2]*2=9+6*2=21
4.
intm[3][3]={{1},{2},{3}};
intn[3][3]={1,2,3};
{printf(“%d,”,m[1][0]+n[0][0]);
printf(“%d\n”,m[0][1]+n[1][0]);
3,0
详见教材P149~152,图6.7看懂!
首先定义整型二维数组m,m为3行,3列的二维矩阵,并对其以行的形式初始化
m[0][0]=1m[0][1]=0m[1][2]=0
m[1][0]=2m[1][1]=0m[2][2]=0
m[2][0]=3m[2][1]=0m[2][2]=0
定义整型二维数组n,m为3行,3列的二维矩阵
n[0][0]=1n[0][1]=2n[1][2]=3
n[1][0]=0n[1][1]=0n[2][2]=0
n[2][0]=0n[2][1]=0n[2][2]=0
因此m[1][0]+n[0][0]=2+1=3
m[0][1]+n[1][0]=0+0=0
5.
{inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
for(i=1;
3;
%d"
x[i][3-i]);
}
68
首先按存储顺序为数组x初始化
x[0][0]=1x[0][1]=2x[0][2]=3
x[1][0]=4x[1][1]=5x[1][2]=6
x[2][0]=7x[2][1]=8x[2][2]=9
初值i=1,使得循环条件i<
x[i][3-i]),打印出x[i][3-i],即x[1][2]的值
计算表达式3,即i++,i为2,使得循环条件i<
x[i][3-i]),打印出x[i][3-i],即x[2][1]的值
计算表达式3,即i++,i为3,使得循环条件i<
3成立,结束循环
6.
{intn[3][3],i,j;
i++)
{for(j=0;
j<
j++)
{n[i][j]=i+j;
printf(“%d”,n[i][j]);
012
123
234
循环变量i为0,循环条件i<
外层for第1次循环相当于输出第1行
内层for循环j初值为0,循环条件j<
内层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[0][1]=0+1=1;
执行内层循环表达式3,j++,j为2,j<
内层for第3次循环
即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行
即n[1][0]=1+0=1;
执行内层循环表达式3,j++,j为1,j<
即n[1][1]=1+1=2;
执行内层循环表达式3,j++,j为2,j<
即n[1][2]=1+2=3;
执行内层循环表达式3,j++,j为3,j<
执行printf(“\n”);
外层for第2次循环相当于输出第3行
即n[2][0]=2+0=1;
即n[2][1]=2+1=2;
即n[2][2]=2+2=3;
执行外层for语句的表达式3,i++,i为,3,i<
3不成立,结束外层循环
7.
{
chardiamond[][5]={{‘_’,’_’,’*’},{‘_‘,’*’,’_’,’*’},
{‘*’,’_’,’_‘,’_‘,’*’},{‘_’,’*’,’_’,’*’},{‘_’,’_’,’*’}};
inti,j;
for(i=0;
5;
for(j=0;
j++)
printf(“%c”,diamond[i][j]);
printf(“\n”);
}注:
“_”代表一个空格。
*
**
**
*
8.
#include<
{inti,f[10];
f[0]=f[1]=1;
for(i=2;
10;
f[i]=f[i-2]+f[i-1];
for(i=0;
{if(i%4==0)
printf(“%d”,f[i]);
1123
581321
3455
9.
#include“stdio.h”
func(intb[])
{intj;
for(j=0;
4;
b[j]=j;
main()
{inta[4],i;
func(a);
printf(“%2d”,a[i]);
}
0123
详见教材P194
定义函数func
函数头:
未定义函数的类型,则系统默认为int型。
函数func的形参为整型数组名,即只接收整型数组地址。
函数体:
定义整型变量j
循环变量初值(表达式1)j=0,使得循环条件(表达式2)j<
4成立,执行循环体
第1次循环
执行b[j]=j;
即b[0]=0;
执行循环变量自增(及表达式3)j++,j为1,使得j<
4成立,继续执行循环体
b[1]=1;
j++,j为2,使得j<
b[2]=2;
j++,j为3,使得j<
b[3]=3;
j++,j为4,使得j<
4不成立,结束循环
main函数:
定义整型变量i和数组a,其长度为4,
表示调用函数func,并以数组名a作为调用的实参(数组名在C语言中表示数组所在内存空间的首地址,在以数组名作为实参时,形参与实参公用存储空间,因此对数组b的操作,即对数组a的操作。
)
10.
main()
{floatfun(floatx[]);
floatave,a[3]={4.5,2,4};
ave=fun(a);
printf(“ave=%7.2f”,ave);
floatfun(floatx[])
{intj;
floataver=1;
for(j=0;
aver=x[j]*aver;
return(aver);
ave=36.00
11.
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
=1;
{for(j=0;
=2;
b[j][i]=a[i][j];
{for(j=0;
printf("
%5d"
b[i][j]);
142536
12.
f(intb[],intn)
{inti,r;
r=1;
=n;
i++)
r=r*b[i];
return(r);
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d\n”,x);
24
13.
#include"
stdio.h"
{intj,k;
staticintx[4][4],y[4][4];
for(k=j;
k<
k++)
x[j][k]=j+k;
y[k][j]=x[j][k];
for(k=0;
%d,"
y[j][k]);
0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学C语言期末考试练习题详解答案及过程讲解 读程序数组 大学 语言 期末考试 练习题 详解 答案 过程 讲解 程序 数组