admin管理员组文章数量:1794759
新手入门 C程序设计 C++ 统计学科目(大一)C程序设计(第五版)谭浩强 第一章知识学习 程序设计和C语言
第一章 程序设计和C语言 1.1 什么是计算机程序
计算机的每一个操作都是根据人们事先指定的指令进行的。 所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。 一个特定的指令序列用来完成一定的功能。 总之,计算机的一切操作都是由程序控制的……所以,计算机的本质是程序的机器,程序和指令是计算机系统中最基本的概念。
1.2 什么是计算机语言人和计算机交流信也要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。
计算机语言经历了以下几个发展阶段。
- 机器语言
计算机工作基于二进制。从根本上说,计算机只能识别和接受由0和1组成的指令。 在计算机发展的初期,一般计算机的指令长度为16,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合。 要使计算机知道和执行自己的意图,就要编写许多条由0和1组成的指令。然后要用纸带穿孔机以人工的方法在特制的黑色纸带上穿孔,在指定位置上有孔代表1,无孔代表0。一个程序往往需要一卷长长的纸带。在需要运行此程序时就将此纸带装在光电输入机上,当光电输入机从纸带读入信时,有孔处产生一个电脉冲,指令变成电信号,让计算机执行各种操作。 这种计算机能直接识别和接受的二进制代码称为机器指令。 机器指令的集合就是该计算机的机器语言。在语言的规则中规定各种指令的表现形式以及它的作用。
初期只有极少数的计算机专业人员会编写计算机程序。
- 符号语言
它用一些英文字母和数字表示一个指令。
ADD代表 “加” SUB代表 “减” LD代表 “传送”
ADD A,B —— 执行A+B => A,将寄存器A中的数与寄存器B中的数相加,放到寄存器A中。
计算机并不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件把符号语言的指令转换为机器指令。 一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为 “代真” 或 “汇编” ,因此,符号语言又称为符号汇编语言或**汇编语言**。
仍然难以普及,只在专业人员中使用。
不同型号的计算机的机器语言和汇编语言是互不通用的。 机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言。
机器语言和汇编语言称为计算机低级语言。
- 高级语言
20世纪50年代创造出了第一个计算机高级语言——FORTRAN语言。 这种语言功能很强,且不依赖于具体机器。 当然,计算机也是不能直接识别高级语言程序的,也要进行“翻译”。用一种称为编译程序的软件把用高级语言写的程序(称为源程序)转换为机器指令的程序(称为目标程序),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。
高级语言的出现为计算机的推广普及创造了良好的条件。
高级语言经历了不同的发展阶段:
以上两种语言都是基于过程的语言,在编写程序时需要具体指定每一个过程的细节。
C语言既可用于编写应用软件,又可用于编写系统软件。
【例1.1】 要求在屏幕上输出以下一行信。 This is a C program. 思路:在主函数中用 printf 函数原样输出以上文字。 程序:
# include<stdio.h> int main() { printf("This is a C program.\\n"); return 0; }结果:
分析:
说明:C语言允许用两种注释方式:
【例1.2】 求两个整数之和。 思路:设置3个变量,a 和 b 用来存放两个整数,sum 用来存放和数。用赋值运算符 “ = ” 把相加的结果传送给 sum。 程序:
# include<stdio.h> int main() { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\\n",sum); return 0; }结果:
分析:
程序正常运行和结束,main 函数的返回值应为 0。
【例1.3】 求两个整数中的较大者。 思路:用一个函数实现求较大者,在主函数中调用此函数并输出结果。 程序:
# include<stdio.h> int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z); }结果:
分析:
一个程序由一个或多个源程序文件组成。 在一个源程序文件中可以包括 3 个部分: (1)预处理指令。 # include<stdio.h> # define (2)全局声明。 例如可以把【例1.2】程序中的 “ int a,b,sum; ”放到 main 函数的前面,这就是全局声明,在函数外面声明的变量称为全局变量。如果是在程序开头(定义函数之前)声明的变量,则在整个源程序文件范围内有效。 (3)函数定义。
函数是C程序的主要组成部分。 函数是C程序的基本单位,一个C程序是由一个或多个函数组成的,其中必须包含一个 main 函数(且只能有一个 main 函数)。 一个源程序文件就是一个程序模块,再进行编译时是以源程序文件为对象进行的。 在程序中被调用的函数,可以是系统提供的库函数,也可以户根据需要自己编制设计的函数。
一个函数包括两个部分。 (1)函数首部。 即函数的第 1 行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。 一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。如果函数没有参数,可以在括号中写 void ,也可以是空括号,如: int main(void) 或 int main() (2)函数体。 即函数首部下面的花括号内的部分。如果在一个函数中包括有多层花括号,则最外层的一对花括号是函数体的范围。 函数体一般包括以下两部分。
- 声明部分。 声明部分包括:定义在本函数中所用到的变量。
- 执行部分。 由若干个语句组成,指定在函数中所进行的操作。 在某些情况下也可以没有声明部分,甚至可以既无声明部分也无执行部分。如: void dump() {} 是一个空函数,什么也不做,但这是合法的。
程序总是从 main 函数开始执行的,而不论 main 函数在整个程序中的位置如何。
程序中要求计算机完成的操作是由函数中的C语句完成的。
在每个数据声明和语句的最后必须有一个分号。分号是C语句的必要组成部分。
C语言本身不提供输入输出语句。 输入和输出的操作是由库函数 scanf 和 printf 等函数来完成的。C语言对输入输出实行 “ 函数化 ”。
程序应当包含注释。
步骤:
从确定问题到最后完成任务,一般经理以下几个工作阶段:
注:此文档中引用的内容皆来自《C程序设计(第五版)》(谭浩强 著),是对该书内容所作的局部复刻,用于交流和学习,请勿转载。
版权声明:本文标题:新手入门 C程序设计 C++ 统计学科目(大一)C程序设计(第五版)谭浩强 第一章知识学习 程序设计和C语言 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686893223a115249.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论