C语言学习笔记(一)--认识C语言
C语言的发展过程
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。
同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《
K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国
家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。
当代最优秀的程序设计语言
早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八
十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当
代最优秀的程序设计语言之一。
C语言的特点
C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表
现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以
直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言
集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语
言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C
语言。
C语言版本
目前最流行的C语言有以下几种:
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
面向对象的程序设计语言
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善
了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec
C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念
容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程
方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
C源程序的结构特点
为了说明C语言源程序结构的特点,先看以下几个程序。这几个程 序由简到难,表现了C语言源程
序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分
和书写格式。
main()
{
printf()
}
main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main
函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系
统定义的标准函数,可在程序中直接调用。
#include <stdio.h>
#include <math.h>
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}
C源程序的结构特点
1、C语言是一种结构化的程序设计语言, 语言本身简洁、使用灵活方便。 既适用于设计和编写大的
系统程序,又适用于编写小的控制程序,也适用科学计算。
2、它既有高级语言的特点,又具有汇编语言的特点。 运算符丰富, 除了提供对数据的算术逻辑运
算外,还提供了二进制的位运算,并且也提供了灵活的数据结构。用C语言编写的程序表述灵活方便,功
能强大。用C语言开发的程序,其结构性好,程序质量高,程序执行效率高。
3、程序的可移植性好。用C语言在某一种型号的计算机上开发语言的程序,基本上可以不作修改,而
直接移植到其它型号和不同档次的计算机上运行。
4、 程序的语法结构不够严密,程序设计的自由。这对于比较精通C语言的程序设计者来说,可以设
计出高质量的非常通用的程序。但对于初学者来说,要能比较熟练运用C语言来编写程序,并不是一件容
易的事情。与其它高级语言相比而言,调试程序比较困难。往往是编好程序输入计算机后,编译时容易通
过, 而在执行时还会出错。但只要对C语言的语法规则真正领会,编写程序及调试程序还是比较容易掌握
的。
从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时 应遵循以下规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单
独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序
的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
C语言的字符集
字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符
常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。
1.字母 小写字母a~z共26个,大写字母A~Z共26个
2.数字 0~9共10个
3.空白符 空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其
它地方出现时,只起间隔作用, 编译程序对它们忽略。因此在程序中使用空白符与否,对程序的编译不
发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。
4.标点和特殊字符
C语言词汇
在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。
1.标识符
在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由
用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第
一个字符必须是字母或下划线。
以下标识符是合法的:
a,x,_3x,BOOK_1,sum5
以下标识符是非法的:
3s 以数字开头
s*T 出现非法字符*
-3x 以减号开头
bowy-1 出现非法字符-(减号)
在使用标识符时还必须注意以下几点:
(1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例
如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。
(2)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。
(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意
义,以便阅读理解,作到“顾名思义”。
2.关键字
关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键
字相同。C语言的关键字分为以下几类:
(1)类型说明符
用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int,double等
(2)语句定义符
用于表示一个语句的功能。如例1.3中用到的if else就是条件语句的语句定义符。
(3)预处理命令字
用于表示一个预处理命令。如前面各例中用到的include。
3.运算符
C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符
由一个或多个字符组成。
4.分隔符
在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量
。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,
否则将会出现语法错误,例如把int a;写成 inta;C编译器会把inta当成一个标识符处理,其结果必然出
错。
5.常量
C 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在第二
章中将专门给予介绍。
6.注释符
C 语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译
时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在
调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。
—————————————————————————————————
本文原创自Slience的csdn技术博客。
本博客所有原创文章请以链接形式注明出处。
欢迎关注本技术博客,本博客的文章会不定期更新。
大多数人想要改造这个世界,但却罕有人想改造自己。
世上没有绝望的处境,只有对处境绝望的人。
————By slience
—————————————————————————————————