2023年计算机等级二级《C语言程序设计》考试核心题库(附答案)_第1页
2023年计算机等级二级《C语言程序设计》考试核心题库(附答案)_第2页
2023年计算机等级二级《C语言程序设计》考试核心题库(附答案)_第3页
2023年计算机等级二级《C语言程序设计》考试核心题库(附答案)_第4页
2023年计算机等级二级《C语言程序设计》考试核心题库(附答案)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

2023年计算机等级二级《C语言程序设计》考试核心题库(附

答案)

一、单选题

1.下列程序段的输出结果是()。

#incIude

Intmain()

{inta=1234;

FIoatb=I23.456;

DoubIec=I2345.54321;

Printf("%2d,%2.1f,%2.1f",a,b,c);

ReturnO;)

A、无输出

Bv12,123.5,12345.5

Cv1234,123.5,12345.5

D、1234,123.4,1234.5

答案:C

2.函数返回值的类型是由()决定的。

A、调用函数时临时

B、return语句的表达式类型

C、调用该函数的主调函数类型

D、定义函数时,所指定的函数类型

答案:D

3.执行下面的程序段后,变量k的值为()。

Intk=3,s[2];

S[0]=k;k=s[1]*10;

Ax不定值

B、33

C、30

D、10

答案:A

4.C语言是一种()。

A、机器语言

B、汇编语言

C、高级语言

D、低级语言

答案:C

5.以下不构成无限循环的语句或语句组是()O

A、n=10;whiIe(n);{n―;}

Bxn=0;WhiIe(I){n++;}

C、n=0;do{++n;}whiIe(n<=0);

D、for(n=0,i=1;;i++)n+=i;

答案:A

6.sizeof(doubIe)的结果值是O。

A、8

B、4

C、2

