c语言练习题及答案详解_第1页
c语言练习题及答案详解_第2页
c语言练习题及答案详解_第3页
c语言练习题及答案详解_第4页
c语言练习题及答案详解_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言练习题及答案详解

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

C、子程序D、子例程

2.C语言程序从开始执行。A)程序中第一条可执

行语句B)程序中第一个函数

0程序中的main函数D)包含文件中的第一个函数

3、以下说法中正确的是。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main函数

中定义

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

序中的main函数必须放在程序的开始部分

4.下列关于C语言的说法错误的是。A)C程序的工

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

0C程序的三种基本结构是顺序、选择、循环D)C

程序从main函数开始执行.下列正确的标识符是。A.-al

B.a[i]C.a2_iD.intt

5〜8题为相同类型题考点:标识符的命名规则只能由

字母、数字、下划线构成数字不能作为标识符的开头关键

字不能作为标识符

选项A中的“-",选项B中“/与”不满足;

选项D中的int为关键字,不满足

6.下列C语言用户标识符中合法的是。

A)3axB)xC)caseD)-eE)union选项A中的标识符以数字开头

不满足;选项C,E均为为关键字,不满足;选项D中的“-”

不满足;

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

A)%xB)a+bC)al2D)123

选项A中的“%”,选项B中“+”不满足;选项

D中的标识符以数字开头不满足

8、下列四组字符串中都可以用作C语言程序中的标识

符的是。

A、print_3ddbaBcB、I\amonehalfstart$it

pai

C>strlCpppowwhileD>PxqMy->bookline#

His.age

选项B中的,选项D中”

-"不满足;选项C中的while为关键字,不满足

9.C语言中的简单数据类型包括。A、整型、实型、逻

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

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

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

B)2C)1D)详见教材P52~53.

%为求余运算符,该运算符只能对整型数据进行运算。

且符号与被模数相同。5%2=1;%=1;%2二-1;%二-1;

/为求商运算符,该运算符能够对整型、字符、浮点等

类型的数据进行运算,/2二2

11.如果inta=3,b=4;则条件表达式〃aA)B)C)0

D)1详见教材P97.

表达式1?表达式2:表达式先计算表达式1,

若表达式1成立,则选择计算表达式2,并表达式2

的值作为整个大表达式的值;

若表达式1不成立,则选择计算表达式3,并将表达式

3的值作为整个大表达式的值

此题中的aa为3,b为4。a12.若int

x=2,y=3,z二则表达式x13.C语言中,关系表达式和逻

辑表达式的值是

O

详见教材P143〜144,一维数组的定义、初始化A)0B)

0或101类型符数组名[常量表达式]

D)?T?或?F?

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

011/D)14~16题为同一类型详见教材P54〜56.

相同数据类型的元素进行数学运算得到结果还保持原

数据类型。

不同数据类型的元素进行数学运算,先要统一数据类

型,统一的标准是低精度类型转换为高精度的数据类型。

选项A,11与3为两个整数,11/3结果的数据类型也

应为整数,因此将3.666666的小数部分全部舍掉,仅保留

整数,因此11/3此.

选项B,11.0为实数,3为整数,因此首先要统一数据

类型,将整型数据3转换为3.0,转换后数据类型统一为实

型数据,选项B变为11.0/3.0,结果的数据类型也应为实型

数据,因此选项B11.0/3=3.666666

选项C,先将整数11强制类型转换,转换为实型11.0,

因此选项C变为11.0/3,其后计算过程、结果与选项B同

选项D,首先计算11.0/3,其计算过程、结果与选项

B

同,得到

3.666666;再计算

3.666666+0.5=4.166666,最后将4.166666强制类型

转换为整型,即将其小数部分全部舍掉,结果为4

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

b的值不为0.5的是A.b=1.0/aB.b=C.b=l/aD.b=1/

16.若“intn;floatf=13.8;”,则执行“n=f%3"

后,n的值是A.1

B.C.4.333333D.4.6

“f”表示将f中的值强制类型转换为整型,即将13.8

的小数部分舍掉,转换为13;然后计算13%3,结果为1,再

将结果赋给变量n,因此n的值为1

17.以下对一维数组a的正确说明是:chara;

B)inta[];

C)intk=5,a[k];D)chara[3]=[?a?,?b?,?c?);

类型符是指数组中数组元素的类型;数组名要符合标

识符命名规则;常量表达式是指数组的长度,其值只能是整

数,不可以是变量,而且从1开始计数。

选项A,常量表达式只能放在中括号[]中选项B,

只有在对数组初始化的时候才可以省略数组的长度,B中并

未对a进行初始化。选项C,常量表达式不能为变量。

18.以下能对一维数组a进行初始化的语句是:

A.inta[5]=B.inta={}C.inta[3]={0,1,2}D.

inta{5}={10*l}详见教材P145,一维数组的定义、初始化

选项B,D,常量表达式只能放在中括号[]中选项A,数组

可以看做是若干个相同数据类型元素的有序集合,因此以集

合的形式对其初始化,使用{}对其初始化,选项A用了.

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

A)inta;B)intn=10,a[n];C)intn;a[n];

D)#defineNlOinta[N];

20、已知:inta[10];则对a数组元素的正确引用

是。

A、a[10]B、a[3.5]C、aD、a[0]

详见教材P144,数组元素的引用数组名[下标]

引用数组元素时,[]中的下标为逻辑地址下标,只能

为整数,可以为变量,且从0开始计数inta[10]表示定

义了一个包含10个整型数据的数组a,数组元素的逻辑地址

下标范围为0〜9,即a[0]

表示组中第1个元素;a[l]表示组中第2个元素;

a[2]表示组中第3个元素;.....;a[9]表示组中第

10个元素.

选项A,超过了数组a的逻辑地址下标范围;选项B,

逻辑地址下标只能为整数选项C,逻辑地址下标只能放在口

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

O

inta[12]={l,4,7,10,2,5,8,11,3,6,9,12};本题图

示详见P149图6.7

因此a的行逻辑地址范围0~2;a的列逻辑地址范A.10

B.C.围0~3;

D.5

先算a[a[i]]内层的a[i],由于i=10,因此a[i]即

a[10].a[10]对应下面数组中的元素为9.因此即

为a[9]

a[9]对应下面数组中的元素为6.因此a[9]即为62.

若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a

的第一维的大小为:

A.B.C.D.无确定值D)

二维数组的一维大小,即指二维数组的行数,在本题

中,按行对二维数组赋值,因此内层有几个大括号,数组就

有几行

23.对二维数组的正确定义是详见教材P149~152,二

维数组的定义、初始化类型符数组名[常量表达式][常量

表达式]二维数组可以看做是矩阵

类型符是指数组中数组元素的类型;数组名要符合标

识符命名规则;第一个常量表达式是指数组的行数;第二个

常量表达式是指数组的列数;常量表达式的值只能是整数,

不可以是变量,而且从1开始计数。

一维数组初始化时可以省略数组长度

二维数组初始化时可以省略行数,但不能省略列数选

项A,B,都省略了列数

选项D,不符合二维数组定义的一般形式,行、列常量

表达式应该放在不同的口中

A.inta[][]={1,2,3,4,5,6};B.inta[2]

[]二{1,2,3,4,5,6};

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

a[2,3]:{1,2,3,4,5,6);

24.已知inta[3][4];则对数组元素引用正确的是

A)a[2][4]B)a[l,3]C)a[2][0]D)a

详见教材P150,数组元素的引用数组名[下标][下标]

引用数组元素时,[]中的下标为逻辑地址下标,只能

为整数,可以为变量,且从0开始计数第一个[下标]表示

行逻辑地址下标,第二个[下标]表示列逻辑地址下标。

