习题解答 2.docx

上传人:b****7 文档编号:16689195 上传时间:2023-07-16 格式:DOCX 页数:115 大小:106.12KB
下载 相关 举报
习题解答 2.docx_第1页
第1页 / 共115页
习题解答 2.docx_第2页
第2页 / 共115页
习题解答 2.docx_第3页
第3页 / 共115页
习题解答 2.docx_第4页
第4页 / 共115页
习题解答 2.docx_第5页
第5页 / 共115页
习题解答 2.docx_第6页
第6页 / 共115页
习题解答 2.docx_第7页
第7页 / 共115页
习题解答 2.docx_第8页
第8页 / 共115页
习题解答 2.docx_第9页
第9页 / 共115页
习题解答 2.docx_第10页
第10页 / 共115页
习题解答 2.docx_第11页
第11页 / 共115页
习题解答 2.docx_第12页
第12页 / 共115页
习题解答 2.docx_第13页
第13页 / 共115页
习题解答 2.docx_第14页
第14页 / 共115页
习题解答 2.docx_第15页
第15页 / 共115页
习题解答 2.docx_第16页
第16页 / 共115页
习题解答 2.docx_第17页
第17页 / 共115页
习题解答 2.docx_第18页
第18页 / 共115页
习题解答 2.docx_第19页
第19页 / 共115页
习题解答 2.docx_第20页
第20页 / 共115页
亲,该文档总共115页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

习题解答 2.docx

《习题解答 2.docx》由会员分享,可在线阅读,更多相关《习题解答 2.docx(115页珍藏版)》请在冰点文库上搜索。

习题解答 2.docx

习题解答2

《计算机基础与C语言

程序设计(第三版)》习题解答

第1章习题解答

一、选择题

1.一个完整的计算机系统包括_________两大部分。

A)控制器和运算器B)CPU和I/O设备

C)硬件和软件D)操作系统和计算机设备

答案:

C

2.微机硬件系统包括_________。

A)内存储器和外部设备B)显示器、主机箱、键盘

C)主机和外部设备D)主机和打印机

答案:

C

3.计算机软件系统应包括_________。

A)操作系统和语言处理系统B)数据库软件和管理软件

C)程序和数据D)系统软件和应用软件

答案:

D

4.银行的储蓄程序属于_________。

A)表格处理软件B)系统软件

C)应用软件D)文字处理软件

答案:

C

5.系统软件中最重要的是_________。

A)解释程序B)操作系统

C)数据库管理系统D)工具软件

答案:

B

 

6.计算机能直接执行_________。

A)高级语言编写的源程序B)机器语言程序

C)英语程序D)十进制程序

答案:

B

7.将高级语言翻译成机器语言的方式有_________两种。

A)解释和编译B)文字处理和图形处理

C)图像处理和翻译D)语音处理和文字编辑

答案:

A

8.“程序存储思想”是由_________提出来的。

A)丹尼尔·里奇B)冯·诺依曼C)贝尔D)马丁·理查德

答案:

B

9.(10110110)2+(111101)2=(_________)2。

A)110101B)11110011

C)11001100D)11010111

答案:

B

10.(10010100)2-(100101)2=(_________)2。

A)11110101B)10010011

C)1101111D)1100111

答案:

C

11.(1101)2×(101)2=(_________)2。

A)1000001B)1010011

C)1011100D)1101111

答案:

A

12.(10010)2÷(11)2=(_________)2。

A)1010B)111

C)1100D)110

答案:

D

13.将补码转换为十进制数,即(11110110)补=(_________)10。

A)8B)-9

C)-10D)11

答案:

C

14.已知字符“8”的ASCII码是56,则字符“5”的ASCII码是_________。

A)52B)53

C)54D)55

答案:

B

15.1KB表示_________。

A)1024位B)1000位

C)1000字节D)1024字节

答案:

D

16.指令存储在存储器的_________存储区。

A)程序B)数据C)栈D)堆

答案:

A

二、填空题

1.计算机由5个基本部分组成,分别为:

运算器、控制器、_________和输出设备。

答案:

存储器、输入设备

2.运算器的主要功能是算术运算和_________。

答案:

逻辑运算

3.存储器通常分为内存储器和_________。

答案:

外存储器

4.计算机能直接识别和执行的计算机语言是_________。

答案:

机器语言

5.中央处理器是决定一台微机性能的核心部件,由________组成。

答案:

运算器和控制器

6.(254)10=()2=()8=()16。

答案:

11111110376FE

7.(3.40625)10=()2=()8=()16。

答案:

11.011013.323.68

8.(125)10=()原=()反=()补。

答案:

011111010111110101111101

9.(-25)10=()原=()反=()补。

答案:

100110011110011011100111

10.十进制数3527的8421码的表示为________________。

