ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:17.95KB ,
资源ID:23040380      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23040380.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大学C语言期末考试练习题详解答案及过程讲解 读程序数组.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大学C语言期末考试练习题详解答案及过程讲解 读程序数组.docx

1、大学C语言期末考试练习题详解答案及过程讲解 读程序数组2020届大学c语言期末考试习题讲解读程序数组1.#include main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(“%d%d%d”,a2,a5,a8);运行结果为:852详见p143-146. 例题6.1一定看懂!首先定义整型变量i,整型数组a, a的长度为10,即a中包含10个整型元素(整型变量)执行for循环语句初值i=9, 使得循环条件i=0成立,执行循环体第1次循环 执行ai=10-i 等价于a9=10-9=1 计算表达式3,即i-,i为8,使得循环条件i=0成立,继续执行循环体第

2、2次循环 执行ai=10-i 等价于a8=10-8=2 计算表达式3,即i-,i为7,使得循环条件i=0成立,继续执行循环体第3次循环 执行ai=10-i 等价于a7=10-7=3 计算表达式3,即i-,i为6,使得循环条件i=0成立,继续执行循环体第4次循环 执行ai=10-i 等价于a6=10-6=4 计算表达式3,即i-,i为5,使得循环条件i=0成立,继续执行循环体第5次循环 执行ai=10-i 等价于a5=10-5=5 计算表达式3,即i-,i为4,使得循环条件i=0成立,继续执行循环体第6次循环 执行ai=10-i 等价于a4=10-4=6 计算表达式3,即i-,i为3,使得循环条

3、件i=0成立,继续执行循环体第7次循环 执行ai=10-i 等价于a3=10-3=7 计算表达式3,即i-,i为2,使得循环条件i=0成立,继续执行循环体第8次循环 执行ai=10-i 等价于a2=10-2=8 计算表达式3,即i-,i为1,使得循环条件i=0成立,继续执行循环体第9次循环 执行ai=10-i 等价于a1=10-1=9 计算表达式3,即i-,i为0,使得循环条件i=0成立,继续执行循环体第10次循环 执行ai=10-i 等价于a0=10-0=10 计算表达式3,即i-,i为-1,使得循环条件i=0不成立,跳出循环体2. #include main() int i,a6; for

4、 (i=0; i=0 ; i-) printf(%3d,ai); 运行结果为:5 4 3 2 1 0首先定义整型变量i,整型数组a, a的长度为6,即a中包含6个整型元素(整型变量)执行第一个for循环语句初值i=0, 使得循环条件i6成立,执行循环体第1次循环 执行ai= i 等价于a0=0 计算表达式3,即i+,i为1,使得循环条件i6成立,继续执行循环体第2次循环 执行ai= i 等价于a1=1 计算表达式3,即i+,i为2,使得循环条件i6成立,继续执行循环体第3次循环 执行ai= i 等价于a2=2 计算表达式3,即i+,i为3,使得循环条件i6成立,继续执行循环体第4次循环 执行a

5、i= i 等价于a3=3 计算表达式3,即i+,i为4,使得循环条件i6成立,继续执行循环体第5次循环 执行ai= i 等价于a4=4 计算表达式3,即i+,i为5,使得循环条件i6成立,继续执行循环体第6次循环 执行ai= i 等价于a5=5 计算表达式3,即i+,i为6,使得循环条件i=0成立,执行循环体第1次循环执行printf(%3d,ai); 即输出a5的值 计算表达式3,即i-,i为4,使得循环条件i=0成立,继续执行循环体第2次循环执行printf(%3d,ai); 即输出a4的值 计算表达式3,即i-,i为3,使得循环条件i=0成立,继续执行循环体第3次循环执行printf(%

6、3d,ai); 即输出a3的值 计算表达式3,即i-,i为2,使得循环条件i=0成立,继续执行循环体第4次循环执行printf(%3d,ai); 即输出a2的值 计算表达式3,即i-,i为1,使得循环条件i=0成立,继续执行循环体第5次循环执行printf(%3d,ai); 即输出a1的值 计算表达式3,即i-,i为0,使得循环条件i=0成立,继续执行循环体第6次循环执行printf(%3d,ai); 即输出a0的值 计算表达式3,即i-,i为6,使得循环条件i=0不成立,结束循环3. #include main( ) int i,k,a10,p3;k=5;for(i=0;i10;i+)ai=

