C语言程序设计 - 习题大全(含答案) - C语言-1 下载本文

B) 数组下标从1开始

C) 数组下标的数据类型可以是整型或实型 D) 数组名的规定与变量名相同

若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};D) int a[N];

在定义一个一维数组时,不能用来表示数组长度的是( ). A)常量 B)符号常量 C)常量表达式 D) 已被赋值的变量

若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在指出以下错误语句( ). A) scanf(\B) scanf(\C) printf(\D) printf(\

若定义数组int a[10] ,其最后一个数组元素为( ). A) a[0] B) a[1] C) a[9] D) a[10]

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( )A) a[8] 的值为0 B) a[1] 的值为1 C) a[3] 的值为4 D) a[9] 的值为0 指出以下错误语句( ). A) int n=10,a[n]; B) int n,a[10]; C) int a[10]={1,2,3};

D) int a[10]={1,2,3,4,5,6,7,8,9,10}; 请读程序: main()

{int n[2],i,j,k;

for(i=0;i<2;i++) n[i]=0; k=2;

for(i=0;i

for(j=0;j

上面程序的输出结果是( ).

A)不确定的值 B)3 C)2 D)1 若有以下的定义和语句:

int str[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='e',

则数值为2的表达式是( ).

A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c] 设有数组定义:int a[5];则下列给数组元素赋值错误的是( ). A) a[3]=93;

B) scanf(\C) a[3]=getchar(); D) a[3]='a'+3;

以下数组定义中错误的是( ). A) #define N 30 int a[N+30]; B) #define N 30 int a[N]; C) int a[30];

内存中所占的字节数是( ). A)12 B)20 C)40 D)80

设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( ).

A) 6 B) 5 C) 7 D) 1

设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( ).

A) 2 B) 4 C) 6 D) 8 设有:int a[4][5]; 则数组a占用的内存字节数是( ). A) 12 B) 24 C) 40 D) 20 ? 以下数组定义中,不正确的是( ). A) int b[3][4];

B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}}; C) int b[200][100]={0}; D) int c[ ][3]={{1,2,3},{4,5,6}};

定义数组:int x[2][3]; 则数组x 的维数是( ). A) 1 B) 2 C) 3 D) 6

若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( )?

A) 表达式b[1][2]的值为1 B) 表达式b[1][2]的值为4 C) 表达式b[1][2]的值为6 D) 表达式b[1][2]的值为2

若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++) for(j=0;j<3;j++)

printf(\语句的结果是哪一个( )? A) 1,2,3,4,5,6 B) 1 2 3 4 5 6 C) 123456

若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( )?

A) a数组中有6个元素

B) a[2][3]是a数组的最后一个元素的引用 C) a数组中每个元素都为整数 D) a数组是整型数组 定义如下变量和数组: int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( ).

for(i=0;i<3;i++) printf(\A) 1 5 9 B) 1 4 7

C) 3 5 7 D) 3 6 9

如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是( ).

A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2] 以下程序的输出结果是( ). 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(\}

A) 18 B) 19 C) 20 D) 21

若已有char b[10][50];则该二维字符数组在内存所占字节数为( ). A) 10 B)50 C)60 D)500

A)int a[2][3]; B)int b[][3]={0,1,2,3};

C)int c[5][5]={0}; D)int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}}; 设有:char a[10]; 下列语句那个是正确的( )? A) scanf(\ B) scanf(\

C) printf(\

D) printf(\阅读程序: main() { char a[10]; int i;

for(i=1;i<=5;i++)

scanf(\

printf(\}

设从键盘输入字符串:abcde,则程序的输出结果是( ). A) a B)空格

C)不确定

D)0

设有:char a[4][5]; 则数组a占用的内存字节数是( ). A) 12 B) 24 C) 40 D) 20 合法的数组定义是( ). A) int a[ ] = \B) int a[5]={0,1,2,3,4,5}; C) char a= \

D) char a[ ]={'0','1','2','3'};

设有数组定义:char string[ ]=\;则数组string所占的空间为( ). A) 5个字节 B) 6个字节 C) 7个字节 D) 10个字节

定义字符数组c:char c[ ]={\;数组c在内存中所占字节数是( ).

A) 9 B) 10 C) 11 D) 12 指出以下错误语句( ).

A) char a[10]={'0','1','2','3','4','5','6','7','8','9'}; B) char a[10]={'0','1 ','2','3'}; C) char a[2]= {\D) char a[2]= {'a’,'b’};

若定义数组并初始化char a[10]={\该数组的元素个数是( ). A) 10 B) 5 C) 6 D) 7

若定义数组并初始化char a[10]={\该数组的元素中 a[2]是( ).

A) 'L' B) 'E' C) 'H' D) 'O'

若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( )? A)b[8]的值为0 B)b[1]的值为1 C)b[3]的值为整数

D)b[10]不是b数组中的元素

若定义数组int a[10];指出下列错误语句:

A) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10]; B) a数组是整型数组,其元素自动初始化为0; C) a数组最后一个元素的引用方法是a[10]; D) a数组第一个元素的引用方法是a[1];

数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。 数组是C语言的一种构造数据类型,其元素的类型可以是整型、实型、字符型甚至结构类型。

设需定义一个有15个元素的数组a,并对其前5个元素赋初值,可用如下语句实现:int a[]={1,2,3,4,5};

数组定义时,只允许使用常量表达式定义数组的大小,其值必须是正整数,而不能用变量来定义数组长度。

C语言数组的下标从0开始,下标必须是整数型的常量或变量。

数组是数目固定、类型相同的若干变量的有序集合。数组中的每一个数(变量)称为数组元素,数组中的所有元素都属于同一种数据类型。 数组元素下标的下界是固定的,总是为0。

一维数组在引用时下标的范围是:0 <= 下标 < 数组的长度 。

若有数组定义为:int a[100];则该数组的下界为0,上界为100。数组元素下标范围是: 下界 <= 下标 < 上界。

设已定义:double a[5][5]; 则数组a在内存中的存放顺序是:a[0][0],a[0][1],a[0][2], ... ,a[4][3],a[4][4] 。

C语言(数组)二

设已定义:float a[15]; 则数组a可引用的元素有( ). A) a[1]~a[15] B) a[0]~a[15] C) a[1]~a[14]

D) a[0]~a[14] 以下程序段给数组所有元素输入数据: main()

{ int a[10],i=0;

while(i<10) scanf(\ ... ... }

应在园括号中填入的是: A) a+(i++) B) &a[i+1] C) a+i

D) &a[++i]

若有以下定义:double w[100]; 则数组w的元素下标范围是( ). A) [0,100] B) [0,99]

C) [1,100]

D) [1,99]

若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10}; char c='a'; 则数值为4的表达式是( ). A) a['f'-c] B) a[4] C) a['d'-'c']

D) a['d'-c]

已知int类型变量在内存中占用2个字节,定义数组int b[8]={2,3,4};则数组b在内存中所占字节数为( ). A) 3 B) 6 C) 8 D) 16

用数组名作为函数调用时的实参,实际上传送给形参的是( ). A) 数组首地址 B) 数组的第一个元素值 C) 数组中全部元素的值 D) 数组元素的个数 若定义数组int a[10] ,其数组元素的下标下限为( ). A) 1

B) 0 C) 9 D) 10

若定义数组int a[10],以下语句哪一个不成立( )? A) a 数组在内存中占有一连续的存储区 B) a代表a数组在内存中占有的存储区的首地址 C) *(a+1)与a[1]代表的数组元素相同 D) a是一个变量

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个成立( )? A) 若引用a[10],编译时报错 B) 若引用a[10],连接时报错 C) 若引用a[10],运行时出错 D) 若引用a[10],系统不报错

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( )? A) a[10]是a数组的最后一个元素的引用 B) a数组中有10个元素 C) a数组中每个元素都为整数 D) a数组是整型数组

执行下面的程序段后,变量k中的值为( ). int k=3,s[2]; s[0]=k;k=s[1]*10;

A)不定值 B)33 C)30 D)10

如已有定义:int a[4];若要把10,20,30,40分别赋值给数组a的4个元素,下面正确的赋值方式是( ).

A)scanf(\B)scanf(\C)a={10,20,30,40};

D)a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10; 下列数组定义正确的是( ). A) int a[];

B) char a[100]={68,69,70}; C) int n=100,a[n]; D) char n=4,a[n]={\

一维数组初始化时,若对部分数组元素赋初值,则下面正确的说法是( ). A)可以只对数组的前几个元素赋初值

B)可以只对数组的中间几个元素赋初值 C)可以只对数组的后几个元素赋初值 D)以上说法全部正确

决定数组所占内存单元多少的是( ).

A)数组的长度 B)数组的类型 C)数组在初始化时被赋值的元素的个数 D) 数组元素的个数及其类型 以下程序的输出结果是( ). main( ) {int i , a[10]};

for (i=9;i>=0;i--) a[i]=10-i; printf(\}

A)258 B)741 C)852 D)369 设有程序段: #define N 3 #define M N+2 float a[M][N];

则数组a的元素个数和最后一个元素分别为( ). A) 15,a[5][3]

B) 15,a[3][5]

C) 8,a[4][2]

D) 15,a[4][2]

设有:int x[2][4]={1,2,3,4,5,6,7,8};printf(\则输出结果是( ).

A) 8 B) 1 C) 随机数 D) 语法检查出错 以下程序的输出结果是( ). main()

{ int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 }; for(i=0;i<3;i++) printf(\}

A) 1,5,9 B) 1,4,7 C) 3,5,7 D) 3,6,9 以下数组定义中正确的是( ). A) float f[3,4]; B) int a[ ][4]; C) char c(3); D) double d[3+2][4]; 指出以下错误语句( ).

