c语言基础知识入门单选题100道及答案_第1页
c语言基础知识入门单选题100道及答案_第2页
c语言基础知识入门单选题100道及答案_第3页
c语言基础知识入门单选题100道及答案_第4页
c语言基础知识入门单选题100道及答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

c语言基础知识入门单选题100道及答案

1.以下哪个是C语言合法的标识符?

A.2variable

B.variable2

C."variable

D.-variable

答案:B

解析:C语言标识符只能由字母、数字和下划线组成,且不能以数字开头。A以数字开头,

C包含非法字符*,D包含非法字符-。

2.若有定义inta=5;,则执行语句a+=3;后,a的值为?

A.5

B.3

C.8

D.2

答案:C

解析:a+=3等价于a=a+3,a原本为5,加3后为8。

3.以下哪种数据类型在C语言中用于存储字符?

A.int

B.float

C.char

D.double

答案:C

解析:char类型用于存储单个字符,int用于整数,float和double用于浮点数。

4.表达式3+5*2的结果是?

A.16

B.13

C.8

D.10

答案:B

解析:根据运算符优先级,先算乘法5*2=10,再算加法3+10=13。

5.若有定义intb=10;.则执行语句h--;后,b的值为?

A.10

B.11

C.9

D.8

答案:C

解析:b--是自减运算符,执行后b的值减1,10减1为9。

6.以下哪个是C语言中正确的注释方式?

A.//这是注释

B./*这是注释

C.<!-这是注释

D.#这是注释

答案:A

解析•://是C语言的单行注释,/**/是多行注释,<!・--->是HTML注释,#是Pylhon等

语言的注释。

7.若有定义intc[5]={l,2,3,4,5};,则c⑵的值为?

A.1

B.2

C.3

D.4

答案:C

解析:数组下标从0开始,c[2]表示数组中笫3个元素,值为3。

8.以下哪个是C语言中的逻辑与运算符?

A.||

B.&&

C.!

D.八

答案:B

解析:&&是逻辑与运算符,||是逻辑或运算符,!是逻辑非运算符,人是按位异或运算符。

9.若有定义intd=7;,则表达式d%2的结果是?

A.0

B.1

C.3

D.7

答案:B

解析:%是取模运算符,7除以2的余数是1。

10.以下哪种循环结构在执行循环体前先判断条件?

A.for循环

B.do-while循环

C.没有这种循环

D.以上都不对

答案:A

解析:for循环和while循环在执行循环体前先判断条件,do-while循环先执行循环体再判断

条件。

11.若有定义inte=10,f=20;,则执行语句e=f;后,e的值为?

A.10

B.20

C.30

D.0

答案:B

解析:将f的值赋给e,f为20,所以e变为20。

12.以下哪个函数用于输出数据到控制台?

A.scanf()

B.getchar()

C.putchar()

D.printf()

答橐:D

解析:printf()用于格式化输出数据到控制台,scanf()用于输入,getchar()用于获取单个字

符,putchar。用于输出单个字符。

13.若有定义charg=7V;,则g在内存中存储的是?

A.'A'

B.65

C.'"

D.97

答案:B

解析:字符在内存中以ASCII码值存储,A的ASCII码值是65。

14.表达式10/3的结果是?

A.3.3333

B.3

C.4

D.3.0

答案:B

解析:两个整数相除,结果为整数,10除以3商为3。

15.若有定义inth[3][2]={{l,2},{3,4},{5,6}};,则的值为?

A.3

B.4

C.5

D.6

答案:B

解析:二维数组h中,表示第2行第2列的元素,值为4。

16.以下哪个是C语言中的位与运算符?

A.|

B.&

C.〜

D.A

答案:B

解析:&是位与运算符,|是位或运算符,~是按位取反运算符,八是按位异或运算符。

17.若有定义inti=5;,则执行语句i*=2;后,i的值为?

A.5

B.2

C.10

D.7

答案:C

解析:i*=2等价于i=i*2,5乘以2为10。

