C语言复习题(精简)

  • 格式:xls
  • 大小:145.00 KB
  • 文档页数:4

C语言复习题(多选题)

序号题目ABCDE正确

答案

1以下关于数组的描述中,正确

的有:在定义数组

时,有时可以

将该数组的维

数省略数组元素可以

像普通变量一

样使用定义int

a[10]={6,7,8,

9,10};是将这5

个初值依次赋

给a[0]至a[4]如有定义char

a[]="student"

; 则数组a的长

度为7若有定义

double

x[3][5]; 则x

数组中行下标

的下限为0,列

小标的上限为4ABCE

2以下对C语言函数的有关描述

中,正确的有:在C程序中,函

数调用不能出

现在表达式语

句中在C语言中,一

个函数一般由

两个部分组

成,它们是函

数首部和函数函数的实参和

形参可以是相

同的名字在main()中定

义的变量都可

以在其它被调

函数中直接使

用外部类型的变

量只能定义一

次,但可在不

同地方声明多

次BCE

3函数调用

strcat(strcpy(str1,str2),s

tr3)的功能,以下说法错误的

有:将串str1复制

到串str2中后

在连接到串

str3之后将串str1连接

到串str2之后

再复制到串

str3之后将串str2复制

到串str1中后

再将串str3连

接到串str1之将串str2连接

到串str1中后

再将串str1复

制到串str3中将串str2连接

到串str1中后

再将串str3复

制到串str1中ABDE

4以下叙述中正确的有:一个C语言程序

有且仅有一个

main函数C语言程序中,

main函数是没

有参数的一个函数通过

其他函数间接

的调用了自

身,这种情况

也是一种递归main函数是由

系统调用的若要通过函数

参数带回多个

返回值,则应

使用按地址传

送的参数结合ACDE

5下面叙述中,正确的有:函数的定义不

能嵌套,但函

数调用可以嵌

套为了提高可读

性,编写程序

时应该适当使

用注释变量定义时若

省去了存储类

型,系统将默

认其为静态型函数中定义的

局部变量的作

用域在函数内

部函数必须有返

回值,否则不

能使用函数ABD

6以下不正确的说法有:定义函数时,

形参的类型说

明可以放在函

数体内return后边的

值不能为表达

式函数返回值的

类型可能会与

函数的计算结

果类型不一致在不同的函数

中可以使用相

同名字的变量如果形参与实

参的类型顺序

不一致,以实

参顺序为准ABE

7以下叙述中,正确的描述是

有:函数之内定义

的变量称为内

部变量,内部

变量是全局变

量在一个函数中

既可以使用本

函数中的局部

变量,又可以

使用外部变量外部变量定义

和外部变量说

明的含义不同外部变量与局

部变量的作用

范围不同在C的函数中,

最好使用全局

变量BCD

8以下正确的说法有:C语言程序的基

本组成单位是

函数函数必须要有

返回值一个函数的类

型为void,在

定义时,可以

省略void函数声明是一

条C语句return语句只

能返回一个值ADE

9以下叙述中正确的有:调用函数时,

只能把实参的

值传送给形

参,形参的值

不能传送给实函数的实参可

以是常量、变

量和表达式形式参数只是

局限于所在函

数函数定义时的

函数首部不是

语句,后面不

能跟分号函数名的存储

类别为外部ABCDE

10以下对C语言函数的有关描述

中,正确的有:调用函数时,

实参与形参应

该数量相同,

类型一致函数可以嵌套

定义函数必须有返

回值,否则不

能正确使用程序中有调用

关系的所有函

数必须放在同

一个源程序文C程序由一个或

一个以上的函

数组成AE

11下面叙述中正确的有:结构体和共用

体都是由多个

不同数据类型

的成员组成,

但在任何同一

时刻,共用体

中只存放了一

个被选中的成

员,而结构体对于共用体的

不同成员赋

值,相会对其

他成员重写,

原来成员的值

就不存在了而

对于结构体的

不同成员赋值

是互不影响的共用体变量可

以作为函数的

参数成函数

值,也可使用

指向共用体的

指针变量。共用体不可以

作为结构体的

成员,但结构

体也可作为共

用体的成员。以上都不对AB

多选题第 1 页序号题目ABCDE正确

答案

12设有如下说明

typedef struct ST