选项A,列逻辑地址下标超过范围选项B,D,的引用

形式不正确。

25.C语言中函数返回值的类型是由决定的.

A)函数定义时指定的类型B)return语句中的表达式

类型

0调用该函数时的实参的数据类型D)形参的数据

类型

26.在C语言中,函数的数据类型是指A函数返回值

的数据类型B.函数形参的数据类型

C调用该函数时的实参的数据类型D.任意指定的数据

类型

27.在函数调用时,以下说法正确的是A.函数调用

后必须带回返回值B.实际参数和形式参数可以同名

C.函数间的数据传递不可以使用全局变量D.主调函

数和被调函数总是在同一个文件里&在C语言中,表示静

态存储类别的关键字是:

A)autoB)registerC)static

D)

extern

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

A)auto

B)static

C)externD)register

30.若有以下说明语句:structstudent{int

num;charname[];floatscore;}stu;

则下面的叙述不正确的是:

A.struct是结构体类型的关键字B.structstudent

是用户定义的结构体类型C.num,score都是结构体成员名

D.stu是用户定义的结构体类型名1.若有以下说明语句:

structdate{intyear;

intmonth;intday;}brithday;

则下面的叙述不正确的是.A)struct是声明结

构体类型时用的关键字B)structdate是用户定义的结

构体类型名0brithday是用户定义的结构体类型名D)

year,day都是结构体成员名

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

C.inti,*p=&i;D.inti,*p;选项A先定义一个整型指针

变量P,然后将变量i的地址赋给Po然而此时还未定义变

量i因此编译器无法获得变量i的地址。

37.若有说明:intn=2,*p=&n,*q=p,则以下非法的赋

值语句是:

structstudent{intage;intnum;}stul,*p;

p=&stul;

A)stul.ageB)student.ageC)p->ageD).age

33.设有如下定义:strucksk{inta;floatb;}data;

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

p=&a;B)p=data,a;

0

p=&data.a;

D)*p=data.a;

34.设有以下说明语句:typedefstructstu{int

a;floatb;}stutype;

则下面叙述中错误的是。A、struct是结构类型的关

键字B、structstu是用户定义的结构类型C、a和b都是

结构成员名D、stutype是用户定义的结构体变量名5.语

句int*p;说明了A)p是指向一维数组的指针

B)p是指向函数的指针,该函数返回一int型数据C)p

是指向int型数据的指针〃指针的定义教材P223

D)p是函数名,该函数返回一指向int型数据的指针

6.下列不正确的定义是。int*p=&i,i;B.int*p,i;

A)p=qB)*p二*qC)n=*qD)p=n

P,q同为整型指针变量,二者里面仅能存放整型变量的

地址。

选项A,q中为地址,因此可将此地址赋给p选项B,

*P表示P所指向对象n的内容,即一个整数;*q表示q所

指向对象的内容,由于在定义q时为其初始化,将P中n的

地址给q,因此p中存放n的地址,*q表示q所指向对象n

的内容.因此*P=*q相当于n=n;

选项C,n=*q等价于n=n;

选项D,p中只能存放地址,不能将n中的整数值赋给

P

38.有语句:int;则是对指针变量p的正确定

义和初始化。

A)intp=*a;B)int*p=a;C)intp=&a;D)int

*p=&a;

选项A,a是数组名,不是指针变量名,因此不可用*

标注数组名a

选项C,a是数组名,数组名就是地址,无需再用地址

符号。而且在定义指针变量p时,应在变量名前加*,标明p

是指针变量

选项D,a是数组名,数组名就是地址,无需再用地址

符号。

39.若有说明语句“inta[5],*p=a;",则对数组元素

的正确引用是。

A.a[p]B.p[a]C.*D.p+2

首先定义一个整型数组a,a的长度为5,然后定义一

个指针变量P,并同时对P进行初始化,将数组a的地址赋

给P。因此此时p中存放的数组a的首地址,即数组中第一

