




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章数组7.1选择题【题7.1】在C语言中,引用数组元素时,其数组下标的数据类型允许是。A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式【题7.2】以下对一维整型数组a的正确说明是。A)int a(10);B)int n=10,an;C)int n;D)#define SIZE 10 scanf(“%d”,&n); int aSIZE; int an;【题7.3】若有说明:int a10;则对a数组元素的正确引用是。A)a10B)a3.5C)a(5)D)a10-10【题7.4】在C语言中,一维数组的定义方式为:类型说明符 数组名;A)常量表达式B)整型表达式C)整型常量 或整型表达式D)整型常量【题7.5】以下能对一维数组a进行正确初始化的语句是。A)int a10=(0,0,0,0,0);B)int a10=;C)int a=0;D)int a10=10*1;【题7.6】以下对二维数组a的正确说明是。A)int a3;B)float a(3,4);C)double a14;D)float a(3)(4);【题7.7】若有说明:int a34;则对a数组元素的正确引用是。A)a24B)a1,3C)a1+10D)a(2)(1)【题7.8】若有说明:int a34;则对a数组元素的非法引用是。A)a02*1B)a13C)a4-20D)a04【题7.10】以下不能对二维数组a进行正确初始化的语句是。A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D) int a3=1,2,3,4,5,6;【题7.11】若有说明:int a34=0;则下面正确的叙述是。A) 只有元素a00可得到初值0B) 此说明语句不正确C) 数组a中各元素都可得到初值,但其值不一定为0D) 数组a中每个元素均可得到初值0【题7.12】若有说明:int a4=0,0;则下面不正确的叙述是。A) 数组a的每个元素都可得到初值0B) 二维数组a的第一维大小为1C) 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D) 只有元素a00和a01可得到初值0,其余元素均得不到初值0【题7.13】若有说明:int a34;则数组a中各元素。A) 可在程序的运行阶段得到初值0B) 可在程序的编译阶段得到初值0C) 不能得到确定的初值D) 可在程序的编译或运行阶段得到初值0【题7.14】以下各组选项中,均能正确定义二维实型数组a的选项是。A)float a34;B)float a(3,4); float a4; float a34; float a3=1,0; float a=0;0;C)float a34;D)float a34; static float a4=0,0; float a3; auto float a4=0,0,0; float a4;【题7.18】下面程序(每行程序前面的数字表示行号)。1 main()2 3 float a3=0;4 int i;5 for(i=0;i3;i+) scanf(“%d”,&ai);6 for(i=1;i4;i+) a0=a0+ai;7 printf(“%dn”,a0);8 A)没有错误B)第3行有错误C)第5行有错误D)第6行有错误【题7.19】若二维数组a有m列,则计算任一元素aij在数组中位置的公式为。(假设a00位于数组的第一个位置上。)A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1【题7.20】对以下说明语句的正确理解是。int a10=6,7,8,9,10;A) 将5个初值依次赋给a1至a5B) 将5个初值依次赋给a0至a4C) 将5个初值依次赋给a6至a10D) 因为数组长度与初值的个数不相同,所以此语句不正确【题7.21】以下不正确的定义语句是。A) double x5=2.0,4.0,6.0,8.0,10.0;B) int y5=0,1,3,5,7,9;C) char c1=1,2,3,4,5;D) char c2=x10,xa,x8;【题7.22】若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是。A)2B)3C)4D)无确定值【题7.23】若二维数组a有m列,则在aij前的元素个数为。A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1【题7.24】定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是。for(k=0;k3;k+) printf(“%d”,ak2-k);A)3 5 7B)3 6 9C)1 5 9D)1 4 7【题7.26】以下正确的定义语句是。A) int a14=1,2,3,4,5;B) float x3=1,2,3;C) long b23=1,1,2,1,2,3;D) double y3=0;【题7.27】下面程序的运行结果是。main()int a66,i,j;for(i=1;i6;i+)for(j=1;j6;j+)aij=(i/j)*(j/i);for(i=1;i6;i+)for(j=1;js2)B)if(strcmp(s1,s2)C)if(strcmp(s2,s1)0)D)if(strcmp(s1,s2)0)【题7.39】下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。char x=“programming”;char y=“Fortran”;int i=0;while(xi!=0&yi!= 0)if(xi=yi) printf(“%c”,【1】);else i+;【1】 A)xi+B)y+iC)xiD)yi【题7.41】下述对C语言字符数组的描述中错误的是。A) 字符数组可以存放字符串B) 字符数组的字符串可以整体输入、输出C) 可以在赋值语句中通过赋值运算符“”对字符数组整体赋值D) 不可以用关系运算符对字符数组中的字符串进行比较【题7.42】有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规律插入到a中。请选择填空。#include main()char a20=“cehiknqtw”;char s=“fbla”;int i,k,j;for(k=0;sk!=0;k+)j=0;while(sk=aj&aj!=0) j+;for(【1】) 【2】;aj=sk;puts(a);【1】 A)i=strlen(a)+k; i=j; i-B)i=strlen(a); i=j; i- C)i=j; i=strlen(a)+k; i+D)i=j; i=strlen(a); i+【2】 A)ai=ai+1B)ai+1=ai C)ai=ai-1D)ai-1=ai【题7.43】下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中。请选择填空。#include main()char a=“acegikm”;char b=“bdfhjlnpq”;char c80,*p;int i=0,j=0,k=0;while(ai!=0&bj!=0)if(aibj) 【1】 else 【2】 k+;ck= 0;if(【3】) p=b+j;else p=a+i;strcat(c,p);puts(c);【1】 A)ck=ai; i+;B)ck=aj; i+; C)ck=ai; j+;D)ck=aj; j+;【2】 A)ck=ai; i+;B)ck=aj; i+; C)ck=ai; j+;D)ck=aj; j+;【3】 A)ai=0B)ai!=0 C)ai-1=0D)ai-1!=0【题7.44】下面程序的功能是将字符串s中所有的字符c删除。请选择填空。#include main()char s80;int i,j;gets(s);for(i=j=0;si!=0;i+)if(si!=c) 【1】;sj=0;puts(s);【1】 A)sj+=siB)s+j=si C)sj=si; j+D)sj=si【题7.46】下面程序的运行结果是。#include main()char ch7=“12ab56”;int i,s=0;for(i=0;chi=0&chi=9;i+=2)s=10*s+chi-0;printf(“%dn”,s);A)1B)1256C)12ab56D)1 2 5 6【题7.47】当运行以下程序时,从键盘输入:aa bb cc dd(表示回车),则下面程序的运行结果是。#include main()char a15,a25,a35,a45;scanf(“%s %s”,a1,a2);gets(a3); gets(a4);puts(a1); puts(a2);puts(a3); puts(a4);A)aaB)aaC)aaD)aa bb bb bb bb cc cc cc dd dd cc dd dd ee【题7.49】当运行以下程序时,从键盘输入:AhaMA Aha(表示回车),则下面程序的运行结果是。#include main()char s80,c=a;int i=0;scanf(“%s”,s);while(si!=0)if(si=c) si=si-32;else if(si=c-32) si=si+32;i+;puts(s);A)ahAMaB)AhAMaC)AhAMa ahAD)ahAMa ahA【题7.50】下面程序的运行结果是。#include main()char a80=“AB”,b80=“LMNP”;int i=0;strcat(a,b);while(ai+!=0) bi=ai; puts(b);A)LBB)ABLMNPC)ABD)LBLMNP【题7.51】下面程序的运行结果是。#include main()char str=“SSSWLIA”,c;int k;for(k=2;(c=strk)!=0;k+)switch(c)case I: +k; break;case L: continue;default: putchar(c); continue;putchar(*);A)SSW*B)SW*C)SW*AD)SW【题7.52】下面程序的运行结果是。#include main()char a=“morning”,t;int i,j=0;for(i=1;i7;i+) if(ajai) j=i;t=aj; aj=a7;a7=aj; puts(a);A)mogninrB)moC)morningD)mornin7.2填空题【题7.58】若有以下输入(代表回车符),则下面程序的运行结果是10 4 6 8 2 4 6 12 2。7 10 5 4 6 7 9 8 3 2 4 6 12 2 -1main()int b51,x,i,j=0,n=0;scanf(“%d”,&x);while(x-1) b+n=x; scanf(“%d”,&x); for(i=1;i=n;i+)if(bi%2=0) b+j=bi;for(i=1;i=j;i+) printf(“%3d”,bi);printf(“n”);【题7.65】以下程序可求出所有的水仙花数。(提示:所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如:407=444000777,故407是一个水仙花数。)请填空。main()int x,y,z,a8,m,i=0;printf(“The special numbers are(in the arrange of 1000):n”);for(m=100;m=999; 【1】m+)x=m/100;y=【2】;m/10%10z=m%10;if(x*100+y*10+z=x*x*x+y*y*y+z*z*z) ai=m【3】; i+; for(x=0;xi;x+)printf(“%6d”,ax);【题7.66】下面程序的功能是生成并打印某数列的前20项,该数列第1,2项分别为0和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。请填空。main()int x21,i,j;x1=0; x2=1;i=3;doxi= xi-1+xi-2;【1】;xi+1= fabs(xi-1-xi-2);/【2】;i=i+2【3】;while(i20);for(i=1;i=20;i+)printf(“%5d”,xi);if(i%4=0)printf(“n”);【题7.67】若有以下输入(代表回车换行符),则下面程序的运行结果是。The result is:1:82:53:64:31 4 2 3 3 4 1 2 3 3 2 2 2 3 3 1 1 1 4 1 1 1 -1#define M 50main()int aM,c5,i,n=0,x;printf(“Enter 0 or 1 or 2 or 3 or 4, to end with -1n”);scanf(“%d”,&x);while(x!=-1)if(x=0&x=4) an=x; n+; scanf(“%d”,&x);for(i=0;i5;i+) ci=0;for(i=0;in;i+) cai+;printf(The result is:n”);for(i=1;i=0;j-【3】)printf(“%d”,numj);应该是将十进制整数n转换成base进制,从do while循环中的终止条件n!=0就可以知道了。比如求15的4进制14%4=2;num0=2;n=14/4=3;3%4=3;num1=3n=3/4=0;结束因此输出的应该是32,你计算一下刚好是3*4+2=14【题7.71】下面程序的功能是输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个数。请填空。main()int a5,max,min,i,j,k;for(i=0;i5;i+)scanf(“%d”,&ai);min=a0;for(i=1;i5;i+)if(aimin) min=ai; j=i【1】; max=a0;for(i=1;imax) max=ai; k=i【2】; aj=max;ak=min;【3】printf(“nThe position of min is:%3dn”,k);printf(“The position of max is:%3dn”,j);for(i=0;i5;i+)printf(“%5d”,ai);【题7.74】下面程序的功能是给一维数组a输入任意6个整数,假设为:7 4 8 9 1 5然后建立一个具有以下内容的方阵并打印。请填空。5 7 4 8 9 11 5 7 4 8 99 1 5 7 4 88 9 1 5 7 44 8 9 1 5 77 4 8 9 1 5main()int a6,i,j,k,m;for(i=0;i=0;i-)k=a5;for(j=4【1】;j=0;j-)aj+1=aj;a0=k【2】;for(m=0;m6;m+)printf(“%d”,am);printf(“n”);【题7.77】下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的数组存到另一二维数组b中,并按矩阵形式输出a和b。请填空。例如:array a:array b: 4 5 66 4 5 1 2 33 1 2main()int a23=4,5,6,1,2,3,b23;int i,j;printf(“array a:n”);for(i=0;i=1;i+)for(j=0;j3;j+)printf(“%5d”,aij);if(j=1)bij+1=aij【1】;printf(“n”);for(i=0;i2【2】;i+) bi0=ai2;printf(“array b:n”);for(i=0;i2;i+)for(j=0;j3;j+)printf(“%5d”,bij);if(j=3) printf(“n”)【3】;【题7.105】字符串“abn012”的长度是9。【题7.107】下面程序段将输出computer,请填空。char ch=“Its a computer”;for(i=0;i8【1】;i+) ci=ci+7【2】; printf(“%c”,cj; )【题7.109】下面程序的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则输出该字符在数组中第一次出现的位置(下标值);否则输出-1。请填空。#include #include main()char c=a,t50;int n,k,j;gets(t);n=strlen(t)【1】;for(k=0;kn;k+)if(tk=c【2】) j=k; break; else j=-1;printf(“%d”,j);【题7.110】下面程序的功能是在三个字符串找出最小的。请填空。#include #include main()char s20,str320;int i;for(i=0;i0?str1,str0【1】);if(strcmp(str2,s)0) strcpy(s,str2);printf(“%sn”,s【2】);【题7.116】下面程序的运行结果是t*M。#include main()int i;char a=“Time”,b=“Tom”;for(i=0;ai!=0&bi!=0;i+)if(ai=bi)if(ai=a&ai=z)printf(“%c”,ai-32);else printf(“%c”,ai+32);else printf(“*”);【题7.117】下面程序的运行结果是。Sun:3Moon:4#include main()char a26=“Sun”,“Moon”;int i,j,len2;for(i=0;i2;i+)for(j=0;j6;j+)if(aij=0) leni=j; break; printf(“%6s:%dn”,ai,leni);【题7.118】下面程序的运行结果是4。#include main()int i,r;char s180=“bus”;char s280=“book”;for(i=r=0;s1i!=0&s2i!=0;i+)if(s1i=s2i) i+;else r=s1i-s2i; break; printf(“%d”,r);【题7.119】下面程序的运行结果是70789198#include #define LEN 4main()int j,c;static char n2LEN+1=“8980”,“9198”;for(j=LEN-1;j=0;j-)c=n0j+n1j-2*0;n0j=c%10+0;for(j=0;j=1;j+) puts(nj);【题7.121】当运行以下程序时,从键盘输入AabD(表示回车)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贷款买车订金合同范本
- 项目物资出售合同范本
- 承接包船业务合同范本
- 私人屋建工合同范本
- 新质生产力的价值
- 人教统编2024年版八年级上册 第2课 第二次鸦片战争 课件
- 二零二五年度高端游戏电脑定制销售合同汇编
- 室内设计讲座
- 农业经济管理知识培训与交流合作协议
- 农民合作社互助经济合作协议
- 读书分享-《教育的情调》
- 《材料力学》说课-课件
- 飞灰螯合物运输服务方案
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 钢化玻璃标准
- 天星择日的基本原理
- 球阀自动泄压计算
- 期权从业考试题含答案84分
评论
0/150
提交评论