C语言实验报告第6章答案_第1页
C语言实验报告第6章答案_第2页
C语言实验报告第6章答案_第3页
C语言实验报告第6章答案_第4页
C语言实验报告第6章答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语⾔实验报告第6章答案6.2基础实验⼀、程序分析分析以下程序段完成的功能,填写在序号后的空⽩处,并运⾏验证结果。1.⊙以下程序的运⾏结果是:_______s=12345↙____________________。#includeintmain(){inta[]={1,2,3,4,5},i,j=1,s=0;for(i=4;i>=0;i--){s=s+a[i]*j;j=j*10;}printf(“s=%d\n”,s);return0;}2.以下程序的运⾏结果是:_____753______________________。#includeintmain(){intk;inta[3][3]={9,8,7,6,5,4,3,2,1};for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);return0;}3.以下程序的功能是:____查找最⼤值元素及下标_________________。#includeintmain(){inti,j,x=0,y=0,m;inta[3][3]={1,-2,0,4,-5,6,2,4};m=a[0][0];for(i=0;i<3;i++)for(j=0;j<3;j++)if(a[i][j]>m){m=a[i][j];x=i;

y=j;}printf(“(%d,%d)=%d\n”,x,y,m);return0;}运⾏结果:___(1,2)=6↙_________________4.以下程序的的运⾏结果是:__8,Iamstudent!___________________。#includeintmain(){chars1[50]=“Iam”;chars2[]=“student!”;printf(“%d,”,strlen(s2));strcat(s1,s2);printf(“%s\n”,s1);return0;}5.以下程序的运⾏结果是:_______6_____________________。#includeintmain(){charb[7]={“67da12”};inti,s=0;for(i=0;b[i]>='0'&&b[i]<='9';i+=2)s=10*s+b[i]-'0';printf(“%d\n”,s);return0;}6.以下程序的运⾏结果是:_______CQM_____________________。#includeintmain(){inti=0;chara[]=“cbm”,b[]=“cqid”,c[10];while(a[i]!='\0'&&b[i]!='\0'){if(a[i]>=b[i])c[i]=a[i]-32;elsec[i]=b[i]-32;++i;c[i]='\0';puts(c);

return0;}⼆、程序填空1.下⾯程序的功能是将⼗进制整数转换成⼆进制,请在横线上填写正确内容。#includeintmain(){intk=0,n,j,num[16]={0};printf(“输⼊要转换的⼗进制数\n”);scanf(“%d”,&n);printf(“%d转换为⼆进制数:\n”,n);do{num[k]=_n%2_____;n=n/2;_k++____;}while(n!=0);for(k=15;k>=0;k--)printf(“%d”,num[k]);return0;}2.设数组a的元素均为正整数,以下程序是求a中奇数的个数和奇数的平均值,请在横线上填写正确内容。#includeintmain(){inta[10]={10,9,8,7,6,5,4,3,2,1};intk,s,i;floatave;for(i=0,k=s=0;i<10;i++){if(_a[i]%2==0___)continue;s+=____a[i]____;k++;if(k!=0){ave=s/k;printf(“%d,%.2f\n”,k,ave);}return0;}

