数据类型
一个工程中可以出现多个.c文件,但是多个.c文件中只能有一个main函数。
数据类型 | 解释说明 | 例子 | 长度 | 输出所需的格式字符 |
char | 字符数就类型 | char ch='a'; | 1byte | %c |
short | 短整型 | short (int) a=1; | 2byte | %hd |
int | 整形 | int a=10; | 4byte | %d |
long | 长整型 | 4byte | %ld | |
long long | 更长的整形 | 8byte | %lld | |
float | 单精度浮点数 | float a=12.1; | 4byte | %f |
double | 双精度浮点数 | double a=0.0; | 8byte | %lf |
注:C语言标准规定sizeof(long)>=sizeof(int),有的版本int的长度是2byte
打印一个整数--%d
#include<stdio.h>
int main{
printf("%d\n",100);
return 0;
}
sizeof--关键字--操作符--计算数据类型或者变量所占空间的大小,单位:字节(byte)
int main{
printf("%d\n"sizeof(char));
}
计算机中的单位(由小到大)
bit--比特位--最小的单位--只能存放一个二进制位的数字的单位
byte--字节--1字节=8bit
kb--1kb=1024byte
mb--1mb=1024kb
gb--1gb=1024mb
常量,变量
常量--不能改变的量
C语言常量分为以下几种:
字面常量
const修饰的常变量(本质是变量,只是不能在被修改)
#define定义的标识符常量,#define是C语言的一条预处理命令,成为宏定义命令。
枚举常量
#include<stdio.h>
//#define定义的标识符常量
#define MAx 100//定义标识符常量时后面不能出现分号“;”,如果出现分号,则分号也是常量的一部分
int main(){
//字面常量
3.1;//float型字面常量
2;//int型字面常量
'a';//char型字面常量
//const修饰的常变量
const int num=10;//num是变量,const修饰后就变为了不能修改的变量的(常变量)
num=20;//错误,const修饰后不可修改
const int n=10;
int arr[n]={0};//错误,[]内需要常量,n本质是变量
//#define定义的标识符常量
int n=Max;
Max=10;//错误,已被定义为常量不可更改
printf("%d",n);//结果为100
}
//枚举常量,可以一一列举的常量
#include<stdio.h>
enum Sex{//enum 枚举关键字
//性别这种枚举变量量未来可能的三种取值
MALE;
FEMALE;
SECRET;
};
int main(){
enum Sex=MALE;//三种可能取值中的一个
printf("%d\n",MALE);//结果为0,枚举常量默认从零开始
return 0;
}
变量--能被改变的量
创建一个变量
int main{
//int 变量的类型
//a是变量
int a=0;
a=a+1;
printf("%d\n",a);
return 0;
}
局部变量
定义在{}内部的叫局部变量。
变量取名规则:
标识符只能由字母,数字,下划线三类字符组成。
第一个字符必须是字母(也可以是下划线,但被视为系统自定义的标识符)
大写字母和小写字母是不同的字符
标识符可以任意长,只有前32位有效
标识符不能是C的关键字
//全局变量a
int a=10;
int main{
//局部变量a
int a=100
printf("%d/n",a);
return 0;
}
//结果为100;
//当全局变量与局部变量名字相同时,局部变量优先使用
int main{
int a=0,b=0;
int sum=0;
//scanf输入,&取地址符:取出变量或函数的地址,while(~scanf("%d",&a)){}输入多组数据案例
scanf("%d %d",&a,%b);
sum=a+b;
printf("%d\n",sum);
}
全局变量
定义在{}外部的叫全局变量
//全局变量a
int a=10;
int main{
printf("%d/n",a);
return 0;
}
作用域和生命周期
作用域
局部变量的作用域就是变量所在的局部范围。
全局变量的作用域就是整个工程
#include<stdio.h>
int g_v=20;//全局变量
int main(){
int a=10;//局部变量
{
printf("%d",a);//局部变量不可用
printf("%d",g_v);//全局变量可用
}
printf("%d",a);//局部变量可用
printf("%d",g_v);//全局变量可用
return 0;
}
//在此项目中另建C文件
extern int g_v;//声明一下变量
int main(){
printf("%d",a);//局部变量不可用
printf("%d",g_v);//全局变量可用
return 0;
生命周期
变量的生命周期指的是变量的创建到变量的销毁的一个时间段
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期
初学C语言,不对的地方请大佬指教。