D`出错

答案:A

7.一个C程序的执行是从()。

Ax本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序文件的第一个函数开始,到本程序main函数结束

D、本程序的main函数开始,到本程序文件的最后一个函数结束

答案:A

8.设a为整型变量,不能正确表达数学关系10

A、10

Bva=111∣a==12∣∣a=13∣∣a=14

Ga>10&;&a;<15

D、!(a<=10)&;&!(a>=15)

答案:A

9.若i=10,则执行下列程序后,变量i的值为()。

Switch(i)

{case9:i+-1;

Case1O:i+-1;

Casel1:i+=1;

Default:i+=1;

}

A、11

B、12

C、13

D、14

答案:C

10.有如下程序段:

#include"stdio.h"

Intmain()

{charc;

C=('z'-'a')∕2+'A';

Putchar(c);

ReturnO;}

输出结果为

A、M

B、N

C、0

D、Q

答案:A

11.以下叙述中不正确的是0。

A、调用printf函数时,必须要有输出项

B、使用putchar函数时,必须在之前包含头文件stdio.h

C、在C语言中,整数可以以十进制、八进制或十六进制的形式输出

D、使用putchar函数可以不要输出项

答案:A

12.已知字母A的ASCIl码为十进制数65,且C2为字符型,则执行语句"C2='A'+

'61--3'后C2中的值是()。

A、D

B、67

C、不确定的值

D、C

答案:A

13.调用getchar和putchar函数时,必须包含的头文件是()。

Axstdio.h

BxstdIib.h

Cxdefine

D、以上都不对

答案:A

14.以下for语句中,书写错误的是()。

Axfor(i=1;i<5;i++)

B、i=1;for(;i<5;i++);

Gfor(i=1;i<5;i++);

Dxfor(i=1;i<5;)i++;

答案:A

15.若有说明\^^[3][4];”,则2数组元素的非法引用是()。

Ava[0][2*1]

B、a[1][3]

C、a[4-2][0]

D、a[0][4]

答案:D

16.一个C源程序文件中所定义的全局变量,其作用域是()。

A、由具体定义位置和extern说明来决定

B、所在程序的全部范围

C、所在函数的全部范围

D、所在文件的全部范围

答案:A

17.设a=3,b=4,c=5,则表达式!(a›b)&&!Clil的结果是()。

A、1

B、0

C、2

D、4

答案:A

18.有定义语句:inta=5,b;不能给b赋2的赋值语句是()。

A、b=a∕2;

B、b=b+2;

C、b=2%a;

D、b=5;b=2;

答案:B

19.以下选项中不是C语句的是()。

Ax++t

Bvk=i=j;

Cx{a∕=b=1;b=a%2;}

答案:A

20.对以下说明语句,理解正确的是()。

Inta[10]={6,7,8,9,10);

Av将5个初值依次赋给a[1]到a[5]

B、将5个初值依次赋给a[0]到a[4]

G将5个初值依次赋给a[6]到a[10]

D、因为数组长度与初值的个数不相同,所以此语句不正确

答案:C

21.有以下程序:

#incIude

Intmain()

(

Unsigneda=32768;intb;

B=a;

Printf("b=%d∖n",b);

ReturnO;

)

程序运行的结果是

Avb=32768

B、b=32767

C、b=-32768

D、b=7

答案:D

22.以下叙述中正确的是()。

A、函数名允许用数字开头

B、函数调用时,不必区分函数名称的大小写

C、调用函数时,函数名必须与被调用的函数名完全一致

Dx在函数体中只能出现一次return语句

答案:C

23.putchar()函数可以向终端输出一个()。

A、整型变量表达式值

B、实型变量值

C、字符串

D、字符或字符型变量

答案:D

24.使用scanf("a=%d,b=%d",&a,&b)为变量a和b赋值。要使a和b均为50,正

确的输入是()。

Ava=50b=50

Bv5050

C∖8—50,b—50

D、50,50

答案:C

25.字符串“ABC"在内存中占用的字节数是()。

A、3

B、4

C、6

D、8

答案:B

26.以下叙述不正确的是()。

A、一个C源程序必须包含一个main函数

B、一个C源程序可由一个或多个函数组成

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

答案:D

27.设a=1,b=2,c=3,d=4,则表达式a

A、4

B、3

C、2

D、1

答案:C

28.若有说明语句"charc='∖721;",则变量C在内存中占用的字节数是()。

A、1

B、2

C、3

D、4

答案:A

29.有如下函数定义:

#incIude

lntfun(intk)

{if(k<1)returnθ;

Elseif(k-1)return1;

EIsereturnfun(k-1)+1;

}

若执行调用语句“n=fun(3);",则函数fun总共被调用的次数是

A、1

B、2

C、3

D、5

答案:C

30.下面程序的输出结果是()

#incIude

Intmain()

Int×=7,y=3;

Printf("%d",y=x∕y);

ReturnO;

}

A、0

B、2

C、3

D、不确定的值

答案:B

31.下面叙述正确的是()。

A、两个字符串所包含的字符个数相同时,才能比较字符串

B、字符个数多的字符串比字符个数少的字符串大

G字符串"STOP"与"STOP"相等

D、字符串“That"小于字符串“The"

答案:D

32.下列不正确的转义字符是()。

A、W

B、\,

C、074

D、\0

答案:C

33.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。

A、函数的形参和实参分别占用不同的存储单元

B、形参只是形式上存在,不占用具体存储单元

C、同名的实参和形参占同一存储单元

D、函数的实参和其对应的形参共占同一存储单元

答案:A

34.j已定义为int类型,则以下程序段中内循环体的执行次数是()。

For(i=5;i;i—)

For(j-0;j<4;j++){■■■}

A、20

B、24

C、25

D、30

答案:A

35.已有定义“inta=-2;”和输出语句“printf("%81x",a);",以下正确的叙述

是()。

A、整型变量的输出形式只有%d一种

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

C、%x是格式符的一种,其变量的值按十六进制输出,但%81X是错误的

D、%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

答案:C

36.若已定义X和y为doubIe类型,则表达式x=1,y=x+3∕2的值是()o

A、1

B、2

C、2.0

D、2.5

答案:C

37.以下语句的输出结果是()。

Printf("%d∖n",'A'-51);

A、5

B、14

C、8

D、输出项不合法,无法正常输出

答案:B

38.当整型变量X为大于1的奇数时,值为0的表达式是()0

Axx%2==0

B、×∕2

Cvx%2!=0

D、x%2==1

答案:A

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

Ax在SWitCh语句中不一定有break语句

B、在SWiteh语句中必须使用default语句

Cxbreak语句必须与switch语句中的case配对使用

D、break语句只能用于SWitCh语句

答案:A

40.以下关于函数参数传递方式的叙述正确的是()。

A、数据只能从实参单向传递给形参

B、数据可以在实参和形参之间双向传递

C、数据只能从形参单向传递给实参

D、函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,

可视情况选择使用

答案:A

41.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A、整型常量

B、整型表达式

C、整型常量或整型表达式

D、任何类型的表达式

答案:C

42.若变量已正确说明为float型,要通过语句uscanf("%f%f%f",&a,&b,&c)

给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是()。

A、102233

B、10.0,22.0,33.0

G10.022.033.0

D、102233

答案:B

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

A、C程序中的每条语句都用一个分号作为结束符

B、C程序中的每条命令都用一个分号作为结束符

C、C程序中的变量必须先定义,后使用

D、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写

答案:B

44.下面程序段的输出结果是()。

#incIude

Intmain()

{intk,a[3][3]={1,2,3,4,5,6,7,8.9};

For(k=0*<3*++)

Printf("%d",a[k][2-k]);

ReturnO;}

A、357

B、369

Cv159

D、147

答案:A

45.用getchar()函数可以从键盘读入一个0。

A、整型变量表达式值

B、实型变量值

G字符串

D、字符或字符型变量

答案:D

46.若有代数式,则不正确的C语言表达式是()。

Axa∕b∕c*e*3

Bx3*a*e∕b∕c

G3*a*e∕b*c

Dxa*e∕c∕b*3

答案:C

47.以下不能对一维数组a进行正确初始化的语句是Oo

A、inta[10]={0,0,0,0,0};

Bvinta[10]={};

Ginta[]={O};

Dvinta[10]={10*1);

答案:B

48.以下选项中,不正确的C语言浮点型常量是()。

A、160.

B、0.12

C、2e4.2

D、0.0

答案:C

49.以下能对二维数组a进行正确初始化的语句是Oo

Avinta[2][]={{1,0.1},{5,2.3}};

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

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

Dvinta[][3]={{1,0.1},{},{1,1;

答案:B

50.若有说明"inta[][4]={0,0};",则下面不正确的叙述是()。

A、数组a的每个元素都可得到初值0

B、二维数组a的第一维大小为1

C、当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大

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

答案:A

51.在C语言中,字符型数据在计算机内存中,以字符的()形式存储。

A、原码

B、反码

GASCII码

D、BCD码

答案:C

52.已知intx=023,表达式++x的值是()。

A、17

B、18

C、19

D、20

答案:D

53.有以下程序段,其运行结果是()。

Inty=9;

For(;y>0;y-)

If(y%3^0)printf("%d",-y);

A、875421

B、963

Cv852

D、741

答案:C

54.现有以下程序段:

#incIude

Intmain()

{int

A,b.c;

Scanf("a=%*d%d,b≡%d%*d,c=%d",&a,&b,&c);

Printf(',a=%d,b=&d,c-%d∖nπ,a,b,c);

ReturnO;

)

若输出的结果为“a=20,b=30,c=40",则以下能够正确输入数据的是

A、a=1020,b=2030,c=40

B、20,30,40

C∖3—20,b—30,c—40

Dxa=1020,b=3020,c=40

答案:D

55.若变量x、i、j和k都是int型变量,则计算下面表达式后,x的值是()。

X=(i=4,j=16,k=32)

A、4

B、16

C、32

D、52

答案:C

56.下列各项中,不是C语言特点的是()。

A、语言简洁、紧凑,使用方便

B、数据类型丰富,可移植性好

C、能实现汇编语言的大部分功能

D、有较强的网络操作功能

答案:D

57."inta=2;WhiIe(a=0)a-;"该循环共执行了()次。

A、0

B、1

C、2

D、3

答案:A

58.设有数组定义“chararr["'China";",则数组arr所占空间为()。

A、4个字节

B、5个字节

C、6个字节

D、7个字节

答案:C

59.()语句,在循环条件初次判断为假,还会执行一次循环体。

Axfor

B、while

Gdo-whiIe

D、以上都不是

答案:C

60.下列运算符中优先级最低的是0。

A、?:

B、&&

C、+

Dv!二

答案:A

61.已知int×=10,表达式x+=χ-=χ-χ的值是()。

A、10

B、40

C、30

D、20

答案:D

62.能正确表示a和b同时为正或同时为负的逻辑表达式是()。

A、(a>=0∣|b>=0)&;&(a<0|∣b<0)

Bv(a>=0⅛;&b;>=0)&;&(a<0&;&b;<0)

C、(a+b>O)&;&(a+b〈=O)

D、a*b>O

答案:D

63."for(i=1;i<9;i+=1);"循环共执行了()次。

A、7

B、8

C、9

D、10

答案:B

64.下列运算符中优先级最高的是()。

A、!

B、==

C、+

D、>

答案:A

65.执行完循环"for(i=1;i〈100;i++);"后,i的值为()。

A、99

B、100

C、101

D、102

答案:B

66.以下合法的标识符是

A、int

B、_a12

Cx3ce

Dxstu#

答案:B

67.C语言中,要求运算对象只能为整数的运算符是()O

A、%

B、/

C、>

D、*

答案:A

68.一个C程序总是从()开始执行的。

Axmain函数

B、文件中的第一个函数

C、文件中的第一个子函数调用

D、文件中的第一条语句

答案:A

69.有以下程序段,其运行结果是()。

Inti,j;

For(i=3;i>=1;i—)

{for(j=1;j<=2;j++)

Printf("%d",i+j);

Printf("∖n");)

A、234

B、432

C、23

D、45

答案:D

70.以下选项中,()是不正确的C语言字符型常量。

A、'a'

B、'∖×41'

C、'∖101'

D、"a"

答案:D

71.在一个C程序中,下列说法正确的是()。

A、main函数必须出现在所有函数之前

B、main函数可以出现在其他函数之外的任何位置

C、main函数必须出现在所有函数之后

D、main函数必须出现在固定位置

答案:B

72.要为字符型变量a赋初值,下列语句中哪一个是正确的()。

AvChara="3";

Bxchara='3,;

C∖Chara二%;

Dxchara=*;

答案:B

73.有以下定义:

Voidfun(intn,doubIex){...}

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是

Axfun(intx,doubIen);

Bxm=fun(10,12.5);

C、fun(10,12.5);

Dxvoidfun(n,x);

答案:C

74.设有语句“inta=3;",则执行了语句"a+=a-=a*=a;"后,变量a的值是Qo

A、3

B、0

C、9

D、-12

答案:B

75.以下用户标识符中,合法的是()O

Axint

Bxnit

C、123

Dxa+b

答案:B

76.有以下程序段,其运行结果是()。

Inti=5;

Do{

If(i%3==1)

If(i%5==2)

{printf("*%d",i);

Break;}

I++;

}while(i!=0);

Ax*2*6

B、*7

C、*5

Dv*3*5

答案:B

77.若有以下语句,则正确的描述是()。

Chara[]="toyou";

Charb[]={'t','o',"y','o','u'!;

A、a数组和b数组的长度相同

B、a数组长度小于b数组长度

C、a数组长度大于b数组长度

D、a数组等价于b数组

答案:C

78.表达式18∕4*sqrt(4.0)/8值的数据类型是()。

A、int

BvfIoat

CxdoubIe

D、不确定

答案:C

79.已知intx=7,y=3;表达式x/y的值是()o

A、1

B、2

Cv2.333333

D、2.33

答案:B

填空题(总共7题)

Lscanf()函数语句的“格式控制字符串”和“地址表列”用分开。

答案:逗号;

2.已知a=3,b=-4,c=5,表达式(a&&b)==(a∣∣c)的值是0

答案:1;

3.设a为float型变量,输入宽度为6,小数占2位,正确的scanf()函数语句是

________O

答案:scanf("%6.2F',&a);

4.getchar0函数得到的字符可以赋给一个—变量或一个—

答案:字符;整型;

5.SCanf()函数是一个标准库函数,它的函数原型在头文件—。

答案:stdio.h;

6.已知a=7.5,b=2,c=3.6,表达式a>b&;&c;>a|∣ab的值是0

答案:0;

7.使用getchar()函数接收字符,若输入多于一个字符时,只接收个—字符。

答案:1个;

简答题

1.C语言中的三目运算符是—0

答案:?:;

2.C程序一般由若干个函数构成,程序中应至少包含一个—,其名称只能为—

_O

答案:main。函数;main0;

3.用冒泡法对10个整数进行由小到大排序

答案:

#include

intmain()

(

inti,j,t,a[10];

printf("input1Onumbers:");

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

scanf("%d",&a[i]);

printf("∖n");

∕*冒泡排序*/

for(iɪθ;i<9;i++)〃9轮比较与交换

for(j=0;j<9-i;j++)

if(a[j]>a[j+1])

(

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("thesortednumbers:");//输出排序结果

for(j=0;j<10;j++)

printf("%5d",a[j]);

printf("∖n");

returnθ;

)

4.C语言中,数值常量59、0123、0x9f对应的十进制分别为—、―`—

O

答案:59;83;159;

5.若m是一个三位数,则从左到右表示各位上的数字的表达式,百位数为一,十

位数为—,个位数为—o

答案:m/100;(m∕10)%10;m%10;

6.C语言的程序模块称为—0

答案:函数;

7.使用函数的递归调用求解FibonaCCi数列。

答案:

#incIude

Intf(intn);

Intmain()

{

Inta;

Scanf("%d",&a);

Printf("%d∖n",f(a));

ReturnO;

}

Intf(intn)

If(n==1∣∣n-2)

Returnl;

Else

Return(f(n-1)+f(n-2));

}

8.C语言规定,标识符只能由—三种字符组成,而且第一个字母必须是—O

答案:字母'数字'下划线;字母、下划线;

9.计算机编程语言分成一、—`—三大类。C语言诞生于一年,1983年,

美国制定的C语言标准为—,1999年由ISO/1EC发布的C语言标准为—0

答案:机器语言;汇编语言;高级语言;1972;ANSIC;C99;

10.“Printf("%4s","China");”输出结果是__o

答案:China;

11.C程序中一行内可写多条语句,一个语句可写在多行上,但每条语句必须以—

_结

温馨提示

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

评论

0/150

提交评论