第一章 C语言概述
C语言发展历史
C语言特点
C程序格式和结构特点
C程序上机步骤
1.1 C语言发展历史
程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象
CPU指令系统,由 0,1序列构成的指令码组成如,10000000 加
10010000 减用助记符号描述的指令系统如 ADD A,B
面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
Ada
ALGOL68
Pascal
Modula-2
CPLBCPL B C
C++
Java
LISP
PROLOG
COBOL
FORTRAN77FORTRAN
PL/1
Simula 67
Smalltalk 80
BASIC ANSI-BASIC QBASIC VB
FORTRAN90
ALGOL60
C语言发展过程
产生背景
产生过程
时 间,1972~1973
地 点,美国贝尔实验室
目 的,UNIX操作系统
设计人,Ken.Thompson和 Dennis.M.Ritchie
C标准
标准 C,K&R合著,The C Programming Language》
ANSI C,1983年
87 ANSI C,1987年
1990年国际标准的 ANSI C
1.2 C语言特点
语言简洁、紧凑、灵活
运算符和数据类型丰富
程序设计结构化、模块化
语法限制不严格
生成目标代码质量高
可移植性好
允许访问物理地址,进行位操作中级语言
32个关键字由系统定义,不能重作其它定义
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
9种控制语句
if( )~else~ for( )~
while( )~ do~while( )
continue break
switch goto
return
34种运算符算术运算符,+ - * / % ++ --
关系运算符,< <= == > >= !=
逻辑运算符,! && ||
位运算符,<< >> ~ | ^ &
赋值运算符,= 及其扩展条件运算符,?:
逗号运算符:,
指针运算符,* &
求字节数,sizeof
强制类型转换,(类型)
分量运算符,,->
下标运算符,[]
其它,( ) -
C 数据类型:
基本类型构造类型指针类型空类型 void
定义类型 typedef
数值类型字符类型 char
枚举类型 enum
整 型浮点型单精度型 float
双精度型 double
短整型 short
长整型 long
整型 int
数组结构体 struct
共用体 union
1.3 C程序格式和结构特点例 1.1 第一个程序 Hello,World!
/* example1.1 The first C Program*/
#include <stdio.h>
main()
{
printf(“Hello,World!\n”);
}
输出:
Hello,World!
/* example1.1 calculate the sum of a and b*/
#include <stdio.h>
/* This is the main program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”sum= %d\n",sum);
}
/* This function calculates the sum of x and y */
int add(int x,int y)
{ int z;
z=x+y; return(z);
}
运行结果:
sum=34
函数语句预处理命令注释例 1.2
格式特点
习惯用小写字母,大小写敏感
不使用行号,无程序行概念
可使用空行和空格
常用锯齿形书写格式
main( )
{ ……………….
………………
…………..
…………..
………
……….
……………
…………….
……………….
………………..
}
main( )
{
int i,j,sum;
sum=0;
for(i=1; i<10;i++)
{
for(j=1;j<10;j++)
{
sum+=i*j ;
}
}
printf(“%d\n”,sum);
}
优秀程序员的素质之一,
使用 TAB缩进
{ }对齐
有足够的注释
有合适的空行
结构特点
函数与主函数
程序由一个或多个函数组成
必须有且只能有一个主函数 main()
程序执行从 main开始,在 main中结束,其它函数通过嵌套调用得以执行。
程序语句
C程序由语句组成
用,;”作为语句终止符
注释
/* */为注释,不能嵌套
不产生编译代码例,/*This is the main /* of example1.1*/ */
非法
1.4 C程序的上机步骤
C程序开发的步骤
C源程序 main()
{ int a,b,sum;
a=10;
b=24;
sum=a+b;
printf(”sum= %d\n",sum);
}
计算机不能直接执行 C的源程序
开发步骤程序代码的录入,
生成源程序 *.c
语法分析查错,翻译生成目标程序 *.obj
与其它目标程序或库链接装配,生成可执行程序 *.exe
编辑链接编译执行
′ 3ì Dò ±ê 3ì Dò?é?′ D 3ì Dò
ú èY 3ì Dò éè óú óú ó
é?′ D 2é ò? 2é òé ò?
t oó ×,c,o b j,e x e
C的集成开发环境- Turbo C
具有方便直观的界面
文本编辑、程序编译、连接以及程序运行一体化
方便了程序的开发
C语言发展历史
C语言特点
C程序格式和结构特点
C程序上机步骤
1.1 C语言发展历史
程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象
CPU指令系统,由 0,1序列构成的指令码组成如,10000000 加
10010000 减用助记符号描述的指令系统如 ADD A,B
面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
Ada
ALGOL68
Pascal
Modula-2
CPLBCPL B C
C++
Java
LISP
PROLOG
COBOL
FORTRAN77FORTRAN
PL/1
Simula 67
Smalltalk 80
BASIC ANSI-BASIC QBASIC VB
FORTRAN90
ALGOL60
C语言发展过程
产生背景
产生过程
时 间,1972~1973
地 点,美国贝尔实验室
目 的,UNIX操作系统
设计人,Ken.Thompson和 Dennis.M.Ritchie
C标准
标准 C,K&R合著,The C Programming Language》
ANSI C,1983年
87 ANSI C,1987年
1990年国际标准的 ANSI C
1.2 C语言特点
语言简洁、紧凑、灵活
运算符和数据类型丰富
程序设计结构化、模块化
语法限制不严格
生成目标代码质量高
可移植性好
允许访问物理地址,进行位操作中级语言
32个关键字由系统定义,不能重作其它定义
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
9种控制语句
if( )~else~ for( )~
while( )~ do~while( )
continue break
switch goto
return
34种运算符算术运算符,+ - * / % ++ --
关系运算符,< <= == > >= !=
逻辑运算符,! && ||
位运算符,<< >> ~ | ^ &
赋值运算符,= 及其扩展条件运算符,?:
逗号运算符:,
指针运算符,* &
求字节数,sizeof
强制类型转换,(类型)
分量运算符,,->
下标运算符,[]
其它,( ) -
C 数据类型:
基本类型构造类型指针类型空类型 void
定义类型 typedef
数值类型字符类型 char
枚举类型 enum
整 型浮点型单精度型 float
双精度型 double
短整型 short
长整型 long
整型 int
数组结构体 struct
共用体 union
1.3 C程序格式和结构特点例 1.1 第一个程序 Hello,World!
/* example1.1 The first C Program*/
#include <stdio.h>
main()
{
printf(“Hello,World!\n”);
}
输出:
Hello,World!
/* example1.1 calculate the sum of a and b*/
#include <stdio.h>
/* This is the main program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”sum= %d\n",sum);
}
/* This function calculates the sum of x and y */
int add(int x,int y)
{ int z;
z=x+y; return(z);
}
运行结果:
sum=34
函数语句预处理命令注释例 1.2
格式特点
习惯用小写字母,大小写敏感
不使用行号,无程序行概念
可使用空行和空格
常用锯齿形书写格式
main( )
{ ……………….
………………
…………..
…………..
………
……….
……………
…………….
……………….
………………..
}
main( )
{
int i,j,sum;
sum=0;
for(i=1; i<10;i++)
{
for(j=1;j<10;j++)
{
sum+=i*j ;
}
}
printf(“%d\n”,sum);
}
优秀程序员的素质之一,
使用 TAB缩进
{ }对齐
有足够的注释
有合适的空行
结构特点
函数与主函数
程序由一个或多个函数组成
必须有且只能有一个主函数 main()
程序执行从 main开始,在 main中结束,其它函数通过嵌套调用得以执行。
程序语句
C程序由语句组成
用,;”作为语句终止符
注释
/* */为注释,不能嵌套
不产生编译代码例,/*This is the main /* of example1.1*/ */
非法
1.4 C程序的上机步骤
C程序开发的步骤
C源程序 main()
{ int a,b,sum;
a=10;
b=24;
sum=a+b;
printf(”sum= %d\n",sum);
}
计算机不能直接执行 C的源程序
开发步骤程序代码的录入,
生成源程序 *.c
语法分析查错,翻译生成目标程序 *.obj
与其它目标程序或库链接装配,生成可执行程序 *.exe
编辑链接编译执行
′ 3ì Dò ±ê 3ì Dò?é?′ D 3ì Dò
ú èY 3ì Dò éè óú óú ó
é?′ D 2é ò? 2é òé ò?
t oó ×,c,o b j,e x e
C的集成开发环境- Turbo C
具有方便直观的界面
文本编辑、程序编译、连接以及程序运行一体化
方便了程序的开发