作为一个大四的学生,只是简单学习过C语言的课程,到后边的嵌入式、单片机等课程都用到了C语言的编写,简单的学习让我面对这些课程废了不少力气,所以现在决定系统的重新学习一下C语言。每天记录一下自己的成长,使自己变得更好!
目录
数据类型
1.char——字符数据类型
2.short——短整型
3.int——整型
4.long——长整型
5.long long——更长的整型
6.float——单精度浮点型
7.double——双精度浮点型
#include <stdio.h>
int main()
{
char a = 'A';
printf("%c\n",ch);//%c以字符的形式来打印a,也就是打印字符格式的数据。
printf("%d\n",ch);//打印出来是65,A的ASCII码值为65,%d是打印整型十进制数据
int age = 20;
printf("%d\n",age);
float f = 5.0;
printf("%f\n",f);//float 精确到小数点后六位
double d = 3.14;
printf("%lf\n",d);//double 要用 %lf 同样精确到小数点后六位
return 0;
}
%c打印字符
%d打印整型
%f打印浮点型,打印小数
%p 以地址的形式打印
那么每种数据类型的大小是多少呢?我们可以写一段C语言代码来看看。
#include <stdio.h>
int main()
{
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(long long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
return 0;
}
sizeof,从名字上可以看出来是什么什么的大小,sizeof(char)——char这个类型向内存申请空间的话能申请多大的空间。
打印出来的结果依次为:1、2、4、4或8、8、4、8
sizeof(long)>=sizeof(int),编译器不同,打印出来的可能不一样,有可能是4,也有可能是8。
变量
变量分为全局变量和局部变量。
全局变量是定义在{}(即代码块)之外的变量。
局部变量是定义在{}(即代码块)之内的变量。
#include <stdio.h>
int a = 20;//全局变量
int main()
{
int b = 10;//局部变量
return 0;
}
上边的代码就能很直观的看出哪个是全局变量,哪个是局部变量。
此外,我们还有需要注意的点:
1.局部变量和全局变量的名字不要相同,不然可能会产生误会,发生bug。
2.当局部变量和全局变量的名字相同的时候,局部变量优先(如下)。
#include <stdio.h>
int a = 100;
int main()
{
int a = 10;
printf("%d\n",a);//打印出来的结果为10,局部变量优先
return 0;
}
全局变量的作用域是整个工程。
局部变量的作用域是变量所在的局部范围。
#include <stdio.h>
int main()
{
{
int a = 10;
}
printf("%d\n",a);//这时候会显示错误,因为a是局部变量
//printf在a所在的代码块的外边,所以显示错误
return 0;
}
scanf()
在我们输入数据的时候,我们就用到了scanf。
比如,我们写一个代码来计算a+b=c。
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
//输入数据用scanf
scanf("%d%d",&a,&b);
int c = 0;
c = a + b;
printf("%d\n",c);
return 0;
}
'&'符号为取地址符号。
今天就抽时间学习了这些,有错误请帮我指正,感谢大家!希望我们都越来越好!