




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习六12一、选择题1. 在C语言中,引用数组元素时,其数组下标的数据类型允许是A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式2. 下述对C语言数组的描述正确的是A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间B. 一维数组的元素在引用时其下标大小没有限制C. 任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D. 一维数组的第一个元素是其下标为1的元素3. 下述对C语言数组的描述中正确的是A. 任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量B. 一维数组的元素实质上就是一个变量,代表内存中的一个存储单元C. 如果要引用数组中的每一个元素,则直接使用该数组名称即可D. 以上都不对4. 下列的说法正确的是A. 在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组B. 在C语言中,数组元素的个数可以不确定,允许随机变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数5. 以下对一维整型数组a的正确说明是A. int a(10); B. int n=10,an; C. int n;scanf(%d),&n;int an; D. #define SIZE 10 int aSIZE; 6. 若有语句int a8;则下述对a的描述正确的是A. 定义了一个名称为a的一维整型数组,共有8个元素B. 定义了一个数组a,数组a共有9个元素C. 说明数组a的第8个元素为整型变量D. 以上可选答案都不对7. 以下能对一维数组a进行正确初始化的语句是A. int a10=(0,0,0,0,0); B. int a10= ;C. int a=0; D. int a10=(10*1);8. 对以下说明语句的正确理解是 int a10=6,7,8,9,10;A.将5个初值依次赋给a1至a5 B.将5个初值依次赋给a0至a4C.将5个初值依次赋给a6至a10 D.因为数组长度与初值的个数不相同,所以此语句不正确9. 下列定义正确的是A. int a=1,2,3,4,5 B. int b=2,5C. int a(10) D. int 4e410.在定义int a10;之后,对a的引用正确的是A.a10B.a6.3C.a(6)D.a10-1011. 假设array是一个有十个元素的整型数组,则下列写法中正确的是A. array0=10 B. array=0 C. array10=0 D. array-1=012. 在c语言中,引用数组元素时,其数组下标的数据类型允许是A. 整型常量 B. 整型表达式 C.整型常量或整型表达式 D. 任何类型的表达式13. 以下程序运行后,输出结果是 main () int y=18,i=0,j,a8; do ai=y%2;i+; y=y/2; while(y=1); for(j=i-10;j-)printf(%d,aj); printf(hn); A.1000 B.10010 C.00110 D.1010014. 以下程序的输出结果是 main() int i,k,a10,p3: k=5; for (i=0;i10;i+) ai=i; for (i=0;i3;i+) pi=ai*(i+1); for (i=0;i=0;i-) ai=10-i;printf(%d%d%d,a2,a5,a8);A. 258 B. 741 C. 852 D. 36916. 下面程序的运行结果是 main() int a6,i; for(i=1;i6;i+) ai=9*(i-2+4*(i3)%5; printf(%2d,ai); A. - 4 0 4 0 4 B. - 4 0 4 0 3 C. - 4 0 4 4 3 D. - 4 0 4 4 017. 分析下列程序 main() int n3,i,j,k; for(i=0;i3;i+) ni=0; k=2; for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1; printf(%dn,n1); 上述程序运行后,输出结果是A. 3 B.2 C. 1 D.018. 下面的程序中哪一行有错误?#include main() float array5=0.0; /*第A行*/ int i; for(i=0;i5;i+) scanf(%f,&arrayi); for(i=1;i5;i+) array0=array0+arrayi;/*第B行*/ printf(%fn,array0); /*第C行*/A. 第A行 B. 第B行 B. 第C行 D. 没有19.下面程序(每行程序前面的数字表示行号) 1 main()2 3 int 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行有错误20. 以下正确的定义语句是( )。Aint Aa;Bint A3,4;Cint A3;Dint A10;21. 以下对二维数组a的正确说明是A. int a3; B. float a(3,4); C. double a14; D. float a(3)(4);22. 以下各组选项中,均能正确定义二维实型数组a的选项是B. float a(3,4); float a34; float a=0;0;A. float a34; float a4; float a3=1,0;D. float a34; float a3;C. float a34 float a4=0,0;23. 以下能对二维数组a进行正确初始化的语句是A. int a2=1,0,1,5,2,3; B. int a3=1,2,3,4,5,6;C. int a 24=1,2,3,4,5,6; D. int a3=1,0,1,1,1;24. 以下语句定义正确的是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;25. 若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是A. 2 B. 3 C. 4 D. 无确定值26.若有说明:int a34; 则对a数组元素的正确引用是A. a24 B. a1,3 C. a1+10 D. a(2)(1);27. 若有说明:int a34=0;则下面正确的叙述是A. 只有元素a00可得到初值0 B. 此说明语句不正确C. 数组a中各元素都可得到初值,但其值不一定为0 D. 数组a中每个元素均可得到初值028. 若有说明:int a4=0,0;则下列叙述不正确的是A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维的大小为1C. 因为对二维数组a的第二维大小的值除以初值个数的商为1,故数组a的行数为1D. 只有元素a00和a01可得到初值0,其余元素均得不到初值29. 若二维数组a有m列,则计算任一元素aij在数组中位置的公式为 (假设a00位于数组的第一个位置上。)A. i*m+j B. j*m+I C. i*m+j-1 D. i*m+j+130. 定义如下变量和数组: int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是 for(i=0;i3;i+) printf(%d,xi2-i);A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 931.下面程序的运行结果是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;j6;j十十)printf(%2d,aij);printf(n_);A. 11111 B. 00001 C. 10000 D. 1000111111 00010 01000 0101011111 00100 00100 0010011111 01000 00010 0101011111 10000 00001 1000132. 以下程序的输出结果是main( ) int n33, i, j;for(i=0;i3;i+)for(j=0;j3;j+) nij=i+j;for(i=0;i2;i+)for(j=0;j2;j+)ni+lj+l+=nij;printf(%d n,nij); A.14 B.0 C.6 D.值不确定33.以下不正确的定义语句是 A.double y5=2.0,4.0,6.0,8.0,10.0; B.int y5=0,1,3,5,7,9;C.char c=1,2,7,4,5; D.char c=“abcdf”;34. 合法的数组定义是A. int a=language B. int a5=0,1,2,3,4,5;C. char a=string D. char a=0,1,2,3,4,5;35. 合法的数组定义是A.int a=string; B.int a5=0,1,2,3,4,5;C.char s=string; D.char a=0,1,2,3,4,5;36.下面是对s的初始化,其中不正确的是A. char s5=abc B. char s5=a,b,c;C. char s5= D. char s5=abcdef;37. 下面是对s的初始化,其中不正确的是A.char s5=“abc”; B.char s5=a,b,c;C.char s5=”; D.char s5=”abcdef”;38. 以下对字符数组word进行不正确初始化的是A.char word=Trubo0;B.char word=T,u,r,b,o,0;C.char word=“Turbo0”;D.char word=”Trubo0”;39. 当接受用户输入的含空格的字符串时,应使用( )函数。Ascanf() Bgets()Cgetchar()Dgetc()40. 当输出含空格的字符串时,应使用( )函数。Aprintf() Bputs() Cputchar()Dputc()41. 设有char str10,下列语句正确的是A. scanf(%s,&str); B. printf(%c,str); C. printf(%s,str0); D. printf(%s,str);42. 有两个字符数组a、b,则以下正确的输入格式是A. gets (a,b); B. scanf (%s%s,a,b);C. scanf (%s%s,&a,&b); D. gets (a), gets (b);43. 有字符数组a80和b80,则正确的输出形式是A. puts (a,b); B. printf (%s,%s,a,b);C. putchar(a,b); D. puts (a), puts (b);44. 下面程序的运行结果是char c5= a,b,0,c,0; printf(“%s”,c);A.ab B.abc C.abc+乱码 D.ab0c045. 以下程序运行的结果是char s6;s=abcd; printf(%sn,s); A. abcdB.abcdC.abcd+乱码D.编译出错46. 有下面的程序段 char a3,b=china;a=b;printf(%s,a);则A. 运行后将输出Chm B. 运行后将输出ChC. 运行后将输出Chi D. 编译出错47. 若有以下说明和语句,则输出结果是 char str=c:abc.dat; printf(%s,str);A. 字符串中有非法字符 B. c:abc.datC. c:abc.dat D. c:abc.dat48.下面程序段的运行结果是char c5=a,b,0,c,0;printf(%s,c);A. ab B. ab C. ab c D. ab 49. 有下面的程序段 char a3,b=China; a=b; printf(%s,a); 则A. 运行后将输出China B. 运行后将输出ChC. 运行后将输出Chi D. 编译出错50. 若有定义和语句: char s10:s=abcd;printf(%sn,s);则结果是(以下u代表空格) A.输出abcd B.输出a C.输出abcduuuuu D.编译不通过51. 对两个数组a和b进行如下初始化 char a=ABCDEF; char b=A,B,C,D,E,F; 则以下叙述正确的是A. a与b数组完全相同 B. a与b长度相同C. a和b中都存放字符串 D. a数组比b数组占用内存大52. 给出以下定义: char x =abcdefg; char y =a,b,c,d,e,f,g; 则正确的叙述为A. 数组X和数组Y等价 B. 数组x和数组Y的长度相同C. 数组X的长度大于数组Y的长度 D. 数组X的长度小于数组Y的长度53. 对两个数组a和b进行如下初始化 char a=ABCDEF;char b=A, B, C, D, E, F;则以下叙述正确的是 A. a与b数组完全相同 B. a与b长度相同C. a和b中都存放字符串 D. a数组比b数组长度长54. 若有说明语句char u=”Microsoft”,则数组的大小是 A.100 B.80 C.10 D.955. 若有以下说明和语句,则输出结果是哪一项? (strlen(s)为求字符串s的长度的函数) char s12=a book!; printf(%d,strlen(s);A. 12 B. 8 C. 7 D. 1156. 下列语句的执行结果是 char str10=china; printf(%d,strlen(str);A. 10 B. 6 C. 5 D. 057. 在执行char str10=”China0”; strlen(str)的结果是A5B6C7D958. 在执行char str10=”Chnina0”; strlen(str)的结果是A5B6C7D959. 若有以下程序片段: char str=abn012; printf(%d,strlen(str); 则其输出结果是A. 3 B. 4 C. 6 D. 1260. 若有以下说明和语句,则输出结果是 (strlen(s)为求字符串s的长度的函数) char sp=tv0willn; printf(%d,strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符61. 以下给字符数组str定义和赋值正确的是Achar str10; str=“China”;Bchar str=“China”;Cchar str10; strcpy(str,“abcdefghijklmnop”);Dchar str10=“abcdefghijklmnop”;62. 设有char str110,str210,c1,则下列语句正确的是A. str1=china; str2=str1; B. c1=ab;C. str1=china;str2=people;strcpy(str1,str2); D. c1=a;63. 下面程序段的运行结果是 char a7=abcdef; char b4=ABC; strcpy(a,b); printf(%c,a5);A. B. 0 C. e D. f (其中表示空格)64.下面程序段的运行结果是char a7=abcdef;char b4=ABC;strcpy(a,b);printf (%c,a5);A. d B. 0 C. e D. f 65. 当执行下面的程序时,如果输入ABC,则输出结果是#include stdio.h#include string.hmain() char ss10=1,2,3,4,5;gets(ss); strcat(ss, 6789); printf(%sn,ss);A. ABC6789 B. ABC67 C. 12345ABC6 D. ABC45678966.下面程序的运行结果是 #include#inc1udemain() char a80=AB,b80=LMNP;int i=0;strcat(a,b); whi1e(ai+!=0) bi=ai;puts(b);A. LB B. ABLMNP C. AB D. LBLMNP67. 函数调用strcat(strcpy(str1,str2),str3)的功能是A. 将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C. 将串str2复制到串str1中后再将串str3连接到str1之后D. 将串str2复制到串str1中后再将串str1复制到str3中68. 以下程序输出的结果是 #include#inc1ude main() char w10=ABCD,EFGH,IJKL,MNOP,K; for (k=1;ks2) B. if (strcmp(s1,s2)C. if (strcmp(s2,sl)0) D. if (strcmp(s1,s2)0)71. 下述对C语言字符数组的描述错误的是A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入,输出C. 可以在赋值语句中通过赋值运算符=对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较72. 下列描述中不正确的是A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值73. 若用数组名作为函数调用的实参,传递给形参的是A. 数组的首地址 B. 数组第一个元素的值C. 数组中全部元素的值 D. 数组元素的个数74. 若使用一维数组名作函数实参,则以下正确的说法是A. 在被调函数中,与该实参相对应的形参必须是指针型变量B. 实参数组类型与形参数组类型可以不匹配C. 在被调函数中,不需要考虑形参数组的大小D. 实参数组名与形参数组名必须一致75当调用函数时,实参是一个数组名,则向函数传送的是(A)数组的长度 (B)数组的首地址 (C)数组每一个元素的地址 (D)数组每个元素中的值二、填空题1. 数组名定名规则和变量名相同,遵循_定名规则。2. 对于一维数组的定义类型说明符数组名常量表达式其中常量表达式可以包括_和_,不能包含_。3. 在C语言中,引用数组只能通过_数组元素来实现,而不能通过整体引用_来实现。4. 变量定义时,如果对数组全部元素赋初值,则数组长度_。5. 在C语言中,数组的首地址是_。6.根据以下说明,写出正确的说明语句。 (1)men是一个有10个整型元素的数组。 _ (2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。 _ (3)grid是一个二维数组,共有4行,10列整型元素。 _7. 请回答下列问题。 (1)array是一个一维整型数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。 _ (2)该数组下标的取值范围是从_到_(从小到大)。 (3)如何用scanf函数输入数组的第二个元素。 _ (4)如何用赋值语句把39存入第一个元素。 _ (5)如何表示把第六个和第四个元素之和存入第一个元素。 _8. 写出以下初始化数组的长度。 (1)int chn3; 数组chn的长度为_。 (2)float isa=1.0,2.0,3.0,4.0,5.0; 数组isa的长度为_。 (3)int doom8; 数组doom的长度为_。 (4)float pci42; 数组pci的长度为_。 (5)int ast33; 数组ast的长度为_。 (6)int att34; 数组att的长度为_。 (7)float dell3=1,4,7,2,5,3,6,9; 数组dell的长度为_。9. 若有以下整型的a数组,数组元素和它们得值如下所示: 数组元素: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 元素的值: 9 4 12 8 2 10 7 5 1 3 (1)请写出对该数组的说明,并赋以上初值。 _ (2)该数组的最小下标值为_,最大下标值为_。 (3)写出下面各式的值: aa9的值为_ aa4+a8的值为_10. 下列程序的执行结果是:_10_。 main( ) int i,test,p17,head; for(i=0;i16;i+) pi=i+1; p16=0; test=0; while(test!=ptest) for(i=1;i3;i+) head=test; test=ptest; phead=ptest; test=phead; printf(n%5d,test); 11. 若输入一个整数12,以下程序的运行结果是_。 main() int a,e10,c,i=0; printf(Please input a integer:n); scanf(%d,&a); while(a != 0) c=funct(a,2); a=a/2; ei=c; i+; for(;i0;i-) printf(%d,ei-1); funct(int a,int n) return(a%n); 12.以下程序的执行结果是#include main( ) int a=1,2,3,4, i, j, s=0;j=0;for (i=3; i=0; i-)s=s+ai*j;j=j*10;printf(“s=%dn”, s);13.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main( ) float x1000, sum=0.0, ave, a;int n=0, i;printf(Enter mark:n);scanf(%f,&a);while(a=0.0& n1000) sum+_; xn=_ _;n+; scanf(%f,&a);ave=_;printf(Output:n);printf(ave=%fn, ave);for( i=0;i n;i+ ) if(_) printf(%f n,xi);14.这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、,20个数的和及它们的平均值。请填空。 void main() char array_; int max,min,average,sum; int i; for(i=0;i_;i+) printf(请输入第%d个数:,i+1); scanf(%d,_); max=array0; min=array0; for(i=0;i=_;i+) if(maxarrayi) _ sum=_; average = _; printf(20个数中最大值是%d,max); printf(最小值是%d,min); printf(和是%d,sum); printf(平均值是%d.n,average); 15.程序功能为将十进制数x转换为二进制数,将二进制数放在一个一维数组中,最低位放在下标为0的元素中。main( ) int x,j,a;int k=0,r;do r=x%_; ak+=r; x/=_;while(x);for(j=0;jk;j+)printf(“%d”,bk);16.功能为读入20个整数,统计非负数个数并计算其和。main( ) int I,a20,s,count;s=count=0;for(I=0;I20;I+)scanf(“%d”,_); for(I=0;I20;I+)if(aI0)_; s+=aI;count+;printf(“s=%d,count=%dn”,s,count);17. 对于数组amn来说,使用数组的某个元素时,行下标最大值是_,列下标最大值是_。18.函数min_a()用于求一个34矩阵中最小元素。 min_a(int a4) int i,j,k,min; min=a00; for(i=0;i3;i+) for(j=0;j4;j+) if(_) min=aij;return(min);19.该程序的运行结果是: 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; float min; int m,n; min = array00; m=0;n=0; for(i=0;i3;i+) for(j=0;j arrayij) min = arrayij; m=i;n=j; printf(min=%5.2f,m=%d,n=%dn,min,m,n); 20. 在C语言中,将字符串作为_处理。21. 在C语言中,系统在每一个字符串的结尾自动加一个字符串结束标志符 即_,以便系统据此判断字符串是否结束。22. 下面程序的功能是将字符串s中所有的字符c删除。补足所缺语句。 #include main() char s80; int i,j; gets(s); for(i=j=0;si!=0;i+) if(si!=c)_; sj=0; puts(s); 23. 下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。补足所缺语句。 #include main() char s80,c1,c2= ; int i=0,num=0; gets(s); while(si!=0) c1=si; if(i=0) c2= ; else c2=si-1; if(_) num+; i+; printf(There are %d words.n,num);24.下列程序段的输出结果是main() char b=Hello,you;b5=0;printf(%s n, b ); 25.若有定义语句char c10=”hello”,s=”world”;,则字符数组c的长度为 ,字符数组c的长度为 ,字符串”hello”的长度是 ,字符串“world”的长度为 。26. 字符串”hello,world!”的长度为 ,若有说明语句char s=”hello,world!”,则数组s的大小是 。27. 字符串abn012的长度为_。28. 读懂下面的程序并填空。void main() char str80; int i=0; gets(str); while(stri!=0) if(stri=a&str=z) stri-=32; i+; puts(str); 程序运行时如果输入 upcase, 屏幕显示_ 程序运行时如果输入 Aa1Bb2Cc3, 屏幕显示_29.以下程序执行时输入Language Programming的结果是#include main( )char str30;scanf(“%s”, str);printf(“str=%sn”, str);30.以下程序执行时输入Language Programming的结果是#include main( )char str30;gets(str);printf(“str=%sn”, str);31. 写出下面这个程序的输出结果:void main() char str=ABCDEFGHIJKL; printf(%sn,str); 屏幕上显示_ printf(%sn,&str4); 屏幕上显示_ str2=str5; printf(%sn,str); 屏幕上显示_ str9=0; printf(%sn,str); 屏幕上显示_32.以下程序的执行结果是#include main( )char str=“1a2b3c”;int i;for (i=0; stri!=0; i+)if (stri=0 & stri=9)printf(“%c”, stri);printf(“n”);33.以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 勞動合同樣本下載
- 系统工程试卷及答案
- 2025年审计基础考试题库及答案
- 2025年上半年食品药品监管工作总结
- 2025年山东省潍坊市事业单位工勤技能考试题库及答案
- CN222985095U 一种移动式清洗剂配比装置 (山东格贝森医疗科技有限公司)
- CN120262120A 一种针对涂刷墙安装的插座预埋套件及安装方法 (苏州芒沙科技有限公司)
- 航海导航雷达题库及答案
- 2025年电大数控题库及答案
- CN120104288B 一种半实物仿真资源的调度方法、设备及存储介质 (成都流体动力创新中心)
- 辅警结构化面试题及答案(2025年)
- 抚州辅警考试题库2025(有答案)
- 2025年托管厨师合同协议书
- 2025年医疗器械专业知识培训试题及答案
- 2025至2030中国家用美容仪器行业项目调研及市场前景预测评估报告
- 《我是什么》课件 统编版语文二年级上册
- 黑龙江省突发公共事件总体应急预案
- 医院空气净化标准
- 建筑与市政工程施工现场临时用电安全技术标准(2024版)
- 幼儿园视频宣传工作计划
- 宣传物料采购管理办法
评论
0/150
提交评论