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

下载本文档

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

文档简介

C语言课后练习题答案详解

第一章C语言基础知识

1.1选择题

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

A、语言简洁紧凑

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

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

D、C语言移植性好

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

A.abclB.no.1C.123D.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

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

字符常量'\10V是。

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

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

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

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

A."F"B/\\一C/旷D.一

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

A.10110BB.038C.OXffaD.x2a2

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

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

C.longdo=0xfdaL;D.float_and=l-e-3;

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

A.9*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.10J203ABC

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;

}

CUP.EDU.CN目录

第一单元程序设计和C语

.........................1第二单元顺序程序设

计...............................................

................................第三单元分支程序

计...............................................

................................笫四单兀循环程序

计...............................................

.......................1第五单元数

组...............................................

.........................................第六单元

数..................................................

针...............................................

.........................................第八单元

结构体和共用

体...............................................

...........................第九单元文

件...............................................

♦.♦.♦♦.♦♦.♦♦.♦♦.♦♦♦♦♦.♦♦.♦♦.♦♦.♦♦.♦♦.♦♦.♦♦Iw寸力口

题...............................................

模拟试卷

10模拟试卷

11模拟试卷

118

第一单元程序设计和C语言

一、选择题

1.C语言的基本构成单位是:。A.函数

B.函数和过程

C.超文本过程

D.子程序

2.一个C语言程序总是从开始执行。A.主过程B.

主函数C.子程序D.主程序3.C语言的程序一行写不下时,

可以。A.用逗号换行

B.用分号换行

C.在任意一空格处换行

D.用回车符换行

4.以下叙述不正确的是:。

A.在C程序中,语句之间必须要用分号〃;〃分隔

B.若a是实型变量,C程序中a=10是正确的,因为实

型变量中允许存放整型数C.在C程序中,无论是整数还是

实数都能正确无误地表示D.在C程序中,%是只能用于整

数运算的运算符.以下不正确的C语言标识符是。

A.ABCB.abcC.a_bcD.ab.c.下列字符串是标

识符的是:。A._町

B._student

C.long

D.LINE1

7.以下说法中正确的是:。

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

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

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

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

分.不合法的常量是:。A.?\2?

B.〃〃

C.?3?

D.?\483?

9.已知各变量的类型说明如下,则以下不符合C语

言语法的表达式是:。

intk,a,b;

unsignedlongw=5;doublex=l.422;

A.x%10.

B.w+=-2

C.k=

D.a+=a=+*

在C语言中,字符型数据在内存中以形式存放。

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

11.

若有定义:inta=7;floatx=2.5;y=4.7;

B..750000

C..500000

D.0.000000

则表达式x+a%3*%2/4的值是:。A..50000012.

设有说明:charw;intx;floaty;doublez;

B.char

C.int

D.double

则表达式w*x+z-y值的数据类型为:。A.float

13.14.

以下是不正确的转义字符。

B.'\'

C.'081'

D.'\0'

若x为int型变量,则执行以下语句后,x的值为。

x=6;x+=x-=x*x;

B,-60

C.0

D.-24

字符串〃\\\〃ABC\〃\\〃的长度是。

A.5\V

A.6

15.二、填空题

A.11B.C.D.

1.一个函数由两部分组成,它们是和O.一个C

源程序至少包含一个,即。.设inta=12;则表达式a/=a+a

的值是。

4.表达式x二和表达式x二a=3,6*2分别是表达式和表

达式,

和O

5.在C语言中,实数有两种表示形式,即和。.在C

语言中,运算符的优先级最小的是运算符。

两个表达式执行完的结果分别是和,x值分别是

第二单元顺序程序设计

一、选择题

1.若m为float型变量,则执行以下语句后的输出

ni=1234.123;

printf;printf;

A.1234.12B.1234.12C.1234.ID.

-1234.1231234.1231234.11234.123001234.123

2.若x,y,z均为int型变量,则执行以下语句后的输

