1.1
所有c程序有且只有一个main()函数。
1.2程序与程序设计语言
程序是为实现特定目标或解决特定问题而用计算机语言(程序设计语言)编写的一系列语句和指令,计算机能严格按照这些指令去做。
1.2.1程序设计语言的发展
1.机器语言
特点:难学,难写,难记
2.汇编语言
为解决使用机器语言编程的困难,人们采用助记符来代替机器指令的二进制串,如用ADD表示加法,SUB表示减法,MOV表示传达数据等。
特点:十分依赖机器硬件,可移植性不好。
3.高级语言
运算符和运算表达式与人们日常使用的数学式子差不多,很容易理解。
(1)非结构化语言。编程风格比较随意,没有编程规范可以遵守,程序中的流程可以随意跳转。
(2)结构化语言。程序必须由具有良好基本特性的基本结构(顺序结构,分支结构,循环结构)构成,程序中的流程不允许随意跳转,程序总是由上而下顺序执行各个结构。
(3)面向对象的语言。对象是数据以及对数据所进行的操作的封装体,所以采用面向对象的程序设计方法开发应用程序变得跟容易,耗时更少,效率更高。
1.2.2 程序设计语言的功能
1.数据表达
对程序中用到的数据进行声明。
2.流程控制
程序设计语言除了具备良好的数据表达能力之外,还必须提供不同类型的数据进行处理的手段。
(1)顺序控制结构:一条语句执行完后,按自然顺序执行下一条语句。
(2)分支控制结构:又称选择结构。计算机在执行程序时,常常需要根据不同的条件选择执行不同的语句。
(3)循环控制结构:许多时候,计算机需要重复执行相同的语句。重复执行一般是有条件的,在满足条件时,重复运行;在不满足条件时,则不会重复运行。
这三种结构的共同特点是:
1.只有单一的入口和出口;
2.结构中的每个部分都有被执行的可能;
3.结构内不应出现永不终止的死循环。
1.2.3程序的算法表示
软件的主体是程序,程序的核心是算法。
算法特点:
1.确定性。算法的每条指令必须有明确的含义,不能有二义性。对于相同的输入必须得出相同的执行结果。
2.有穷性。一个算法应包含有限个操作步骤。也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。
3.可行性。算法中指定的操作都可以通过已经实现的基本运算执行有限次后实现。
4.有零个或多个输入。算法是用来处理数据对象的,在大多数情况下,这些数据对象需要通过输入来得到。
5.有一个或多个输出。算法的目的是为了求“解”,“解”只有通过输出才能得到。
1.用文字描述算法
在日常生活中,人们通常采用自然语言的形式来描述一件事情的进过。下面使用文字描述的算法:
交换两个变量a和b的值。
1.输入变量a和b的值;
2.将变量a的值赋值给变量t;
3.将变量b的值赋值给变量a;
4.将变量t的值复制给变量b;
5.输出a与b的值。
2.用流程图表示算法
它是用一些几何框图、流程线和文字说明表示各种类型的操作。
3.伪代码表示
伪代码是一种近似高级语言但又不受语法约束的描述方式,它不能在计算器中运行,但可以用来描述算法。
4.程序设计语言表示
1.3 c语言程序设计的特点
1.3.2 C语言的特点
优点:
(1)C语言语句简洁紧凑,使用方便灵活。
(2)运算符丰富,表达能力强。
(3)C语言程序可移植性好。
(4)生成的代码质量高,运行效率高。
(5)语言处理能力强。
(6)C语言是一种结构化语言。
缺点:
(1)C语言对语法检查不严格;
(2)对数组下标越界不检查;
1.3.3 C语言的约定
1.C语言中的约定
(1)标识符。用来标示数据类型、变量、函数、语句的符号为标识符。C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。标识符中英文字母的大小写是有区别的,如name和Name是不同的标识符。标识符最好做到“见名知意”,增加程序的可读性,标识符的有效长度为1~255个字符。
(2)关键字。关键字是C语言规定的、赋予特定含义和有专门用途的标识符。
(3)用户自定义标识符。用户自定义标识符包括程序中定义的变量名、数据类型名、函数名和符号常量名。
(4)预定义标识符。C语言中提供了大量的头文件和函数库,这些头文件和库函数中定义的一些标识符统称为预定义标识符。C语言允许用户定义的标识符与预定义标识符同名,但此时预定义标识符就失去了原有的作用。
(5)分隔符。C语言中的分隔符有逗号和空格两种。逗号主要用于类型说明和函数参数表中,分隔各个变量。空格多用于各单词之间做间隔符。在关键字、标识符之间必须要有一个以上的空格分隔,否则将会出现语法错误。
2.C语言的语法成分
(1)常量。常量是有数据类型的,如整型常量2、 实型常量2.0、字符型常量'2'、字符串常量
"C Programming."等。
(2)变量。每个变量都有数据类型,在定义变量时要说明变量的数据类型。编译系统会根据变量的类型,为其分配储存空间。不同类型的变量在内存中占用的存储空间不同。
(3)运算符。运算符用于对各种类型的数据对象进行运算。
(4)表达式。由运算符将常量、变量、函数组合而成的有意义的式子称为表达式。
(5)语句。在C语言中,语句是程序最基本的执行单位,以分号结尾。
(6)函数定义与调用。函数是完成特定功能的小模块,是C语言中唯一的一种子程序,常常在一个c程序中包含若干个函数,复杂的任务通过调用这些函数来完成。
(7)输入与输出。C语言没有提供用于数据输入与输出的语句,所有数据输入与输出都是通过系统提供的有关函数来实现的。