个元素a[0]的地址。

对于数组元素下标的引用,一般形式数组名[下标]

其中下标为逻辑地址下标,从0开始计数,方括号中的下标

可以是变量,可以是表达式,

但结果一定要是整数。

选项A,p中存放的是地址,不是整数,不能做数组元

素的下标

选项B,a是数组名,数组名就是地址,不是整数,不

能做数组元素的下标

选项C,p+2表示指向同一数组中的下两个元素的地址,

当前P指向a[0],则p+2表示a[2]的地址,因此*表示a[2]

的内容

40.有如下程序

inta[10]={l,2,3,4,5,6,7,8,9,10},*P=a;则数值

为9的表达式是B

A)*P+9B)*C)*P+=9D)P+

首先定义一个整型数组a,a的长度为5,然后定义一

个指针变量P,并同时对P进行初始化,将数组a的地址赋

给P。因此此时P中存放的数组a的首地址,即数组中第一

个元素a[0]的地址。数组中9对应的是a[8],选项B,P+8

表示数组中后8个元素的地址,即a[8]的地址。*则表示该

地址内所存放的内容,即a[8]的值。

选项A,*P表示P所指向对象的内容,此时P指向a[0],

*「即2[0]的值L*P+9=l+9=10选项C,*P表示P所指向对

象的内容,此时P指向a[0],*P即a[0]的值。因此*P+二即

*p=*P+9,等价于a[0]=a[0]+9.

选项D,P+8表示数组中后8个元素的地址,即a[8]

的地址,而非a[8]中的值。

41.在C语言中,以作为字符串结束标志

A)?\n?B)??C)?0?D)?\0?.下列数据中属于“字符串常量”

的是。A.“a"B.{ABC}C.?abc\O?D.?a?

若干个字符构成字符串

在C语言中,用单引号标识字符;用双引号标识字符

选项B,C,分别用{}和??标识字符串选项D,标识字

符。

43.已知charx□二〃hello”,

y□二{'h','e','a','b','e'};,则关于两个数组长度的正

确描述是B.

A)相同B)x大于yC)x小于yD)以上答案都不对

C语言中,字符串后面需要一个结束标志位''0',通

常系统会自动添加。

对一维数组初始化时可采用字符串的形式,也可采用

字符集合的形式。在以字符串形式初始化时,数组x不尽要

存储字符串中的字符,还要存储字符串后的结束标志位,因

此数组x的长度为6;在以字符集合形式初始化时,数组y,

仅存储集合中的元素,因此数组y长度为读程序

基本输入输出及流程控制

1.

#includemain

{inta=l,b=3,c=5;ifprintf;else

printf;}

运行结果为:no

详见教材p8选择结构详见教材p91关系符号详见附

录Dp378符号的优先级

=表示判断符号两边的值是否相等;二表示将符号右边

的值赋给左边的变量

本题考点是选择结构3种基本形式的第二种

选择结构三种一般形式中的“语句”皆为复合语句,

复合语句要用{}括起来,只有当复合语句中只包括一条语

句时可以省略{},此题即如此,因此两个printf操作没有

加{}

若c==a+b成立,则执行printf;否则,执行printf;

+的优先级高于二,因此先算a+b,值为4,表达式5=4

不成立,因此执行printf;即输出字符串no.

ttincludemain

