河北大学C语言——数组习题.doc_第1页
河北大学C语言——数组习题.doc_第2页
河北大学C语言——数组习题.doc_第3页
河北大学C语言——数组习题.doc_第4页
河北大学C语言——数组习题.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

习题六一选择题1.在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。A)整型常量 B)整型表达式C)整形常量或整形表达式 C)任何类型的表达式2.以下对一维整型数组a的正确说明是 。DA)int a(10) ; B)int n=10,an;C)int n; D)#define SIZE 10 scanf(“%d”,&n); int aSIZE;int an;3.若有定义:int a10,则对数组a元素的正确引用是 D 。A)a10 B)a3.5 C)a(5) D)a10-104.以下不能对一维数组a进行正确初始化的语句是 B 。A)int a10=0,0,0,0,0; B)int a10= ;C)int a = 0 ; D)int a10=10*1 ; 5.若有定义:int a34,则对数组a元素的正确引用是 。AA)a23 B)a1,3 C)a(5) D)a10-106.以下能对二维数组a进行正确初始化的语句是 。BA)int a2=1,0,1,5,2,3 ;B)int a3=1,2,3,4,5,6 ;C)int a24=1,2,3,4,5,6 ;D)int a3=1,0,1,1,1 ;7.以下不能对二维数组a进行正确初始化的语句是 。CA)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 ;8.若有说明:int a34=0;则下面正确的叙述是 。DA)只有元素a00可得到初值0B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值09.若有说明:int a4=0,0;则下面不正确的叙述是 。DA)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)因为二维数组a中初值个数除以第二维大小的值的商向上取整为1,故数组a的行数为1D)只有元素a00和a01可得到初值0,其余元素均得不到初值010.若二维数组a有m列,则计算任一元素aij在数组中位置的公式为 。(设a00位于数组的第一个位置上)DA)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+111.若有说明:int a3=1,2,3,4,5,6,7;则数组a第一维大小是 。BA)2 B)3 C)4 D)无确定值12.以下不正确的定义语句是 。BA)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 ;13.下面程序段的输出结果是 。Aint k,a33=1,2,3,4,5,6,7,8,9;for (k=0;kb) B)if (strcmp(a,b)C)if (strcmp(b,a)0) D)if (strcmp(a,b)0)22.下面叙述正确的是 。DA)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串”STOP ”与”STOP”相等D)字符串”That”小于字符串”The”23.下面有关字符数组的描述中错误的是 。CA)字符数组可以存放字符串B)字符串可以整体输入,输出C)可以在赋值语句中通过赋值运算对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较24.下面程序的输出结果是 。Amain ( ) char ch7=”12ab56”;int i,s=0;for (i=0;chi0&chi=9;i+=2)s=10*s+chi-0;printf(“%dn”,s);A)1 B)1256 C)12ab56 D)ab25.下面程序的输出结果是 。Bmain ( )char str =”SSWLIA” , C;int k;for (k=1;(c=strk)!=0;k+) switch (c) case I : +k; break ;case L: continue;default : putchar(c) ; continue ;putchar(*);A)SSW B)SW* C)SW*A D)SW二填空题1.在C语言中,二维数组的元素在内存中的存放顺序是 以行为主序存放 。2.若有定义:double x35,则x数组中行下标的下限为 2,列下标的下限为 4 。3.若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12的值为 0 ,a21得到的值为 6 。5.下面程序段的运行结果是 he 。char x =”the teacher”;int i=0;while (x+i!=0)if (xi-1=t) printf(“%c”,xi);6.欲为字符串S1输入”Hello World!”,其语句是 gets(S1) ; 。7.欲将字符串S1复制到字符串S2中,其语句是 strcpy(S2,S1) ; 。9.C语言数组的下标总是从 0 开始,不可以为负数;构成数组各个元素具有相同的 数据类型 。10.字符串是以 0 为结束标志的一维字符数组。有定义:char a=”;则a数组的长度是 1 。三程序阅读题1.写出下面程序的运行结果。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 ; j=bi) ci=ai-32 ;else ci=bi-32 ;i+;ci=0;puts(c);AQM3.当运行下面程序时,从键盘上输入AabD,则写出下面程序的运行结果。main ( ) char s80;int i=0;gets(s);while (si!=0) if (si=a)si=z+a-si ;i+;puts(s);AzyD4.写出下面程序的运行结果。main ( ) int i,c;char s25=“8980”,”9198”;for (i=3; i=0 ; i-) c=s0i+s1i-2*0;s0i = c % 10 + 0 ;for (i=0; i=1; i+) puts(si);707891985.当运行下面程序时,从键盘上输入7 4 8 9 1 5,则写出下面程序的运行结果。main ( ) int a6,i,j,k,m;for (i=0 ; i=0; i-) k=a5;for (j=4; j=0; j-)aj+1=aj ;a0=k;for (m=0 ; m6 ; m+)printf(“%d ”,am);printf(“n”);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 5 四程序判断题1.下面程序为数组输入数据并输出结果;判断下面程序的正误,如果错误请改正过来。main ( ) int a3=3*0 ;int i;for (i=0; i4; i+) scanf(“%d”,&ai);for (i=0; i4; i+) printf(“%d”,ai);main ( ) int a3=3*0 ;int i;for (i=0; i3; i+) scanf(“%d”,&ai);for (i=0; i3; i+) printf(“%d”,ai);2.下面程序为数组输入数据并输出结果;判断下面程序的正误,如果错误请改正过来。main ( ) int a3=1,2,3 , i;scanf(“%d%d%d”,&a);for (i=0; i3; i+) printf(“%d”,ai);main ( ) int a3=1,2,3 , i;scanf(“%d%d%d”,&a0,&a1,&a2);for (i=0; i3; i+) printf(“%d ”,ai);3.下面程序的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如,当s中的字符串为:“ABCDE”时则t中的字符串应为:“EDCBAABCDE”;判断下面程序的正误,如果错误请改正过来。main ( ) char s80,t200; int i,sl ;gets(s); sl = strlen(s);for (i=0; isl; i+) ti = ssl-i;for (i=0; isl; i+) tsl+i = si;puts(t);main ( ) char s80,t200=0; int i,sl ;gets(s); sl = strlen(s);for (i=0; isl; i+) ti = ssl-i-1;for (i=0; isl; i+) tsl+i = si;puts(t);4.下面程序的功能是:将n各无序整数从小到大排序;判断下面程序的正误,如果错误请改正过来。main ( ) int a100, i, j, p, t, n=20 ;for (j = 0; jn ; j+) scanf(“%d”, &aj),for (j = 0;jn-1 ; j+) p = j;for ( i=j+1; iai) t=i;if (p!=j) t = aj; aj = ap; ap=t; for ( j = 0; jn ; j+ ) printf(“%d ”, &aj);main ( ) int a100, i, j, p, t, n=20 ;for (j = 0; jn ; j+) scanf(“%d”, &aj),for (j = 0;jn-1 ; j+) p = j;for ( i=j+1; iai) p=i;if (p!=j) t = aj; aj = ap; ap=t; for ( j = 0; jn ; j+ ) printf(“%d ”, &aj);5.下面程序的功能是:统计子字符串substr在字符串str中出现的次数。例如,若字符串为aaas lkaaas,子字符串为as,则应输出2;判断下面程序的正误,如果错误请改正过来。main ( ) char substr80,str80;int i,j,k,num=0;gets(substr); gets(str);for (i = 0, stri, i+)for (j=i,k=0;substrk=strj;k+,j+)if (substrk+1!=0) num+;break;printf(“num=%d”, num);main ( ) char substr80,str80;int i,j,k,num=0;gets(substr); gets(str);for (i = 0; stri; i+)for (j=i,k=0;substrk= =strj;k+,j+)if (substrk+1= =0) num+;break;if(substrk= =strj)i=j;printf(“num=%d”, num);五程序填空题1.下面程序可求出矩阵a的主对角线上的元素之和,请填(2)空使程序完整。main ( ) int a33=1,3,5,7,9,11,13,15,17 , sum=0, i, j ;for (i=0 ; i3 ; i+)for (j=0 ; j=1;j-)printf(“%d”,numj) ;3.下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数,请填(3)空使程序完整。main ( ) int a10,max,min,i,j,k ;for (i=0; i1

温馨提示

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

评论

0/150

提交评论