3.下⾯程序的功能是将字符串a中所有的字符d删除?#includeintmain(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!='\0';i++)if(s[i]!='d'){__s[j]=s[i]__;__j++__;}s[j]='\0';puts(s);return0;}4.从键盘输⼊:applecomputermusicgame,想找出最⼤字符串?#include#includeintmain(){charstr[10],temp[10]={0};inti;for(i=0;i<4;i++){gets(str);if(_strcmp(temp,str)<0_)strcpy(temp,str);}puts(temp);return0;}6.3拓展实验⼀、程序改错要求:调试运⾏下列程序是否正确,若有错,写出错在何处?填写正确的运⾏结果。2.调试下列程序,使之具有如下功能:输⼊10个整数,按每⾏3个数输出4.⊙下⾯程序的功能是:将字符数组a[6]={…a?,…b?,…c?,…d?,…e?,?f?}变为a5.●调试下列程序,使之具有如下功能:任意输⼊两个字符串(如:“abc123”和“china”),并存放在a,b两个数组中。然后把较短的字符串放在a数组,较6.从键盘上输⼊⼀个3⾏3列的矩阵的各个元素的值,然后输出主对⾓线元⼆、编写程序1.求5×5矩阵两条对⾓线上的各元素之和。2.⊙试编制程序使⼀维数组中的数按照从⼤到⼩的次序排列。(起泡法和选择6.4习题⼀、选择题1.在C语⾔中,引⽤数组元素时,其数组下标的数据类型允许是()。A.整型常量B.整型变量C.整型常量或整型表达式D.任何类型的表达式2.若有说明:inta[10];则对数组元素的正确引⽤是()。A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.以下对⼀维整型数组a的正确说明是()。A.inta(10);B.intn=10,a[n];C.intn;D.#defineSIZE10scanf(“%d”,&n);inta[SIZE];inta[n];4.以下能对包含10个元素的⼀维数组a进⾏正确初始化的语句是()。A.inta[10]=(0,0,0,0,0);B.inta[10]={0};C.inta[]={0};D.inta[10]={0;0;0;0};5.以下叙述中错误的是()。A.对于double类型数组,不可以直接⽤数组名对数组进⾏整体输⼊或输出B.数组名代表的是数组所占存储区的⾸地址,其值不可改变C.当程序执⾏中,数组元素的下标超出所定义的下标范围时,系统将给出”下标越界”的出错信息D.以通过赋初值的⽅式确定数组元素的个数6.假定int类型变量占⽤两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是()。A.3B.6C.10D.207.以下程序的运⾏结果是()。#includeintmain(){intn[5]={0,0,0},i,k=2;for(i=0;iprintf(”%d\n”,n[k]);return0;}A.不确定的值B.2C.1D.08.以下程序的运⾏结果是()。#includeintmain(){inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[3],a[6],a[9]);return0;}A.258B.741C.852D.3699.以下对⼆维数组a的正确声明是()。

A.inta[3][];B.floata(3,4);C.doublea[1][4];D.floata(3)(4);10.以下不能对⼆维数组进⾏正确初始化的是()。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};11.若有定义:inta[2][3];,以下选项中对a数组元素正确引⽤的是()。A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]12.⊙以下程序的运⾏结果是()。#includeintmain(){inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;for(i=0;i<3;i++)for(k=i+i;k<4;k++)if(a[i][i]return0;}A.6,2,1,1,B.6,4,3,2,C.1,1,2,6,D.2,3,4,6,13.若有说明:inta[3][4]={0};则下⾯正确的叙述是()。A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不⼀定为0D.数组a中每个元素均可得到初值014.若有说明:inta[][4]={0,0};则下⾯不正确的叙述是()。A.数组a的每个元素都可得到初值0B.⼆维数组a的第⼀维⼤⼩为1C.因为⼆维数组a中第⼆维⼤⼩的值除以初值个数的商为1,故数组a的⾏数为1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值015.下⾯是有关C语⾔字符数组的描述,其中错误的是()。A.不可以⽤赋值语句给字符数组名赋字符串B.可以⽤输⼊语句把字符串整体输⼊给字符数组C.字符数组中的内容不⼀定是字符串D.字符数组只能存放字符串16.下⾯是对s的初始化,其中不正确的是()。A.chars[5]={“abc”};B.chars[5]={…a?,?b?,?c?};C.chars[5]=“”;D.chars[5]=“abcdef”;17.有两个字符数组a,b,则以下正确的输⼊语句是()。A.gets(a,b);B.scanf(“%s%s”,a,b);C.scanf(“%s%s”,&a,&b);D.gets(“a”),gets(“b”);18.对两个数组a和b进⾏如下初始化:chara[]=“ABCDEF”;charb[]={…A?,?B?,?C?,?D?,?E?,?F?};则以下叙述正确的是()。A.a与b完全相同B.a与b长度相同C.a与b中都存放字符串D.a数组⽐b数组长度长19.设有数组定义:chararray[]=“china”,则数组array所占的空间为()。A.4个字节B.5个字节C.6个字节D.7个字节20.以下程序的运⾏结果是()。#includevoidmain(){charcf[3][5]={“AAAA”,”BBB”,”CC”};printf(“\”%s\”\n”,cf[1]);}