{long a;int b;char

c[2];}NEW;

则下面叙述中不正确的是:以上的说明形

式非法ST是一个结构

体类型NEW是一个结构

体类型NEW是一个结构

体变量以上都不对AD

13一个数据类型为void的函数在

被调用后,下列错误的描述函数没有返回

值函数可以返回

一个系统默认函数返回值由

用户临时决定函数可以返回

一个不确定的以上都不对BCD

14下列函数中,能够输出字符数

据的函数有:puts( )printf( )scanf( )putchar( )put( )ABD

15以下关于数组的描述中,正确

的有:数组名实质上

是数组的首地

址,是一个常

量,不能对其

赋值在定义数组

时,有时可以

将该数组的维

数省略一个一维数

组,它的每一

个元素也是类

型相同的一维

数组时,便构如有定义int

a[3][4]={0};

则数组a的所有

元素初值均为0可以通过数组

名来整体引用

一个数组ABCD

16以下关于数组的描述中,错误

的有:如有定义int

a[2][3];则数

组a的最后一个

元素为a[1][2]一个一维数

组,它的每一

个元素也是类

型相同的一维

数组时,便构若有说

明:static int

a[3][3]; 那么

数组a中每个元

素初值为0在定义二维数

组时,可以将

该数组的两个

维数全部省略如有定义char

a[20]; 则可以

通过a="I am a

boy"; 给a赋值DE

17若有说明:int

a[][4]={0,0};,则下面正确

的叙述有:数组a的每个元

素都可得到初

值0二维数组a的第

一维大小为1因为二维数组a

中初值的个数

不能被第二维

大小的值整

除,则第一维

的大小等于所

得商数再加1,

故数组a的行数只有元素

a[0][0]和

a[0][1]可得到

初值0,其余元

素均得不到初

值只有元素

a[1][1]和

a[1][2]可得到

初值0,其余元

素均得不到初

值ABC

18以下关于数组的描述中,正确

的有:若有定义char

a[]="hello";

,则数组a的长

度为6有定义char

a[3]; 则定义

了a[1]、a[2]

、a[3]三个数

组元素构成字符数组

的各个元素必

须是字符类型

的数据可以通过数组

名来整体引用

一个数组设有数组定义

char array [

]="China"; 则

数组array所占

的空间为5个字

节AC

19以下关于数组的描述中,正确

的有:在C语言中,允

许用字符串来

直接初始化字

符数组若有定义char

a[20];,则可

以通过a="I am

a boy";给a赋

值若有char

a[10]={1,2,3}

;,则是将3个

初值依次赋给

a[1]至a[3]构成字符数组

的各个元素必

须是字符类型

的数据数组名实质上

是数组的首地

址,是一个常

量,不能对其

赋值ADE

20以下关于数组的描述中,错误

的有:字符数组的输

出不能一次性

的整体输出若有char

a[10]={1,2,3}

;,则是将3个

初值依次赋给

a[0]至a[2]构成字符数组

的各个元素可

以是不同数据

类型的元素构成字符数组

的各个元素必

须是字符类型

的数据若有定义char

b[]="hello";

,则数组b的长

度为6AC

21下列语句中,正确的有:char

str[5]="hello

";char

str[]={'h','e

','l','l','o'

,'\0'};char

str[5]={"hi"}

;char

str[100]="";char

str[3]="this"

;BCD

22定义了一维int型数组a[10]

后,下面正确的引用有:a[0]=1;a[10]=2;a[0]=5*2;a[1]=a[2]*a[0

];a[2]=a[1]+a[0

];ACDE

23以下关于数组的描述中,正确

的有:在定义数组

时,有时可以

将该数组的维

数省略数组名实质上

是数组的首地

址,是一个变

量地址,可对

其进行赋值构成数组的各

个元素可以有

不同的数据类

型有定义:int

a[3]; 则定义

了a[0]、a[1]

、a[2]三个数

组元素在程序中可以

对数值数组中

的数据进行整

体使用AD

24 设有以下说明语句

struct stu

{ int a;float b;

}stutype;

则以下叙述正确的是:struct 是结构

体类型的关键

字struct stu 是

用户定义的结

构体类型stutype 是用

户定义的结构

体类型名a 和 b 都是结

构体成员名以上都不对ABD

多选题第 2 页