null第2章 C语言概述第2章 C语言概述 主要内容2.1 C语言的发展和特点
2.2 C语言的程序结构和基本词汇符号
2.3 C程序编写风格
2.4 运行C程序的步骤和方法 主要内容nullC语言是在B语言的基础上发展起来的。
B (BCPL)语言是1970年由美国贝尔实验室的Ken Thompson设计, 用于编写了第一个UNIX操作系统,并在PDP 7上实现。
1978年影响深远的名著《The C Programming Language》由 Brian W.Kernighan和Dennis M.Ritchie 合著,被称为标准C。之后,C语言先后移植到大、中、小、微型计算机上,成为最广泛的几种计算机语言之一。
C语言发展过程null1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSI C ,比标准C有了很大的发展。
1989年,ANSI公布了新标准——89 ANSI C。
1990年,国际标准化组织接受了89 ANSI C为ISO C 的标准(ISO9899—1990)。
1995年,ISO又修订了C语言标准。
1999年,又做了一次重要的更新,即称C99. C语言发展过程null说明:
目前流行的C语言编译系统大多是以ANSI C为基础
进行开发的,但不同版本的C编译系统所实现的语言功能
和语法规则又略有差别,因此应了解所使用的C语言编译
系统的特点(可以参阅有关手册)。
本书以ANSI C 即C89为基础。 §2.1.2C语言的特点 §2.1.2C语言的特点(1)语言简洁、紧凑,使用方便。 32个关键字(见附录C)、9种控制语句,程序书写形式自由。
(2)运算符丰富。34种运算符(见附录D)
(3)数据类型丰富,具有现代语言的各种数据结构。
(4)具有结构化的控制语句,是完全模块化和结构化的语言。
(5)语法限制不太严格,程序设计自由度大。 null(6)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作,兼具了高级和低级语言的特点。
(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。
(8)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。 §2.1.2C语言的特点(续)null解释1:C++是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件;
解释2:面向对象的基础是面向过程。C++是面向对象的语言,C是面向过程的,学起来比C语言困难得多,所以不太适合程序设计的初学者。问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
:既然有了面向对象的C++语言,为什么还要学习C语言?null2.2.1 C语言程序结构main()
{
statements
}main()
{ int a, b, sum;
a=100;
b=200;
sum=a+b;
printf(“sum=%d\n”, sum);
}main()
函数函数体
body of the function对数据
的描述 对操作
的描述 数据类型(Data types)
数据结构(Data structure)算法(algorithm) null int
long
float
double
charC语言的数据类型: 数组
文件
结构体
共用体voidnull
main()
{
int a, b, sum;
a=100;
b=200;
sum=a+b;
printf(“sum=%d\n”, sum);
}2.2.1 C语言程序结构标准库函数void#include
/*声明部分*//*操作部分*//*两数之和*/注释说明: /*……*/表示注释。注释只是给人看的,对编译和运行不起作用,所以可以用汉字或英文字符表示。注释可以出现在一行中的最右侧,也可以单独成为一行。
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
:C程序结构特点 总结:C程序结构特点由函数构成的,一个C程序至少且仅包含一个main函数。
(2) 总是从main函数开始执行的,与main的位置无关。
(3) 书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号。
(4) 每个语句和数据声明的最后必须有一个分号。
(5) C语言本身没有输入输出语句,输入和输出的操作是由库函数scanf和printf等函数来完成的。2.2.2 C语言的词类2.2.2 C语言的词类1 字符集
C语言的字符集:在C语言程序中允许出现的所有基本字符的集合
C语言的字符集就是ASCII字符集,主要分52个大小写英文字母、10个数字、33个键盘符号和若干转义字符。2 C语言的32个关键字2 C语言的32个关键字数据类型
void, char, int, float, double, long, short, signed, unsigned, struct, union, enum, typedef
存储级别关键 const,volatile,auto,register,static,extern
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
控制
break,case,continue,default,do,else,for, goto,if,return,switch,while
运算符
sizeof 2.2.2 C语言的词类2.2.2 C语言的词类3 标识符
标识符是用户自定义的一种字符序列,用于变量名、函数名、常量名等,主要由程序设计者指定,也可以由系统指定。C语言标识符的命名是有规则的:
①标识符只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。
②不能与上述32个关键字同名,最好不要与库函数和预编译命令同名。
③美国国家标准化协会(ANSI)规定C语言标识符的有效长度不大于32个字符。
④C语言区分大小写,如变量sum和Sum是不同的。2.2.2 C语言的词类null2.2.2 C语言的词类4 分隔符
分隔符是用来分隔标识符的符号。
空格字符、水平制表符、垂直制表符、换行符、换页符及注释均是C的分隔符,通称为空白字符
空白字符在语法上仅起分隔单词的作用。
在相邻的标识符、关键字和常量之间需要用一个或多个空白字符(不同个数的空白字符效果是一样的)将其分开。2.2.2 C语言的词类null
习惯用小写字母
可使用空行和空格
常用锯齿形书写格式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);
}优秀程序员的素质之一:
{}对齐
有足够的注释
有合适的空行2.3 C语言程序编写风格null 设:a=100 b=200
现将a与b中的值互换。EXAMPLE[2-1]:/* 交换两数的值*/
# include
void main()
{ int a,b,t;
a=100;
b=200;
t=a; a=b; b=t;
printf(“a=%d,b=%d\n”,a,b);
}null 输入a与b两个值,若a>b则
输出a,否则输出b。
EXAMPLE[2-2]:
/* 输出两数中的大数 */
# include
void main()
{ int a,b,m;
scanf(“%d,%d,a,b);
if (a>b ) m=a ;
else m=b;
printf(“max=%d\n”,m);
}null 输入a,b,c 三个值,请
输出三个值中最大的一个。 EXERCISES[2-3]:/* 输出两数中的大数 */
int max(int x, int y)
{ int z;
if (x>y ) z=x ;
else z=y;
return z;
}null
/* 输出三数中的大数 */
# include
main()
{ int max(int x,int y);
int a,b,c;
scanf(“%d,%d,%d”,a,b,c);
m=max(a,b);
m=max(m,c)
printf(“max=%d\n”,m);
}
/* 输出两数中的大数 */
int max(int x, int y)
{ int z;
if (x>y ) z=x ;
else z=y;
return z;
}
/* 主函数*/
/ 对被调用函数max的声明 */
/*定义变量a、b、c */
/*输入变量a和b的值*/
/*调用max函数,将得到的值赋给m */
/*输出m的值*/
/* 定义max函数,函数值为整型,参数为x,y*/
/*max函数中的声明部分,定义变量*/
/*将z的值返回,通过max带回到调用函数的位置*/
程序运行情况如下:
8,5,6 ↙
max=8说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。2.4 运行C程序的步骤和方法2.4 运行C程序的步骤和方法程序是一组计算机能识别和执行的指令,每一条指令使计算机执行特定的操作。
用高级语言编写的程序称为“源程序”。
为了使计算机能执行高级语言源程序,必须先用一种“编译程序”把源程序编译成二进制的“目标程序”,然后将目标程序与系统的函数库以及其他目标程序连接起来,形成“可执行的目标程序”。
体现了高级语言的可移植性。null上机输入与编辑源程序
对源程序进行编译
与库函数连接
运行目标程序运行C程序的流程图
其中实线表示操作流程,虚线表示
文件的输入输出2.4.1运行C程序的步骤null常用的C语言编译系统有:Turbo C 2.0、Turbo C++ 3.0、Visual C++等 。
目前使用的大多数C编译系统都是集成环境的。
Turbo C++ 3.0:具有方便、直观和易用的界面,它既是DOS环境下的集成环境,又可以在Windows环境用鼠标操作菜单,因此使用起来比Turbo C 2.0方便。
Visual C++:也可以用Visual C++对C程序进行编译。上机运行C程序的方法null(1) 进入Turbo C++ 3.0集成环境
①在DOS环境下
C:\TC3.0>tc ↙ Turbo C++ 3.0的使用
将Turbo C++ 3.0编译程序装入磁盘某一目录下,例如:
安装在C盘根目录下一级TC3.0子目录下。null② 在Windows环境下
找到可执行文件tc.exe,鼠标双击该文件进入集成环境。主菜单:11个菜单项
File Edit Search Run Compile Debug Project
Options Window Helpnull(2) 编辑源文件
新建:单击“File”菜单下 的“New”, null在编辑(EDIT) 状态下光标表示当前进行编辑的位置,在此位
置可以进行插入、删除或修改,直到自已满意为止。 修改:选择“File”→“Open”(即单击“File” 的下拉菜单中的“Open”项,修改已有的源程序。 null保存:在完成编辑后应当保存源程序,如果该程序是已有的,
则选择File→Save保存;如果该程序是新输入的,选择
File→Save As,会弹出Save File As对话框。 注意: C程序的后缀应该是.C,由于现在用的是Turbo C++3.0,其将源程序默认为C++的源程序,后缀为.cpp,如果用户在保存时未加后缀,则系统会认为是C++程序,自动加上一个后缀.cpp。 null(3) 对源程序进行编译
选择“Compile”(或“Alt+F9”)对源程序进行编译。 c1.cpp源程序,出现1个错误(error) ,0个警告(warming)。
编译成功后会得到一个二进制目标文件c1.obj。null(4) 将目标程序进行连接 选择菜单“Compile” →“Link” ,如果不出现错误,会得到一个后缀为.exe的可执行文件。 (5) 执行程序
选菜单“Run” →“Run”( 或按“Ctrl+F9” 键)。
(6) 退出Turbo C++ 3.0环境
选择“File”→“Quit” 。 null作业: