答案秋季省考练习C语言选择题.docx

上传人:b****8 文档编号:9579684 上传时间:2023-02-05 格式:DOCX 页数:47 大小:28.94KB
下载 相关 举报
答案秋季省考练习C语言选择题.docx_第1页
第1页 / 共47页
答案秋季省考练习C语言选择题.docx_第2页
第2页 / 共47页
答案秋季省考练习C语言选择题.docx_第3页
第3页 / 共47页
答案秋季省考练习C语言选择题.docx_第4页
第4页 / 共47页
答案秋季省考练习C语言选择题.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

答案秋季省考练习C语言选择题.docx

《答案秋季省考练习C语言选择题.docx》由会员分享,可在线阅读,更多相关《答案秋季省考练习C语言选择题.docx(47页珍藏版)》请在冰豆网上搜索。

答案秋季省考练习C语言选择题.docx

答案秋季省考练习C语言选择题

2011年秋季省考练习——C语言选择题

1.在C语言中,合法的字符常量是(D)。

P24

A.'字'

B."A"

C."ABC"

D.'\x41'

注释:

字符常量的表现形式有两种:

(1)使用单引号括起来的一个字符。

例如:

’a’、’b’、’?

(2)使用转义字符表示方法表示的字符。

转义字符示意反斜杠’\’开头的,后面跟字符或数字,并用单引号括起来表示字符常量。

2.下列叙述错误的是(D)。

P13

A.注释部分可单独占用一行,也可跟在语句的后面

B.若一条语句较长,可分写在多行上

C.C源程序必须包含一个main()函数

D.语句是构成C源程序的基本单位

注释:

函数是C语言程序的基本单位。

3.关于C语言数据类型,叙述正确的是(A)。

P21

A.变量使用前应定义相应的数据类型

B.不允许使用空类型

C.指针类型属于基本类型

D.结构类型并不是构造类型

注释:

认真掌握图3-1C语言的数据类型。

4.C语言函数体使用一对(C)将构成函数的语句括起来。

A.'<'和'>'

B.'('和')'

C.'{'和'}'

D.'['和']'

5.一个C源程序是由(B)。

P13

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

B.一个或多个函数组成

C.若干子过程组成

D.若干子程序组成

注释:

C语言程序都必须有且只有一个主函数,还可以包含任意多个不同名的函数。

6.C源程序的编译是指对源程序(B)。

P15

A.进行录入与编辑

B.生成以二进制代码形式表示的目标程序

C.进行查错与解释

D.进行连接与运行

注释:

由于计算机只能识别和执行由0和1组成的二进制文件,而不能识别和执行高级语言编写的源程序,所以必须先用C语言系统的编译程序对其进行编译,以生成以二进制代码形式表示的目标程序。

7.C语言的下列运算符中,优先级最高的运算符是(A)。

P41-42

A.++

B.+=

C.||

D.!

=

注释:

认真掌握表3-3C语言运算符的优先级与结合性。

8.下列(D)为合法的用户标识符。

P28

A.float

B.5k

C.x0.6

D._name

注释:

标识符可以由字母、数字和下划线构成,且必须由字母或下划线开头,其中字母是指英文26个字母,可以是大写或小写的。

9.下列(A)为合法的数值常量。

P23-24

A.-686

B.-E+7

C.6,860

D."6,860"

注释:

(1)整型常量:

十进制整数:

由0~9的数字序列组成,前面可加上+或—表示正数或负数2312、-12等

八进制整数:

以0(零)开头,由0~7的数字序列构成,如0123表示八进制数123,其值为1×82+2×81+3×80=83,即十进制的83。

十六进制整数:

以0x或0X开头(0x中的0是数字零),可以由数字0~9和字母A~F或a~f构成,A~F字母用于表示数字10~15。

例如,0x2F表示2×161+15×160=47,即十进制的47。

(2)浮点型常量

十进制小数形式:

由数字0~9、小数点和+、--组成的。

如3.14、-23.56

指数形式:

由数字0~9、字母e(或E)和+、-号组成,它的形式为aEn,意为a×10n,其中a为十进制整数或小数,n为十进制整数。

例如:

2.5e3(表示2.5×103),-3.5e-2(表示-3.5×10-2)。

.1以指数形式表示实数时,a和n都不能省略,n必须为整数。

例如,e5、3e、3e2.5等都是不合法

的。

.2以十进制小数形式表示实数时,整数和小数部分可省略其中任一个。

例如,35、26.都是合法的。

.3浮点型常量默认的是double型(双精度),如果在后面加上F或f,则其类型为float(单精度),如2.45F、3.5e2F。

.4如果在一个浮点型常量后面加上一个L或l,则表示为longdouble型,如2.4e2L。

10.下列(D)为合法的字符常量。

A.''\nm''

B."\mn"

C."B"

D.'B'

11.TurboC中,基本数据类型存储空间长度的排列顺序是(A)。

P28-29

A.char

B.char=int

C.char

D.char=int

注释:

认真掌握表3-2TurboC的基本数据及存储类型

字符型char1个字节;整型int或短整型shortint:

2个字节

长整型longint:

4个字节

单精度浮点型float4个字节双精度浮点型double8个字节

长双精度浮点型longdouble10个字节

12.下列合法的数据类型关键字是(B)。

A.Duble

B.float

C.Int

D.character

13.已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是(A)。

main()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);

}

A.67,D

B.C,D

C.C,68

D.67,68

注释:

可利用WINTC进行调试,查看结果;

或通过计算得到’5’-‘3’=2‘6’-‘3’=3

14.若已定义:

inta=6;下列正确的赋值表达式是(C)。

A.a*6

B.a+3=6

C.a+=6

D.6+=a

注释:

变换后左端必须是单个变量,才能进行赋值C:

a=a+6

15.若已定义:

inta;语句a=5%6-(6/5);执行后,变量a的值为(A)。

A.4

B.-1

C.3.8

D.-1.2

注释:

乘*、初/、求模%运算优先级相同

5%6=56/5=1(整数除,得到的是商的整数部分)

16.若已定义:

inta,b,c;语句a=(b=9,c=5,b*c);执行后,变量a的值为(A)。

A.45

B.9

C.5

D.0

注释:

逗号表达式的求值过程是,从左向右依次对各表达式求值,并将最右边一个表达式的值作为整个表达式的值。

17.若已定义:

inta,b;floatx=25.8;下列符合C语言语法的表达式是(A)。

P47,P42

A.a=(int)x/3

B.a=x%3

C.a=(x*10)%3

D.b=int(x)%3

注释:

求余运算要求参加运算的两个操作数必须都为整型数据

18.若已定义:

inta=3;语句a+=a/=2;执行后,变量a的值是(B)。

A.1

B.2

C.3

D.5

注释:

赋值运算符=的结合方向是右到左原式a+=(a/=2)->a+=1->a=2

19.下列语句中,符合C语言语法的赋值语句是(C)。

P46,P53-54

A.a=7+b+c=a+7;等价于a=(7+b+c=a+7)7+b+c=a+7是错误的

B.a=7+b++=a+7;等价于a=(7+b++=a+7)7+b++=a+7是错误的

C.a=7+b,b++,a+7;等价于a=(7+b,b++,a+7)

D.a=7=b,c=a+7;不符合第2点:

a=(7=b)

注释:

赋值表达式的语法格式:

变量名=表达式

1.左值必须是一个变量,可以指明一个确定的可存储位置。

如a+b=5是错误的;

2.右值可以是常量、变量、函数调用或任何合法的C语言表达式;

3.赋值运算符本身也是一个表达式,应有一个值,值就是左操作数的新值。

a=b=3+5等价于a=(b=3+5)

20.下列叙述正确的是(A)。

A.(int)6.0/2与6/2结果的类型一致

B.6.0/2与1/2*6.0结果一致

C.6/2与6.0/2.0结果的类型一致

D.6/2.0与6/2结果的类型一致

21.下列叙述正确的是(C)。

P47

A.表达式"3"+"4"的结果是"34"

B.若已定义:

inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算

C.强制类型转换运算的优先级高于算术运算

D.表达式'3'+'4'的结果是'7'

22.若已定义:

inta=5,b;能使变量b值为2的赋值表达式是(A)。

A.b=(a++)-3

B.b=a-(3++)

C.b=(a++)/3

D.b=(a+7.8)/4

23.若已定义:

intx=2,y=3;语句y-=x++;执行后变量x,y的值分别是(B)。

A.x为3,y为0

B.x为3,y为1

C.x为2,y为0

D.x为2,y为1

24.与右侧数学式子对应的C语言表达式是(?

)。

P303---------没有对应数学式子,但需了解pow函数的使用方法。

A.3*pow(x,n)/(2*x-1)

B.3*pow(n,x)/(2*x-1)

C.3*x^n/(2*x-1)

D.3*pow(x,n)/2*x-1

25.以下程序运行时,若从键盘输入5,则输出结果是(D)。

main()

{inta;

scanf("%d",&a);

if(a++>5)printf("%d\n",a);

elseprintf("%d\n",a--);

}

A.7

B.4

C.5

D.6

26.若已定义:

floata;拟从键盘输入数据236给变量a,应选用(B)语句。

A.scanf("%d",&a);

B.scanf("%f",&a);

C.scanf("%3d",&a);

D.scanf("%.0f",&a);

27.若已定义:

charchr;拟使用scanf()函数将键盘输入的数据赋予变量chr,无法实现的是(D)。

A.scanf("%c",&chr);

B.scanf("%d",&chr);

C.scanf("%u",&chr);

D.scanf("%e",&chr);

注释:

关于格式控制符请参看P307页的对应参考资料。

28.若已定义:

intx=10;语句printf("x=%o,x=%d\n",x,x);执行后的输出结果是(B)。

A.x=12,x=12

B.x=12,x=10

C.x=10,x=10

D.x=10,x=12

29.若有下列语句段:

charchr;

inta;

scanf("%c%d",&chr,&a);

拟从键盘将'B'和6分别赋予变量chr和a,正确的数据输入是(A)。

A.B6

B.B,6

C.6B

D.6,B

30.下列程序段的运行结果是(D)。

inta=66;

charc='A';

printf("%c+%c=%d\n",c,a,c+a);

(注:

字母'A'的ASCII值为65)

A.65+B=131

B.A+66=131

C.65+66=131

D.A+B=131

31.有以下程序:

main()

{intc;

while((c=getchar())!

='\n')

{switch(c-'2')

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

}

printf("\n");

}

当输入:

247<回车>,程序的输出结果是(B)。

A.689

B.6689

C.66778

D.66887

32.若已定义:

inta=6,b=4,c;语句c=a>b;执行后变量c的值为(C)。

A.2

B.0

C.1

D.6

33.若已定义:

inta=6,b=4,c;语句b=((c=a)>b);执行后变量c的值为(B)。

A.2

B.6

C.1

D.0

34.若已定义:

inta=2,b=1;则表达式a&&!

b的值为(B)。

A.1

B.0

C.2

D.3

35.若已定义:

inta;判断变量a值是否为偶数的是(C)。

A.a%2==1

B.!

(a%2==0)

C.!

(a%2)

D.a%2

36.若已定义:

inta=5,b=3,c=1;则表达式(c=b)&&(a-c<=b)的值是(B)。

A.1

B.0

C.3

D.2

37.以下程序运行后,a的值是(C)。

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;

}

}

A.101

B.100

C.8

D.7

38.若已定义:

inta=4;floatx=3.6;下列正确的赋值表达式是(D)。

A.a=int(x)

B.x=(float)a%x

C.x=float(a)

D.x=x/a

39.若已定义:

chara='A';intb=66;下列表达式错误的是(C)。

P25

A.a=b/a

B.a=a-b

C.a=a+B

D.b%a

注释:

C语言在内存中存放字符时是用字符数据的ASCII码值存储的。

如,字符’a’的ASCII码值为97.在ASCII码范围内的整数与字符可以通用。

一个字符可以以字符形式输出,也可以以整数形式输出。

字符数据可以参加算术运算,相当于使用其ASCII码值进行运算。

40.若已定义:

inta=5;floatb=1.5;则表达式a+b*10/3的值为(D)。

A.6

B.6.500000

C.9.500000

D.10.000000

注释:

各类型数值数据的混合运算时,系统将自动进行类型转换

自动转换原则P45图3-5

41.若已定义:

inta=3,b=5,c=2;,则表达式c+!

a

A.1

B.2

C.0

D.3

42.下列关于运算符优先级叙述错误的是(A)。

P42

A."%"取模运算符优先级最高

B.算术运算符优先级高于关系运算符

C."&&"和"!

!

"逻辑运算符优先级低于关系运算符

D."!

"逻辑非运算符高于"="赋值运算符

43.以下程序段的运行结果是(D)。

intx=3;

do{

printf("%3d,",x-=2);

}while(!

(--x));

A.1,

B.30,

C.死循环

D.1,-2

44.下列程序段的运行结果是(A)。

inta=6,b=5;

if(a>b++)

