第一章 程序设计和C语言
一 计算机程序的概念:
一组计算机能够识别和执行的指令;
二 计算机语言:
1:计算机语言的发展阶段:
计算机语言的发展历程2:高级语言的工作过程
计算机并不能直接识别高级语言程序,需要通过编译程序把用高级语言写成的程序(源程序)转换为机器指令的程序(目标程序),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令程序。
三 C语言的发展及其特点:
1 C语言的发展;
C语言的祖先是BCPL语言,是英国剑桥大学的Martin Richards于1967年推出的一种没有类型的语言。
1970年美国的AT&T贝尔实验室的Ken Thompson以BCPL语言为基础,设计出了B语言。
1972-1973年间,美国的贝尔实验室的D.M.Ritchie在B语言的基础上设计出C语言。最初的C语言是为描述和实现UNIX操作系体提供一种工作语言而设计的
2 C语言的主要特点:
(1)语言简洁,紧凑,使用方便灵活。
(2)运算符丰富
(3)数据类型丰富
(4)具有结构化的控制语句
(5)语法限制不太严格,程序设计自由度大
(6)C语言允许直接访问物理地址
(7)用C语言编写的程序可移植性好
(8)生成目标代码质量高,程序执行效率高
四 最简单的C语言程序:
例题1.1:要求在屏幕上输出一下一行信息:
This is a C program ! //标注输入输出头文件
# include <stdio.h>
/*函数体
int main(){
printf("This is a C program !\n");
return 0;
}
*/
输出的结果为:
例1.1其中,main()表示主函数,main()前面的int表示此函数的类型为整型。#include <stdio.h>指标准输入输出头文件。{}以内的部分称为函数体,函数体内的return 0的作用是:当main函数执行结束前,将整数0作为函数值,返回到调用函数处。printf是C编译系统提供的函数库中的输出函数。printf函数中的“”中的字符串按照原样输出,\n为换行符。以上各行程序的右侧如果出现“//”则表示从"//"到本行结束为注释,同样的可以使用/* ....... */表示多行注释。"//"为C++风格的注释,而C89只允许使用“/*....*/”风格的注释。
例题1.2:求两个整数之和
#include <stdio.h>
int main(){
int a , b , sum;
a=123;
b=456;
sum=a+b;
printf(''sum is %d\n",sum);
return 0;
}
运行结果为:
例1.2程序分析:
本程序的作用是求两个整数a与b的和,int a,b,sum;为声明部分,作用是定义a,b,sum为整型变量,a=123;b=456;sum=a+b为三个赋值语句,分别给a,b两个变量赋值,并将a与b之和的值赋给sum;printf中包含两个部分,分别是sum is %d\n,表示用户要输出的字符和输出的格式,%d表示数据以十进制的形式输出,()内第二个sum表示要输出“sum”的值。
例题1.3:求两个整数中的较大者
#include <stdio.h>
int main(){
int max(intx,inty);
int a , b , c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(intx,inty)
{
int z;
if(x>y)
z=x;
else
z=y;
return(z);
}
运行结果:
例1.3程序分析:
本程序包括两个函数(1)主函数main()和(2)被调用的函数max();
max()函数的作用是将函数值x,y中较大者的值赋给变量z,return(z)的作用是将z的值返回给调用max()函数的主函数中
主函数中的scanf是输入函数的名字,作用是输入a,b的值scanf的()内包含两部分内容,一是双引号中 的内容,指定输入的输入的数据按什么格式输入,二是表示输入的数据赋给哪个变量。在C语言中&被称为地址符,&a是指变量a的地址。
C语言的程序结构:
从以上的例子可以看到一个C语言程序的结构有如下几个特点:
1 一个程序由一个或多个源文件组成;
在一个源文件中可以包括三个部分:
(1)预处理指令 如:#include <stdio.h>
(2) 全局声明 即在函数之外的数据声明
(3)函数定义 如main函数和例1.3中的max函数
2 函数是C程序的主要组成部分
3 一个函数可以包含两部分内容
(1)函数首部
(2)函数体:函数体一般包含两部分,分别是声明部分和执行部分
4 程序总是从main函数开始执行的(不论main函数在整个程序中的位置如何)
5 程序中对计算机的操作是由函数中的C语句完成的
6 在每个数据声明和语句的最后必须有一个分号
7 C语言本身不提供输入输出语句
8 程序应当包含注释
五 运行C程序的步骤和方法
1 上机输入和编写源程序:通过键盘向计算机输入程序,并将源程序以文件形式存放于指定文件夹,文件名以“.c”为后缀。
2 对源程序进行编译,首先通过C编译系统提供的“预处理器”对程序中的预处理命令进行编译预处理,然后由编译系统对该源程序进行编译
3 进行连接处理。经过编译得到的二进制目标文件(后缀为.obj)还不能够供计算机直接执行,必须把所有的编译后的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序(后缀为.exe)
4 运行可执行程序,得到运行结果
六 程序设计的任务
1 问题分析
2 设计算法
3 编写程序
4 对源程序进行编辑,编译,连接
5 运行程序,分析结果
6 编写程序文档