{inta=12,b=-34,c=56,min=0;

《C语言程序设计》习题篇

第一章C语言基础知识

1.1选择题

I.以下不是C语言的特点的是。

A、语言简洁紧凑

B、能够编制出功能复杂的程序

C、C语言可以直接对硬件操作

D、C语言移植性好

2.下列字符序列中,不可用作C语言标识符的是。

A.abclB.no.1C._123_D.ok

3.正确的C语言标识符是。

A._buy_B.2_buyC.?_buyD.buy?

4.请选出可用作C语言用户标识符的一组标识符。

A.voidB.a3b3c.ForD.2a

define_123-abcD0

WORDIFCasesizeof

5.下列符号中,不属于转义字符的是。

A.\\B.\0xAAC.\tD.\0

6.不属于C语言关键字的是。

A.intB.breakC.whileD.character

7.是C语言提供的合法关键字的是。

A.FloatB.signedC.integerD.Char

8.以下不能定义为用户标示符的是。

A.scanfB.VoidC._3com_D.int

9.一个C程序是由。

A.一个主程序和若干子程序组成

B.一个或多个函数组成

C.若干过程组成

D.若干子程序组成

10.C语言程序的基本单位是。

A.程序行B.语句C.函数D.字符

11.下列说法中,错误的是。

A.每个语句必须独占一行,语句的最后可以是一个分

号,也可以是一个回车换行符号

B.每个函数都有一个函数头和一个函数体,主函数也

不例外

C.主函数只能调用用户函数或系统函数,用户函数可

以相互调用

D.程序是由若干个函数组成的,但是必须有、而且只

能有一个主函数

12.以下说法中正确的是。

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须在main函数

中定义

C.C语言程序总是从main函数开始执行

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

13.C编译程序是。

A.C程序的机器语言版本

B.一组机器语言指令

C.将-C源程序编译成目标程序

D.由制造厂家提供的一套应用软件

14.以下选项中,合法的用户标识符是。

A.longB._2abcC.3dmaxD.A.dat

15.以下选项中,合法的实型常数是。

A.5E2.OB.E-C.2E0D.1.3E

16.已知大写字母A的ASCH码值是65,小写字母a

的ASCH码是97,则用八进制表示的

字符常量'\ior是。

A.字符AB.字符aC.字符cD.非法的常量

17.以下选项中,合法转义字符的选项是。

A.'\\'B.'\018,C.'xab'D.'\abc'

18.以下选项中,正确的字符常量是。

A."F"B/\\一C.’W'D.''

19.以下选项中可作为C语言合法整数的是

A.10110BB.038C.OXffaD.x2a2

20.下列变量定义中合法的是

A.short_a=l-.le-l;B.doubleb=l+5e2.5;

C.longdo=OxfdaL;D.float_and=l-e-3;

21.与数学式子对应的C语言表达式是。x?l

A9*x

/B.9*x**n/

C.9*pow*)D.9*pow/

3ab22.若有代数式,则不正确的C语言表达式是。cd

A.a/c/d*b*B.3*a*b/c/d

C.3*a*b/c*dD.a*b/d/c*3

23.已知各变量的类型说明如下:

intm=8,n,a,b;

unsignedlongw=10;

doublex=3.14,y=0.12;

则以下符合C语言语法的表达式是。

A.a+=a-二*B.n=n*3=18

C.x%D.y=flost

24.以下符合C语言语法的赋值表达式是。

A.a=9+b+c=d+9B.a=

C.a=9+b,b++,c+D.a=9+b++=c+9xn

25.已知字母A的ASCH码为十进制数65,且S为字

符型,则执行语句S='A'+'6'-'3';

后,S中的值为。

A.'D'B.6C.不确定的值D.'C'

26.在C语言中,要求运算数必须是整型的运算符是。

A./B.++C.*=D.%

27.若有说明语句:chars='\72';则变量s。

A.包含一个字符

B.包含两个字符

C.包含三个字符

D.说明不合法,s的值不确定

28.若有定义:intm=7;floatx=2.5,y=4.7;则表

达式x+m%3*%2/4的值是。

A.2.500000B.2.750000C.3.500000D.0.000000

29.在C语言中,char型数据在内存中的存储形式是。

A.补码B.反码C.原码D.ASCH码

30.设变量x为float类型,m为int类型,则以下能

实现将x中的数值保留小数点后两位,

第三位进行四舍五入运算的表达式是。

A.x=/100.0

B.m=x*100+0.5,x=m/100.0

C.x=x*100+0.5/100.0