18.以下哪种情况会导致for循环无限执行?

A.for(;;)

B.for(intj=0;j<10;j++)

C.for(intk=10;k>0;k-)

D.for(int1=0;I<0;I++)

答案:A

解析:for(;;)没有循环条件和更新语句,会无限执行。

19.若有定义floatm=3.14;,则表达式(int)m的结果是?

A.3.14

B.3

C.4

D.3.0

答案:B

解析:(ini)是强制类型转换,将floal类型的m转换为int类型,舍去小数部分,结果为3。

20.以下哪个函数用于从控制台读取一个字符?

A.printf()

B.scanf()

C.getchar()

D.putchar()

答案:c

解析:getcharO用于从控制台读取一个字符,printf()用于输出,scanf()用于格式化输入,

putchar()用于输出单个字符。

21.若有定义intn=8;,则表达式n»1的结果是?

A.4

B.8

C.16

D.2

答案:A

解析:>>是右移运算符,n»1相当于n除以2,8右移1位为4。

22.以下哪个是C语言中的逻辑或运算符?

A.&&

B.||

C.!

D.八

答案:B

前析:II是逻辑或运算符,&&是逻辑与运算符,!是逻辑非运算符,八是按位异或运算符。

23.若有定义into[4]={0};,则数组。中所有元素的值为?

A.都为0

B.随机值

C.都为1

D.第一个元素为0,其余为随机值

答案:A

解析:定义数组时初始化为(0},则数组所有元素都初始化为0。

24.表达式5+2*(3-1)的结果是?

A.9

B.10

C.7

D.8

答案:A

解析:先算括号内3・1二2,再算乘法2*2=4,最后算加法5+4=9。

25.若有定义intp=15;,则执行语句p/=3;后,p的值为?

A.15

B.3

C.5

D.45

答案:C

解析:p/=3等价于p=p/3,15除以3为5。

26.以下哪种数据类型可以存储小数?

A.int

B.char

C.float

D.以上都不能

答案:C

解析:float类型可以存储单精度浮点数,即小数,血存储整数,char存储字符。

27.若有定义charq=,";,则表达式q-32的结果是?

A.'A'

B/a'

C.97

D.65

答案:A

解析:小写字母和大写字母ASCII码值相差32,才减32得到A。

28.以下哪个是C语言中的按位取反运算符?

A.&

B.I

C.~

D.八

答案:C

解析:〜是按位取反运算符,&是位与运算符,|是位或运算符,人是按位异或运算符。

29.若有定义intr⑵[3]={{1,2,3},{4,5,6}};,则r[0]⑵的值为?

A.1

B.2

C.3

D.4

答案:C

解析:二维数组r中,r[0][2]表示第1行第3列的元素,值为3。

30.表达式12%5的结果是?

A.0

B.1

C.2

D.3

答案:D

解析:%是取模运算符,12除以5的余数是2。

31.若有定义ints=6;,则执行语句s++;后,s的值为?

A.6

B.7

C.5

D.8

答案:B

解析:s++是自增运算符,执行后s的值加1,6加1为7。

32.以下哪个函数用于格式化输入数据?

A.printf()

B.scanf()

C.getchar()

D.putchar()

答案:B

解析:scanf()用于格式化输入数据,printf()用于输出,getchar。用于获取单个字符,putchar()

用于输出单个字符。

33.若有定义floatt=5.6;,则表达式(int)t+1的结果是?

A.6.6

B.6

C.7

D.5

答案:B

解析:先将float类型的t强制转换为int类型得到5,再加1为6o

34.以下哪种循环结构至少会执行一次循环体?

A.for循环

B.while循环

C.do-while循环

D.以上都不对

答案:C

解析:do-while循环先执行循环体再判断条件,所以至少执行一次。

35.若有定义intu=9;,则表达式u&5的结果是?

A.1

B.0

C.5

D.9

答案:C

解析:按位与运算,9的二进制是1001,5的二进制是0101,按位与结果是0101,即5。

