C语言程序设计试题(2)1 下载本文

{ int a[][3]={1,2,3,4,5,6}; printf(\} A.3 B.4 C.5 D.6

53. 下面程序的运行结果是:( D )。

main() { char s1[20]=\ char s2[15]=\ printf(\} A.20 B.15 C.5 D.2

54. 下面程序的运行结果是:( B )。

main() { char s1[20]=\ int i=0; while(s1[i++]!='\\0') printf(\}

A.ABCDEF B.BDF C.ABCDE D.BCDE

55. 下面程序的运行结果是:( A )。

main() { int n[2]={0},i,j,k=2; for(i=0;i

A.不确定的值 B.3 C.2 D.1

56. 下面程序的运行结果是:( C )。

main() { int x[]={22,33,44,55,66,77,88}; int k,y=0; for (k=1;k<=4;k++) if (x[k]%2==1) y++; printf(\}

A.0 B.1 C.2 D.3

57. 下面程序的运行结果是:( A )。

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

A.14 B.19 C.20 D.21

58. 下面程序的运行结果是:( A )。

main() { char ch[7]= {\ int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf(\}

A.1 B.1256 C.12ab56 D.l2

59. 下面程序的运行结果是:( C )。

main() { char s[]=\ int i; i=0; while(s[i]!='\\0') {

if(s[i]>='a'&&s[i]<='z') printf(\ i++; } }

A.ab B.ab1c2d4e C.abcde D.a

60. 下面程序的运行结果是:( D )。

main() { int i=0,n=0; char s[10]=\ for(i=0;s[i]!='\\0';i++) if(s[i]<='9'&&s[i]>='0') n=n*10+(s[i]-'0'); else break; printf(\ }

A.298h01 B.29801 C.01 D.298

二、判断题:

1. 2. 3. 4. 5.

( F )在程序中可以对数值数组中的数据进行整体使用。

( T )如果strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2。 ( F )字符数组的输出不能一次性的整体输出。 ( T )用scanf函数输入的字符串不可以带空格。 ( T )用gets函数输入的字符串可以带空格。

6. ( F )实现两个字符串的复制可以使用str1=str2;语句。 7. ( T )使用strcpy函数可以实现两个字符串的复制。 8. ( T )使用strcat函数可以实现两个字符串的连接。

9. ( F )使用strlen函数可以求出一个字符串的实际长度(包含‘\\0’字符)。 10. ( F )如有定义char a[]=”student”;则数组a的长度为7。

11. ( F )如有定义char a[20];则可以通过a=“I am a boy”;给a赋值。 12. ( T )如有定义int a[2][3];则数组a的最后一个元素为a[1][2]。 13. ( T )如有定义int a[3][4]={0}; 则数组a的所有元素初值均为0。

14. ( F )C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值。 15. ( F )构成数组的各个元素可以有不同的数据类型。

16. ( F )若有说明:int a[10];,则可以a[10]引用数组a的第10个元素。

17. ( T )引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。 18. ( T )若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4]。

19. ( T )一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组。 20. ( T )在C语言中,允许用字符串来直接初始化字符数组。 21. ( F )字符数组的输出不能一次性的整体输出。

22. ( F )使用strcat函数可以实现两个字符串的复制。

三、多选题

1、 以下关于数组的描述中,正确的有:( AD )。

A、在定义数组时,有时可以将该数组的维数省略

B、数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值 C、构成数组的各个元素可以有不同的数据类型

D、有定义:int a[3]; 则定义了a[0]、a[1]、a[2]三个数组元素 E、在程序中可以对数值数组中的数据进行整体使用

2、 以下关于数组的描述中,错误的有:( BCDE )。

A、引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式 B、可以通过数组名来整体引用一个数组

C、在程序中可以对数值数组中的数据进行整体使用

D、若有说明:int a[10];,则可以a[10]引用数组a的第9个元素 E、若有说明:int a[10];,则可以a[10]引用数组a的第10个元素

3、 以下关于数组的描述中,错误的有:( ABE )。

A、可以通过如下语句来完成对一个数组的输入:int a[10]; scanf(\B、可以通过如下语句来完成对一个数组的输入:int a[10]; scanf(\ C、若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4] D、数组元素可以像普通变量一样使用 E、int a[9]; 则数组a的下标范围是1-9

4、 以下关于数组的描述中,正确的有:( ABCD )。

A、数组名实质上是数组的首地址,是一个常量,不能对其赋值 B、在定义数组时,有时可以将该数组的维数省略

C、一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组 D、如有定义int a[3][4]={0}; 则数组a的所有元素初值均为0 E、可以通过数组名来整体引用一个数组

5、 以下关于数组的描述中,错误的有:( DE )。

A、如有定义int a[2][3];则数组a的最后一个元素为a[1][2]

B、一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组 C、若有说明:static int a[3][3]; 那么数组a中每个元素初值为0

D、在定义二维数组时,可以将该数组的两个维数全部省略

E、如有定义char a[20]; 则可以通过a=\给a赋值

6、 若有说明:int a[][4]={0,0};,则下面正确的叙述有:( ABC )。

A、数组a的每个元素都可得到初值0 B、二维数组a的第一维大小为1

C、因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1

D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值 E、只有元素a[1][1]和a[1][2]可得到初值0,其余元素均得不到初值

7、 以下关于数组的描述中,正确的有:( AC )。

A、若有定义char a[]=\,则数组a的长度为6

B、有定义char a[3]; 则定义了a[1]、a[2]、a[3]三个数组元素 C、构成字符数组的各个元素必须是字符类型的数据 D、可以通过数组名来整体引用一个数组

E、设有数组定义char array [ ]=\则数组array所占的空间为5个字节

8、 以下关于数组的描述中,正确的有:( ADE )。

A、在C语言中,允许用字符串来直接初始化字符数组

B、若有定义char a[20];,则可以通过a=\给a赋值 C、若有char a[10]={1,2,3};,则是将3个初值依次赋给a[1]至a[3] D、构成字符数组的各个元素必须是字符类型的数据

E、数组名实质上是数组的首地址,是一个常量,不能对其赋值

9、 以下关于数组的描述中,错误的有:(AC )。

A、字符数组的输出不能一次性的整体输出

B、若有char a[10]={1,2,3};,则是将3个初值依次赋给a[0]至a[2] C、构成字符数组的各个元素可以是不同数据类型的元素 D、构成字符数组的各个元素必须是字符类型的数据 E、若有定义char b[]=\,则数组b的长度为6

10、 下列语句中,正确的有:( BCD )。

A、char str[5]=\

B、char str[]={'h','e','l','l','o','\\0'}; C、char str[5]={\D、char str[100]=\E、char str[3]=\

11、 函数调用strcat(strcpy(str1,str2),str3)的功能,以下说法错误的有:( ABDE )。

A、将串str1复制到串str2中后在连接到串str3之后 B、将串str1连接到串str2之后再复制到串str3之后

C、将串str2复制到串str1中后再将串str3连接到串str1之后 D、将串str2连接到串str1中后再将串str1复制到串str3中 E、将串str2连接到串str1中后再将串str3复制到串str1中

12、 以下关于数组的描述中,正确的有:( ABCE )。

A、在定义数组时,有时可以将该数组的维数省略 B、数组元素可以像普通变量一样使用

C、若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4] D、如有定义char a[]=\则数组a的长度为7

E. 若有定义double x[3][5]; 则x数组中行下标的下限为0,列小标的上限为4

13、 定义了一维int型数组a[10]后,下面正确的引用有:( ACDE )。

A. a[0]=1;