D.x=*100.0

31.表达式13/3*sqrt/8的数据类型是。

A.intB.floatC.doubleD.不确定

32.设以下变量均为int类型,则值不等于7的表达

式是。

A.

B.

c.

D.

33.假设所有变量均为整型,则表达式的值是。

A.B.8C.6D.2

34.已知s是字符型变量,下面不正确的赋值语句是。

A.s='\012,;B.s='u+v';

C.S='r+,2,;D.s=l+2;

35.已知s是字符型变量,下面正确的赋值语句是。

A.s='abc';B.s='\08?;

C.s='\xde';D.s二”\";

36.若有以下定义,则正确的赋值语句是。

intx,y;

floatz;

A.x=l,y=2,B.x=y=100

C.x++;D.x=int;

37.设x、y均为float型变量,则不正确的赋值语句

是。

A.++x;B.x*=y-2;

C.y=/10;D.x=y=0;

38.下列语句中符合C语言的赋值语句是。

A.a=7+b+c=a+7;B.a=7+b++=a+7;

C.a=7+b,b++,a+D.a=7+b,c=a+7;

39.putchar函数可以向终端输出一个。

A.整型变量表达式值。B.字符串

C.实型变量值。D.字符或字符型变量值。

40.以下程序段的输出结果是。

inta=12345;printf;

A.1B.3C.1234D.提示出错、无结果

41.若x和y均定义为int型,z定义为double型,

以下不合法的scanf函数调用语句为

O

A.scanf;

B.scanf;

C.scanf;

Doscanf;

42.有如下程序段:

intxl,x2;

charyl,y2;

scanf;

若要求xl、x2、yl、y2的值分别为10、20、A、B,正

确的数据输入是。

A.10A1—120BB.101—1A20B

C.10JAJ20JBD.10A20=B

43.若变量已正确说明为float类型,要通过语句

scanf;给a赋予10.0,

b赋予22.0,c赋予33.0,不正确的输入形式为。

A.10B.10.0,22.0,33.0

22

33

C.10.0D.1022

22.03.03

44.有如下程序,若要求xl、x2、yl、y2的值分别为

10、20、A、B,正确的数据输入是。

intxl,x2;

charyl,y2;

scanf;

scanf;

A.1020ABB.10=20=ABC

C.10J20D.10J20AB

AB

45.已有定义inta=-2;和输出语句:printf;以下

正确的叙述是。

A.整型变量的输出格式符只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的

数据

C.姒是格式符

D.%81x不是错误的格式符,其中数字8规定了输出字

段的宽度

46.有如下程序段,对应正确的数据输入是。

floatx,y;

scanf;

printf;

A.2.04B.2.04,5.67

5.67

C.A=2.04,B=5.67D.2.055.67

47.有如下程序段,从键盘输入数据的正确形式应是。

floatx,y,z;

scanf;

A.12B.x=l,y=2,z=3

C.1,2,3D.x=l=y=2=z=3

48.以下说法正确的是。

A.输入项可以为一个实型常量,如scanf;

B.只有格式控制,没有输入项,也能进行正确输入,

如scanf;

C.当输入一个实型数据时,格式控制部分应规定小数

点后的位数,如scanf;

D.当输入数据时,必须指明变量的地址,如scanf;

49.根据定义和数据的输入方式,输入语句的正确形

式为:。

已有定义:floatx,y;

数据的输入方式:1.23

4.5

A.scan;B.scanf;

C.scanf;D.scanf;

50.根据下面的程序及数据的输入和输出形式,程序

中输入语句的正确形式应该为。

ttinclude”stdio.h"

main

{charsi,s2,s3;

输入语句;

printf;

}

输入形式:A1~~1B1~~1C

输出形式:A1~1B

A.scanf;

B.scanf;

C.scanf;

D.scanf;

51.以下程序的执行结果是:。

ttinclude“stdio.h"

main