出为。

x=+5)-5;

printf;y=;

printf;

B.X=10,Y=10,Z=10X=0,Y=10,Z=10D.

X=10,Y=10,Z=10

X=0,Y=10,Z=0

A.X=10,Y=15,Z=10X=0,Y=10,Z=0C.

X=10,Y=15,Z=10

X=10,Y=10,Z=0

3.若x是int型变量,y是float型变量,所用的scanf

调用语句格式为:scanf;

则为了将数据10和66.6分别赋给x和y,正确的输入

应是:。A.x=10,y=66.6B.106.6

C.1066.6D.x=10y=66.6

4.已知有变量定义:inta;charc;用scanf;语句给

a和c输入数据,

使30存入a,字符'了存入c,则正确的输入是:。

A.O'b'B.0bC.ObD.Ob

5.已知有变量定义:doublex;longa;要给a和x

输入数据,正确的输入语句

是。若要输出a和x的值,正确的输出语句。

A.scanf;B.scanf;printf;printf;C.scanf;

D.scanf;

printf;printf;.若有定义doublex=Ly;则以下的

语句执行的结果是。

y=x+3/2;printf;

A.2.500000B.2.C.2.000000D.2.若a为整型变量,

则以下语句。

a=-2L;printf;

A.赋值不合法

B.输出为不确定的值

C.输出值为-2

二、读程序写结果

1.main{intx,y;

scanf;

printf;

执行时输入:1234562.main

{intx=4,y=0,z;x*=3+2;printf;x*二y二z=4;

printf;}

3.main

{floatx;inti;x=3.6;i=x;

printf;}

4.main

{inta=2;

a%=4-l;printf;a+=a*=a-=a*=3;printf;}

D.输出值为2

《全国计算机等级考试二级教程——C语言程序设计》

习题分析与详细解答

第一章程序设计基本概念习题分析与解答

1.1EXE

1.2[1].C[2].OBJ[3].EXE

1.3[1]顺序结构[2]选择结构[3]循

环结构

第二章C程序设计的初步知识习题分析与解答

一、选择题

2.1B)

2.2D)

2.3B)

2.4A)

2.5C)

2.6A)

2.7B)

2.8B)

2.9D)

2.10C)

2.11B)

2.1B)

2.1A)

二、填空题

2.14[1]11[2]12

2.15[1].2[2].2

2.16[1]{[2]}[3]定义[4]执行

2.17[1]关键字[2]用户标识符

2.18[1]int[2]float[3]double

2.19floatal=l.0,a2=l.0;

或floatal=l,a2=l;

2.20存储单元

2.21.5

2.22[1]a*b/c[2]a/c*b[3]b/c*a

2.23把10赋给变量s

2.24[1]位[2]1位二进制数据

2.2[1][2]1[3]01111111[4]-1:]10000000

2.2[1]27[2]-327[3]1000000000000000

2.27[1]十[2]八[3]十六

三、上机改错题

2.

第1行的错误:

include是一个程序行,因此在此行的最后不应当有

分号。

第2行的错误:

main是主函数的起始行,不是语句,因此最后不应当

有分号。

在同一行上的/*mainfunction*/显然是注

释;C语言规定:注释由/*开头,由*/结束,但在*号和/之

间不得插入任何空格,而在此处“/*”和“*/”之间存

在空格,因此,/*mainfunction*/的写法是错误

的,而应写成:/*mainfunction*/。

第3行的错误:

在主函数的起始行main的后面是函数体,函数体由

左花括号在同一行上的/*/*risradius*/,/*sisarea

ofcircular*/*/显然是注释;C语言规定:注释由/*开头,

由*/结束,并且开头的/*将去找最近的*/去配对,因此在/*

/*risradius*/中,第一个/*与radius后的那个*/配上了

对,结果紧跟在后面的那个逗号落在了注释的外面,而构成

了一个多余符号,为此,在编译时将报告“语法错”。/*sis

areaofcircular*/*/中第一个*/就结束了注释,第一个

*/就成了多余的了。

第6行的错误:

printf应当是一条输出语句,但在最后缺少了一个分

号。

printf;是程序的最后一条语句,程序应当结束;但

缺少了程序体结束所需的右花括号);此右花括号可以放在

printf;的后面,也可以放在printf;的下一行上。

2.

第2行的错误:在main的后面缺少一对圆括号。

第4行的错误:在c=4.0的后面缺少分号。

第6行的错误:在printf的后面缺少分号。

第三章顺序结构习题分析与解答

一、选择题

3.1C)

3.C)

3.D)

3.C)

3.D)

3.B)

3.C)

3.D)

3.A)

3.10B)

3.11C)

3.ID)

3.ID)

3.1A)

3.IC)

3.IC)

3.IC)

3.ID)把D的答案修改为:scanf;

3.IC)

3.20B)

二、填空题

3.21

-200,2500i=-200,j=2500

i=-200

j=2500

3.2[1]1[2]0[3]0

3.[1]一条语句[2]分号

3.分号

3.

[1]:10025.811.89234

[2]:100

25.81

1.8923

[3]:1005.811.89234

3.2x=127,x=127,x=177,x=7f,x=127

3.x=127,x=127,x=$127,x=$000127,x二%06d

3.28a=513.789215,a=13.79,a=13.78921500,a二

13.78921500

三、编程题和改错题

3.2

主函数名main后应有一对圆括号。

第三行的printf语句用以提示输入,但是原样输出

的字符串没有用双引号括起来;另外,从输入的形式看,输

入的数据紧跟在提示之后,因此,printf格式串中最后不应

该有换行符——\no

因为输入项a、b、c从定义和计算结果来看都是double

类型,因此,第四行scanf语句格式串中的格式说明不应当

用%(1而应当用%小;且每一个变量之前应该加地址运算符&。

第七行的printf语句中应当把%d都改成%lf或%f;按

输出要求在格式串中应添加相应的原样输出的字符;因为下

一个printf的输出从新的一行开始,因此在本输出语句的

格式串的最后应当加换行符——\no

第八行的printf语句中应当把格式串整理合并放在

输出项的前面,输出项放在后面,%(1都改成%小或%£;中间

的\n删去。

请同学们自己写出修改后的程序,并上机调试。

3.30

分析:可用算术式560・60把分钟换算成小时和分钟,

商数就是小时数,余数就是分钟数。

确定变量的名字和定义变量的类型:在程序中把小时

数放在变量h中,把分钟数放在变量m中。这两个变量的类

型可以是整型,也可以是实型。

确定所用算法:求560・60的商数,在C语言中可以

用整除的算法,语句是h=560/60;o求余数可用求余运算

符%:560%60,其值放入变量m中的语句是:m=560%60;o设

计输出格式。若输出的形式定为:小时:分钟,则按此形式

设计输出语句。

把以上内容放在主函数的一对花括号中。

编写程序如下:

main

{inth,m;

*560/60;

m=560%60;

printf;

)

运行结果是:

Theresult::0

3.31

确定变量的名字和定义变量的类型。若用a存放1500,

用b存放350;用q存放商数,用r存放余数,所有变量应

定义成int类型。

设计输入语句从终端输入1500和350;在输入语句之

前,应当设计一个输出语句,用以提示输入。

可用整除求商数,结果放在变量q中。可用求余运算

符%求两数之余数,结果放在变量r中。

设计输出语句。输出a、b、q、ro

把以上内容放在主函数的一对花括号中。

本题的程序与3.30相似,请大家参考上题并根据本题

的解释自己编程,并上机调试。

3.3

定义4个双精度变量a、b、c和ave,变量a、b、c

分别存放读入的3个双精度数,ave存放它们的平均值。

设计输入语句,以及在

温馨提示

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

评论

0/150

提交评论