C语言数据类型
char 字符数据类型
short 短整型
int 整数
long 长整型
long long 更长的整型
float 单精度浮点数
double 双精度浮点数
打印数据类型输出符
%d – 一个十进制的整数
%c – 打印字符
%i – 一个整数
%f - -打印浮点数或小数
%lf – 打印双精度浮点型
%p – 以地址的形式打印,一个指针
%x – 打印16进制数字
%n – 一个等于读取字符数量的整数
%u – 一个无符号整数
%[] --一个字符集
%% – 一个精度符号
用代码输出各类型字节
//函数中出现 => 时,表示的是运行结果
int main(){
printf("%d\n",sizeof(char));//=>1 (字节) 补:char* 为8个字节
printf("%d\n",sizeof(short));//=>2 (字节)
printf("%d\n",sizeof(int));//=>4( 字节 ) 补: short int 2个字节 unsigned int :4个字节
printf("%d\n",sizeof(long));//4或8(字节
) printf("%d\n",sizeof(long long));//8(字节)
printf("%d\n",sizeof(float));//4(字节)
printf("%d\n",sizeof(double));//8(字节)
}
举例说明
int main(){
short age=20;//向内存申请两个字节=16bit位,用来存放20;
float weight=95.6f;//在小数后面加个f 就不会警示,因为这受双精度浮点类型影响,向内存申请4个字节,存放小数
return 0;
}
常量变量
生活中的有些值是不变的(如圆周率、身份证、血型)
有些值是可变的比如:(年龄、体重、薪资)
定义:不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。
定义变量的方法
举例说明
int age=150;
float weight=45.5f;
char ch='w';
变量的分类
1、局部变量
2、全局变量
区分局部变量和全局变量
举例说明
int num2=20;//全局变量-定义在大括号{}之外的变量
int main(){
int num1=10;//局部变量-定义在大括号{} 内部的变量
return 0;
}
下面我们来写个代码,来看看全局变量和局部变量可能会存在的问题
//只要有输出语句printf(),必须写上下面这句,否则运行不出来
#include<stdio.h>;
int global=2019;//全局变量
int main(){//局部变量
int local=2018;
//下面定义的global会不会有问题?
int global=2020;
printf("global=%d\n",global);
return 0;
// => global=2020
}
总结上面代码的问题:
1、局部变量和全局变量的名字尽量不要相同,容易误会,产生bug
2、当局部变量与全局变量的名字相同的时候,局部变量优先
变量的使用
int main(){//计算两个数的和
//定义变量
int num1=0;
int num2=0;
//输入数据-使用输入函数
scanf("%d%d",&num1,&num2); // & 取地址符号
int sum=0;
sum=num1+num2;
printf("sum=%d\n",sum);
return 0;//最后 小伙伴们不要忘了 int main() 函数有返回值呦
}
变量的作用域和生命周期
定义:作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效、可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
这个代码哪里可以用,哪里就是它的作用域,在同一个大括号内
举例说明:
#include<stdio.h>;
int main(){//局部变量的作用域
int num=0;
printf("num=%d\n",num);
return 0;
}
int main(){
{
int num=0;//这句语句的作用域就是在这一组大括号内的 仅仅是举例 但会运行错误
}
printf("num%d\n",num);
return 0;
//运行错误,不过 小伙伴们要分清定义呦!
}
全局变量的作用域
定义:全局变量的作用域是整个工程(可以在不同的源文件中运行,只需要输入关键字)
代码举例:
#include<stdio.h>;
int global=2020;
void test(){//自定义以及调用test()函数
printf("test--%d\n",global);
//=>test--2020
}
int main(){
printf("%d\n",global);
return 0;
//=> 2020
}
今天小微就先更到这里吧,后期我有可能会更新其他语言,有兴趣的小伙伴可以来讨论讨论,下期不见不散呦~