{intx=2,y=3;

printf;

A.x=%2,y=%B.x=%%d,y=%%d

C.x=2,y=D.x=%d,y=%d

52.以下程序的输出结果是。

ttinclude“stdio.h"

main

{printf;

printf;

printf;

单项选择题:

1.是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程

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

A)程序中第一条可执行语句B)程序中第一个函数

0程序中的main函数D)包含文件中的第一个函数

3、以下说法中正确的是。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main函数

中定义

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

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

4.下列关于C语言的说法错误的是。

A)C程序的工作过程是编辑、编译、连接、运行

B)C语言不区分大小写。

0C程序的三种基本结构是顺序、选择、循环

D)C程序从main函数开始执行

5.下列正确的标识符是。

A.-alB.a[i]C.a2_iD.intt

6.下列C语言用户标识符中合法的是。

A)3axB)xC)caseD)-eE)union

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

A)%xB)a+bC)al2D)123

8、下列四组字符串中都可以用作C语言程序中的标识

符的是。

A、print_3ddbaBcB、I\amonehalfstart$it

pai

C>strlCpppowwhileD>PxqMy->bookline#

His.age

9.C语言中的简单数据类型包括。

A、整型、实型、逻辑型B、整型、实型、逻辑型、

字符型

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

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

A)2.B)2C)ID)3

11.如果inta如,b=4;则条件表达式〃aA)B)C)0

D)1

12.若intx=2,y=3,z二则表达式xA)4B)C)D)0

E)1

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

A)0B)0或1C)1D)'T?或?F?

14.下面表达式的值为4.

A)11/3B)11.0/3

011/D)

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

b的值不为0.5的是

16.若“intn;floatf=13.8;”,则执行“n二f%3"后,

n的值是

A.IB.C.4.333333D.4.6

17.以下对一维数组a的正确说明是:

A)chara;B)inta[];

C)intk=5,a[kLD)chara[3]=[?a?,?b?,?c?};

18.以下能对一维数组a进行初始化的语句是:

A.inta[5]=B.inta={)

C.inta[3]={0,1,2}D.inta{5}={10*l}

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

A)inta;B)intn=10,a[n];

C)intn;a[n];D)#defineN10

inta[N];

20、已知:inta[10];则对a数组元素的正确引用

是。

A、a[10]B、a[3.5]C、aD、a[0]

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

inta[12]={l,4,7,10,2,5,8,11,3,6,9,12};

A.10B.C.D.5

22.若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};

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

23.对二维数组的正确定义是

A.inta[][]={1,2,3,4,5,6};B.inta[2]

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

C.inta[][3]={1,2,3,4,5,6);D.int

a[2,3]={l,2,3,4,5,6};

24.已知inta[3][4];则对数组元素引用正确的是

A)a[2][4]B)a[l,3]C)a[2][0]D)a

25.C语言中函数返回值的类型是由决定的.

A)函数定义时指定的类型B)return语句中的表达式

类型

0调用该函数时的实参的数据类型D)形参的数据

类型

26.在C语言中,函数的数据类型是指

A函数返回值的数据类型B.函数形参的数据类型

C调用该函数时的实参的数据类型D.任意指定的数据

类型

27.在函数调用时,以下说法正确的是

A.函数调用后必须带回返回值

B.实际参数和形式参数可以同名

C.函数间的数据传递不可以使用全局变量

D.主调函数和被调函数总是在同一个文件里

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

A)autoB)registerC)staticD)extern

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

A)autoB)staticC)externD)register

30.若有以下说明语句:

structstudent

{intnum;

charname[];

floatscore;

}stu;

则下面的叙述不正确的是:

A.struct是结构体类型的关键字

B.structstudent是用户定义的结构体类型

C.num,score都是结构体成员名

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

31.若有以下说明语句:

structdate

{intyear;

intmonth;

intday;

}brithday;

则下面的叙述不正确的是.

A)struct是声明结构体类型时用的关键字

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

C)brithd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论