36.以下哪个是C语言中的条件运算符?

A.?:

B.&&

C.||

D.!

答案:A

解析:?:是条件运算符,格式为条件?表达式1:表达式2,&&是逻辑与,||是逻辑或,!

是逻辑非。

37.若有定义intv[5];,则数组v的第一个元素是?

A.v[0]

B.v[l]

C.v[2]

D.v|5|

答案:A

解析:数组下标从0开始,第一个元素是v[0]。

38.表达式4+3*2/2的结果是?

A.7

B.5

C.6

D.8

答案:A

解析:先算乘法3*2=6,再算除法6/2=3,最后算加法4+3=7。

39.若有定义intw=12;,则执行语句w-=4:后,w的值为?

A.12

B.4

C.8

D.16

答案:C

解析:w-=4等价于w=w-4,12减4为8。

40.以下哪种数据类型可以存储布尔值?

A.int

B.char

C.没有专门类型,用0和非0表示

D.float

答案:c

解析•:C语言没有专门的布尔类型,用0表示假,非。表示真。

41.若有定义charx=Z;,则表达式x+32的结果是?

A.2

B.'Z'

C.90

D.122

答案:A

量析:大写字母和小写字母ASCII码值相差32,Z加32得到2:

42.以下哪个是C语言中的按位异或运算符?

A.&

B.I

C.~

DI

答案:D

解析:人是按位异或运算符,&是位与运算符,|是位或运算符,~是按位取反运算符。

43.若有定义inty[3][3]={{l,2,3},{4,5,6},{7,8,9}};,则y⑵⑴的值为?

A.7

B.8

C.9

D.6

答案:B

解析:二维数组y中,表示第3行第2列的元素,值为8。

44.表达式15/4的结果是?

A.3.75

B.3

C.4

D.3.0

答案:B

解析:两个整数相除,结果为整数,15除以4商为3。

45.若有定义intz=7;,则执行语句z*=3;后,z的值为?

A.7

B.3

C.21

D.10

答案:C

解析:z*=3等价于z=z*3,7乘以3为21。

46.以下哪个函数用于输出单个字符?

A.printf()

B.scanf()

C.getchar()

D.putchar()

答案:D

解析:putchar()用于输出单个字符,printf()用于格式化输出,scanf()用于格式化输入,

getchar()用于获取单个字符。

47.若有定义floataa=4.8;,则表达式(int)aa*2的结果是?

A.9.6

B.9

C.10

D.8

答案:D

解析:先将float类型的aa强制转换为血类型得到4,再乘以2为8。

48.以下哪种循环结构适合已知循环次数的情况?

A.for循环

B.while循环

C.do-while循环

D.以上都不对

答案:A

解析:for循环通常用于已知循环次数的情况。

49.若有定义intab=10;,则表达式ab|3的结果是?

A.1

B.0

C.11

D.10

答案:C

解析•:按位或运算,10的二进制是1010,3的二进制是0011,按位或结果是1011,即11。

50.以下哪个是C语言中的逗号运算符?

A.,

B.;

C.:

D..

答案:A

解析;,是逗号运算符,用于连接多个表达式。

51.若有定义intac[4];,则数组ac可存储的元素个数是?

A.3

B.4

C.5

D.不确定

答案;B

解析:定义数组时指定的大小为4,可存储4个元素。

52.表达式2+4*(6-3)的结果是?

A.14

B.12

C.10

D.16

答案:A

解析:先算括号内6-3二3,再算乘法4*3=12,最后算加法2+12=14c

53.若有定义intad=18;,则执行语句ad/=6;后,ad的值为?

A.18

B.6

C.3

D.12

答案:C

解析:ad/=6等价于ad=ad/6,18除以6为3。

54.以下哪种数据类型占用内存最小?

A.int

B.char

C.float

D.double

答案:B

解析:char类型通常占用1个字节内存,int一般占用4个字节,float占用4个字节,double