A.BBBB.“BBB”C.“BBBCC”D.“CC”21.以下程序运⾏后的运⾏结果是()。#includevoidmain(){charstr[][9]={“hello”,“student”,“computer”};printf(“%s\n”,str[1]);A.hB.helloC.student/doc/2e431392.htmlputer22.以下程序的运⾏结果是()。#includevoidmain(){chark,w[][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”};for(k=1;k<3;k++)printf(“%s\n”,w[k]);}A.ABCDB.ABCDC.EFGHD.EFGHEFGHIJKL23.以下程序段的运⾏结果是()。printf(“%d\n”,strlen(“ATS\n012\1\\”));A.11B.10C.9D.824.以下程序的运⾏结果是()。#includeintmain()

{chara[]={…a?,?b?,?c?,?d?,?e?,?f?,?g?,?h?,?\0?};inti,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\n”,i,j);return0;}A.9,9B.8,9C.1,8D.9,825.⊙当执⾏下⾯的程序时,若输⼊ABC,则运⾏结果是()。#include#includeintmain(){charss[10]=“1,2,3,4,5”;gets(ss);strcat(ss,“6789”);printf(“%s\n”,ss);A.ABCB.ABC6789C.123456789D.ABC,3,4,526.为了判断两个字符串str1和str2是否相等,应当使⽤()。A.if(str1==str2)B.if(str1=str2)C.if(strcmp(str1,str2))D.if(strcmp(str1,str2)==0)27.以下程序的运⾏结果是()。#includevoidmain(){chararr[2][4];strcpy(arr[0],”you”);strcpy(arr[1],”me”);arr[0][3]=…&?;printf(“%s\n”,arr);

}A.you&meB.youC.meD.err28.⊙有以下程序#include#defineN6intmain(){charc[N];inti=0;for(i=0;i<N;i++)c[i]=getchar();for(i=0;i<N;i++)putchar(c[i]);return0;}当运⾏程序时输⼊以下三⾏,每⾏都是在第⼀列上开始,代表Enter键。abcdef则程序的运⾏结果是:()。A.abcdefB.a↙C.a↙D.abcdb↙b↙cdef↙cd⼆、填空题1.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是__0_____,a[2][1]得到的初值为__6______。2.下⾯程序的功能是把以下给定的字符读⼊数组str1中,并输出⾏列号之和是2的数组元素。#includeintmain(){charstr[4][3]={…A?,?b?,?c?,?d?,?E?,?f?,?G?,?h?,?I?,?j?,…K?,?i?};intx,y,z;

for(x=0;x<4;x++)for(y=0;_y<3__;y++){z=x+y;if(_z==2________)printf(“%c\n”,str[x][y]);}return0;}3.下⾯程序以每⾏4个数据的形式输出a数组,请填空。#include#defineN20intmain(){inta[N],i;for(i=0;iscanf(“%d”,&a[i]);for(i=0;i{if(__i%4==0____)____printf(“\n”)______;printf(“%3d”,a[i]);}printf(“\n”);return0;}4.下⾯程序可求出矩阵a的主对⾓线上的元素之和,请填空。#includeintmain(){inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(_i==j__)sum=sum+_a[i][j]__;printf(“sum=%d\n”,sum);return0;}5.⊙下⾯程序的功能是:将字符数组a中下标值为偶数的元素从⼩到⼤排列,其它元素不变。请填空。#include#include

intmain(){chara[]=“clanguage”,t;inti,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k;j+=2)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf(“\n”);return0;}三、程序分析题1.以下程序的运⾏结果是:_12__。#includeintmain(){intarr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=0;i<4;i++)k+=arr[i]+i;printf(“%d\n”,k);return0;}2.以下程序的运⾏结果是:AQM。#includeintmain(){inti=0;chara[]=“abm”,b[]=“aqid”,c[10];while(a[i]!=…\0?&&b[i]!=…\0?){if(a[i]>=b[i])c[i]=a[i]-32;elsec[i]=b[i]-32;i++;}c[i]=…\0?;

puts(c);return0;}3.⊙以下程序若输⼊AabD↙,运⾏结果是:AzyD。#includeintmain(){chars[80];inti=0;gets(s);while(s[i]!=…\0?){if(s[i]<=…z?&&s[i]>=…a?)s[i]=…z?+?a?-s[i];i++;}puts(s);return0;}4.⊙以下程序若输⼊748915↙,运⾏结果是:748915↙。#includeintmain(){inta[6],i,j,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论