C语言练习题集(带答案解析) 下载本文

单项选择题

1. ( A )是构成C语言程序的基本单位。 A、函数

B 、过程 C 、子程序 D、子例程

2. C语言程序从 ____ C ________ 开始执行。

A) 程序中第一条可执行语句

B)程序中第一个函数

C)程序中的main函数 D)包含文件中的第一个函数 3、以下说法中正确的是( C )。

A 、 C语言程序总是从第一个定义的函数开始执行 B、 在C语言程序中,要调用的函数必须在 main()函数中定义

C、 C语言程序总是从 main()函数开始执行

D、 C语言程序中的 main()函数必须放在程序的开始部分 4.

下列关于C语言

的说法错误的是( B )

A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5. 下列正确的标识符是(C )。

A.

-a1 B.a[i] C.a2_i

D.i nt t

6. 下列C语言用户标识符中合法的是( B )。 A) 3ax B)x C)case D)-e2 E)u nion 7.

下列四组选项中,正确的 C语言标识符是

(C )。

A) %x B ) a+b C )

a123 D )

8、 下列四组字符串中都可以用C、整型、字符型、逻辑型 作

C语言程序中的标识符的是(

A )

A、print _3d db8 aBc B 、I\\am one_half start$it 3pai C、str_1 Cpp pow while D 、Pxq My->book line# His.age 9. C语言中的简单数据类型包括D )。 (

B

、整型、实型、逻辑型、字符型

A 、整型、实型、逻辑型

D 、整型、实型、字符型

10. 在C语言程序中,表达式 5%2的结果是—C_

A)2.5

B)2

C)1

D)3

11. 如果int a=3,b=4 ;则条件表达式\的值是 A

A) 3 B) 4 C) 0 D) 1

12. 若 int x=2,y=3,z=4 则表达式 x

C)2

D)0 E)1

13. C语言中,关系表达式和逻辑表达式的值是( B )

精品文档

123

精品文档

A) 0 B) 0 或 1 C) 1 D) '「或 F

14. 下面(D )表达式的值为4. A) 11/3

B) 11.0/3

精品文档

C) (float)11/3 D) (in t)(11.0/3+0.5)

b的值不为0.5的是(B )

15. 设整型变量a=2,则执行下列语句后,浮点型变量

A.b=1.0/a

B.b=(float)(1/a)

C.b=1/(float)a D.b=1/(a*1.0) 16. 若\int n; float f=13.8; A.1

B.4

” ,则执行\n=(int)f%3 ”后,n 的值是(A) C.4.333333

D.4.6 _D_

;

‘' b, 'c'

17. 以下对一维数组 a的正确说明是: A) char a (10);

C)int k = 5, a[k] ; D ) char a[3]={

B) int a[]

18. 以下能对一维数组 a进行初始化的语句是:( C ) A. int a[5]=(0,1,2,3,4,) B. int a(5)={} C. int a[3]={0,1,2}

D. int a{5}={10*1}

_D ____ 。

19. 在C语言中对一维整型数组的正确定义为

A)int a(10); B)i nt n=10,a[ n];

C)i nt n ;a[ n]; D)#defi ne N 10

int a[N];

20.

元素的正确引用是(

A、a[10] B 、a[3.5] C 、a(5) D 、a[0]

已知:int a[10]; 则对a数组D )。

21. 若有以下数组说明,则 i=10;a[a[i]] 元素数值是(B )。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.10

B.9

C.6

D.5

则数组a的第一维的大小为:(B )

无确定值

22. 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; A. 2 B. 3 C. 4 D.

5 7 D) 3 6 9

23. 对二维数组的正确定义是( C ) A.int a[ ] [ ]={1,2,3,4,5,6}; B.i nt a[2] [ ]={1,2,3,4,5,6};

D.int a[2,3]={1,2,3,4,5,6}; C.i nt a[ ]

[3]={1,2,3,4,5,6}; 24. 已知int a[3][4]; 则对数组C 元素引用正确的是

D)a(2)(1)

A)a[2][4] B)a[1,3] C)a[2][0] A _决定的. C语言中函数返回值的类型是由 25.

B) return 语句中的表达式类型

函数定义时指定的类型 A)C) 调用该函数时的实参的数据类型 D) 形参的数据类型 26. 在C语言中,函数的数据类型是指 A ) A函数返回值的数据类型 B. 27.

函数形参的数据类型

C调用该函数时的实参的数据类型 在函数调用时,以下说法正确的是( A. 函数调用后必须带回返回值 B. 实际参数和形式参数可以同名

D. 任意指定的数据类型

C. 函数间的数据传递不可以使用全局变量 D. 主调函数和被调函数总是在同一个文件里

精品文档

28.在C语言中,表示静态存储类别的关键字是

A) auto B) register

C) static

:(

C ) D) exter n A )。

29?未指定存储类别的变量,其隐含的存储类别为(

A)auto B)static C)extern D)register 30. 若有以下说明语句:

struct stude nt { int num; char n ame[]; float score; }stu;

则下面的叙述不正确的是:(D ) A. struct

是结构体类型的关键字

是用户定义的结构体类型

B. struct stude nt

C. num, score 都是结构体成员名 D. stu是用户定义的结构体类型名 31. 若有以下说明语句:

struct date { int year; int mon th; int day; }brithday;

则下面的叙述不正确的是 __C—. A) struct 是声明结构体类型时用的关键字 B) struct date C) brithday

是用户定义的结构体类型名

是用户定义的结构体类型名

D) year,day 都是结构体成员名

32. 以下对结构变量stul中成员age的非法引用是_

struct stude nt { int age ; int num ; }stu1,*p ; p=& stu1 ;

A) stu1.age B) stude nt.age C) p->age D) (*p).age 33. 设有如下定义:

struck sk { int a;

float b; }data; int *p;

精品文档

若要使P指向data中的a域,正确的赋值语句是