初学C语言-程序设计与C语言
1. 概述
C语言是一门通用计算机编程语言,应用广泛。
2.程序设计语言
程序设计语言,通常简称为编程语言,它是一种被标准化的交流技巧,是一种用来定义计算机程序的语法规则,用来向计算机发出指令,它可以让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
程序设计语言必须具有数据表达和数据处理(流程控制)的能力。
流程控制分为三种基本控制结构分别为:顺序结构、分支结构和循环结构。
- 顺序结构:按照程序的书写先后顺序,执行完一个程序模块后,再顺序执行下一个模块。
- 分支结构:又称选择结构。在程序执行过程中,根据不同的条件来选择所要执行的模块。即判断某个条件,若条件满足就执行另一个模块。
- 循环结构:是指反复执行某个模块的过程。当然,重复执行这些模块通常是有条件的,只有条件满足时才会去重复执行相应的模块。
3.程序设计语言的语法
一般把用程序设计语言编写的未经编译的程序称为源程序(源代码)。
- C语言的词汇
(1)C语言字符集: - 大小写英文字符:A~Z, a~z;
- 数字字符:0~9;
- 特殊字符:+=_()*&^%#!,.;:?’"~|/<>{}[];
- 不可以打印的字符:空格、换行符、制表符、响铃符。
(2)关键字
C语言的关键字都用小写字母书写,不能用大写字母书写。
在C89标准中一共有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 typeber nuion nusigned void vpolatile
while
在C99标准中,又增加了5个关键字:
_Bool; _Complex;_imaginary inline restrict
(3)标识符 - 标识符的第一个必须是英文字母或下划线。
- 如果第一个字符后面还有字符序列,则它应是英文字母、下划线或数字组合的序列。标识符中的英文字母大小写是有区别的,如ABC与abc不相同。
(4)保留标识符:保留标识符是系统保留的一部分标识符,通常用于系统定义和标准库函数的名字。如,下划线开始的标识符通常用于定义系统变量。
(5)注释:注释不是代码,不会参与程序的编译与运行。 - C语言的主要语法单位
(1)变量定义,声明变量的一般格式为:
类型说明符 变量名;
例如:int i;
(2)表达式:由运算符及其运算对象可以组成形形色色的表达式。如:3.143sin(x);
(3)语句:是程序最基本的执行单位,程序功能就是通过执行一系列的语句来实现的,C语言中大致可以分为五类语句:表达式语句、函数调用语句、控制语句、复合语句、空语句。 - 表达式语句:由表达式末尾加上分号“;”组成。如:m=2;
- 函数调用语句:由函数名、实际参数加上分号“;”组成 。如:printf("%d",m);
- 控制语句:控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成 C语言中有9种控制语句,分为以下三类:
-
- 条件判断:if语句、switch语句。
-
- 循环执行语句:for语句、while语句、do while语句。
-
- 跳转语句:break、continue、return、goto(goto语句应尽量少用,因为这不利于结构化程序设计,滥用它会使程序流程无规律、可读性差)。
-
- 空语句:只有分号“;”组成的语句。
(4)函数定义。函数是完成特定任务的独立模块,是C语言唯一的一种子程序形式。
(5)输入与输出。C语言中没有输入输出语句,它通过调用系统库函数中的有关函数完成输入输出。 如:printf()、scanf()函数等。
- 空语句:只有分号“;”组成的语句。
4. C语言的发展和优点
- C语言的发展
C语言源自Ken Thompson发明的B语言,而B语言来至BCPL。 - C语言的优缺点
(1)优点: 简洁紧凑、灵活方便、运算符丰富、数据类型丰富、表达式灵活实用、允许直接访问物理地址,对硬件进行操作、生成目标代码质量高,程序执行效率高、可移植、表达力强。
(2)缺点:C语言在数据封装性上差,这一点使得C语言在数据安全性上有很大缺陷,这也是与C++的一大区别;C语言语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不做检查等。
5. C语言的结构
如下程序:
#include<stdio.h>/*为文件包含,其扩展名。和,称为头文件*/
int main()/*函数头,函数体*/{
printf("lol");/*调用库函数printf()函数*/
}
- #include称为文件包含命令或编译预处理命令
- main是主函数的函数名,表示这是一个主函数。后面没有参数为无参函数 ,每个C程序有且只能一个主函数。
- printf函数是一个由系统定义的标准函数,可在程序中直接调用。
- printf函数的输出包含类有:格式转换符(以%打头)、转义字符(以\打头)、普通字符。