c语言练习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

4.1选择题1.以下关于数组的描述正确的是(c)。A.数组的大小是固定的,但可以有不同的类型的数组元素B.数组的大小是可变的,但所有数组元素的类型必须相同C.数组的大小是固定的,所有数组元素的类型必须相同D.数组的大小是可变的,可以有不同的类型的数组元素2.以下对一维整型数组a的正确说明是(D)。A.inta(10);B.intn=10,a[n];C.intn;D.#defineSIZE10scanf(%d,&n);inta[SIZE];inta[n];3.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)。A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式4.以下对一维数组m进行正确初始化的是(C)。A.intm[10]=(0,0,0,0);B.intm[10]={};C.intm[]={0};D.intm[10]={10*2};5.若有定义:intbb[8];。则以下表达式中不能代表数组元bb[1]的地址的是(c)。A.&bb[0]+1B.&bb[1]C.&bb[0]++D.bb+16.假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(B)。A.3B.6C.10D.207.若有以下说明:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;则数值为4的表达式是(D)A.a[g-c]B.a[4]C.a['d'-'c']D.a['d'-c]8.以下程序段给数组所有的元素输入数据,请选择正确答案填入(A)。#includestdio.hmain(){inta[10],i=0;while(i10)scanf(%d,________);┇}A.a+(i++)B.&a[i+1]C.a+iD.&a[++i]9.执行下面的程序段后,变量k中的值为(A)。intk=3,s[2];s[0]=k;k=s[1]*10;A.不定值B.33C.30D.1010.以下程序的输出结果是(C)main(){inti,a[10];for(i=9;i=0;i--)a[i]=10-i;printf(%d%d%d,a[2],a[5],a[8]);}A.258B.741C.852D.36911.以下程序运行后,输出结果是(D)。main(){intn[5]={0,0,0},i,k=2;for(i=0;ik;i++)n[i]=n[i]+1;printf(%d\n,n[k]);}A.不确定的值B.2C.1D.012.以下程序运行后,输出结果是(B)。main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y=1);for(j=i-1;j=0;j--)printf(%d,a[j]);printf(\n);}A.10000B.10010C.00110D.1010013.以下程序运行后,输出结果是(A)。main(){inta[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k;for(k=0;k4;k++)if(a1[i]a2[j])a[k]=a1[i++];elsea[k]=a2[j++];for(k=0;k4;k++)printf(%d,a[k]);}A.1234B.1324C.2413D.432114.以下程序运行后,输出结果是(B)。main(){inti,k,a[10],p[3];k=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)k+=p[i]*2;printf(%d\n,k);}A.20B.21C.22D.2315.以下程序运行后输出结果是(D)。main(){intn[3],i,j,k;for(i=0;i3;i++)n[i]=0;k=2;for(i=0;ik;i++)for(j=0;jk;j++)n[j]=n[i]+1;printf(%d\n,n[1]);}A.2B.1C.0D.316.下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是(B)。main(){inti,a[10],x,flag=0;for(i=0;i10;i++)scanf(%d,&a[i]);scanf(%d,&x);for(i=0;i10;i++)if_______{flag=i+1;break;}printf(%d\n,flag);}A.x!=a[i]B.!(x-a[i])C.x-a[i]D.!x-a[i]17.若说明:inta[2][3];则对a数组元素的正确引用是(C)。A.a(1,2)B.a[1,3]C.a[12][!1]D.a[2][0]18.若有定义:intb[3][4]={0};则下述正确的是(D)。A.此定义语句不正确B.没有元素可得初值0C.数组b中各元素均为0D.数组b中各元素可得初值但值不一定为019.若有以下数组定义,其中不正确的是(D)。A.inta[2][3];Bintb[][3]={0,1,2,3};C.intc[100][100]={0};D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};20.若有以下的定义:intt[5][4];能正确引用t数组的表达式是(C)。A.t[2][4]B.t[5][0]C.t[0][0]D.t[0,0]21.在定义intm[][3]={1,2,3,4,5,6};后,m[1][0]的值是(C)。A.4B.1C.2D.522.在定义intn[5][6]后第10个元素是(C)。A.n[2][5]B.n[2][4]C.n[1][3]D.n[1][4]23.若二维数组c有m列,则计算任一元素c[i][j]在数组中的位置的公式为(A)。(假设c[0][0]位于数组的第一个位置)A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+124.若有以下定义语句,则表达式“x[1][1]*x[2][2]”的值是(B)。floatx[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};A.0.0B.4.0C.5.0D.6.025.以下程序运行后,输出结果是(A)。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0]);}A.0650B.1470C.5430D.输出值不定26.以下程序运行后,输出结果是(B)。main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i4;i++)s+=aa[i][1];printf(“%d\n”,s);}A.11B.19C.13D.2027.有以下程序main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i3;i++)for(j=0;j=i;j++)s+=a[i][j];printf(%d\n,s);}该程序的输出结果是(A)。A.18B.19C.20D.2128.若定义如下变量和数组:则下面语句的输出结果是(C)。inti;intx[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i3;i++)printf(%d,x[i][2-i]);A.159B.147C.357D.36929.下述对C语言字符数组的描述中错误的是(C)。A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符=对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较30.下述对C语言字符数组的描述中正确的是(C)。A.任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B.一维数组的元素在引用时其下标大小没有限制C.任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D.一维数组的第一个元素是其下标为1的元素31.不能把字符串:Hello!赋给数组b的语句是(B)。A.charstr[10]={'H','e','l','l','o','!'};B.charstr[10];str=Hello!;C.charstr[10];strcpy(str,Hello!);D.charstr[10]=Hello!;32.合法的数组定义是(D)。A.inta[]=string;B.inta[5]={0,1,2,3,4,5};C.ints=string;D.chara[]={0,1,2,3,4,5};33.下列语句中,不正确的是(C)。A.staticchara[2]={1,2};B.staticchara[2]={'1','2'};C.staticchara[2]={'1','2','3'};D.staticchara[2]={'1'};34.若给出以下定义:charx[]=abcdefg;chary[]={'a','b','c','d','e','f','g'};则正确的叙述为(C)。A.数组x和数组y等价B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度35.若有数组定义:chararray[]=China;则数组array所占的空间为(C)。A.4个字节B.5个字节C.6个字节D.7个字节36.若有定义和语句:chars[10];s=abcd;printf(%s\n,s);则结果是(以下└┘代表空格)(D)。A.输出abcdB.输出aC.输出abcd└┘└┘└┘└┘D.编译不通过37.下面程序运行后,输出结果是(C)。main(){charch[7]={65ab21};inti,s=0;for(i=0;ch[i]='0'&&ch[i]='9';i+=2)s=10*s+ch[i]-'0';printf(%d\n,s);}A.12ba56B.6521C.6D.6238.运行下面的程序,如果从键盘上输入:123空格456空格789回车,输出结果是(D)。A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456main(){chars[100];intc,i;scanf(%c,&c);scanf(%d,&i);scanf(%s,s);printf(%c,%d,%s\n,c,i,s);}39.运行下面的程序,如果从键盘上输入:ab回车c回车def回车则输出结果为(C)。A.aB.aC.abD.abcdefbbcccdddef#includestdio.h#defineN6main(){charc[N];inti=0;for(;iN;c[i]=getchar(),i++);for(i=0;iN;i++)putchar(c[i]);printf(\n);}40.运行下面的程序,如果从键盘上输入:ABC时,输出的结果是(D)。#includestring.hmain(){charss[10]=12345;strcat(ss,6789);gets(ss);printf(%s\n,ss);}A.ABCB.ABC9C.123456ABCD.ABC45678941.判断两个字符串是否相等,正确的表达方式是(C)。A.while(s1==s2)B.while(s1=s2)C.while(strcmp(s1,s2)==0)D.while(strcmp(s1,s2)=0)42.以下程序的输出结果是(A)。main(){charstr[12]={'s','t','r','i','n','g'};p

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功