1 C语言的起源
C语言是在1972年由贝尔实验室的丹尼斯.里奇和肯.汤姆逊在开发UNIX操作系统时设计的。C语言与Unⅸ操作系统关系密切,大部分UNIX内核,以及所有支撑工具和函数库都是用C语言编写的。当然,C语言也不是凭空产生,它是在B语言的基础上进行设计的。C语言是一门通用的计算机编程原因,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。’
2 C语言的特性
高效性:C程序相对紧凑,而且运行速度很快,它具有通常是汇编语言才有的微调控制能力,可以根据具体情况微调程序以提高运行速度或更有效地使用内存。
可移植性:由于C语言与UNIX关系密切,UNIX系统通常会将C编译器作为软件包的一部分。安装Linux时,通常也会安装C编译器。供个人使用的C编译器很多,运行各种版本的Windows和MAC的PC都能够找到合适的C编译器。
强大灵活:UNIX操作系统大部分是用C语言写的,其他语言,如FORTRAN、Perl、Python、LISP、BASIC、Logo等的许多编译器和解释器都是用C语言编写的,同时C语言还可用于解决物理学和工程问题,甚至可用于制作电影的动画特效。
3 第一个C语言程序
#include<stdio.h>
int main()//main函数是程序的入口,一个工程中main函数只有一个
{
printf("Hello World\n");
return 0;
}
4 基本数据类型
char //字符数据类型
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点型
double //双精度浮点型
之所以出现这么多的数据类型,是为了更加丰富地表达生活中的各种值,每种数据类型的大小可通过sizeof操作符计算如下:
#include<stdio.h>
int main()
{
printf("%d\n", sizeof(char));//1个字节
printf("%d\n", sizeof(short));//2个字节
printf("%d\n", sizeof(int));//4个字节
printf("%d\n", sizeof(long));//4个字节,理论上long的长度要大于等于int
printf("%d\n", sizeof(long long));//8个字节
printf("%d\n", sizeof(float));//4个字节
printf("%d\n", sizeof(double));//8个字节
return 0;
}
5 变量和常量
在生活中有些值(不单单指数值)是不变的,比如:圆周率,性别,身份证号码,血型等等,这些值在C语言中用常量的概念来表示。
有些值是可变的,比如:年龄,身高,体重,薪资,这些值在C语言中用变量的概念来表示。
5.1定义变量的方法
char ch = 'w'; // 数据类型后跟变量名然后赋相应的值
int weight = 120;
double price = 88.8;
5.2变量的分类
局部变量
全局变量
#include<stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
int global = 2020;//局部变量
printf("global = %d\n", global);//打印结果为global = 2020
return 0;
}
总结:上面的局部变量global的定义虽然与全局变量重名,但实际上是没有问题的!当局部变量与全局变量重名时,局部变量优先使用。
5.3 变量的使用
#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");//输出语句printf,把相应内容打印到屏幕上
scanf("%d %d", &num1, &num2);//输入语句scanf,输入相应的值,即为变量num1和num2的值
sum = num1 + num2;//将输入的两个值相加并赋值给sum
printf("sum = %d\n", sum);
return 0;
}
5.4 变量的作用域和生命周期
作用域:程序设计概念,通常来说,一段程序代码中所用到的名字并不永远是有效的,而限制这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
1.局部变量生命周期:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量生命周期:整个程序的生命周期。
5.5常量
C语言中的常量和变量的定义的形式有所差异,C语言中的常量分为一下几种:
1.字面常量
2.const修饰的常量
3.#define定义的标识符常量
4.枚举常量
#include<stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的 MALE,FEMALE,SECRET是枚举常量
int main()
{
3.14;//字面常量
1000;//字面常量
const float pai = 3.14f;//const修饰的常量
pai = 5.14;//NO
#define MAX 100 //#define的标识符常量