新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠)
- 格式:docx
- 大小:61.20 KB
- 文档页数:30
目录第1章C语言基础第2章基本数据类型第3章表达式第4章顺序结构程序设计第5章选择结构程序设计第6章循环结构程序设计第7章函数第8章数组类型第9章结构体类型与共用体类型第10章指针类型第11章文件类型第12章编译预处理第13章C到C++第14章C语言程序设计实例第1章 C 语言基础1.1 C语言概述1.2 基本语法成份1.3 C程序的结构1.4 C程序的实现1.1 C语言概述1.1.1 C语言的产生与发展1. C语言的产生 C语言于1972年~1973年间, 诞生于美国的贝尔实验室, 由Denis.M.Ritchie创建。
C语言的产生基于两个方面的需要。
一是为满足UNIX操作系统开发的需要。
UNIX操作系统是一个通用的、复杂的计算机管理系统。
二是为拉近高级语言与硬件之间距离的需要。
C语言集高级语言与汇编语言优点于一身。
C语言面对实际应用的需要而产生, 直至今日仍不改初衷。
2. C语言的发展1960年出现的ALGOL语言是一种面向问题的高级语言, 远离硬件, 不适于开发系统软件。
1963年, 英国剑桥大学推出CPL语言, CPL语言比ALGOL语言接近硬件一些, 但规模较大, 难以实现。
1969年, 剑桥大学的M.Richards对CPL语言进行简化, 推出BCPL语言(BCPL—Basic Combined Programming Language)。
1970年,贝尔实验室的K.Thompson为DEC公司PDP[CD*2]7计算机上运行的一种早期UNIX操作系统设计了一种类BCPL语言,称为B语言。
B语言规模小, 接近硬件, 1971年在PDP-11计算机上实现, 并写了UNIX操作系统。
1960年~1971年是C语言的萌芽阶段。
1972年~1973年间, 贝尔实验室的D.M.Ritchie在保留B语言优点的基础上, 创建了C语言。
1973年, UNIX操作系统被用C语言改写, 称为UNIX第五版。
C语言程序设计教程第二版C语言,作为一门高级编程语言,以其高效、灵活和可移植性而广泛应用于系统软件和应用软件的开发。
本教程第二版在第一版的基础上进行了更新和完善,以适应不断变化的编程环境和技术需求。
第一章:C语言概述C语言起源于20世纪70年代,由丹尼斯·里奇在贝尔实验室开发。
它是一种结构化语言,支持过程式编程。
C语言的特点包括简洁的语法、丰富的运算符、灵活的数据结构和强大的控制结构。
第二章:C语言基础本章将介绍C语言的基本语法,包括变量声明、数据类型、运算符和表达式。
同时,将详细讲解基本的输入输出函数,如`printf`和`scanf`。
第三章:控制结构控制结构是程序设计中的核心概念。
本章将深入讲解条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、return)。
第四章:函数函数是C语言中实现代码复用的重要手段。
本章将介绍函数的定义、声明、调用和参数传递。
此外,还将讨论递归函数和作用域的概念。
第五章:数组和字符串数组是存储固定大小的同类型元素的集合。
字符串可以看作是字符数组。
本章将讲解一维数组、二维数组的使用,以及字符串处理函数,如`strcpy`、`strcat`、`strlen`等。
第六章:指针指针是C语言中非常强大的特性之一。
本章将介绍指针的基本概念、指针与数组的关系、指针运算以及动态内存分配。
第七章:结构体和联合体结构体允许将不同类型的数据组合成一个单一的数据类型。
联合体则允许在相同的内存位置存储不同的数据类型。
本章将讲解如何定义和使用结构体和联合体。
第八章:文件操作文件是程序与外部世界交互的一种方式。
本章将介绍文件的打开、关闭、读取和写入操作,以及文件指针的概念。
第九章:预处理器预处理器提供了条件编译、宏定义和文件包含等功能。
本章将讲解预处理器的指令和使用。
第十章:高级主题本章将探讨C语言中的一些高级主题,包括位操作、内存对齐和函数指针等。
第5章顺序结构程序设计制作者:钱瑛本章的学习重点和难点解题的基本思路顺序结构赋值语句基本的输入输出函数注释、暂停和程序结束语句课件内容作业解答引言在具体解决问题时,应学会分析是针对哪个对象,响应了什么事件过程,完成什么具体操作要求熟悉对象的属性、方法、事件应注意在解决具体问题时,这些对象是如何运用的。
编写事件过程代码,必须进行算法分析算法的三种基本结构:顺序结构、分支结构和循环结构VB中对应三种基本结构的语句和常用函数5.1 顺序结构在VB中,采用OOP,程序的执行是事件驱动的,但就某个过程而言,过程本身代码的执行仍采用顺序结构,即按照语句代码出现的先后次序执行顺序结构的语句主要是赋值语句、输入输出语句等在VB中有赋值语句,没有输入输出语句在VB中输入输出功能可以通过文本框等控件和Print方法来实现,VB提供了专门用于用户交互的函数和过程来实现此功能赋值语句的一般形式是var = 表达式☝var可以是变量名或属性名;变量名为任何合法的VB变量名,而表达式可以为任何类型的表达式☝赋值语句的执行步骤和作用是先计算赋值号(=)右边表达式的值,然后将表达式的值赋给左边的var ☝使用赋值语句可给变量或为属性赋值。
对变量进行赋值就是将数据放入指定变量的内存空间。
而对属性进行赋值就是设置或改变对象的属性值☺StudentNum = 30number% = StudentNum * 4 + 20Form1.Caption = "Input data"使用赋值语句获取一个对象返回的当前属性值:var = 对象名.属性名☝var是可以变量名或属性名特别注意:属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的var ☺经常利用文本框接收用户通过键盘输入的内容,而用户输入的内容是保存在文本框的Text文本属性中,要获取Text文本属性的值即用户输入的内容,可通过赋值语句实现:A = Text1.Text[例题5-1]编写程序,实现用户输入的两个数据内容的互换 分析不管多么复杂的问题,一般在解决时,都可分为三个步骤:①接收数据、②数据处理、③输出结果(1)接收用户输入(2)数据交换(3)交换结果输出接收用户输入的两个数据:常用控件是文本框交换结果的输出:常用的方法有利用文本框、标签控件输出、或通过窗体和图片框调用Print方法输出数据交换:习惯通过发出具体的命令来完成数据的处理,因此,通常利用某个对象的事件过程来实现:设计一个命令按钮,在界面提示用户,通过单击按钮,实现数据处理。
c程序设计教程(修订版)钱能《C程序设计教程(修订版)》是一本面向计算机科学与技术专业学生以及自学者的C语言教材,由钱能教授编写。
这本书以其系统性、实用性和易读性著称,深受广大读者的喜爱。
以下是对这本书的详细介绍:书籍概述《C程序设计教程(修订版)》在原有的基础上进行了更新和修订,以适应现代计算机科学教育的需求。
这本书不仅涵盖了C语言的基础语法和编程技巧,还介绍了一些高级编程概念,如指针、结构体、文件操作等。
第一部分:C语言基础- 数据类型与变量:介绍了C语言中的基本数据类型,包括整型、浮点型、字符型等,以及如何声明和使用变量。
- 运算符与表达式:详细解释了C语言中的算术运算符、关系运算符、逻辑运算符等,以及它们的优先级和结合性。
- 控制语句:包括条件语句(if、switch)、循环语句(while、for、do-while)和跳转语句(break、continue、return)。
第二部分:函数与模块化编程- 函数的定义与调用:介绍了如何定义函数、参数传递、返回值以及函数的调用方法。
- 作用域与生命周期:讲解了变量的作用域和生命周期,以及如何使用静态存储类。
- 模块化编程:强调了模块化编程的重要性,以及如何通过函数实现代码的重用和模块化。
第三部分:数组与字符串- 数组:介绍了一维数组和多维数组的声明、初始化和使用。
- 字符串:详细讲解了C语言中字符串的表示、存储和操作,包括字符串的输入输出、连接、复制等操作。
第四部分:指针- 指针的基本概念:解释了指针是什么,以及如何声明和使用指针。
- 指针与数组:探讨了指针与数组的关系,以及如何使用指针操作数组元素。
- 指针与函数:介绍了如何通过指针传递函数参数,以及指针作为函数的返回值。
第五部分:结构体与联合体- 结构体:介绍了如何定义和使用结构体,以及结构体在数据组织中的作用。
- 联合体:讲解了联合体的概念和用法,以及它与结构体的区别。
第六部分:文件操作- 文件的打开与关闭:介绍了如何在C语言中打开和关闭文件。
c语言程序设计教程第二版C语言程序设计教程第二版欢迎来到C语言程序设计教程第二版,本教程将为您详细介绍C语言的基本知识和编程技巧。
无论您是初学者还是有一定编程基础的人士,本教程都将为您提供全面且易于理解的内容。
第一章 C语言概述C语言是一种通用的高级编程语言,最初由丹尼斯·里奇在20世纪70年代早期在贝尔实验室开发。
C语言以其简洁、高效和灵活的特性而闻名,广泛应用于操作系统、嵌入式系统以及各种应用程序的开发。
第二章程序的基本结构在学习C语言之前,我们首先需要了解程序的基本结构。
一个C语言程序由若干个函数组成,其中有一个特殊的函数叫做main函数,它是程序的入口。
第三章数据类型和变量C语言支持多种基本数据类型,包括整型、浮点型、字符型等。
我们可以使用这些数据类型来定义变量,用于存储程序中的数据。
第四章运算符和表达式在C语言中,我们可以使用各种运算符和表达式来对数据进行操作。
这些运算符包括算术运算符、逻辑运算符、关系运算符等。
第五章控制语句控制语句是编程中非常重要的一部分,它可以根据不同的条件来决定程序的执行流程。
C语言提供了多种控制语句,包括if 语句、for语句、while语句等。
第六章数组数组是一种用于存储多个相同类型数据的数据结构。
我们可以使用数组来简化对大量数据的处理。
第七章函数函数是C语言中的重要概念,它可以将一段代码封装起来,使得程序更加模块化和易于维护。
第八章指针指针是C语言中一种强大而复杂的特性,它可以直接访问和操作内存中的数据。
第九章结构体结构体是一种自定义的数据类型,它可以将不同类型的数据组合到一起,形成一个新的类型。
第十章文件操作C语言提供了一套丰富的文件操作函数,使我们可以方便地读写文件。
通过学习以上内容,您将能够掌握C语言的基本知识和编程技巧。
希望本教程能对您的学习和工作有所帮助!。
第1章概述1、简述冯•诺依曼计算机的工作模型。
答:冯•诺依曼计算机的工作模型是:待执行的程序从外存装入到内存中,CPU从内存中逐条地取程序中的指令执行;程序执行中所需要的数据从内存或从外设中获得,程序执行中产生的中间结果保存在内存中,程序的执行结果通过外设输出。
2、简述寄存器、内存以及外存的区别。
答:寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果供下一(几)条指令使用,其作用主要是减少访问内存的次数,提高指令的执行效率。
内存用于存储计算机程序(指令和数据),内存由许多存储单元构成,每个存储单元都有一个地址,对存储单元的访问是通过其地址来进行的,与寄存器相比,内存的容量要大得多,但指令访问内存单元所花费的时间比访问寄存器要多得多。
外存是大容量的低速存储部件,用于永久性地存储程序、数据以及各种文档等信息,存储在外存中的信息通常以文件形式进行组织和访问,外存储了在容量和速度上与内存不同,另一个区别在于内存中存储的是正在运行的程序和正在使用的数据,外存中存储的则是大量的、并非正在使用的程序和数据。
3、CPU能执行哪些指令?答:CPU所能执行的指令通常有:算术指令:实现加、减、乘、除等运算。
比较指令:比较两个操作数的大小。
数据传输指令:实现CPU的寄存器、内存以及外设之间的数据传输。
执行流程控制指令:用于确定下一条指令的内存地址,包括转移、循环以及子程序调用/返回等指令。
4、什么是软件?软件是如何分类的?答:计算机软件是计算机系统中的程序以及有关的文档。
程序是对计算任务的处理对象(数据)与处理规则(算法)的描述;文档是为了便于人理解程序所需的资料说明,供程序开发与维护使用。
软件通常可以分为系统软件、支撑软件和应用软件。
系统软件居于计算机系统中最靠近硬件的一级,它与具体的应用领域无关,其他软件一般要通过系统软件发挥作用,如操作系统属于系统软件。
支撑软件是指支持软件开发与维护的软件,一般由软件开发人员使用,如软件开发环境就是典型的支撑软件。
最新版《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (16)【习题9】 (16)【习题10】 (18)【习题1】一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确1.11注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13在屏幕上输出自己名字的拼音。
提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。
练习一1.1写出最简单的C程序。
答:void main( ){}1.2用一条C语句完成下述要求。
a)把变量x,y,z和result定义为int类型。
b)提示用户输入三个整数。
c)从键盘读取三个整数并把它们存储在变量x,y,z中。
d)计算变量x,y和z所存储的整数的和,并把计算结果赋给变量result.e)打印出“The sum is ”并紧接着打印出变量result的值。
答:a)int x, y, z, result;b)printf(〞请输入三个整数\n〞);c)scanf(〞%d%d%d〞, &x, &y, &z);d)result = x + y + z;e)printf(〞The sum is %d〞, result);1.3用练习1.2中的语句写出计算三个整数和的完整的程序。
答:void main( ){int x, y, z, result;printf(〞请输入三个整数\n〞);scanf(〞%d%d%d〞, &x, &y, &z);result = x + y + z;printf(〞The sum is %d〞, result);}1.4指出并改正下列语句中的错误(每条语句可能不止一个错误)。
a)scanf(〞%d,value〞);b)printf(〞The sum of %d and %d is %d〞\n,x,y);c)*/Program to determine the largest of three in integers/*d)p r intf(〞The value you entered is %d〞\n,&value);e)int return=10;答:a)scanf(〞%d〞, &value);b)printf(〞The sum of %d and %d is %d\n〞, x, y, x + y);c)/* Program to determine the largest of three in integers*/d)p r intf(〞The value you entered is %d\n〞, value);e)int ret=10;//关键字不能作变量名1.5 在VC6.0中编译运行程序1-1,1-4和练习1.3所写的程序。
c语言程序设计添加义项这是一个多义词,请在下列义项中选择浏览(共8个义项)1.计算机程序设计语言计算机程序设计语言2.机械工业出版社出版图书机械工业出版社出版图书3.高等教育出版社出版图书高等教育出版社出版图书4.张磊主编图书张磊主编图书5.经济科学出版社出版图书经济科学出版社出版图书6.华中科技大学出版社出版图书华中科技大学出版社出版图书7.清华大学出版社(李大友主编)清华大学出版社(李大友主编)8.北京邮电大学出版社出版图书北京邮电大学出版社出版图书1.计算机程序设计语言编辑本义项c语言程序设计求助编辑百科名片c语言程序设计C语言是一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
目录主要特点常用的C语言IDE(集成开发环境)C语言的发展过程C语言的特点概述详细介绍一、C语言的优点二、C语言的缺点目前最流行的几种C语言主要特点常用的C语言IDE(集成开发环境)C语言的发展过程C语言的特点概述详细介绍一、C语言的优点二、C语言的缺点目前最流行的几种C语言展开编辑本段主要特点1. C是高级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2.C是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3.C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。
4. C语言适用范围大。
``1-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数首部,函数体5. {, }6. 顺序结构,选择结构,循环结构7. .c, .obj, .exe2-1 单选题1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 553-1 选择题1-5 BDABC 6-10 ADCAC 11-12 BB3-2 填空题1. 32. 02613. 0x104. 2, 1 互换a,b的值5. 6.66. –0038. 77. 5.0,4,c=3<Enter>8. i=10,j=20<Enter>9. (1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600``(5) 8765.432(6) 5.864000e+002(7) 3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310. a=2 b=5x=8.8 y=76.34c1=65 c2=974-1单选题1~5 AADAD 6~10 ACB BB 11~12BA4-2填空题1. 12. (1) a>0 || b>0 (2) x>0 && x<=10(3) a==1.5 && b==1.5 && c==1.5 (4)p<a || p<b || p<c3.(1)0 (2)1 (3)1(4)0 (5)14. (max=a>b?a:b)>c?max:c5.-46.17.5,0,38. (1) (a==0) (2) (b==0)(3) (disc<0)5-1单选题1~5 CDABA 6~10 ABDDB11~14 DBCB5-2填空题1.202.3333.(1) i<10 (2) j%3!=04. (1) flag*(float)k/(k+1) (2) flag=-flag5.(1) max=x (2) x!=-1 (3) scanf("%d", &x)6-1单选题1-5 CBBAD 6-10 DBCCD 11-15 DCABC6-2填空题1. 1202. x``3 . 3,2,2,3 4. fac/i 5. 8,176. 97. 1.0/(i*i)8. fun-in:30,20,10fun-end:1015,35,1050 10,20,309. 012345 10. 936367-1单选题1-5 DBCCB 6-8 BDC7-2填空题1. c2. 603. 1000 104. 16 习题88-1单选题1~15 CADAC6~10 CCDAB11~15 CBBCD8-2填空题1 (1)2345 (2) 10010 (3) QuickC (4)2. (1) j+=2 (2) a[i]>a[j]3. (1) r+b[k] (2) *x9-1单选题1~5 DDACB6~10 ACBAD11~15CDB CC9-2填空题1 . (1) 2,1 (2) 10#30#(3) FOUR ,O(4) 602. (1) 49 (2) 2(3)2(4) 7 5 3 1 9 (5)15(6)10000010000010000010000011,1,1, 1,1 3,3,3, 3,3``(7)3. (1) *x (2) t4. (1) '\0'或0 (2) n++或n+=1或n=n+15. 02410-1单选题1-5 CDBBB6-10 BBBAD11-15 CCBDA10-2填空题1. 所有结构体成员所占存储空间的总和2. 与占用存储空间最大的那个成员相等3. (1) 结构体 (2) 3 (3) sa.a (4) 9 (5) psa=&sa4. 805. struct node6. 011-1单选题1-4 BADD11-2填空题1. 3d3d3302. (1) 28 (2) 20 (3) 0 (4) -93. (1) 251 (2) 42 (3) 209 (4) –295 (5) 84812-1单选题1-5 BCDCA 6-8 ADA 12-2 填空题1. rewind(文件指针)2. "d1.dat","rb"3. stdin4. 文本文件 二进制文件5. (1)"w" (2) str[i]-32 (3) "r"6. fopen7. Hell8. (1) "r" (2) fgetc(fp) (3) time++1 00 0 10 1 0 1 00 0 1 0 00 1 0 1 011``模拟试卷(一)参考答案一.选择题(1~30每题1分,31~50每题2分,共70分)12345678910C BD C D D B A C A 11121314151617181920B B DC A B C C A C 21222324252627282930A B B B B C D D A C 31323334353637383940C D D C B B B A B A 41424344454647484950C CD C C B C C D C 二.填空题(每空2分,共30分)空序号答案空序号答案【1】main()【9】10 20 0【2】11 6 4【10】 1 B【3】5【11】 4 3 3 4【4】 1 1 0 1【12】0 10 1 11 2 12【5】i<=9 或i<10【13】yes【6】k%3【14】-f【7】0【15】 1 3 7 15【8】b模拟试卷(二)参考答案一.选择题(共35道小题,70分,每题2分)12345678910A A A CB D A BC D11121314151617181920C D A A B B B D A C21222324252627282930A A DB D A A B D A3132333435D A B B C``二.填空题(每空2分,共30分)题空号答案题空号答案【1】double【2】x==0【3】0【4】–f 或f*-1 或–1*f 或f*(-1) 或(-1)*f 【5】fun(10)【6】x【7】a=1.0;b=1.0;s=1.0;【8】-1 或(-1)【9】*sn 或sn[0]【10】&a[i]【11】a[i] 或*(a+i)【12】row【13】a[row][colum]【14】!(s[i]>='0' && s[i]<='9') 或s[i]<'0' || s[i] > '9'【15】'\0' 或0。
新编C语言程序设计教程习题及实验题部分答案第1章 C 语言概述1 习题一、选择题ADCDB CCBBA二、简答题1、什么是语言?语言分几类?各有什么特点?语言:语言是思维的载体。
人和计算机打交道,必须要解决一个“语言”沟通的问题。
如今人与计算机之间有许多种类的“语言”的。
语言分类:机器二进制语言、汇编语言(低级)和高级语言(第三代、第四代、……)各自特点:1)机器二进制语言:用0、1两个数字编写的计算机能直接运行的程序的语言,机器语言执行效率高,但难编写、难懂、难移植。
2)汇编语言(低级):汇编语言的特点是使用一些“助记符号”来替代那些难懂难记的二进制代码,所以汇编语言相对于机器指令便于理解和记忆,但它和机器语言的指令基本上是一一对应,两者都是针对特定的计算机硬件系统的,可移植性差,因此称它们都是“面向机器的低级语言”。
3)高级语言:高级语言类似自然语言(主要是英语),由专门的符号根据词汇规则构成单词,由单词根据句法规则构成语句,每种语句有确切的语义并能由计算机解释。
高级语言包含许多英语单词,有“自然化”的特点;高级语言书写计算式子接近于熟知的数学公式的规则。
高级语言与机器指令完全分离,具有通用性,一条高级语言语句常常相当于几条或几十条机器指令。
2、汇编语言与高级语言有何区别?高级语言程序要比汇编语言要易懂、明了、简短得多;高级语言与机器指令完全分离,具有通用性,一条高级语言语句常常相当于几条或几十条机汇编语言指令;高级语言要经过解释或编译来执行的,而汇编语言程序通过汇编程序来生成机器程序来执行的。
3、什么是程序?完成某一特定任务的一组指令序列,或者说,为实现某一算法的指令序列称为“程序”。
不同计算机语言有不同的计算机程序。
4、C语言中为何要加注释语句?注释部分,起到说明语句或程序的作用。
程序中应添加必要的注释,来增强程序的阅读与理解。
注释用来向用户提示或解释程序的意义。
在调试程序中对暂不使用的语句也可用注释符标注起来,使翻译跳过这些不作处理,待调试结束后再按需去掉注释符。
新编C语言程序设计教程习题及实验题部分答案第1章 C 语言概述1 习题一、选择题ADCDB CCBBA二、简答题1、什么是语言?语言分几类?各有什么特点?语言:语言是思维的载体。
人和计算机打交道,必须要解决一个“语言”沟通的问题。
如今人与计算机之间有许多种类的“语言”的。
语言分类:机器二进制语言、汇编语言(低级)和高级语言(第三代、第四代、……)各自特点:1)机器二进制语言:用0、1两个数字编写的计算机能直接运行的程序的语言,机器语言执行效率高,但难编写、难懂、难移植。
2)汇编语言(低级):汇编语言的特点是使用一些“助记符号”来替代那些难懂难记的二进制代码,所以汇编语言相对于机器指令便于理解和记忆,但它和机器语言的指令基本上是一一对应,两者都是针对特定的计算机硬件系统的,可移植性差,因此称它们都是“面向机器的低级语言”。
3)高级语言:高级语言类似自然语言(主要是英语),由专门的符号根据词汇规则构成单词,由单词根据句法规则构成语句,每种语句有确切的语义并能由计算机解释。
高级语言包含许多英语单词,有“自然化”的特点;高级语言书写计算式子接近于熟知的数学公式的规则。
高级语言与机器指令完全分离,具有通用性,一条高级语言语句常常相当于几条或几十条机器指令。
2、汇编语言与高级语言有何区别?高级语言程序要比汇编语言要易懂、明了、简短得多;高级语言与机器指令完全分离,具有通用性,一条高级语言语句常常相当于几条或几十条机汇编语言指令;高级语言要经过解释或编译来执行的,而汇编语言程序通过汇编程序来生成机器程序来执行的。
3、什么是程序?完成某一特定任务的一组指令序列,或者说,为实现某一算法的指令序列称为“程序”。
不同计算机语言有不同的计算机程序。
4、C语言中为何要加注释语句?注释部分,起到说明语句或程序的作用。
程序中应添加必要的注释,来增强程序的阅读与理解。
注释用来向用户提示或解释程序的意义。
在调试程序中对暂不使用的语句也可用注释符标注起来,使翻译跳过这些不作处理,待调试结束后再按需去掉注释符。
为此,注释也有调试的辅助作用。
5、说说C语言程序的组成?C语言程序包括由哪些部分?一个C语言函数一般又由哪几部分组成的?C语言程序的组成:一个C语言源程序可以由一个或多个源程序文件组成。
C语言程序的组成部分:1.一个C语言源程序可以由一个或多个源文件组成;2.每个源文件可由一个或多个函数组成;3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数;4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面;5.每一个说明,每一个语句都必须以分号结尾。
但预处理命令,函数头和花括号“}”之后不能加分号;6.标识符,关键字之间必须至少加一个空格以示间隔。
C语言函数:一个C语言函数通常由函数首部(如int max(int a,int b))、函数体组成。
函数体一般又由局部变量定义与函数声明等组成的定义与声明部分、程序执行语句等组成的执行部分这两部分组成的(如min函数所示)。
第2章结构化程序设计与算法2 习题一、选择题BCDCD CBCAD二、简答题1、什么是算法?算法的特点是什么?什么是算法:算法就是解决某个问题或处理某件事的方法和步骤,在这里所讲的算法是专指用计算机解决某一问题的方法和步骤。
算法的特点:1)有穷性人们编制算法的目的就是要解决问题,若该算法无法在一个有限合理的时间内完成问题的求解,那么算法也就失去了其原有的目的,人们就会摒弃它。
而且人们研究算法,其目的还在于它的高效率,即解决同一个问题的两个算法,人们往往选择其中那个运行效率高的。
2)确定性所谓算法的确定性是指算法的每一个步骤都应该确切无误,没有歧义性。
3)有零个或多个输入执行算法时,有时需要外界提供某些数据,帮助算法的执行。
一个算法可以没有输入,也可以有多个输入。
例如,求解N!,该算法就需要输入一个数据N;而求解两数之和,该算法就需要输入两个数据4)有一个或多个输出算法的目的是求解,解就是结果,就是输出,否则就毫无意义。
5)有效性算法中的每一步都应该能有效地执行、可以实现,执行算法最后应该能得到确定的结果。
2、结构化程序设计的三种基本结构是什么?其共同特点是什么?结构化程序设计的三种基本结构:顺序、选择、循环三种基本控制结构其共同特点:1)只有单一的入口和单一的出口;2)结构中的每个部分都有执行到的可能;3)结构内不存在永不终止的死循环。
3、尝试用自然语言、流程图、N-S流程图或伪代码写出下面问题的求解算法。
1)根据三边,求三角形的周长和面积2)判断用户输入的一个整数是奇数还是偶数3)求解一元二次方程ax2+bx+c=0根4)找出10个数据的最大数5)将20个考生成绩中不及格者的分数打印出来6)求S=1+2+3+4+……+100解:略实验2 熟悉VC++ 6.0环境及算法二、实验内容1、改错题#include <stdio.h>main(){i nt x=2,y=3,a;a=x-y;printf("a=%d",a);printf("\n"); /* 换行 */}2、程序填空题#include <stdio.h>main(){int a,b,m;printf("Input a,b please!\n");scanf("%d%d",&a,&b);m=a*b; /*赋值语句,将a和b之积值赋给m*/printf("a*b=%d\n",m); /*输出a和b积的结果值并换行 */}3、设计与表示算法判断一个数n能否同时被3和5整除。
1)用伪代码表示begin (算法开始)input nif (n/3*3)=n{if (n/5*5)=n{print “数n能同时被3和5整除”}}end (算法结束)2)用N-S图表示3412并换行 */}第3章数据类型及其运算3 习题一、选择题BADCD DCBCA二、阅读程序,给出运行结果1、7,8,102、1,33、4、461579112三、编程题1. (sin(sqrt(x*x)))/(a*b)2. 5.53. 3 34. 35. #include <stdio.h>void main(){char c;c = getchar();printf("%c\n",c);printf("%d\n",c);}6. #include <stdio.h>int main(){float C,F;printf("请输入一个华氏温度:");scanf("%f",&F);C = (5.0/9)*(F-32);printf("摄氏温度C=%5.2f\n",C);return 0;}7. #include <stdio.h>#include <math.h>int main(){float a;a = exp(3.1415926);printf("%f\n",a);return 0;}实验3 数据类型及其运算二、实验内容1.改错题#include <stdio.h>main(){int x,y;printf("请输入两个整数\n");scanf("%d%d",&x,&y);printf("互换前的x:%d y:%d\n",x,y);x=x+y;y=x-y;x=x-y;printf("互换前的x:%d y:%d\n",x,y);}2. 程序填空题#include <stdio.h>main(){int i1,i2,i3,i;printf("Please input i1,i2,i3: ");scanf("%d%d%d",&i1,&i2,&i3);i=i3; //i=i1; //i=i2;i3=i2; //i1=i3; //i2=i1;i2=i1; //i3=i2; //i1=i3;i1=i; //i2=i; //i3=i2;printf("i1=%d\ni2=%d\ni3=%d\n",i1,i2,i3);}3.编程题(1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。
#include <stdio.h>main(){char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);c1=c1+32;c2=c2+32;c3=c3+32;printf("%c%c%c\n",c1,c2,c3);}(2)从键盘输入3个整数,输出它们的平均值与积。
#include <stdio.h>main(){int a,b,c,ji;float ave;printf("请输入3个整数\n");scanf("%d%d%d",&a,&b,&c);ave=(a+b+c)/3.0;ji=a*b*c;}第4章顺序结构程序设计4 习题一、选择题BBCBC DCBDD二、阅读程序,给出运行结果1、x=3452、a=1,b=3y=3.460000a=3,b=13、a=123,f=457三、编程题1.2. 法一:#include<stdio.h>Int main(){ float x,xf;Int xi;Printf (“请输入一个实数:”);Scanf(“%f”,&x);Xi=(int)x;Xi=x-xi;Printf(“该数的整数部分为:%d\n”,xi);Printf(“该数的小数部分为:5f\n”,xf);Return 0;}法二:#include<stdio.h>double a,b;scanf("%lf",&a);b = a;long int p;p = (long int)a;printf("整数部分:%d\n",p);printf("小数部分:%lf",(b - p));3.4.5. #include <stdio.h>void main( ){ float a, b ,h;float area;scanf("%f,%f,%f",&a,&b,&h);area=(a+b)*h/2;printf("梯形的面积为:%5.2f\n",area);}实验4 顺序结构程序设计二、实验内容1.改错题下列程序的功能为:按下列公式计算并输出x 的值。