1.c语言工程文件
.c表示源文件
.h表示头文件
2.第一个c语言程序
stdio.h表示 standard input output的头文件,使用printf 需要include <stdio.h>
# include <stdio.h> int main() { printf("#####"); return 9; }
3.数据类型
数据类型
短整形 short int
长整形 long int
单精度浮点型 float
双精度浮点型 double
%c打印字符格式的数据;%d打印整形十进制格式的数据
%f打印浮点数字小数; %p以地址的形式打印
%x打印16进制
#include <stdio.h> int main() { // char 字符类型 用单引号 char ch = 'h'; //向内存申请空间,创建char类型的变量 printf("%c ", ch); // int 整形 int age = 20; printf("%d ", age); // float float c = 5.0; printf("%f ", c); // double double pi = 3.14; printf("%lf ", pi); return 0; }
思考:为什么有short,int,long等不同的数据类型?
数值的范围不同,减少内存的消耗 存age= 20; 用int age,就有点浪费内存了,可以使用short int age
4.内存占用
#include <stdio.h> int main() { printf("%d ", sizeof(char));// 1 byte ,char这种数据类型向内存申请空间,能够申请多大的内存 printf("%d ", sizeof(short));// 2 byte printf("%d ", sizeof(int)); // 4 byte printf("%d ", sizeof(long));// 4、8 byte printf("%d ", sizeof(long long));// 8 byte printf("%d ", sizeof(float));// 4 byte printf("%d ", sizeof(double));// 8 byte
short age = 20;//向内存申请2个字节,16bit位,用来存放20
float weight = 95.5f; //加f是保证是float类型而不是double
return 0;
}
计算机中最小的单位:bit 比特位
byte 字节(kb,mb,gb,tb,pb)
计算机是硬件 ---通电后识别电信号,有正电、负电,正电被转化成1,负电被转化成0,
计算机能识别正负电,就能够识别0,1这样的信号(指令)--->0,1这样的二进制位存起来
那么计算机中存0/1的小空间就被称为一个bit位。只能存0或者1----一个bit位只能存放一个二进制位(0或1)
一个字节byte==8bit位的大小
c语言标准规定:sizeof(long)>sizeof(int)就可以
在一些64位计算机中sizeof(long)是8byte,也是满足上面的,所以long可以是4/8byte
变量的定义方式:数据类型 变量名 = value
常量的定义方式:
{}里面的是代码块,
全局变量:在{}外面;局部变量:在{}里面
局部变量和全局变量的名字建议不要相同;如果相同,局部变量优先。
5.作用域 生命周期
①作用域
局部变量的作用域是当前代码块;全局变量是整个工程
1.c文件中定义的变量int a = 2020;在2.c文件中声明这个变量就可以使用了
声明变量:extern int a;
②生命周期
局部变量的生命周期:从进{}开始到出{}
全局变量的生命周期是整个工程的生命周期