答案:

0011010100100111

11.已知字符a的ASCII码是97,则字符f的ASCII码是________。

答案:

102

第2章习题解答

一、选择题

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

A)函数B)过程

C)子程序D)子例程

答案:

A

分析:

C程序是由一个main函数和若干个(包括零个)其他函数组成,函数是C程序的基本单位。

2.下列叙述中不正确的是________。

A)main函数在C程序中必须有唯一一个

B)C程序的执行从main函数开始,所以main函数必须放在程序最前面

C)函数可以带参数,也可以不带参数

D)每个函数执行时,按函数体中语句的先后次序,依次执行每条语句

答案:

B

分析:

C程序是由函数组成的,函数的排列顺序是任意的。

因此,main函数可以放在其他函数的前面、后面或中间均可。

3.以下叙述中正确的是________。

A)C程序中的注释只能出现在程序的开始位置和语句的后面

B)C程序书写格式严格,要求一行内只能写一个语句

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

答案:

C

分析:

C语言书写格式自由,一个语句可以写在多行上,一行也可以写多个语句。

 

4.以下叙述中正确的是________。

A)C程序的基本组成单位是语句B)C程序中每一行只能写一条语句

C)简单C语句必须以分号结束D)C语句必须在一行内写完

答案:

C

分析:

分号是C语句的一部分,不能省略。

5.计算机能直接执行的程序是________。

A)源程序B)目标程序C)汇编程序D)可执行程序

答案:

D

二、填空题

1.在一个C源程序中,注释部分两侧分界符分别为________和________。

答案:

/**/

分析:

C程序的注释部分由分界符“/*”和“*/”括起来。

注释部分可以使用任何文字符号等,但分界符不能出现嵌套形式,即在注释内不能再出现分界符,例如“/*……/*……*/……*/”是错误的。

2.一个C语言程序总是从________开始执行。

答案:

main函数

分析:

C程序总是从main函数开始执行,不论它放在何处。

3.C语言可以用来编写________软件,也可用来编写应用软件。

答案:

系统

分析:

C语言既像汇编语言那样允许直接访问物理地址,能进行位运算,能实现汇编语言的大部分功能,直接对硬件访问;也有高级语言的面向用户、容易记忆、容易学习和易于书写的特点。

所以,C语言既可以用来编写系统软件,也可以用来编写应用软件。

4.C语言源程序文件的后缀是________,经过编译后,生成文件的后缀是________,经过连接后,生成文件的后缀是________。

答案:

.c.obj.exe

三、编程题

1.编写程序在屏幕上显示如下信息:

*****************************

MerryChristmas!

HappyNewYear!

*****************************

分析:

利用库函数printf的输出功能可方便地编出程序。

程序如下:

#include

voidmain()

{

printf("*****************************\n");

printf("MerryChristmas!

\n");

printf("HappyNewYear!

\n");

printf("*****************************\n");

}

2.输入a、b后,输出一元一次方程ax+b=0的解。

分析:

方程的解为x=-b/a。

程序如下:

#include

voidmain()

{

floata,b,x;/*定义存放实数的3个变量a、b、c*/

scanf("%f%f",&a,&b);/*输入两个实数,分别赋给a、b*/

x=-b/a;/*求方程的解x*/

printf("x=%f\n",x);/*输出变量x的值*/

}

程序运行结果如下:

56↙

x=-1.200000

3.输入3个数,输出其中最小者。

分析:

可以按例2.3形式编写程序,也可按如下算法编写:

第1步:

输入3个数给a、b、c;

第2步:

将a的值赋给min;

第3步:

如果min>b,则将b的值赋给min;

第4步:

如果min>c,则将c的值赋给min;

第5步:

输出min的值。

注:

第3步可用语句“if(min>b)min=b;”实现。

程序如下:

#include

voidmain()

{

floata,b,c,min;/*定义存放实数的变量a,b,c,min*/

printf("a,b,c=?

\n");/*输出提示信息"a,b,c=?

"*/

scanf("%f%f%f",&a,&b,&c);/*输入3个实数,分别赋给a,b,c*/

min=a;/*将a的值赋给min*/

if(min>b)min=b;/*当min>b时,将b的值赋给min*/

if(min>c)min=c;/*当min>c时,将c的值赋给min*/

printf("min=%f\n",min);/*输出变量min的值*/

}

程序运行结果如下:

a,b,c=?

538↙

min=3.000000

第3章习题解答

一、选择题

1.在一个C程序中________。

A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线

C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

答案:

B

分析:

C语言中标识符的命名规则如下:

(1)标识符由数字、字母、下划线组成;

(2)标识符的首字符必须为字母或下划线;

(3)标识符不能为C语言的保留字;

(4)C语言中英文字母区分大小写,即A与a表示不同的标识符。

2.以下选项中不合法的标识符是________。

A)printB)FORC)&aD)_00

