第一天学习C语言,简记
1.浅认对c语言的第一次敲出来的代码的理解:
1 #include//个人理解是调用C库里的'stdio.h'文件,这个文件翻译过来是标准输入输出文件,这个文件里面包含下文的'printf'函数 3 int main(){ //main函数被称为主函数,是程序的入口,有且只有一个,'int'代表着main函数的返回值类型为整数类型 4 printf("Hello word"); //printf函数被称为库函数,含义是“打印”,将引号里面的内容打印输出到屏幕 5 return 0; //返回值为0,0是整数,与上面的int相对应 6 }
2.浅认数据类型:
数据类型有:char,short,int,long,long long,double,float,double;
- "char"是指字符型;
- "short"是指短整型;
- "int"是指整型;
- "long"是指长整型;
- "long long"是指更长的整型;
- "float"是指单精度浮点型;
- "double"是指双精度浮点型;
对数据类型进一步分析:
printf("%d",10);//"%d"指的是输出整型数据,执行后输出窗口为"10"。
相对于"%d"来说,还有输出其它类型的数据:
printf("%d",10); printf("%c",'A'); printf("%f",1.5); printf("%lf",1.5); /* 输出结果为: 15 A 1.500000 1.500000 */
%d:打印整数类型;
%c:打印字符类型;
%f:打印单精度浮点数类型--打印小数类型;
%lf:打印双精度浮点数类型;
%p:打印一个地址形式;
%x:打印16进制数字;
........
这些数据类型所占空间多大
printf("%d\n", sizeof(char));//1 printf("%d\n", sizeof(short));//2 printf("%d\n", sizeof(int));//4 printf("%d\n", sizeof(long));// 4/8 //c语言标准规定sizeof(long)只要比sizeof(int)大于或等于就行 printf("%d\n", sizeof(long long));//8 printf("%d\n", sizeof(float));//4 printf("%d\n", sizeof(double));//8
"sizeof()"指的是计算出"char..."所占空间大小,经过编程可知:它们依次所占空间大小为:1,2,4,4/8,8,4,8个字节;
3.浅认计算机基础知识
- 计算机的硬件--通电--电信号转换为数字信号--正电荷(+)转换为0,负电荷(-)转换为1,0和1构成了计算机的最小单位"bit"--比特位--简称"位"
- 计算机的单位有:bit(比特位),byte(字节),KB,MB,GB,TB,PB
- 一个字节由8个位构成,上面的1,2,4,4/8,8,4,8字节,则分别对应8,16,32,32/64,64,32,64位
- 1MB=1024KB,1GB=1024MB,1TB=1024GB,1PB=1024TB,值得一提的是:2^10=1024
十进制逢十进一,例如:
123=3*10^0+2*10^1+1*10^2=123
二进制逢二进一,例如有一个2字节的二进制:
0000000000000000--转换成10进制--0
0000000000000001--转换成10进制--1*2^0=1
0000000000000010--转换成10进制--0*2^0+1*2^1=2
0000000000000011--转换成10进制--1*2^0+1*2^1=3
0000000000000100--转换成10进制--0*2^0+0*2^1+1*2^2=4
0000000000000101--转换成10进制--1*2^0+0*2^1+1*2^2=5
......
1111111111111111--最多有2^16种二进制,
short age=20;向内存申请2个字节=16位,用于储存20
float weight=95.6;向内存申请4个字节=32位,用于储存小数95.6
使用char,short,int,long,long long,float,double不同数据类型主要是为了节省空间。
4.浅认变量:
变量的意思就是能变的量,变量被分为全局变量和局部变量:
全局变量:定义在代码块以外的变量被称为全局变量
局部变量:定义在代码块以内的变量被称为局部变量
当全局变量和局部变量的名字重合时以局部变量优先
#includeint num1 = 10; //全局变量--定义在代码块({})以外的变量,被称为全局变量 int a = 100; int main() { { int b = 30; } int num2 = 20;//局部变量--定义在代码块({})以内的变量,被称为局部变量 int a = 10; printf("%d\n",num1); printf("%d\n",num2); printf("%d\n",a);//当局部变量和全局变量的名字相同时,以局部变量优先 //printf("%d\n",b);//会发生报错,原因是局部变量b,未在当前的这个代码块中,无法找寻到 return 0; }
变量的作用域和生命周期:
作用域是指变量能够做用到的范围,作用域被分为全局变量的作用域和局部变量的作用域;
全局变量的作用域作用于整个工程,局部变量的作用域所作用的范围在它所在的代码块中;
生命周期分为全局变量的生命周期和局部变量的生命周期,局部变量的生命周期由它所在代码块的开始而开始,代码块的结束而结束;
全局变量的生命周期随着工程的开始而开始,工程的结束而结束;
5.数值的输入
#includeint main(){ //输入两个数的值,再让两个数求和 int a = 0; int b = 0; int c = 0; //旧版c语言标准要将定义函数放在代码块的顶部, //新版可以随便放在哪,不过最好这样写
scanf_s("%d%d",&a,&b);//"scanf"函数是指输入函数,在vs2022中 //不支持"scanf"要改成"scanf_s" c = a + b; printf("sum=%d\n",c); return 0; }