占用8个字节,所以char占用内存最小。

55.若有定义charae=F;,则表达式ae-'A'的结果是?

A.F

B.'A'

C.5

D.6

答案:C

解析:字符相减实际是其ASCII码值相减,F的ASCII码值减去4的ASCII码值为5。

56.以下哪个是C语言中的左移运算符?

A.»

B.«

C.~

D.A

答案:B

解析:<<是左移运算符,>>是右移运算符,〜是按位取反运算符,人是按位异或运算符。

57.若有定义intaf[2]⑷={{1,2,3,4},{5,6,7,8}};,则的值为?

A.5

B.6

C.7

D.8

答案:D

解析:二维数组af中,表示第2行第4列的元素,值为8。

58.表达式17%3的结果是?

A.0

B.1

C.2

D.3

答案:C

解析:%是取模运算符,17除以3的余数是2。

59.若有定义intag=11;,则执行语句ag++;后,ag的值为?

A.11

B.12

C.10

D.13

答案:B

解析:ag++是自增运算符,执行后ag的值加1,11加1为12。

60.以下哪个函数用于获取用户输入的字符串?

A.prinlfO

B.scanf()

C.gets()(不推荐使用,有安全风险)

D.putchar()

答案:c

解析:gets()用于获取用户输入的字符串,printfo用于输出,scanf()用于格式化输入但处

理字符串有局限,putchar。用于输出单个字符。

61.若有定义floatah=3.9;,则表达式(int)ah+2的结果是?

A.5.9

B.5

C.6

D.3

答案:B

解析:先将float类型的ah强制转换为int类型得到3,再加2为5。

62.以下哪种循环结构可以在循环体中提前结束循环?

A.for循环

B.while循环

C.do-while循环

D.以上都可以,使用break语句

答案:D

解析:在for、while>do-while循环中都可以使用break语句提前结束循环。

63.若有定义intai=13;,则表达式ai&7的结果是?

A.1

B.0

C.5

D.13

答案:C

解析:按位与运算,13的二进制是1101,7的二进制是0111,按位与结果是0101,即5。

64.以下哪个是C语言中的逻辑非运算符?

A.&&

B.||

C.!

D.八

答案:C

解析:!是逻辑非运算符,&&是逻辑与运算符,||是逻辑或运算符,八是按位异或运算符。

65.若有定义intaj[6];,则数组aj的最后一个元素是?

A.aj[O]

B.aj[5]

C.aj|6]

D.以上都不对

答案:B

解析:数组下标从0开始,长度为6的数组最后一个元素下标是5,即aj[5]。

66.表达式3I5*(2-1)的结果是?

A.8

B.10

C.7

D.6

答案:A

解析:先算括号内2・1二1,再算乘法5*1=5,最后算加法3+5=8。

67.若有定义intak=20;,则执行语句ak-=5;后,ak的值为?

A.20

B.5

C.15

D.25

答案:C

解析:ak-=5等价于ak=ak-5,20减5为15。

68.以下哪种数据类型用于存储双精度浮点数?

A.int

B.float

C.double

D.char

答案:C

解析:double类型用于存储双精度浮点数,int存储整数,float存储单精度浮点数,char存

储字符。

69.若有定义charal则表达式al-32的结果是?

A.'M,

B.'m'

C.109

D.77

答案:A

解析:小写字母和大写字母ASCII码值相差32,'m,减32得到Ml

70.以下哪个是C语言中的按位或运算符?

A.&

B.I

C.~

D.八

答案:B

解析:I是按位或运算符,&是位与运算符,~是按位取反运算符,八是按位异或运算符。

71.若有定义intam[3][2]={{10,20},{30,40},{50,60}};,则am⑵⑼的值为?

A.10

B.30

C.50

D.60

答案:C

解析:二维数组am中,am⑵[0]表示第3行第1列的元素,值为50。

72.表达式20/6的结果是?

A.3.3333

B.3

C.4

D.3.0

答案:B

解析:两个整数相除,结果为整数,20除以6商为3。

73.若有定义intan=9;,则执行语句an*=4;后,an的值为?

A.9

B.4

C.36

D.13

答案:C

解析:an*=4等价于an=an*4,9乘以4为36。

74.以下哪个函数用于格式化输出字符串?

A.printf()

B.scanf()

C.gets()

D.puts()

答案:A

解析:prinlfO用于格式化输出字符串,scanf()用于格式化输入,gets()用于获取字符串,

puts()用于输出字符串并换行。

75.若有定义floatao=7.2;,则表达式(int)ao*3的结果是?

A.21.6

B.21

C.22

D.7

答案:B

解析:先将floal类型的ao强制转换为血类型得到7,再乘以3为21。

76.以下哪种循环结构可以在循环体中跳过本次循环?

A.for循环

B.while循环

C.do-while循环

D.以上都可以,使用continue语句

答案:D

解析:在for、while>do-while循环中都可以使用continue语句跳过本次循环。

77.若有定义intap=14;,则表达式ap|2的结果是?

A.1

B.0

C.14

D.16

答案:C

解析:按位或运算,14的二进制是1110,2的二进制是0010,按位或结果是1110,即14。

78.以下哪个是C语言中的条件判断语句?

A.if

B.for

C.while

D.do-while

答案:A

解析:if语句用于条件判断,for、while、do-while用于循环。

79.若有定义intaq[5];,则数组叫的元素下标范围是?

A.0-4

B.1-5

C.0-5

D.不确定

答案:A

解析:数组下标从0开始,长度为5的数组下标范围是0到4。

80.表达式4+6*(3-2)的结果是?

A.10

B.12

C.8

D.14

答案:A

解析:先算括号内3-2=1,再算乘法6*1=6,最后算加法4+6=10。

81.若有定义intar=25;,则执行语句ar/=5;后,ar的值为?

A.25

B.5

C.30

D.20

答案:B

解析:ar/=5等价于ar=ar/5,25除以5为5。

82.以下哪种数据类型可以存储整数和小数?

A.int

B.float

C.char

D.没有这种类型

答案:B

解析:float类型可以存储单精度浮点数,包含整数和小数部分,int只能存储整数,char存

储字符。

83.若有定义charas='P';,则表达式as+32的结果是?

A.'p'

B.P

C.80

D.112

答案:A

解析:大写字母和小写字母ASCH码值相差32,P加32得到口。

84.以下呱个是C语言中的右移运算符?

A.»

B.«

C.〜

D.八

答案:A

觥析:>>是右移运算符,<<是左移运算符,~是按位取反运算符,八是按位异或运算符。

85.若有定义intat[2][3]={{l1,22,33},{44,55,66}};,则at⑼⑴的值为?

A.11

B.22

C.33

D.44

答案:B

解析:二维数组al中,表示第1行第2列的元素,值为22。

86.表达式23%4的结果是?

A.0

B.1

C.2

D.3

答案:D

解析:%是取模运算符,23除以4的余数是3。

87.若有定义intau=16;,则执行语句au++;后,au的值为?

A.16

B.17

C.15

D.18

答案:B

解析:au++是自增运算符,执行后au的值加1,16加1为17。

88.以下哪个函数用于输出字符串并换行?

A.printf()

B.scanf()

C.gets()

D.puts()

答戴D

解析:puts()用于输出字符串并换行,printf()用于格式化输出,scanf()用于格式化输入,

gets()用于获取字符串。

89.若有定义floatav=6.7;,则表达式(int)av+4的结果是?

A.10.7

B.10

C.11

D.6

答案:B

解析:先将float类型的av强制转换为int类型得到6,再加4为10。

90.以下哪种循环结构在循环体结束后判断条件?

A.for循环

B.while循环

C.do-whilc循环

D.以上都不对

答案:C

解析•:d。-while循环先执行循环体,再判断条件。

91.若有定

温馨提示

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

评论

0/150

提交评论