printf("True:

%d\n",++a);

else

printf("False:

%d\n",b++);

A.True:

7

B.False:

6

C.False:

5

D.True:

6

45.若已定义:

inta;语句

if(a%3)

a=0;

else

a=1;

与下列(D)语句等价。

P52

A.a=(a%3?

1:

0);

B.a=(!

(a%3)?

0:

1);

C.a%3?

0:

1;

D.a=(a%3?

0:

1);

46.若已定义inta,b,c,k;下列程序段与语句k=(a>b?

(a>c?

1:

0):

0);功能等价的是(A)。

A.if((a>b)&&(a>c))

k=1;

else

k=0;

B.if((a>b)||(a>c))

k=1;

else

k=0;

C.if(a>b)

k=0;

elseif(a>c)

k=1;

else

k=0;

D.if(a>c)

k=1;

elseif(a>b)

k=0;

else

k=0;

47.下列程序段的运行结果是(C)。

inta=6;

switch(++a)

{

case7:

printf("%d",a);

case6:

printf("%d",a++);

break;

case5:

printf("%d",a);

default:

printf("%d",a++);

}

A.8

B.7

C.77

D.78

48.下列程序段的运行结果是(D)。

intx;

if(x=3)

printf("%d\n",x++);

elseif(x>3)

printf("%d\n",x+2);

else

printf("%d\n",x+3);

A.4

B.5

C.6

D.3

49.下列程序段中,非死循环的是(A)。

A.inti=100;

while

(1)

{i=i%100+1;

if(i>=100)break;

}

B.intk=0;

do{

++k;

}while(k>=0);

C.ints=10;

while(++s%2+s%2)s++;

D.for(;;)

50.若已定义:

inta;下列语句不会产生死循环的是(C)。

A.for(a=1;;a++)

;

B.for(a=10;;)

a--;

C.for(a=10;a!

=1;)

a--;

D.for(a=10;a=1;a--)

;

51.下列程序段的运行结果是(A)。

inti,n=0;

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

{n+=2;

++i;

}

printf("%d\n",n);

A.10

B.8

C.12

D.20

52.下列程序段执行时,循环体的执行次数是(A)。

inti=7,a=0;

for(i++;i<8;i++)

a+=2;

A.0次

B.1次

C.8次

D.7次

53.下列程序段的运行结果是(A)。

P76

inti;

for(i=3;i>=1;i--)

switch(i)

{case1:

printf("%d",i);

break;

case2:

printf("%d",i);

default:

printf("%d",i);

}

A.3221

B.321

C.32211

D.3321

54.下列程序段的运行结果是(B)。

inta=0,i=1;

while(i<=10)

{if(i%3==1)

a+=i;

++i;

}

printf("%d\n",a);

A.12

B.22

C.21

D.37

55.设已定义chars[]="\"Name\\Address\023\n";,则字符串所占的字节数是(B)。

P25

A.19

B.16

C.18

D.14

56.下列叙述正确的是(A)。

A.数组中每个元素都属同一种数据类型

B.定义数组时,若不加类型说明符默认为float型P123

C.数组属于基本数据类型P21

D.定义数组后,可通过赋值运算符"="对该数组名直接赋值

57.若已定义inta[6];无法正确引用a数组元素的是(D)。

A.a[0]

B.a[3-1]

C.a[2+3]

D.a[6]

58.下列程序段执行后,a[4]元素的值为(B)。

inta[6]={6,4,2,1};

a[4]=a[1]+a[3]-a[0];

A.3

B.-1

C.1

D.2

59.下列程序段的运行结果是(C)。

inta[]={2,4,6,8,10},i;

for(i=0;i<4;i++)

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

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

printf("%d",a[i]);

A.4681010

B.4681012

C.68101210

D.68101214

60.下列程序段的运行结果是(A)。

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

for(i=0;i<6;i++)

if(i%2)

a[i]+=2;

for(i=0;i<6;i++)

printf("%d",a[i]);

A.674523

B.856341

C.876543

D.676545

61.以下程序段的运行结果是(D)。

main()

{inti=4,j;

j=i;

pic(i+2*j-2,'*');

putchar('\n');

for(j-=2;j>=0;j--)

{pic(3-j,'');

pic(i+2*j,'*');

putchar('\n');

}

}

pic(intlen,charc)

{intk;

for(k=1;k<=len;k++)putchar(c);

}

A.*

***

*****

*******

B.**********

**********

**********

**********

C.****

******

********

**********

D.**********

********

******

****

62.以下程序段运行的结果是(C)。

inta[][3]={1,2,3,4,5,6,7,8,9};

printf("%d\n",a[1][2]);

A.2

B.5

C.6

D.8

63.若有定义:

inta[3][4];则表达式&a[2][2]-a[0]的值为(D)。

P161,P157

A.4

B.6

C.7

D.10

64.若有定义:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1