




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 7 章 数组习题A 卷 1. 单项选择题(1) int a4=5,3,8,9;其中 a3的值为(D )。D A. 5 B. 3 C. 8 D. 9(2)以下4个字符串函数中,(A)所在的头文件与其他3个不同。AA. gets B. strcpy C. strlen D. strcmp(3) 以下 4 个数组定义中, ( D) 是错误的。 DA. int a7; B. #define N 5 long bN;C. char c5; D. int n,dn;(4) 对字符数组进行初始化,(B )形式是错误。A. char c1 ='1', '2', '3
2、' B. char c2 =123; C. char c3 = '1', '2', '3', '0' D. char c4 ="123"(5) 在数组中,数组名表示(A )。A.数组第1个元素的首地址 B.数组第2个元素的首地址C.数组所有元素的首地址D.数组最后1个元素的首地址(6) 若有以下数组说明,则数值最小的和最大的元素下标分别是(B )Bint a12 =1,2,3,4,5,6,7,8,9,10,11,12;A. 1,12 B. 0,11 C. 1,11 D. 0,12(7) 若有以下说明,则
3、数值为 4 的表达式是(D ) 。int a12 =1,2,3,4,5,6,7,8,9,10,11,12;char c= a , d, g ;A. ag-c B. a4 C. a'd'-'c' D. a'd'-c(8) 设有定义 : char s12 = "string" ;则 printf( "%dn",strlen(s); 的输出是 ( A)。A. 6 B. 7 C. 11 D. 12(9) 设有定义: char s12 = "string"则 printf("%dn &q
4、uot;, sizeof(s); 的输出是 ( B)。A. 6 B. 7 C. 11 D. 12(10) 合法的数组定义是( A) 。A. char a = "string " ; B. int a5 =0,1,2,3,4,5;C. char a= "string " ; D. char a =0,1,2,3,4,5(11) 合法的数组定义是(D ) 。A. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4;C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5;(12) 下列
5、定义的字符数组中,输出 printf("%sn", str2) ; 的输出是 (C )。static str320 = "basic", "foxpro", "windows"A. basic B. foxpro C. windows D. 输出语句出错(14) 下列各语句定义了数组,其中哪一个是不正确的 ( C)。A. char a310="China","American","Asia" B. int x22=1,2,3,4; C. float x2
6、=1,2,4,6,8,10; D. int m3=1,2,3,4,5,6;(15)数组定义为int a32=1,2,3,4,5,6,值为6的数组元素是(B )。A. a32 B. a21 C. a12 D. a23(16) 下 面的程序中哪一行有错误(A )。#include main() float array5=0.0; / 第 A 行int i; for(i=0;i<5;i+) scanf("%f",&arrayi);for(i=1;i<5;i+) array0=array0+arrayi;/ 第 B 行printf("%fn"
7、,array0); 第 C行A. 第 A 行 B. 第 B 行 C. 第 C 行 D. 没有(17) 下面哪一项是不正确的字符串赋值或赋初值的方式 (A )A. char *str; str="string"B. char str7='s','t','r','i','n','g'C. char str110;str1="string"D. char str1="string",str2="12345678"(18) 若有
8、以下说明和语句,则输出结果是哪一项 (D ) 。(strlen(s为求字符串s的长度的函数)char s12="a book!" printf("%d",strlen(s);A. 12 B. 8 C. 7 D. 11(19) 若有以下说明和语句,则输出结果是(C )。(strlen(s为求字符串s的长度的函数)char sp="tv0willn" printf("%d",strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符(20) 若有以下说 明和语句,则输出结果是 ( C)。char s
9、tr=""c:abc.dat"" printf("%s",str);A. 字符串中有非法字符B. "c:abc.dat"C. "c:abc.dat" D. "c:abc.dat"2. 填空题1 1) C 语言中,数组的各元素必须具有相同的(类型名),元素的下标下限为(0),下标必须是正整数、 0、或者(变量)。但在程序执行过程中,不检查元素下标是否()。2 2) C 语言中,数组在内存中占一片()的存储区,由()代表它的首地址。数组名是一个()常量,不能对它进行赋值运算。3
10、3) 执行 static int b5, a 3 =1,2,3,4,5,6;后,b4 = () , a12=()。(4)设有定义语句 static int a34 =1,2,3; 则 a10f直为(),a11值为(), a21的值为()。(5)如定义语句为 char a = "windows",b = "95",语句 printf("%s",strcat(a,b)的输出结果为。(6)根据以下说明,写出正确的说明语句:men是一个有10个整型元素的数组。step是 一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20
11、.6 grid是一个二维数组,共有4 行,10列整型元素。int grid410;arra混一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-4确的说明语句为: 。该数组下标的取值范围是从_到(从小到大)。用scanf函数输入数组的第二个元素表示为 。用赋值语句把39存入第一个元素表示为:。把第 六个和第四个元素之和存入第一个元素表示为: 。(8)写出以下初始化数组的长度:int chn3;数组chn的长度为。float isa尸1.0,2.0,3.0,4.0,5.0;数组 isa的长度为。 int doom8;数组oom 的长度为。 float pci42; pci
12、 数超度为。 int ast33;ast翻疆度为一。 int att34;数组 att 的长度为。 float dell3=1,4,7,2,5,3,6,9; dell 的长度为数组(9)若有以下整型的a数组,数组元素和它们得值如下所示:数组元素:a0 a1 a2 a3a4 a5 a6 a7 a8 a9元素的值:9 4 12 8 2 10 7 5 1 3请写出对该数组的说明,弓上初值。该数组的最小下标值为 最大下标值为。写出下面各式的值:aa9 的值为 ;aa4+a8附值为 。(10)字符串"ab'n012/"的长度为 。4 .判断题()(1) C允许对数组的大小作动
13、态定义,即可用变量定义数组的大小。()(2)字符数组不要求它的最后一个字符为'0',甚至可以不包含0'。()(3)数组定义int a10;也可以写成int a(10);。()(4)在对全部数组元素赋初值时,可以不指定数组长度。()(5)定义s为5X 6(5行6歹U)的数组可写成float a5,6;()(6)数组定义int a10;表示数组名为a,此数组有10个元素。()(7)数组定义int a10;表示数组名为a,此数组有10个元素,第10个元素为a101(8) static char c=扑ooktidc char c=()(9) static char c=
14、9;a' ,' ','b','o','o','k','0'与 static char c='a' ,' ' ,'b','o','o','k');等价。()(10)设已有说明:static char c110,c210下面程序片段是合法的。c1= “book” ;c2=c1;5 .程序填空题 输入20个数,输出它们的平均值,输出与平均值之差的绝对值为最小的数组元素 请填空。#include void
15、 main() float a20,pjz=0,s,t;int i,k; for(i=0;i<20;i+) pjz+=ai; s=fabs(a0-pjz);for(i=1;i<20;i+)if(fabs(ai-pjz)<s)s=fabs(ai-pjz);t=ai; (2)以下程序以每行10个数据的形式输出a数组,请填空。void main() int a50,i; printf("输入 50 个整数:");for(i=0; i<50; i+) scanf( "%d", );for(i=1; i<=50; i+) if() p
16、rintf( "%3d'n" , );printf( "%3d”,ai-1); (3)下面程序的功能是输出数组s中最大元素的下标,请填空。void main() int k, p;int s尸1,-9,72-10,3;for(p=0,k=p; p<6; p+)if(sp>sk) ;printf("%dn" ,k); (4)这个程序输入了 20个数存放在一个数组中,并且输出其中最大者与最小者、20个数 的和及它们的平均值。请填空。void main() char array ; int max,min,average,sum;
17、 int i;for(i=0;i< ;i+) printf("请输入第%d个数二i+1);scanf("%d", ); max=array0; min=array0;for(i=0;i<= ;i+) if(max<arrayi)if(min>arrayi)sum= ; average = ;printf("20个数中最大值是%d,",max);printf("最小值是 %d,",min);printf("和是 d,",sum);printf("平均值是 d.n"
18、,average); 6 .阅读程序,分析程序的功能。(1) #include #includevoid main() char s80; int i ;for(i=0; i<80; i+) si=getchar( ); if(si='n') break; si='0' i=0;while(si) putchar(si+);putchar(n° ); 从键盘输入一个字符串,并逐一输出 #include #includevoid main() char str1080, c80; int i;for(i=0; i<10; i+) gets(s
19、tri);strcpy(c, str0);for(i=1; i<10; i+) if(strlen(c) <strlen(stri) strcpy(c,stri);printf( "%sn", c);printf( "%dn", strlen (c); 从键盘输入若干字符串 ,找到其中最长的一个输出及它的长度(3) void main( ) char a1080, c80;int i, j, k;for(i=0; i<10; i+) gets(ai);for(i=0; i<9; i+) k=i ; for(j=i+1; j<
20、10; j+)if(strcmp (aj, ak)<0) k=j;if(k!=i ) strcpy(c,ai) ;strcpy(ai, ak);strcpy(ak,c); / 字符串交换for(i=0; i<10; i+) puts (ai); 从(4) 阅读程序,写出运行结果Void main() int a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i<6;i+) for(j=0;j<6;j+) if(ai=bj)break;if(j<6) printf("%d ",ai); pri
21、ntf("n"); (5) 阅读程序,写出运行结果。void main( ) char a8,temp; int j,k;for(j=0;j<7;j+) aj='a'+j;a7='0'for(j=0;j<3;j+) temp=a6;for(k=6;k>0;k-) ak=ak-1;a0=temp; printf("%sn",a); g(6) 阅读下列程序,写出程序运行的输出结果。void main( ) char str1 ="*"for(int i=0;i<4;i+) print
22、f("%sn",str1);str1i=' 'str1strlen(str1)-1='0' (7) 该程序的运行结果是: min= ,m= ,n= 。void main() float array43= 3.4,-5.6,56.7, 56.8,999.,-.0123, 0.45,-5.77,123.5, 43.4,0,111.2 ;int i,j; int min;int m,n;min = array00; m=0;n=0;for(i=0;i<3;i+)for(j=0;j<4;j+)if(min > arrayij) mi
23、n = arrayij; m=i;n=j; printf("min=%d,m=%d,n=%dn",min,m,n);(8)写出下面这个程序的输出结果:void main() char str="ABCDEFGHIJKL"printf("%s'n",str);屏幕上显示printf("%sn",&str4);屏幕上显示str2=str5; printf("%s'n",str);屏幕上显示str9=''0' printf("%s'n&
24、quot;,str);屏幕上显示(9)读懂下面的程序并填空。void main() char str80; int i=0; gets(str);while(stri!=0) if(stri>='a'&<='z') stri-=32; i+; puts(str); 程序运行时如果输入 upcase,屏幕显示程序运行时如果输入 Aa1Bb2Cc3,(10)以下程序的功能是输出如下形式的二项式系数表(杨辉三角) 。要求表的行数在运行时输入,若行数小于1或大于10则重新输入。填空11 112113311464 11510101ooooooooooo
25、oooooomain () int a1010=0,ij,n;while(scanf("%d”,&n),n<1|n>10);for(i=0;i<n;i+) for(i=2;i<n;i+)for(j=1;j<i;j+);for(i=0;i<n;i+) for(j=0;j<i;j+)printf("%4d",aij);(11)以下程序的功能是输入一个字符串,如果字符串中有连续的空格,只保留一个空格 符。如:输入:'I ama boy.',输出字符串应为I am a boy:填空#include &quo
26、t;string.h" main () char b61;int i;gets(b);for(i=0;i+)if(bi-1=''&&bi='') (b+i-1,b+i);i-; ;getch();(12)下列程序的输出结果是 -main ()int m=1,2,3,4,5,6,7,8,9,i,j,k;for(i=0;i<4;i+)k=mi;mi=m8-i;m8-i=k; for(j=0;j<9;j+)printf("%d",mj);putchar('n');本部分参考答案:1 .选择题1-5 D A D B A6-10 B D A D A11-15 D C C B16-20 D C C B C2 .填空题( 1)数据类型,0,符号常量,越界( 2)连续,数组名,地址(3) 0,6(4) 2,0,0 (5) Windows95(6) int me
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖泊保护线管理办法
- 风险事项管理办法
- 产品规划组管理办法
- 人员进出场管理办法
- 防止串货管理办法
- 私家车运输管理办法
- 队长助理管理办法
- 深圳排水户管理办法
- 高铁施工管理办法
- 玉米烘干厂管理办法
- 2023年第七届全国急救中心急救技能大赛理论考试题库-下(多选题汇总)
- 申购物资审批表
- 校服采购投标方案
- 2023上海市安全员C证考试(专职安全员)题库及答案
- dd5e人物卡可填充格式角色卡夜版
- 浙教版科学七年级上册全册教案
- 生产管理制度文本普通货运
- 统编版必修上第六单元学习任务群教学设计(说课稿)
- 数字媒体艺术概论
- GB/T 41021-2021法庭科学DNA鉴定文书内容及格式
- 山西省大同市各县区乡镇行政村村庄村名居民村民委员会明细
评论
0/150
提交评论