学习C语言---第一天

一、C语言的发展过程

        早期计算机只认识二进制,也就是0和1,程序员们想要写个加法函数需要写一堆的0和1,后来他们想出了一个简化的方法,将一堆表示加法的0和1用Add表示,以后他们想要写个假发函数时,只用写个Add就可以了,简化了程序的编写过程,由此产生了助记符。

        C语言之所以命名为C,是因为C语言源自肯·汤普森(Ken Thompson)发明的B语言,而B语言源自于BCPL语言。

        1967年,由于CPL语言规模大,使用起来比较复杂,难以实现。剑桥大学的马丁·理查德(Martin Richards)对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

        1969年,美国贝尔实验室的肯·汤普森以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母),并且用B语言写了初版的UNIX操作系统,也叫UNICS。据记载,UNICS系统是汤普森为了玩一个他自己编写的,模拟在太阳系航行的电子游戏——Space Travel而开发出来的操作系统。

        1971年,同样酷爱Space Travel的丹尼斯·里奇(Dennis Ritchie)为了能早点玩上游戏,加入了汤普森的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。

        1972年,丹尼斯·里奇终于在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

        1973年初,C语言的主体完成。汤姆森和里奇迫不及待地开始用它完全重写了UNIX系统。此时,编程的乐趣使他们已经完全忘记了那个“Space Travel”的游戏,一门心思地投入到了UNIX和C语言的开发中

二、第一个C语言程序——Hello World!

        C语言的主体结构,开头需要引入stdio.h头文件,std是standard的缩写,译为标准;i是input的缩写,译为输入;o是output的缩写,译为输出;.h全名是.head。还需要一个主函数main,main函数是程序的入口,有且仅有一个。

//包含一个叫stdio.h的头文件
//std-标准 standard  input  output
#include <stdio.h>

//int 整型
//main前面int表示main函数调用后返回一个正数值
//void main(){}--这种写法已过时
int main() //主函数-程序的入口,main函数有且仅有一个
{
	//printf - print function - 打印函数
	//库函数 - C语言本身提供给我们的函数 - 别人的东西
	//使用别人的东西需要打招呼 - #include
	printf("Hello World!\n");
	return 0;//返回 0
}

三、C语言的数据类型

char -- 字符型

short -- 短整型、int -- 整型、long -- 长整型,还有long long

float -- 单精度实型、double -- 双精度实型

#include <stdio.h>

int main()
{
	char ch = 'A';//向内存申请了一段大小为1字节的空间,命名为ch,用来存放字符'A'
	printf("%c\n", ch);//%c --打印字符格式的数据
	//short int - short -- 短整型
	//int -- 整型
	int age = 20;
	printf("%d\n", age);//%d -- 打印整型十进制数据

	//long -- 长整型
	long num = 1000;
	printf("%d\n", num);

	//float -- 单精度实型
	float f = 5.0;
	printf("%f\n", f);

	//double -- 双精度实型
	double d = 6.01;
	printf("%lf\n", d);//这里用%f也可以,double使用%lf比较标准

	printf("%d\n", sizeof(char));// 1 字节
	printf("%d\n", sizeof(short));// 2
	printf("%d\n", sizeof(int));// 4
	//C语言标准规定 sizeof(long) >= sizeof(int)
	printf("%d\n", sizeof(long));// 4/8 -- 可能是4或者8字节
	printf("%d\n", sizeof(long long));// 8
	printf("%d\n", sizeof(float));// 4
	printf("%d\n", sizeof(double));// 8
	return 0;
}

 四、变量

        变量指的是程序可操作的存储区的名称。C语言中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围的值都可以存储在内存中,运算符可应用于变量上。

变量的命名需要注意一下几点:

  1. 开头必须是英文字母或下划线
  2. 大小写敏感,大小写不同的变量是不同的
  3. 变量的名称由字母、数字和下划线组成
#include <stdio.h>

int num2 = 20; //全局变量 - 定义在代码块({})之外的变量
int a = 8;
int main()
{

    //可以同时声明多个变量,变量之间用逗号,隔开
    //int    i, j, k;
    //char   c, ch;
    //float  f, salary;
    //double d; 

    //外部变量声明
    //extern int x;
    //extern float y;    

	int num1 = 10; //局部变量 - 定义在代码块({})之内的变量
	//局部变量和全局变量的名字建议不要相同 - 容易产生bug
	//当局部变量和全局变量的名字相同的时候,局部变量优先
	int a = 9;
	printf("%d\n", a);


	//计算两个数的和
	int h = 10;
	int v = 20;
	//输入数据 - 使用输入函数scanf
	scanf_s("%d%d", &h, &v);//&取地址符号
	int sum = h + v;
	printf("sum = %d\n", sum);

	return 0;
}

         如果需要在一个源文件中引用另外一个源文件中定义的变量,我们只需在引用的文件中将变量加上extern关键字声明即可。

        变量的作用域就是在哪里可以用这个变量,哪里就是这个变量的作用域,也就是这个变量所在的代码块。变量的生命周期,局部变量的生命周期是从声明这个变量开始到其所在代码块结束;全局变量的生命周期是从声明这个变量开始到这个工程结束。

上一篇:VS2008调试提示“没有可用于当前位置的源代码”


下一篇:终于,我也到了和 Eclipse 说再见的时候,难说再见