答案:

C

3.以下选项中不属于C语言类型的是________。

A)signedshortintB)unsignedlongint

C)unsignedintD)longshort

答案:

D

分析:

选项D不是C语言合法的数据类型。

C语言的整型变量可以分为以下6种类型,有符号基本整型[signed]int(方括号表示可省略,即signedint可写为int);无符号基本整型unsignedint;有符号短整型[signed]short[int];无符号短整型unsignedshort[int];有符号长整型[signed]long[int]和无符号长整型unsignedlong[int]。

4.C语言中的基本数据类型包括________。

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

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

答案:

B

分析:

C语言中没有逻辑型数据,而是用数值0表示“假”,用非0表示“真”。

5.以下关于long、int和short类型数据占用内存大小的叙述中正确的是________。

A)均占4个字节B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义D)由C语言编译系统决定

答案:

D

分析:

C语言并没有规定long、int和short类型数据占用内存大小,而是由编译系统决定。

6.C源程序中不能表示的数制是________。

A)二进制B)八进制C)十进制D)十六进制

答案:

A

分析:

C语言只用十进制、八进制和十六进制。

7.能正确地定义符号常量的是________。

A)#definen=10B)#definen10

C)#definen10;D)#DEFINEN10

答案:

B

分析:

定义符号常量的格式为“#define符号常量名常量”。

符号常量名用标识符命名,常量是C语言合法的常量形式。

注意,在“符号常量名”前后要有空格。

8.以下所列的C语言常量中,错误的是________。

A)0xFFB)l.2e0.5C)2LD)'\n'

答案:

B

分析:

本题选项A中的常量是以0x开头的十六进制数;选项C中的常量是长整型常量;选项D中的常量是一个转义字符常量;选项B中的常量表示形式错误,e的右侧不能为小数,只能是整数。

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

A)原码B)反码C)补码D)ASCII码

答案:

D

分析:

char型数据在内存中存放的是其ASCII码,而ASCII码都是正整数,正整数的原码、反码和补码都相同。

10.若有定义语句:

charc='\72';则变量c________。

A)包含1个字符B)包含2个字符

C)包含3个字符D)定义不合法

答案:

A

分析:

字符型变量只能存放一个字符,而'\72'是转义字符,表示编码为072(八进制)的字符。

11.不合法的八进制数是________。

A)0B)028C)077D)01

答案:

B

分析:

八进制数由0~7八个数字组成,并且以0开头,没有数字8。

12.以下正确的字符串常量是________。

A)"\\\"B)'abc'C)OlympicGamesD)""

答案:

D

分析:

选项A错,因为转义字符\\表示一个字符\,转义字符\"表示一个字符",所以选项A的右端缺少定界符"。

选项B和C都错,因为字符串必须用双引号括起来。

选项D表示一个空字符串。

13.以下选项中正确的定义语句是________。

A)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;

答案:

C

分析:

选项A错,a和b应该用逗号分开。

选项B错,应为doublea=7,b=7。

选项D错,double和a之间用空格隔开,不用逗号。

14.设c1、c2为字符型变量,执行语句cl=getchar();c2=getchar();时,从键盘输入A↙,c1和c2的值分别为________。

A)都是'A'B)c1是'A',c2未输入

C)c1未输入,c2是'A'D)c1是'A',c2是'\n'

答案:

D

分析:

函数getchar的功能是从键盘接收一个字符,当输入A↙(↙表示按回车键,即输入换行符'\n')时,第一个字符'A'赋给c1,第二个字符'\n'赋给c2。

15.设c为字符型变量,其值为'A',a为整型变量,其值为97,执行语句putchar(c);putchar(a);后,输出结果为________。

A)AaB)A97C)A9D)aA

答案:

A

分析:

函数putchar(x)的功能是输出一个字符x。

参数x可以是一个字符,也可以是一个整数。

当是整数时,输出以该整数作为ASCII码所对应的字符。

16.a、b是整型变量,执行语句scanf("a=%d,b=%d",&a,&b);使a和b的值分别为1和2,正确的输入是________。

A)12B)1,2C)a=1,b=2D)a=lb=2

答案:

C

分析:

当输入函数scanf的格式字符串中有普通字符时,必须原样输入。

如该例的格式字符串"a=%d,b=%d"中的“a=”、“,b=”是普通字符,要原样输入。

17.若要使用输入语句scanf("%4d%4d%10f",&i,&j,&x);,为i输入-10,为j输入12,为x输入345.67,则正确的输入形式是________。

A)-1012345.67↙B)-1012345.67↙

C)-10001200345.67↙D)-10,12,345.67↙

答案:

B

分析:

选项D是错误的,因为scanf的格式字符串中没有逗号。

由于变量i的输入格式为%4d,即宽度为4,所以从选项A或选项C中读取数据时将获得-101或-100,所以选项A和D都是错的。

选项B是对的,因为B中的3个数由空格分开,而为3个变量所指定的输入格式的宽度都大于对应的数据,宽度不起作用。

18.已知字母A的ASCII码为65,以下语句段的输出结果是________。

charcl='A',c2='Y';printf("%d,%d\n",c1,c2);

A)输出格式非法,输出错误信息B)65,90

C)A,YD)65,89

答案:

D

分析:

由于字符型数据实际是整型数据,即字符的ASCII码。

'A'的ASCII码是65,'B'的ASCII码是65+1,以此类推,'Y'的ASCII码是65+24,即89。

二、填空题

1.在C语言程序中,用关键字________定义基本整型变量,用关键字________定义单精度实型变量,用关键字_________定义双精度实型变量。

答案:

intfloatdouble

2.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是________。

答案:

floata1=1.0,a2=1.0;

分析:

也可以将1.0改为1,因为赋值时,可以进行自动转换。

3.C程序中定义的变量,代表内存中的一个________。

答案:

存储单元

分析:

C程序在编译时,要根据变量的类型给变量分配存储单元,给变量赋值就是将数据存放到变量所代表的存储单元。

4.inti=123;floatx=-45.678;语句printf("i=%5dx=%7.4f\n",i,x);的输出结果是________。

答案:

i=123x=-45.6780

分析:

在格式字符串中的普通字符原样输出;格式说明符%5d表示输出项i的值(123)的宽度为5,左补2个空格;%7.4表示输出项x的值的宽度为7,其中小数位数为4位,整数部分以实际宽度输出。

5.floatalfa=60,pi=3.1415926535626;语句printf("sin(%3.0f*%.4f/180)\n",alfa,pi);的输出结果是________。

答案:

sin(60*3.1416/180)

分析:

printf中的格式字符串中的普通字符原样输出,格式说明符%3.0f表示输出项alfa的值小数部分不输出,%.4f表示输出项pi的值小数部分保留4位,整数部分按实际位数输出。

6.charch='$',floatx=153.4523;语句printf("%c%-8.2f\\n",ch,x);的输出结果是_________。

答案:

$153.45\n

分析:

%c表示对应的输出项ch的值以字符形式输出;%-8.2f表示对应的输出项x的值以小数形式输出,宽度为8,小数点后取2位,负号表示左对齐,右补空格;转义字符\\表示输出一个\,然后输出n。

7.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:

a=7

b=9

请完成输出语句:

printf("_________",a,b);

答案:

a=%d\nb=%d

8.执行以下程序时输入1234567↙,则输出结果是________。

#include

main()

{inta=1,b;

scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);

}

答案:

1234

分析:

在输入语句中给a和b指定的输入宽度都是2,所以从输入的数字中依次各取两位分别赋给a和b。

三、编程题

1.输入一个字符,输出该字符及其ASCII码。

分析:

字符型数据在内存中以相应的ASCII码存放,既可以以字符的形式输出,也可以以ASCII码(整数)的形式输出。

程序如下:

#include

voidmain()

{charch;/*定义一个字符型变量ch*/

scanf("%c",&ch);/*给变量ch输入一个字符*/

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

}

程序运行结果如下:

B↙

B66

2.求平面上两点间的距离。

分析:

求两点(x1,y1)、(x2,y2)间的距离公式为

程序如下:

#include

#include/*函数sqrt的头文件*/

voidmain()

{

floatx1,y1,x2,y2,d;

printf("input(x1,y1),(x2,y2):

\n");/*输出提示信息*/

scanf("%f%f%f%f",&x1,&y1,&x2,&y2);

d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));/*用函数sqrt求平方根*/

printf("d=%0.2f\n",d);

}

程序运行结果如下:

input(x1,y1),(x2,y2):

1122↙↙

d=1.41

3.已知等差数列的第一项为a,公差为d,求前n项之和,a、d、n由键盘输入。

分析:

等差数列前n项之和为a*n+n*(n-1)*d/2。

程序如下:

#include

voidmain()

{inta,d,n,sum;/*定义4个整型变量*/

printf("inputadn:

\n");/*显示提示信息“inputadn:

”*/

scanf("%d%d%d",&a,&d,&n);/*输入3个整数分别送给a,d,n*/

sum=a*n+n*(n-1)*d/2;/*求等差数列前n项之和*/

printf("sum=%d\n",sum);/*输出结果*/

}

程序运行结果如下:

inputadn:

1350↙↙

sum=3725

第4章习题解答

一、选择题

1.若变量已正确定义并赋值,符合C语言语法的表达式是________。

A)a

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2