目录
一、C语言发展和特点
- C语言源于 ALGOL60 语言,于 20世纪60年代初 提出。
- 1963年,英国剑桥大学将ALGOL60语言发展成为组合程序设计语言(CPL)。
- 1970年英国剑桥大学的Martin Richards对CPL进行简化,开发出基本组合程 序设计语言(BCPL)。
- 1970年,美国贝尔实验室的 Ken Thompson以BCPL语言为基础,设计出很 简单且很接近硬件的 B语言(取BCPL的首字母)。
- 1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一 种新的语言,他取了BCPL的第二个字母作为这种语言的名字,即C语言。
(1)C 语言的发展
- 1975年 UNIX 第六版发布后,C语言终于获得了计算机专业人士的广泛支持。
- 1978年,美国贝尔实验室正式推出了C语言。
- 1983年美国国家标准协会(ANSI)根据C语言问世以来的的各种版本,对C 语言发展和扩充制定了第一个C语言标准草案,称为83ANSIC。
- 1989年ANSI发布了一个完整的C语言标准ANSI X3.159-1989,称为ANSIC 或C89。
- 1990年,国际标准化组织(ISO)接受C89为ISO国际标准,也称为C90。
- 1999年,ISO对C语言标准进行修订,发布了新的C语言国际标准- ISO/IEC9899:1999,简称C99。
(2)C 语言的特点
① 结构化语言② 运算能力强大③ 数据类型丰富④ 具有预处理能力⑤ 可移植性好⑥ 程序执行效率高⑦ 程序设计*度 大
二、C 语言基本语法
(1)字符集
字符集:字符是组成语言最基本的元素。C 语言的字符集由字母、数字、空格、标点和特殊字符组成。C 语言的字符集就是 ASCII 字符集,主要包括:
- 阿拉伯数字:0、1、2、…、9(共10个)
- 大小写英文字母:A~Z、a~z(共52个)
- 非字母、非数字的可显示字符(33个)
(2)关键字
关键字:
- C 语言中具有特殊含义的单词称为 “关键字” ,又称为 “保留字” ,主要用于构成语句。
- C 语言共有 32个 关键字,所有的关键字均由 小写字母 组成。
- 由系统定义,不能重作其它定义
(3)标识符
标识符:
- 标识符是字符的序列,除了库函数的函数名等由系统定义外,其余均由用户自行定义。
- 用户根据需要对C程序中用到的变量、符号常量、自定义函数等进行命名,形成用户标识符。
- C语言规定,用户标识符仅由大小写英文字母、数字和下划线组成,且第一个字符不能是数字。
- 用户自定义的标识符既不能是C语言的关键字,也不能与用户已编写的函数或C语言的库函数重名。
定义:标识变量名、符号常量名、函数名、数组名、 文件名的字符串序列—— 名字 。
命名规则:
- 只能由字母、数字、下划线组成,且第一个字符必须是不能是数字
- 大小写字母含义不同,一般用小写
- 不能使用关键字
使用: 先定义、后使用
注意:
- 标识符应该“见名知意” ,如 total , max
- 标识符应该“不宜混淆” ,如 l 与 1 , o 与 0
(4)词汇分类
C 语言的词汇分为六类,即:常量、标识符、关键字、运算符、注释符和分隔符
① 注释符
- C 语言的注释符有两种,一种是以 “/*” 开头,并以 “*/” 结尾的多行注释。
- 另一种是以 “//” 开头的单行注释。
- 两者的区别在于,第一种注释可以跨行, 第二种注释不可以跨行。
② 分隔符
- C语言的分隔符包括 逗号 和 空格 两种
- 逗号主要用在类型说明和函数参数表中,分隔各个变量
- 空格多用于语句各单词之间,作为间隔符
③ 常量
符号常量 : 用 标识符 代表常量
- 一般用大写字母: PRICE 、 PI
- 定义格式: #define 符号常量 常量
- 其值在作用域内不能改变和再赋值。
符号常量示例:#define PRICE 30 #include <stdio.h> void main() { int num,total; num=10; total=num*PRICE; printf("total=%d\n" ,total); } // 运行结果为:total=300
三、C 语言基本语句分类
按照语句功能或构成的不同,可将C语言的语句分为 数据定义语句、赋值语句、 函数调用语句、表达式语句、流程控制语句、复合语句和空语句 等等,C语言的每个语句都以分号 “ ; ” 结束。
四、C 程序基本组成
C 程序是由语句组成的,通常包括一个或多个函数,其中有且只有一个函数称为 主函数,其函数名为 main。
(1)C 程序的组成特点
- 每个 C 程序由一个或多个函数组成:每个 C 程序有且仅有一个主函数,除主函数外,可以没有其他函数,也可以有一个或多个其他函数。
- 函数是 C 程序的基本单位:每个函数是由函数首部和函数体两部分组成。
- C 程序中每一语句后面都以分号 “;” 作为语句的结束:但预处理命令、函数首部和右花括号 “}” 之间不能加分号。
- C 语言本身没有输入/输出语句:而是通过调用库函数 scanf()、printf()、 getchar() 和putchar() 实现的。
- C 程序的任意位置都可以加注释 /*......*/:注释可以多行,但不可嵌套。
- C 程序的书写格式灵活:一行内可书写多条语句,一条语句也可以写在多行上,可以任意插入空格和回车。
- C 程序的执行总是从主函数开始,并在主函数结束:主函数和其他函数的位置是任意的,其他函数总是通过函数调用语句被执行。
- C 程序中可以有预处理命令:通常预处理命令应放在程序的最前面。
- 主函数可以调用任何其他函数:任何其他函数之间可以互相调用,但不能调用主函数。
(2)C 语言结构特点
① 函数与主函数
- 程序由一个或多个函数组成
- 必须有且只能有一个主函数main(),可以放在程序中任一位置
- 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。
② 程序语句
- C 程序由语句组成
- 用 “;” 作为语句终止符
③ 注释
- /* */ 为注释,不能嵌套
- 不产生编译代码
④ 编译预处理命令
(3)C 语言格式特点
- 习惯用小写字母,大小写敏感
- 不使用行号,无程序行概念
- 可使用空行和空格
- 常用锯齿形书写格式
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);
}
五、C 程序开发环境
(1)C 程序的运行步骤
① 编辑 :进入 C 语言编译系统,建立源程序文件,扩展名为 “c” 或 “cpp” ,编辑并修改、保存源程序。② 编译 :计算机不能识别和执行高级语言编写的源程序,必须经过 编译程序 对源程序进行编译。③ 连接 :经过编译生成的目标程序还无法在计算机上直接运行,因为源程序中输入、输出以及常用的函数运算是直接调用函数库中的库函数,因此必须把库函数的处理过程链接到经编译生成的目标程序中,生成可执行文件,其扩展名为 “exe” 。④ 运行 :一个 C 源程序经过编译、链接后生成可执行文件,可在编译系统或操作中运行。
(2)C 程序的运行
① 启动 Microsoft Visual C++ 6.0
双击 Microsoft Visual C++ 6.0 的图标,启动 Microsoft Visual C++ 6.0。
② 新建项目
- 在主窗口的主菜单栏中选择 “File” 菜单项,在弹出的子菜单中选择 “New” 命令。
- 弹出的 “New” 对话框中,切换到 “Projects” 选项卡,在左侧列表框中选择 “Wine 32 Console Application” 项,然后在右侧的 “Project name” 文本框中输入新建工程的名称,如 HelloWorld,在 “Location” 文本框中输入工程的存储路径。
- 在弹出的 “Wine 32 Console Application” 对话框中选中 “An empty project” 单选按钮,单击 “Finish” 按钮。
- 在弹出的 “New Project Information” 对话框中单击 “OK” 按钮,项目工作区中显示新建的空工程 “HelloWorld” 。
③ 新建源程序
- 在主窗口的主菜单栏中选择 “File” 菜单项,在弹出的子菜单中选择 “New” 命令。
- 在弹出的 “New” 对话框中,切换到 “Files” 选项卡,在左侧的列表框中选择 “C++ Source File” 项,表示新建一个 C/C++ 源程序文件,勾选右侧的 “Add to project” 复选框,并选择刚刚创建的空工程 “HelloWorld” ,在 “File” 文本框中输入 新建源程序文件的名称,如“hello.c” 。
- 单击 “OK” 按钮,可以看到程序编辑窗格即可编辑程序。
④ 编译源程序
- 在主菜单栏中选择 “Build” 菜单项,在弹出的子菜单中选择 “Compile hello.c” 命令,或者单击工具栏中的 “Compile” 按钮。
- 在编译过程中,主窗口下方会弹出调试信息窗格,此窗格会输出编译的信息。
- 如无错误,输出 “0 error(s),0 warning(s)”;
- 如果有错误,则输出相关的错误信息。
⑤ 链接源程序
- 编译成功之后进行连接操作。
- 在主菜单栏中选择 “Build” 菜单项,在弹出的子菜单中选择“Build HelloWorld.exe” 命令,或者单击工具栏中的 “Build” 按钮。
⑥ 运行程序
- 连接成功之后即可运行程序。
- 在主菜单栏中选择 “Build” 菜单项,在弹出的子菜单中选择 “Execute HelloWorld.exe” 命令,或者单击工具栏中的 “Execute Program” 按钮。
(3)C 程序的调试
① 设置断点
- 调试 C 程序时,首先需要判断程序可能从哪条语句开始出现错误,将光标移动到该语句所在行,然后单击 “Insert/Remove Breakpoint” 按钮或 <F9> 按钮,此时若在语句行左侧出现一个红点,则表示断点设置成功
- 通过设置断点,检查运行到断点处某些表达式的值,以确定错误的大致位置
- 通过核对某些表达式的值,以确定错误的原因
② 调试界面
- 断点设置成功后,单击 “Go” 按钮,程序开始运行。
- 运行到断点所在语句时,程序将自动暂停执行,进入调试状态,代码行左侧的黄色箭头指示程序当前的执行位置。
- 界面下方出现两个窗格,左侧窗格为自动变量框,可以看到各变量的当前值,右侧窗格为观察框,在 “Name” 列输入变量名后, “Value” 列显示该变量的当前值。
③ 单步调试
“Step Over” 和 “Step Into” 都是单步调试程序,二者的区别在于遇到的函数调用时, “Step Into” 进入函数内部逐步执行,而 “ Step Over” 并不进入函数内部执行。