付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言第七、八章补充作业-答案C语言第七、八章补充作业-答案C语言第七、八章补充作业-答案资料仅供参考文件编号:2022年4月C语言第七、八章补充作业-答案版本号:A修改号:1页次:1.0审核:批准:发布日期:第七章数组补充作业【1】在C语言中,引用数组元素时,其数组下标的数据类型允许是C。 A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式【2】以下对一维整型数组a的正确说明是D。 A)inta(10); B)intn=10,a[n]; C)intn; D)#defineSIZE10 scanf(“%d”,&n); inta[SIZE]; inta[n];【3】若有说明:inta[10];则对a数组元素的正确引用是D。 A)a[10] B)a[] C)a(5) D)a[10-10]【4】以下能对一维数组a进行正确初始化的语句是C。 A)inta[10]=(0,0,0,0,0); B)inta[10]={}; C)inta[]={0}; D)inta[10]={10*1};【5】以下对二维数组a的正确说明是B。 A)inta[3][]; B)doublea[1][4]; C)floata(3,4); D)floata(3)(4);【6】若有说明:inta[3][4];则对a数组元素的正确引用是D。 A)a[2][4] B)a[1,3] C)a(2)(1) D)a[1+1][0]【7】以下不能对二维数组a进行正确初始化的语句是C。A) inta[2][3]={0};B) inta[][3]={{1,2},{0}};C) inta[2][3]={{1,2},{3,4},{5,6}};D) inta[][3]={1,2,3,4,5,6};【8】指出下面各说明语句中哪些是合法的:(多选)A.intabcd[0x80];B.char9ab[10];C.charchi[-200];D.intaaa[5]={3,4,5};E.floatkey[]={,,1,0};F.chardisk[];G.intn,floppy[n];H.intcash[4]={1,2,3,4,5,6};答案:ADE【9】下面程序中有错误的行是D(每行程序前面的数字表示行号)。 1main() 2{ 3 floata[3]={1}; 4 inti; 5 scanf(“%d”,&a); 6 for(i=1;i<3;i++)a[0]=a[0]+a[i]; 7 printf(“a[0]=%d\n”,a[0]); 8} A)3 B)6 C)7 D)5【10】请回答下列问题。(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。___(2)该数组下标的取值范围是从___到___(从小到大)。(3)如何用scanf函数输入数组的第二个元素。___(4)如何用赋值语句把39存入第一个元素。___(5)如何表示把第六个和第四个元素之和存入第一个元素。___答案:intarray[10]={9,4,7,49,32,-5};09scanf("%d",&array[1]);array[0]=39;array[0]=array[5]+array[3];【11】若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为A。(假设a[0][0]位于数组的第一个位置上。) A)i*m+j+1 B)j*m+i C)i*m+j-1 D)i*m+j【12】若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是B。 A)2 B)3 C)4 D)无确定值【13】定义如下变量和数组: intk; inta[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是A。 for(k=0;k<3;k++)printf("%d",a[k][2-k]); A)357 B)369 C)159 D)147【14】若有以下程序段: …… inta[]={4,0,2,3,1};i,j,t; for(i=1;i<5;i++) { t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是B。A)对数组a进行插入排序(升序)B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序)【题15】当运行以下程序时,从键盘输入:AhaMAAha<CR>(<CR>表示回车),则下面程序的运行结果是D。 #include<> main() { chars[80],c=‘a’; inti=0; scanf(“%s”,s); while(s[i]!=‘\0’) { if(s[i]==c)s[i]=s[i]-32; elseif(s[i]==c-32)s[i]=s[i]+32; i++; } puts(s); } A)ahAMa B)AhAMa C)AhAMaahA D)ahAMaahA【题16】设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。请填空。 main() { inta[10],b[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(【1】;i<10;i++) 【2】 for(i=1;i<10;i++) { printf(“%3d”,b[i]); if(【3】==0)printf(“\n”); } }【1】i=1 【2】b[i]=a[i]+a[i-1] 【3】(i%3)【题17】下面程序将十进制整数转换成n进制。请填空。 main() { inti,base,n,j,num[20]; printf(“Enterdatathatwillbeconverted\n”); scanf(“%d”,&n); printf(“Enterbase\n”); scanf(“%d”,&base); do{ i++; num[i]=n【1】base; n=n【2】base; }while(n!=0); printf(“Thedata%dhasbeenconvertedintothe%d--base data:\n”,n,base); for(【3】) printf(“%d”,num[j]); }【1】% 【2】/ 【3】j=i;j>=1;j--【题18】下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的数组存到另一二维数组b中,并按矩阵形式输出a和b。请填空。 例如:arraya: arrayb: 456 645 123 312 main() { inta[2][3]={4,5,6,1,2,3},b[2][3]; inti,j; printf(“arraya:\n”); for(i=0;i<=1;i++) { for(j=0;j<3;j++) { printf(“%5d”,a[i][j]); 【1】; } printf(“\n”); } for(【2】;i++)b[i][0]=a[i][2]; printf(“arrayb:\n”); for(i=0;i<2;i++) { for(j=0;j<3;j++) printf(“%5d”,b[i][j]); 【3】; } }【1】b[i][j+1]=a[i][j] 【2】i=0;i<2 【3】printf(“\n”)编程答案:[1]#defineM50main(){ inta[M],c[5],i,n=0,x; printf(“Enter0or1or2or3or4,toendwith–1\n”); scanf(“%d”,&x); while(x!=-1) { if(x>=0&&x<=4) { a[n]=x; n++; } scanf(“%d”,&x); } for(i=0;i<5;i++) c[i]=0; for(i=0;i<n;i++) c[a[i]]++; printf(“Theresultis:\n”); for(i=0;i<=4;i++) printf(“%d:%d\n”,ic[i]); printf(“\n”);}[2]main(){ inta[5][5],i,j,n=1; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=n++; printf(“Theresultis:\n”); for(i=0;i<5;i++) { for(j=0;j<=i;j++) printf(“%4d”,a[i][j]); printf(“\n”); }}[3]#include<>#include<>main(){ chara[80],b[]=“ab”,max; inti=1,j; printf(“Inputastring\n”); gets(a); puts(a); max=a[0]; while(a[i]!=‘\0’) { if(a[i]>max) { max=a[i]; j=i; } i++; } for(i=strlen(a)+2;i>j;i--) a[i]=a[i-2]; a[i+1]=‘a’; a[i+2]=‘b’; puts(a);}第八章函数补充作【题1】以下正确的说法是B。 建立函数的目的之一是 A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存【题2】以下正确的说法是B。用户若需调用标准库函数,调用前必须重新定义用户可以重新定义标准库函数,若如此,该函数将失去原有含义系统根本不允许用户重新定义标准库函数用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调【题3】若调用一个函数,且此函数中没有return语句,则正确的说法是D。 该函数 A)没有返回值 B)返回若干个系统默认值 C)能返回一个用户所希望的函数值 D)返回一个不确定的值【题4】以下不正确的说法是D。 C语言规定 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以为任意类型 D)形参应与其对应的实参类型一致【题5】以下正确的说法是C。定义函数时,形参的类型说明可以放在函数体内return后边的值不能为表达式如果函数值的类型与返回值类型不一致,以函数值类型为准如果形参与实参的类型不一致,以实参类型为准【题6】以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。 sub(intk,intn) { inta1,a2; a2=【1】;(为:C) a1=k-【2】;(为:A) if((k%3==0&&a2==5)||(k%3==0&&a1==5)) { printf(“%d”,k); n++; returnn; } elsereturn-1; } main() { intn=0,k,m; for(k=10;k<=99;k++) { m=sub(k,n); if(m!=-1)n=m; } printf(“\nn=%d”,n); } 【1】A)k*10 B)k%10 C)k/10 D)k*10%10 【2】A)a2*10 B)a2 C)a2/10 D)a2%10【题7】折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;返回-1。请选择填空。 binary(inta[10],intm) { intlow=0,high=9,mid; while(low<=high) { mid=(low+high)/2; if(m<a[mid])【1】;(为:A) elseif(m>a[mid])【2】;(为:B) elsereturn(mid); } return(-1); } 【1】A)high=mid-1 B)low=mid+1 C)high=mid+1 D)low=mid-1 【2】A)high=mid-1 B)low=mid+1 C)high=mid+1 D)low=mid-1【题8】以下程序的正确运行结果是D。 #defineMAX10 inta[MAX],i; main() { printf(“\n”);sub1();sub3(a);sub2();sub3(a); } sub2() { inta[MAX],i,max; max=5; for(i=0;i<max;i++)a[i]=i; } sub1() { for(i=0;i<MAX;i++)a[i]=i+i; } sub3(inta[]) { inti; for(i=0;i<MAX;i++)printf(“%d”,a[i]); printf(“\n”); }0246810121416180123401234024681012141618012345678901234024681012141618024681012141618【题9】以下程序的功能是用递归方法计算五位学生的年龄,请填空。 递归公式如下: #include<> age(intn) { intc; if(n==1)c=10; elsec=【1】; return(c); } main() { intn=5; printf(“age:%d\n”,【2】); }【1】age(n-1)+2 【2】age(5)【题10】以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,则返回值-1。请填空。 #include<> intsearch(inta[10],intm) { inti; for(i=0;i<=9;i++)if(【1】)return(i); return(-1); } main() { inta[10],m,i,no; … no=search(【2】); if(【3】)printf(“\nOKFOUND!%d”,no+1); elseprintf(“\nSorryNotFound!”); }【1】a[i]==m 【2】a,m 【3】no>=0【题11】以下程序的运行结果是。 #include<> intk=1; main() { inti=4; fun(i); printf(“(1)%d,%d\n”,i,k); } fun(intm) { m+=k;k+=m; { chark=‘B’; printf(“(2)%d\n”,k-‘A’); } printf(“(3)%d,%d\n”,m,k); }(2)1(3)5,6(1)4,6【题12】以下程序的运行结果是。 intn=1; main() { staticintx=5;inty; y=n; printf(“MAIN:x=%2dy=%2dn=%2d\n”,x,y,n); func(); printf(“MAIN:x=%2dy=%2dn=%2d\n”,x,y,n); func(); } func() { staticintx=4;inty=10; x=x+2; n=n+10; y=y+n; printf(“FUNC:x=%2dy=%2dn=%2d\
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商会内部管理制度汇编
- 新疆农业大学科学技术学院《电气控制与可编程控制器》2024-2025学年第二学期期末试卷
- 机关内部资料管理制度
- 文山学院《幼儿园玩具教具制作》2024-2025学年第二学期期末试卷
- 林业企业内部控制制度
- 某内部控制制度
- 检察院内部培训制度汇编
- 民政单位内部审计制度
- 民警内部选拔制度
- 海事局内部管理制度
- 铝合金门窗专项施工方案
- 2026年1月浙江省高考选考技术试题真题(含答案详解)
- 2026年时事政治热点题库(研优卷)
- 广州大学2026年第一次公开招聘事业编制管理和教辅人员备考题库及答案详解一套
- (2025)中国甲状腺疾病诊疗指南
- 2025成人心血管外科手术体外循环患者血液管理指南课件
- 安全积分制度培训课件
- 公司质量管理体系改进方案
- 生猪订购合同范本
- 2025年课件-(已瘦身)2023版马原马克思主义基本原理(2023年版)全套教学课件-新版
- 船舶机舱监控系统教学课件
评论
0/150
提交评论