C语言程序设计习题解析与实验指导(含答案).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计习题解析与实验指导(含答案).pdf》由会员分享,可在线阅读,更多相关《C语言程序设计习题解析与实验指导(含答案).pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主教材习题答案及解析 1-3 章 1 第第 1 章章 初识初识计算机、计算机、程序与程序与 C 语言语言 一、单选题一、单选题 1 “程序存储思想” 提出来的。 A Dennis M. Ritchie BAlan Turing CJohn Von Neumann D Ken Thompsom 【参考答案】【参考答案】C 【解析】【解析】程序存储思想是数字计算机之父、美籍匈牙利科学家冯诺依曼提出来的,因此答案选 C。 2电子计算机“ENIAC”于 1946 年诞生于 大学。 A英国剑桥 B美国卡耐基梅隆 C美国哈佛 D美国宾夕法尼亚 【参考答案】【参考答案】D 【解析】【解析】世界上第一台电子计
2、算机“ENIAC”于 1946 年诞生于美国宾夕法尼亚大学,是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的。因此答案选择 D。 3电子计算机经历了 4 个发展时代,微型计算机出现在 时代。 A电子管 B晶体管 C集成电路 D大规模集成电路 【参考答案】【参考答案】D 【解析】【解析】 电子计算机发展到大规模集成电路时代, 逻辑元器件采用大规模和超大规模集成电路,使得计算机的体积越来越小,1971 年微型计算机产生,开创了计算机的新时代。故答案选 D。 4关于软件和程序,下列说法不正确的是 。 A软件的核心是程序 B软件就是程序 C软件程序+文档 D软件中文档必不可少 【参考答案】【参考答
3、案】B 【解析】【解析】软件和程序是两个经常被混为一谈的概念,其实两者有所区别。主教材中关于二者的关系讲得很清楚:软件程序+文档,而程序数据结构+算法。因此答案选 B。 5以下关于源程序与目标程序的关系,不正确的是 。 A用机器语言编写的源程序就是目标程序 B用汇编语言编写的源程序需要经过汇编程序汇编为目标程序 C用 C 语言编写 的源程序需要经过编译程序编译为目标程序 DC 语言与 PASCAL 等其他高级语言的编译器是一样的,都完成编译功能。 【参考答案】【参考答案】D 【解析】【解析】 用相应程序设计语言编写出来的程序叫作源程序; 而计算机直接能识别并运行的程序叫做目标程序。 由于计算机
4、只能识别二进制码, 因此用机器语言编写的源程序就是计算机能直接识别并运行的目标程序, 二者之间无需经过任何翻译; 而用汇编语言编写的源程序需要经过汇编程序汇编才能得到对应的目标程序; 用高级语言编写的源程序经过相应的编译器编译或者用解释的方式得到目标程序,不同语言对应的编译程序或者说编译器不一样。因此答案选 D,说法不正确。 6以下哪一种不是从源程序到目标程序的翻译方式 。 A编辑 B编译 C汇编 D解释 【参考答案】【参考答案】A 【解析】【解析】 用汇编语言和高级语言编写的源程序必须经过 3 种翻译方式中的某一种才能得到对应的目标程序,它们是:编译、汇编和解释。显然编辑不是翻译方式,故选答
5、案 A。 7第一个结构化程序设计语言是 。 主教材习题答案及解析 1-3 章 2 APASCAL BC CBASIC DFORTRAN 【参考答案】【参考答案】A 【解析】【解析】高级语言从应用角度分为基础语言、结构化语言、专用语言 3 大类,PASCAL语言是第一个结构化程序设计语言,因此答案选 A。 8贝尔实验室的 Dennis M. Ritchie 于 1973 年用 C 语言重写了 操作系统。 ADOS BUNIX CWINDOWS DLINUX 【参考答案】【参考答案】B 【解析】【解析】根据 C 语言的发展简史,答案选 B。 9若计算机有 32 根地址总线,则其存储器的最大存储容量
6、可达 。 A32MB B32GB C4GB D8GB 【参考答案】【参考答案】C 【解析】【解析】如果计算机有 32 根地址总线,而每个地址总线上可能的符号是 0 或 1,因此最多可以有 232个不同的地址编号,每一个地址号对应于一个字节的存储单元,因此最大存储容量是 232B,即 22*230B4GB,因此答案选 C。 10十进制数 346 所对应的八进制数为 。 A 235 B532 C237 D732 【参考答案】【参考答案】B 【解析】【解析】根据十进制转化为 N 进制的基本方法:除 N 取余至商为零再逆序输出余数,这里的 N 就是 8,得到的 3 个余数依次是 2、3、5,将它们逆序
7、组合起来得到的 532 就是等效的八进制数。所以答案选 B。 二二、问答题问答题 1冯诺依曼体系结构的计算机,必须具有哪些功能? 【参考答案】【参考答案】 冯诺依曼体系结构的计算机,必须具有如下功能: (1)把需要的程序和数据送至计算机中。 (2)必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。 (3)能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 (4) 能够根据需要控制程序走向, 并能根据指令控制机器的各部件协调操作。 (5)能够按照要求将处理结果输出给用户。 【解析】【解析】根据主教材 1.1 节的知识。 2简介计算机的五大部件,以及每一部分的主要功能分别是什么?
8、【参考答案】【参考答案】 冯诺依曼型计算机硬件由五大部件组成:运算器、控制器、存储器、输入设备和输出设备,主要功能分别如下: 存储器存放程序指令和数据;运算器各种完成数据的加工和处理;控制器控制程序的执行;输入设备输入程序和数据;输出设备输出处理结果。 运算器和控制器合称为中央处理器,简称 CPU,是计算机最核心的组成部分。 【解析】【解析】根据教材 1.1 节的知识。 3说说下面的硬件哪些只是输入设备,哪些只是输出设备,哪些既是输入设备又是输出设备? 键盘、光电笔、扫描仪、U 盘、SD 卡、光盘、打印机、音响、鼠标、摄像头、数码相机、手写输入板、游戏杆、麦克风、显示器、绘图仪、触摸屏、硬盘
9、【参考答案】【参考答案】 主教材习题答案及解析 1-3 章 3 输入设备:键盘、光电笔、扫描仪、鼠标、摄像头、数码相机、手写输入板、游戏杆、麦克风; 输出设备:打印机、音响、显示器、绘图仪; 既是输入设备又是输出设备:U 盘、SD 卡、光盘、触摸屏、硬盘。 【解析】【解析】根据输入设备、输出设备、外存储器的功能以及这些硬件本身的功能区分。 4简述源程序与目标程序的关系。 【参考答案】【参考答案】 程序员用某种编程语言所编写的程序称为源程序; 计算机能直接执行的程序称为目标程序。目标程序的操作码和操作数都是 0/1 序列,而源程序却不一定是 0/1 序列。源程序必须转换为目标程序计算机才能读懂并
10、执行。 用机器语言编写的源程序就是目标程序; 用汇编语言编写的源程序必须用汇编程序经过汇编得到目标程序;用高级语言(不是全部)编写的源程序必须用特定的编译程序经过编译得到目标程序。 但并非所有的高级语言编写的源程序都会被编译为目标程序, 有的高级语言例如 BASIC 语言的源程序就是通过解释方式执行程序的,就是边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。 【解析】【解析】根据教材 1.2.2 小节的知识。 5简述 C 程序的开发过程。 【参考答案】【参考答案】 一个 C 程序从编写到执行出结果一般需要 6 个步骤:编辑、预处理、编译、链接、装载和执行。下面是这几个步骤所
11、完成的任务。 (1)编辑 编辑是通过输入设备将 C 语言源程序录入到计算机中,生成扩展名为“.c”的源文件。 (2)预处理 预处理是指通过预处理器对程序中的预处理指令 (它们是为优化代码而设计的) 进行转译。每条预处理指令以符号“#”开头。 (3)编译 编译是将 C 语言源文件和预处理生成的中间文件转换为机器可识别的目标代码(即二进制代码) ,生成相应的“.obj”文件。 (4)链接 链接是对目标代码中的符号引用和定义转换,把编译得到的多个二进制代码片段(例如程序中使用的库函数,它们也被编译成二进制码片段)连接成完整的可执行文件,扩展名为“.exe”。 (5)装载 装载器将可执行文件装入内存储
12、器中等待执行。 (6)执行 在中央处理器(CPU)的控制下,对装入内存的可执行文件的指令逐条执行,运行结果在显示器上显示或者保存至文件中。 【解析】【解析】根据教材 1.3.3 小节的知识。 主教材习题答案及解析 1-3 章 4 第第 2 章章 初识初识 C 源程序及其数据类型源程序及其数据类型 一、单选题一、单选题 1以下哪一个可以作为正确的变量名 。 A R&D B_filename Cfor D$X; 【参考答案】【参考答案】B 【解析】【解析】 此题考查的是标识符的命名规则: 标识符是以字母或下划线开头, 后面跟字母、数字、下划线的任意字符序列。答案 A 中的变量名使用了“&”号,不符
13、合要求;答案 C是关键字,而用户自定义标识符不能使用关键字;答案 D 的变量名以“$”开头,不符合以字母或下划线开头的要求;答案 B 则是合法的标识符。因此本题选择答案 B。 2下列哪一个是合法的实型常量 。 A234E3.1 BE3 C 234. D234 【参考答案】【参考答案】C 【解析】【解析】此题考查的是实型常量的表示方法:实型常量只采用十进制表示,其表示方式分为小数形式和指数形式两种。答案 A 采用指数形式,但指数部分 3.1 不是整数,故不合法;答案 B 同样采用指数形式,但尾数部分被省略了,也不合法;答案 C 采用小数形式,其小数部分可以省略;答案 D 表示的是整型常量。因此本
14、题选择答案 C。 3. 下列不合法的常量是 。 Ax4A B C .8e0 D483 【参考答案】【参考答案】D 【解析】【解析】此题考查的是各种数据类型常量的表示方法:答案 A 是一个转义字符常量, “x”后跟 12 位十六进制 ASCII 码;答案 B 是一个字符串常量;答案 C 是一个指数形式实型常量;答案D 也是转义字符, “”后应该跟 13 位八进制 ASCII 码,但这里的“8”超出了八进制的数字范围07,故不合法。因此本题选择答案 D。 4下列哪一个整数值最大 。 A012 B0 x12 C12 D120 【参考答案】【参考答案】D 【解析】【解析】此题考查的是不同进制的整型常量
15、的表示方法。答案 A 表示八进制整数 012,相当于十进制整数 10;答案 B 表示十六进制整数 0 x12,相当于十进制整数 18;答案 C 就是十进制整数 12;答案 D 是十进制整数 120。因此本题选择答案 D。 5下列哪一个字符与其他三个字符不相等 。 Aa BA Cx41 D101 【参考答案】【参考答案】A 【解析】【解析】此题考查的是字符常量其转义字符的表示方法。答案 A 表示字符a,其对应的ASCII 码是 97;答案 B 表示字符A,其对应的 ASCII 码是 65;答案 C 是字符的十六进制ASCII 码表示, 其对应的 ASCII 码是 4*16+1, 即 65; 答案
16、 D 是字符的八进制 ASCII 码表示,其对应的 ASCII 码是 1*82+1,也为 65。因此本题选择答案 C。 6下列哪个选项属于 C 语言中的合法字符串常量 。 Ahow are you Bchina C hello D$abc$ 【参考答案】【参考答案】B 【解析】【解析】 此题考查的是字符串常量的表示方法: 字符串常量是用一对双引号将零个或多个字符序列括起来。答案 A 中没有双引号,不对;答案 C 采用的是单引号,也不对;答案D 采用“$”符号,也不符合要求;只有答案 B 用了双引号。因此本题选择答案 B。 主教材习题答案及解析 1-3 章 5 7在 C 语言中,不同数据类型占用
17、内存的字节长度是 。 A相同的 B由用户自己定义的 C任意的 D与编译环境有关的 【参考答案】【参考答案】D 【解析】【解析】此题考查的知识点是:对于某种数据类型在内存中究竟占多少字节,在 C 语言标准中并未严格规定, 而是与具体的 C 语言编译环境有关。 例如: 对于 int 类型, 在 Visual Studio 2010 编译环境下占4 个字节, 但是在 Turbo C下只占 2 个字节。 因此本题选择答案D。 8下列 4 组数据类型中,C 语言允许的一组是 。 A整型、实型、逻辑型、双精度型 B整型、实型、字符型、空类型 C整型、双精度型、集合型、指针类型 D整型、实型、复数型、结构体
18、类型 【参考答案】【参考答案】B 【解析】【解析】 此题考查的知识点是: C 语言的数据类型种类。 根据教材图 2_1 可知, 逻辑型、集合型、复数型都不是 C 语言的数据类型。因此本题选择答案 B。 9C 语言 short 型数据占 2 个字节,则 unsigned short 型数据的取值范围是 。 A0255 B065535 C-256255 D-3276832767 【参考答案】【参考答案】B 【解析】【解析】此题考查的知识点是:整型数据类型在计算机内存中的二进制存储格式。无符号短整型的最小表示二进制数 0, 最大表示二进制数 “1111 1111 1111 1111” , 即 216
19、-1=65535。因此本题选择答案 B。 10 有如下输入语句: scanf(“x=%d,y=%d”,&x,&y); 为使变量 x 的值为 10, y 的值为 20,从键盘输入数据的正确形式是 。 A10 20 B10,20 Cx=10,y=20 Dx=10 y=20 【参考答案】【参考答案】C 【解析】【解析】此题考查的知识点是格式输入函数 scanf 的用法。这里“x=” 、 “,”和“y=”称为输入分隔符。用户要严格按输入分隔符的格式输入信息,函数 scanf 略去与输入分隔符相同的字符,再按格式转换说明符进行数据转换输入到相应的变量中。因此本题选择答案 C。 二、填空题二、填空题 1.
20、 C 程序的基本单位是 ,一个 C 程序有 个主函数。 【参考答案】【参考答案】 函数 一 【解析】【解析】此题考查 C 语言源程序的组成结构:C 语言源程序由一个或多个函数组成,函数是组成 C 程序的基本单位。一个 C 程序有且只有一个名为 main 的函数,称为主函数。 2. C语言源程序文件的扩展名是 , 经编译后形成的文件的扩展名是 。 【参考答案】【参考答案】 .c .obj 【解析】【解析】此题考查 C 语言源程序的开发过程:C 语言源程序是扩展名为.c 的文本文件;源程序经过编译形成的目标文件,扩展名为.obj;最后,目标文件经过链接操作形成可执行文件。 3C 语言程序中需要进行
21、输入/输出处理时,必须包含的头文件是 。 【参考答案】【参考答案】 stdio.h 【解析】【解析】此题考查 C 语言源程序中的头文件包含的含义。在调用 scanf、printf 等标准输入、输出库函数之前,必须要用一条编译预处理命令#include 将头文件 stdio.h 包含主教材习题答案及解析 1-3 章 6 到 C 语言源程序中。 4用 printf 输出一个 double 型数据,如果希望输出形式为指数格式,应该用格式转换说明符 , 如果希望输出形式为小数形式, 可以用格式转换说明符 或 ,区别是:前者小数点后 6 位不够时补 0,后者会去掉小数点后无效的 0。 【参考答案】【参考
22、答案】 %e %f %g 【解析】【解析】此题考查函数 printf 的格式转换说明符的用法。具体请参见教材表 2_7。 5有 scanf 输入一个 double 型变量时,需要使用格式转换说明符 ,并且要使用运算符 取得该变量的地址。 【参考答案】【参考答案】 %lf & 【解析】【解析】 此题考查函数 scanf 及其格式转换说明符的用法。输入 double 型变量必须用“%lf” ,而输入 float 型变量要用“%f” ,不能混淆。另外,输入变量必须给出变量地址,不要忘写取地址符“&” 。 三、读程序写结果三、读程序写结果 1. 写出下面程序的运行结果。 #include int ma
23、in() int i=010,j=10,k=0 x10; printf(%d,%d,%dn,i,j,k); return 0; 【参考答案】【参考答案】 8,10,16 【解析】【解析】此题考查整型常量的不同进制表示。 “010”是八进制表示,相当于十进制数 8;“10”是十进制表示; “0 x10”是十六进制表示,相当于十进制数 16。所以,用格式转换说明符“%d”进行输出:变量 i 输出 8、变量 j 输出 10、变量 k 输出 16。 2. 写出下面程序的运行结果。 #include int main() int a=96; double x=12.345; char ch=A; pri
24、ntf(%-4d%,%4dn,a,a); printf(%10.2f,%10.2en,x,x); printf(%c,%cn,ch,ch+32); return 0; 【参考答案】【参考答案】 96 , 96 12.35, 1.23e+001 A,a 【解析】【解析】此题考查各种类型变量的格式输出。 格式控制字符串%-4d%,%4dn中的 “%-4d” 表示以最小宽度 4 输出整数, 前面的 “-”号表示向右对齐输出,而“%4d”则是以最小宽度 4、向左对齐输出整数,格式控制字符串中的其它字符原样输出。因此,第一个“96 ”后面有 2 个空格,第二个“ 96”前面有 2主教材习题答案及解析 1
25、-3 章 7 个空格。 格式控制字符串%10.2f,%10.2en中的“%10.2f”表示输出以小数形式输出实型数据,其输出的最小宽度为 10(包括小数点、指数符号、正负号等) ,保留 2 位小数, “%10.2e”表示以指数形式输出实型数据,输出最小宽度和小数位数同上。因此, “ 12.35”前面有 5 个空格, “1.23e+001”的前面有 1 个空格。 格式控制字符串%c,%cn中的“%c”表示输出字符型数据。这里要注意字符型数据对应于 ASCII 码,字符本质上也是整数。ch+32 相当于字符变量 ch 的 ASCII 码+32,即A的ASCII 码 65+32,结果为 97,即小写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题 解析 实验 指导 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内