A) int a[2][3]= {{1,2,3},{4,5,6}}; B) int b[2][3]= {1,2,3,4,5,6}; C) int a[][]={{1,2,3},{4,5,6}}; D) int a[][3]= {{1,2,3},{4,5,6}};

若定义数组并初始化int b[][3]={{1,2,3},{4,5,6}};以下语句哪一个成立( )?

A) b[1][2]的值为1 B) b[1][2]的值为4 C) b[1][2]的值为6 D) b[1][2]的值为2

若定义数组并初始化int b[][3]={{1,2,3},{4,5,6}};以下语句哪一个成立( )?

A) b[1][2]的值为1 B) b[1][2]的值为4 C) b[1][2]的值为6 D) b[1][2]的值为2

若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6}; 以下语句哪一个不成立( )? A) a和b数组中各有6个元素

B) b数组的初始化是错误的

C) a数组与b数组中每个对应元素相等 D) a、b数组都是整型数组 合法的数组初始化是( ). A) int x[][]={{1,2,3},{4,5,6}}; B) int x[][3]={1,2,3,4,5};

C) int x[3][3]={1,2,3;4,5,6;7,8,9}; D) int x[3][3]={1,2,3};

在对二维数组初始化时,错误的说法是( ). A)可对二维数组的全部元素赋初值 B)可对二维数组的部分元素赋初值

C)给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略

D)给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略

以下程序的输出结果是( ). main()

{int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf(\}

A)0650 B) 1470 C) 5430 D)输出值不确定 在内存中,二维数组存放的顺序是( ).

A)按行顺序 B)按列顺序 C)按元素的大小 D)按元素被赋值的先后顺序 设定义了:char a[10]={'1','2','3','4','5'}; 则a[5]的正确初值是( ). A) '5'

B) 5 C) '\\0'

D) ' '

设有:char a[10]; 下列语句那个是正确的( )? A) scanf(\ B) scanf(\ C) printf(\

D) printf(\

设有定义:char a[][5]={{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}};

则a[0][0]和a[4][4]的初值分别为( ). A) *,*

B) 空格,空格

C) 空白符,*

D) *,空白符

设有:char a[]={\则a在内存中占用的字节数是( ). A) 15 B) 12 C) 16 D) 32

给出以下定义:char u[ ]=\则下列正确的描述为( ).

A) 数组u和数组v等价 B) 数组u和数组v的长度相等 C) 数组u的长度大于数组v的长度 D) 数组u的长度小于数组v的长度

若有以下定义和语句,则输出结果是( ). char string[ ]=\printf(\

A) Su B) Sun C) Sunn D) Sunny C语言中实现字符串输入的库函数是( ). A) gets(字符数组) B) puts(字符数组)

C) strlen (字符串) D) strcmp(字符串1,字符串2)

若定义数组并初始化char a[]={\该数组的元素个数是( ). A) 不知道 B) 5 C) 6 D) 7

若定义数组并初始化char a[10]={\该数组的元素中’\\0’的个数是( ). A) 10 B) 5 C) 6

若定义数组并初始化char a[10]={\该数组的元素中 a[5]是( ). A) 'h' B) 'o' C) '\\0' D) 'l'

若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下错误语句( ):

A)可以用scanf(\语句对a[0]元素重新赋值。 B)可以用scanf(\语句对a数组重新赋值。 C)可以用scanf(\语句对a[3]元素重新赋值。 D)可以用scanf(\语句对a数组重新赋值。 数组初始化时,下面说法错误的是( ).

A)当对一维数组的全部元素赋初值时,可以不指定长度 B)当对二维数组的全部元素赋初值时,可以省略维数 C)用字符串对一维字符数组赋值时,可以不指定长度 D)用字符串对二维字符数组赋值时,可以省略维数

可以用如下的语句定义数组a:int n=10,a[n]; 设已定义:int a[15]={1,2,3,4,5}; 则语句 printf(\的输出结果是5。

数组中的所有元素必须属于同一种数据类型。 数组名表示的是该数组元素在内存中的首地址。 C语言只能单个引用数组元素而不能一次引用整个数组。

定义数组:int a[10]; 则数组a的最后一个元素是a[9],数组 a共有9个元素。

C语言中数组元素用数组名后带圆括弧的下标表示。 C语言中数组所占存储单元的多少仅由数组的长度决定。

定义一维数组int a[10];则语句for(i=0;i<10;i++) scanf(\;是正确的。

给二维数组的全部元素赋初值,可以用如下的语句实现:int a[][]={{1,2,3},{4,5,6},{7,8,9}};

C语言(函数,变量作用范围)一 C语言程序的基本单位是( ).

A) 程序 B) 语句 C) 字符 D) 函数 下列函数定义不正确的是 ( )。

A)int max() B)int max(x,y) { int x,y,z; int x,y; z=x>y?x:y; {int z; } z=x>y?x:y; C) int max(x,y) return(z); { int x,y,z; }