第一章 程序设计和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

/*函数体

int main(){

                printf("This is a C program !\n");

                return 0;

}

*/

 输出的结果为:

例1.1

其中,main()表示主函数,main()前面的int表示此函数的类型为整型。#include 指标准输入输出头文件。{}以内的部分称为函数体,函数体内的return 0的作用是:当main函数执行结束前,将整数0作为函数值,返回到调用函数处。printf是C编译系统提供的函数库中的输出函数。printf函数中的“”中的字符串按照原样输出,\n为换行符。以上各行程序的右侧如果出现“//”则表示从"//"到本行结束为注释,同样的可以使用/* ....... */表示多行注释。"//"为C++风格的注释,而C89只允许使用“/*....*/”风格的注释。

例题1.2:求两个整数之和

#include

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

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

          (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    编写程序文档


你可能感兴趣的:(第一章 程序设计和C语言)