第一天学习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.浅认变量:

变量的意思就是能变的量,变量被分为全局变量局部变量:

全局变量定义在代码块以外的变量被称为全局变量

局部变量:定义在代码块以内的变量被称为局部变量

当全局变量和局部变量的名字重合时以局部变量优先

#include
int 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.数值的输入

#include
int 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; }