7、i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;printf(%dn,k);运行结果为:21首先定义整型变量i,k,整型数组a, a的长度为10,整型数组p, p的长度为3k初值为5第一个for循环语句为数组a进行初始化执行完第一个for语句后,a0=0,a1=1,a2=2,a3=3,a4=4,a5=5,a6=6,a7=7,a8=8,a9=9 (循环过程略)第二个for循环语句为数组p进行初始化初值i=0, 使得循环条件i3成立,执行循环体第1次循环执行pi=ai*(i+1); 即p0=a0*(0+1)=a0=0 计算表达式3,即i+,i为1

8、,使得循环条件i3成立,继续执行循环体第2次循环执行pi=ai*(i+1); 即p1=a1*(1+1)=a2=2 计算表达式3,即i+,i为2,使得循环条件i3成立,继续执行循环体第3次循环执行pi=ai*(i+1); 即p2=a2*(2+1)=a6=6 计算表达式3,即i+,i为3,使得循环条件i3不成立,结束循环第三个for循环语句初值i=0, 使得循环条件i3成立,执行循环体第1次循环执行k+=pi*2; 即k=5+p0*2=5+0=5 计算表达式3,即i+,i为1,使得循环条件i3成立,继续执行循环体第2次循环执行k+=pi*2; 即k=5+p1*2=5+2*2=9 计算表达式3,即i

9、+,i为2,使得循环条件i3成立,继续执行循环体第1次循环执行k+=pi*2; 即k=9+p2*2=9+6*2=21 计算表达式3,即i+,i为3,使得循环条件i3不成立,结束循环4.#include int m33=1,2,3;int n33=1,2 ,3;main( ) printf(“%d,”, m10+n00); printf(“%dn”,m01+n10);运行结果为:3,0详见教材P149152,图6.7看懂!首先定义整型二维数组m,m为3行,3列的二维矩阵,并对其以行的形式初始化m00=1 m01=0 m12=0m10=2 m11=0 m22=0m20=3 m21=0 m22=0定

10、义整型二维数组n,m为3行,3列的二维矩阵n00=1 n01=2 n12=3n10=0 n11=0 n22=0n20=0 n21=0 n22=0因此 m10+n00=2+1=3m01+n10=0+0=05.#include main() int i;int x33=1,2,3,4,5,6,7,8,9; for (i=1; i3; i+)printf(%d ,xi3-i); 运行结果为:6 8 首先按存储顺序为数组x初始化x00=1 x01=2 x02=3x10=4 x11=5 x12=6x20=7 x21=8 x22=9初值i=1, 使得循环条件i3成立,执行循环体第1次循环执行printf(

11、%d ,xi3-i),打印出xi3-i,即x12的值计算表达式3,即i+,i为2,使得循环条件i3成立,继续执行循环体第2次循环执行printf(%d ,xi3-i),打印出xi3-i,即x21的值计算表达式3,即i+,i为3,使得循环条件i3成立,结束循环 6.#include main( ) int n33, i, j;for(i=0;i3;i+ )for(j=0;j3;j+ )nij=i+j;printf(“%d ”, nij);运行结果为:0 1 21 2 32 3 4循环变量i为0, 循环条件 i3成立,执行循环体外层for第1次循环 相当于输出第1行 内层for循环j初值为0,循环

12、条件j3成立,执行循环体 内层for第1次循环 执行nij=i+j;即n00=0+0=0;执行printf(“%d ”, nij); 执行内层循环表达式3,j+,j为1,j3成立,继续执行内层循环体内层for第2次循环 执行nij=i+j;即n01=0+1=1;执行printf(“%d ”, nij); 执行内层循环表达式3,j+,j为2,j3成立,继续执行内层循环体内层for第3次循环 执行nij=i+j;即n02=0+2=2; 执行printf(“%d ”, nij); 执行内层循环表达式3,j+,j为3,j3不成立,结束内层循环 执行printf(“n”); 执行外层for语句的表达式3

