第一个C语言程序
我们刚开始接触C语言的时候,最先开始的是C语言的main函数。main函数就是C语言的开始,所以我们可以写出第一个C语言程序
#include<stdio.h>
int main()
{
printf("hello tomorrow\n");
return 0;
}
上面这就是一个最最简单的C语言程序,由main函数开始,printf是一个库函数,是为了在屏幕上面输出hello tomorrow,这是一个库函数,所以要引用头文件#include<stdio.h>。
我们每次写C语言程序的时候,都应该写的一个代码就是下面这个
int main()
{
return 0;
}
这是每一个C语言程序的框架,都是必须要写的,这是C语言标准规定的。
数据类型
认识了第一个C语言程序,我们接下来在了解一下数据类型,常见的数据类型有以下这些
char //字符数据类型
float //单精度浮点型
double //双精度浮点型
short //短整型
int //整型(常用)
long //长整型
long long //长长整型
有这么多数据类型,是因为它们有不同的大小,占的内存空间不同,为不同数据匹配不同的数据类型,能更好的利用系统空间。下面来看看它们分别占多少的内存空间,这里要用到一个求大小的操作符sizeof。
int main()
{
printf("%d\n", sizeof(char)); //1
printf("%d\n", sizeof(float)); //4
printf("%d\n", sizeof(double)); //8
printf("%d\n", sizeof(short)); //2
printf("%d\n", sizeof(int)); //4
printf("%d\n", sizeof(long)); //4
printf("%d\n", sizeof(long long)); //8
return 0;
}
每一行后面的数字代表这个类型占几个字节,我们平时的计量单位最小的是bit(比特),byte(字节),KB,MB,GB,TB,这些单位里面,除了byte是bit8倍之外,其余都是1024倍的关系。因为我用的是32位系统,所以有些人用64位系统的时候 对应的大小不一样。
变量,常量
在认识了数据类型之后,我们再讨论一下变量和常量
变量
就是在C语言当中会变的值,就是可以去改变的值。定义变量的方法就是先写出变量类型,然后在变量类型后面写成变量名称,要注意的是,变量名称不要跟变量类型一样。下面就通过代码来看变量。
int main()
{
int a = 10; //变量a的类型是整型,并且对a赋初值为10;
char c = 'w'; //变量c的类型是字符型,并且对c赋初值为w;
float weight = 45.5; //变量weight的类型是单精度浮点型,并且赋初值为45.5
return 0;
}
上面的代码就是对变量的简单介绍,但是变量又分为两类。
变量的分类:局部变量和全局变量
局部变量:在某个大括号的范围内有效。
全局变量:在这个程序内都有效
int c = 30;//c不在任何范围内,所以c就是全局变量
int main()
{
int a = 10; //这里的a就是main函数里面的局部变量,所以作用域在main函数里面,当然在b的大括号里面也能访问到
{
int b = 20; //b是它所在的这个大括号里面的局部变量,在b所在的大括号外面就访问不到了
}
int c = 90;
printf("%d\n",c); //这里的结果是90,不是全局变量的10,说明局部变量的优先级要大于全局变量
return 0;
}
常量
常量就是值不可被改变的,在将某个定义为常量之后,它的值是不可被改变的。在C语言当中有四种常量类型。
分别是:
1 字面常量
2 const修饰的常变量
3 #define定义的标识符常量
4 枚举常量
1 字面常量就是直接写出来的。例如
int main()
{
123; //这样直接写出来的就是字面常量
'abc';
return 0;
}
2 const修饰的常变量
int main()
{
int a = 10;
a = 20;
const int b = 30; //因为b前面加了const 所以就变成了常变量,就不能修改了 否则会报错
//加了const之后,本质还是一个变量,是具有了常属性,是不可被修改了
return 0;
}
为什么说加上const之后是个常变量,因为在C语言的数组定义里面说了,数组在定义大小的时候,不可用变量来指定大小,可以用常量指定大小。
int main()
{
const int a = 10;
//int arr[a] = {}; //不能这样写,会报错,因为a加了const,但本质还是一个变量
return 0;
}
3 #define定义的标识符常量
就是在文件的最上面通过 #define 定义,但要注意的是,define之后写的英文必须大写。下面代码示例。
#define MAX 100; //通过#define定义MAX最大为100
int main()
{
printf("%d\n",MAX); //因为通过#define定义了MAX为100 所以这里也打印100
int arr[MAX] = {}; //因为MAX是常量 所以可以用于数组的大小
return 0;
}
4 枚举常量
因为生活中有些东西是不变的,所以就可以用到枚举,要使用到枚举关键字enum,代码示例如下’
enum Sex //因为有些东西是不变的 所以就定义为枚举常量
{
MALE,
FAMALE,
SECRET
};
int main()
{
enum Sex s = MALE; //这里就是对枚举常量的直接使用 s是创建的局部变量
return 0;
}
枚举主要是用于一些固定的值,这样就方便调用,年龄,身份证号码之类的。