电子工业出版社教材《C程序设计实例教程》习题答案
- 格式:pdf
- 大小:175.19 KB
- 文档页数:40
习题1及其解答1.1选择题1.一个最简单的C++程序,可以只有一个( c )。
(a) 库函数(b) 自定义函数(c) main函数(d) 空函数2.用C++语言编制的源程序要变为目标程序必须要经过( d )。
(a) 解释(b) 汇编(c) 编辑(d) 编译3. C++程序中的简单语句必须以( b )结束。
(a) 冒号(b) 分号(c) 空格(d)花括号4.有说明 int a=0; double x=5.16; 以下语句中,( c )属于编译错误。
(a) x=a/x; (b) x=x/a; (c) a=a%x; (d) x=x*a;5. 执行C++程序时出现的“溢出”错误属于( c )错误。
(a) 编译(b) 连接(c) 运行(d) 逻辑6.下列选项中,全部都是C++关键字的选项为( c )。
(a) while IF Static (b) break char go(c) sizeof case extern (d) switch float integer7. 按C++标识符的语法规定,合法的标识符是( a )。
(a) _abc (b) new (c) π(d) “age“8.C++语句中,两个标识符之间( a )不能..作为C++的分隔符。
(a) 数字(b) ; (c) : (d) +9.下列正确的八进制整型常量表示是( b )。
(a) 0a0 (b) 015 (c) 080 (d) 0x1010.下列错误的十六进制整型常量表示是( c )。
(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11.在下列选项中,全部都合法的浮点型数据的选项为( b )。
(a) -1e3.5 15. 2e-4 (b) 12.34 -1e+5 0.1E-12(c) 0.2e-2 -12345. e-5 (d) 5.0e(1+4) 0.1 8e+212.下列正确的字符常量为( d )。
(a) “a”(b) ‟(c) a (d) (101)13.下列选项中,( d )不能..交换变量a和b的值。
c语言程序设计基础教程课后答案C语言程序设计基础教程课后答案第一章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
- 它支持多种编程范式,如过程式编程、结构化编程、面向对象编程等。
- C语言具有较低的抽象级别,接近硬件,因此执行效率较高。
2. C语言的发展历史。
- C语言在1972年由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
- 它最初是作为UNIX操作系统的系统编程语言而设计的。
第二章:C语言环境和基本语法1. 如何设置C语言的开发环境?- 选择一个C语言编译器,如GCC、MSVC等。
- 安装编译器并配置环境变量,以便在命令行中直接调用编译器。
2. C语言的基本语法结构是什么?- C语言的基本结构包括预处理指令、函数定义、变量声明和语句。
第三章:数据类型、运算符和表达式1. C语言中的基本数据类型有哪些?- 整型(int)、字符型(char)、浮点型(float和double)等。
2. 运算符的分类及其用法。
- 算术运算符:+、-、*、/、%等。
- 赋值运算符:=、+=、-=等。
- 比较运算符:==、!=、>、<等。
- 逻辑运算符:&&、||、!等。
第四章:控制语句1. 条件语句的用法。
- if语句用于基于条件执行代码块。
- switch语句用于多条件选择。
2. 循环语句的用法。
- while循环用于在满足条件时重复执行代码块。
- for循环用于已知迭代次数的循环。
- do-while循环先执行代码块再判断条件。
第五章:数组和字符串1. 数组的基本概念和使用。
- 数组是相同数据类型的元素集合,存储在连续的内存位置。
- 声明数组:int arr[10]; 表示一个包含10个整数的数组。
2. 字符串的表示和操作。
- 在C语言中,字符串是以空字符('\0')结尾的字符数组。
- 使用标准库函数如strcpy、strlen等操作字符串。
6.4 课后习题6.4.1 项目练习一.练习目的1.进一步巩固一维数组的定义与数组元素的引用方法2.进一步巩固二维数组的定义与数组元素的引用方法3.进一步巩固字符数组的定义与引用方法二.练习内容1.用起泡法对10个数由大到小进行排序。
分析:起泡法的算法思想是,n个数排序,将相邻两个数依次进行比较,将大数调在前头,逐次比较,直至将最小的数移至最后,然后再将n-1个数继续比较,重复上面操作,直至比较完毕。
可采用双重循环实现起泡法排序,外循环控制进行比较的次数,内循环实现找出最小的数,并放在最后位置上(即沉底)。
#include "stdio.h"main(){int a[10];int i,j,t;printf("请输入10个整数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)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("排序后的数为::\n");for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");getch();}2.从键盘输入10个整数,检查整数3是否包含在这些数据中,若是的话,它是第几个被输入的。
#include "stdio.h"main(){int i,a[10];printf("请输入这10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]==3) printf("3包含于数列中,输入顺序号是:%d",i+1);elseprintf("3不包含于此数列中");}getch();}3.编程:一个3*5的数组,要求每行都进行降序排列,并求出每行的平均值。
C语言程序设计实用教程习题答案鲍广华钦明皖主编习题1 P19 (略)习题2 P49一、选择题1-5 ADCCB 6-10 CDACD 11-15 DCDCB 16-17 CC 18题无答案,正确的是a=6二、填空题1. 2 12. 1 0 !0 03. #define4. 1.755. 666. 17. 328. (x>20&&x<30)||x<-1009. sin(pi/4)+(exp(3)+log(10))/(sqrt(x)+fabs(y)) pi代表π10. -211. 4 ,312. a/b=-5a%b=-3d/=c:7.500000a=-23,b=4,c=2.000000,d=7.500000 13. 1,17,820,18,1914. y=2,z=2x=1,y=3,z=3x=2,y=1,z=1三、编程题(略)习题3 P80 (略)习题4 P124一、选择题1-5 DADBB二、填空题1. 顺序分支循环2. 前面离它最近的未配对的3. for while do-while4. 整个循环本次循环5. 0001226. 2 17. 无数次8. n=n/10三、编程题(略)注:所有习题的编程题略,自行编程。
习题3都是书上的概念,自己查找完成,不给答案。
助教:王伦习题5 P161一、选择题1-5 CDBDA 6-10 ACBCA 11-15 CCCBA二、填空题1. 相同下标2. 行下标13. 64. 6,45. UNIX6. 87. 308. 1 2 4 8 169. bcdefg 10. a[i]=0 a[str[i]-′A′]++ i++三、编程题(略)习题6 P161一、选择题1-5 ABACC 6-10 CCBAC 11-12 CA二、填空题1. 定义该变量的函数或复合语句内2. 定义它的函数内部内部3. 返回 void4. 25. 9,696. 12,12(vc++环境)三、编程题(略)继续阅读。
习题答案习题1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。
算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。
首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。
一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
“面向对象”是一种以事物为中心的编程思想。
面向对象的方法主要是将事物对象化,对象包括属性与行为。
面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。
编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。
(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。
(3)数据类型丰富。
C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。
第1章C++及其开发环境概述一、问答题1.结构化程序设计主要有哪些劣势?【答案】(1)程序的开发效率低下(2)程序的可重用性差(3)程序的维护成本高(4)无法适应信息的快速膨胀和多样化2.面向对象的程序设计有哪些优点?【答案】(1)程序的开发效率高(2)程序代码的可重用性高(3)程序易于维护3.C++的发展经历了哪些阶段?【答案】C++语言起源于C语言。
1980年初期,美国贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种过程性与对象性相结合的程序设计语言,最初称为“带类的C”,1983年正式取名为C++。
后来,Stroustrup和他的同事陆续将运算符重载、继承、虚函数等特性引入C++,1989年后推出AT&T C++ 2.0版,并经过多次改进和完善,发展成为现在的C++。
4.C++主要有哪些特点?【答案】(1)C++可以被看成C语言的一个超集,是对C的增强和扩展。
因此,许多C代码可以不经修改即可为C++所用。
自然,也可以利用C++开发环境来开发C程序。
(2)C++几乎支持所有面向对象的程序设计特征,因此,利用C++不仅可以进行传统的结构化程序设计,而且可以较好地进行面向对象的程序开发。
(3)C++很好地保持了C的简洁、高效、灵活和接近汇编语言的特点,因此,C++程序的执行效率也很高。
5.一个C++程序一般由哪几部分构成?【答案】①预处理命令。
C++提供了三种预处理命令,即宏定义命令、文件包含命令和条件编译命令。
②全局声明部分。
此部分内容通常会给出用户自定义的数据类型声明,以及程序中所涉及变量的定义,例如类的声明。
数据结构③函数。
一个程序中可包含一个或多个函数,它们是执行用户指定操作的主要部分。
6.使用Visual C++ 开发C++程序时一般要经过哪几个步骤?每个步骤的作用是什么?相应地产生哪些文件?【答案】(1)编写程序C++是一种高级语言,所以用其编写的程序称为“源程序”,以.cpp做为后缀。
6.4 课后习题6.4.1 项目练习一.练习目的1.进一步巩固一维数组的定义与数组元素的引用方法2.进一步巩固二维数组的定义与数组元素的引用方法3.进一步巩固字符数组的定义与引用方法二.练习内容1.用起泡法对10个数由大到小进行排序。
分析:起泡法的算法思想是,n个数排序,将相邻两个数依次进行比较,将大数调在前头,逐次比较,直至将最小的数移至最后,然后再将n-1个数继续比较,重复上面操作,直至比较完毕。
可采用双重循环实现起泡法排序,外循环控制进行比较的次数,内循环实现找出最小的数,并放在最后位置上(即沉底)。
#include "stdio.h"main(){int a[10];int i,j,t;printf("请输入10个整数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)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("排序后的数为::\n");for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");getch();}2.从键盘输入10个整数,检查整数3是否包含在这些数据中,若是的话,它是第几个被输入的。
#include "stdio.h"main(){int i,a[10];printf("请输入这10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]==3) printf("3包含于数列中,输入顺序号是:%d",i+1);elseprintf("3不包含于此数列中");}getch();}3.编程:一个3*5的数组,要求每行都进行降序排列,并求出每行的平均值。
第1章课堂实训1-1. 编写一个简单的C#程序,输出如下内容:/************************************************ How are you ! ************************************************/1-2. 参考附录A,安装Visual Stdio 2005集成开发环境。
1-3. 参考附录A,安装MSDN。
1-4.定制Visual 的集成开发环境。
习题一1-1. 选择题(1) 下面对Read()和ReadLine()方法的描述,哪些是正确的。
(A,D)A. Read()方法一次只能从输入流中读取一个字符B. 使用Read()方法读取的字符不包含回车和换行符C. ReadLine()方法读取的字符不包含回车和换行符D. 只有当用户按下回车键时,Read()和ReadLine()方法才会返回(2) 下面对Write()和WriteLine()方法的描述,哪些是正确的。
(B)A. WriteLine()方法在输出字符串的后面添加换行符B. 使用Write()方法输出字符串时,光标会位于字符串后面C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串D. 使用不带参数的WriteLine()方法时,将不会产生任何输出1-2.C#程序从哪儿开始执行?(Main()方法)1-3. 在C#程序中,using System 是必须的吗?(是)1-4.C#中有两种注释方法:_//_____适用于单行注释,/* */______适用于多行注释。
第2章课堂实训2-1.输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
习题二2-1. 选择题(1) 下列标识符命名正确的是(A,D)A._int, Int, @int B. using, _using, @usingC. NO1, NO_1, NO.1D. A3, _A3,@A3(2) 下列变量的声明方式不正确的是( A,B)A. int a, string b, char c;B. int a=c=b=21;C. char a;D. string myString =”abc”;(3) 下面的标识符中,合法的是( C )A. class , publicB. 3a, _3aC. a3D. a#5(4) 设有说明语句int x=8;则下列表达式中,值为2的是(C )A. x>8?x=0:x++;B. x/= x+x;C. x %= x-2;D. x+= 2;2-2. C#的每条语句都通过___分号“;”___来结束。
c程序设计第四版课后习题答案由于我无法提供具体的《C程序设计》第四版课后习题答案,因为这些答案可能受版权保护,并且我也无法访问到书籍的具体内容。
但我可以提供一些通用的解题策略和建议,帮助学生更好地理解和解决C语言编程问题。
在解决C程序设计习题时,可以遵循以下步骤:1. 理解题目要求:仔细阅读题目,明确题目要求你做什么,需要实现哪些功能。
2. 分析问题:将问题分解成更小的部分,考虑每个部分如何实现。
3. 设计算法:根据问题的分析结果,设计一个算法来解决问题。
这可能包括选择数据结构、确定循环和条件语句的使用等。
4. 编写代码:根据设计的算法,开始编写代码。
在编写过程中,注意代码的可读性和效率。
5. 测试和调试:编写完代码后,进行测试以确保代码能够正确运行并解决题目。
如果发现错误,使用调试工具或打印语句来找出问题所在并修正。
6. 优化代码:在确保代码能够正确运行的基础上,考虑代码的优化,比如减少内存使用、提高运行速度等。
7. 复习和总结:完成习题后,回顾解题过程,总结学到的知识点和技巧。
解决C语言编程问题时,以下几点建议可能会有所帮助:- 熟悉C语言的基本语法:了解变量声明、数据类型、运算符、控制结构等基础知识。
- 掌握数组和指针的使用:数组和指针是C语言中非常重要的概念,理解它们对于解决许多编程问题至关重要。
- 学习使用标准库函数:C语言提供了丰富的标准库函数,合理使用这些函数可以简化编程任务。
- 练习编写函数:将代码分解成函数有助于提高代码的可读性和可维护性。
- 注意内存管理:在C语言中,程序员需要手动管理内存,因此了解如何正确分配和释放内存是非常重要的。
最后,不断练习和实践是提高编程能力的关键。
通过解决各种类型的编程问题,你可以加深对C语言的理解,并提高解决问题的能力。
希望这些建议能够帮助你更好地学习和掌握C程序设计。
如果你有具体的编程问题或需要帮助,请随时提问。