13、,i+,i为,1, i3成立,继续执行外层循环体外层for第2次循环 相当于输出第2行 内层for循环j初值为0,循环条件j3成立,执行循环体 内层for第1次循环 执行nij=i+j;即n10=1+0=1; 执行printf(“%d ”, nij);执行内层循环表达式3,j+,j为1,j3成立,继续执行内层循环体内层for第2次循环 执行nij=i+j;即n11=1+1=2; 执行printf(“%d ”, nij);执行内层循环表达式3,j+,j为2,j3成立,继续执行内层循环体内层for第3次循环 执行nij=i+j;即n12=1+2=3; 执行printf(“%d ”, nij);执行

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

15、体内层for第3次循环 执行nij=i+j;即n22=2+2=3; 执行内层循环表达式3,j+,j为3,j3不成立,结束内层循环 执行printf(“n”);执行外层for语句的表达式3,i+,i为,3, i3不成立,结束外层循环 7#include main()char diamond5=_,_,*,_,*,_,*,*,_,_,_,*,_,*,_,*,_,_,*;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)printf(“%c”,diamondij);printf(“n”);注:“_”代表一个空格。运行结果为:* * * * *8. #include main(

16、) int i, f10; f0=f1=1; for(i=2;i10;i+) fi=fi-2+fi-1; for(i=0;i10;i+) if(i%4=0) printf(“n”); printf(“%d ”,fi); 运行结果为:1 1 2 35 8 13 2134 559 #include “stdio.h” func(int b ) int j; for(j=0;j4;j+) bj=j; main( ) int a4, i; func(a); for(i=0; i4; i+) printf(“%2d”,ai); 运行结果为: 0 1 2 3详见教材P194定义函数func函数头:未定义函

17、数的类型,则系统默认为int型。函数func的形参为整型数组名,即只接收整型数组地址。函数体:定义整型变量j 循环变量初值(表达式1)j=0, 使得循环条件(表达式2)j4成立,执行循环体第1次循环 执行bj=j; 即b0=0;执行循环变量自增(及表达式3) j+,j为1,使得j4成立,继续执行循环体第2次循环b1=1;j+,j为2,使得j4成立,继续执行循环体第3次循环b2=2;j+,j为3,使得j4成立,继续执行循环体第4次循环b3=3;j+,j为4,使得j4不成立,结束循环main函数: 定义整型变量i和数组a,其长度为4, func(a);表示调用函数func,并以数组名a作为调用的实

18、参(数组名在C语言中表示数组所在内存空间的首地址,在以数组名作为实参时,形参与实参公用存储空间,因此对数组b的操作,即对数组a的操作。)10. #include main() float fun(float x); float ave,a3=4.5,2,4; ave=fun(a); printf(“ave=%7.2f”,ave); float fun(float x) int j;float aver=1; for (j=0;j3;j+)aver=xj*aver; return(aver);运行结果为:ave= 36.0011.#include main()int a23=1,2,3,4,5,

19、6;int b32,i,j;for(i=0;i=1;i+)for(j=0;j=2;j+) bji=aij;for(i=0;i=2;i+) for(j=0;j=1;j+) printf(%5d,bij); 运行结果为: 1 4 2 5 3 612#include f(int b,int n)int i,r; r=1; for (i=0;i=n;i+) r=r*bi; return (r);main() int x,a=1,2,3,4,5,6,7,8,9; x=f(a,3); printf(“%dn”,x);运行结果为: 24 13.#includestdio.hmain()int j,k; static int x44,y44;for(j=0;j4;j+) for(k=j;k4;k+) xjk=j+k;for(j=0;j4;j+) for(k=j;k4;k+) ykj=xjk;for(j=0;j4;j+) for(k=0;k4;k+) printf(%d,yjk);运行结果为:0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1