第四部分数组4.1 选择题1、以下关于数组得描述正确得就是(c )。
A、数组得大小就是固定得,但可以有不同得类型得数组元素B、数组得大小就是可变得,但所有数组元素得类型必须相同C、数组得大小就是固定得,所有数组元素得类型必须相同D、数组得大小就是可变得,可以有不同得类型得数组元素2、以下对一维整型数组a得正确说明就是(d )。
A、int a(10);B、 int n=10,a[n];C、int n;D、 #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];3、在C语言中,引用数组元素时,其数组下标得数据类型允许就是(c )。
A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型得表达式4、以下对一维数组m进行正确初始化得就是(c )。
A、 int m[10]=(0,0,0,0) ;B、 int m[10]={ };C、 int m[ ]={0};D、 int m[10]={10*2};5、若有定义:int bb[ 8];。
则以下表达式中不能代表数组元bb[1]得地址得就是(c )。
A、 &bb[0]+1B、 &bb[1]C、 &bb[0]++D、 bb+16、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数就是(d )。
A、 3B、 6C、 10D、 207、若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4得表达式就是(d )A、 a[g-c]B、 a[4]C、 a['d'-'c']D、 a['d'-c]8、以下程序段给数组所有得元素输入数据,请选择正确答案填入(a )。
#include<stdio、h>main(){int a[10],i=0;while(i<10) scanf("%d",________ );┇}A、 a+(i++)B、 &a[i+1]C、 a+iD、 &a[++i]9、执行下面得程序段后,变量k中得值为(a )。
int k=3, s[2];s[0]=k; k=s[1]*10;A、不定值B、 33C、 30D、 1010、以下程序得输出结果就是(c )main(){int i, 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(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}A、不确定得值B、 2C、 1D、 012、以下程序运行后,输出结果就是(b )。
main(){int y=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(){int a[10], a1[ ]={1,3,6,9,10}, a2[ ]={2,4,7,8,15},i=0,j=0,k;for(k=0;k<4;k++)if(a1[i]<a2[j]) a[k]=a1[i++];else a[k]=a2[j++];for(k=0;k<4;k++) printf("%d",a[k]);}A、 1234B、 1324C、 2413D、 432114、以下程序运行后,输出结果就是(b )。
main(){int i,k,a[10],p[3];k=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);}A、 20B、 21C、 22D、 2315、以下程序运行后输出结果就是(d )。
main( ){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for (i=0;i<k;i++)for (j=0;j<k;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(){int i,a[10],x,flag=0;for(i=0;i<10;i++)scanf("%d",&a[i]);scanf("%d",&x);for(i=0;i<10;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、若说明:int a[2][3]; 则对a数组元素得正确引用就是(c ) 。
A、 a(1,2)B、 a[1,3]C、 a[1>2][!1]D、 a[2][0]18、若有定义:int b[3][4]={0};则下述正确得就是(b ) 。
A、此定义语句不正确B、没有元素可得初值0C、数组b中各元素均为0D、数组b中各元素可得初值但值不一定为019、若有以下数组定义,其中不正确得就是(d ) 。
A、 int a[2][3];B int b[][3]={0,1,2,3};C、 int c[100][100]={0};D、 int d[3][]={{1,2},{1,2,3},{1,2,3,4}};20、若有以下得定义:int t[5][4];能正确引用t数组得表达式就是(c )。
A、 t[2][4]B、 t[5][0]C、 t[0][0]D、 t[0,0]21、在定义int m[ ][3]={1,2,3,4,5,6};后,m[1][0]得值就是(a )。
A、 4B、 1C、 2D、 522、在定义int n[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]在数组中得位置得公式为(d )。
(假设c[0][0]位于数组得第一个位置)A、 i*m+jB、 j*m+iC、 i*m+j-1D、 i*m+j+124、若有以下定义语句,则表达式“x[1][1]*x[2][2]”得值就是(a )。
float x[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(){int a[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(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i<4;i++) s+=aa[i][1];printf(“%d\n”,s);}A、 11B、 19C、 13D、 2027、有以下程序main( ){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf("%d\n",s);}该程序得输出结果就是(a )。
A、 18B、 19C、 20D、 2128、若定义如下变量与数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句得输出结果就是(c )。
for(i=0;i<3;i++) printf("%d",x[i][2-i]);A、 1 5 9B、 1 4 7C、 3 5 7D、 3 6 929、下述对C语言字符数组得描述中错误得就是(c )。
A、字符数组可以存放字符串B、字符数组中得字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D、不可以用关系运算符对字符数组中得字符串进行比较30、下述对C语言字符数组得描述中正确得就是 (a )。
A、任何一维数组得名称都就是该数组存储单元得开始地址,且其每个元素按照顺序连续占存储空间B、一维数组得元素在引用时其下标大小没有限制C、任何一个一维数组得元素,可以根据内存得情况按照其先后顺序以连续或非连续得方式占用存储空间D、一维数组得第一个元素就是其下标为1得元素31、不能把字符串:Hello!赋给数组b得语句就是(b )。
A、 char str[10]= {'H', 'e', 'l', 'l', 'o', '! '};B、 char str[10];str="Hello!";C、 char str[10];strcpy(str,"Hello!");D、 char str[10]="Hello!";32、合法得数组定义就是(d )。
A、 int a[]="string";B、 int a[5]={0,1,2,3,4,5};C、 int s="string";D、 char a[]={0,1,2,3,4,5};33、下列语句中,不正确得就是(c )。