美文网首页工作生活C语言
C语言 第2节 基本编程知识

C语言 第2节 基本编程知识

作者: 小超_8b2f | 来源:发表于2019-07-04 16:15 被阅读0次
    1. cpu 内存条 硬盘 显卡 主板 显示器 之间的关系

    双击电影文件,OS先将文件调入到内存条中,CPU去处理内存条中的数据,将一些数据显示成图像,通过显卡,在显示器上输出;一些数据显示成声音,送给声卡输出
    主板:CPU,内存条等 都放在主板上,起到中间传输的作用

    2. HelloWorld是如何运行起来的

    编译、连接:产生.exe文件,点击VS的!运行:会调用OS,OS去执行.exe文件。OS控制硬件,Windows98 和WinMe可以直接控制硬件,但从Windows2000开始不可以了,屏蔽掉了,不允许你编写软件直接调用硬件。

    3. 什么是类型
    中文 类型 字节
    短整形 short 2
    整形 int 4
    长整形 long 8
    单精度浮点 float 4
    双精度浮点 double 8
    字符 char 1
    字符串 char[]替代
    结构体 struct {}复合类型
    枚举 复合类型

    共用体

    3.3 : float即可,4字节,省内存
    3.333333333333:double:8字节。

    #include <stdio.h>
    
    int main() {
      int i = 10.5;  //java报错,C包容
      print("int i = %d", i); //结果:int i = 10
      return 0;
    }
    
    4. 什么是变量
    变量的本质就是内存里的一段存储空间。不通过变量的话你得自己写内容和内存地址的映射关系。 变量
    5. cpu 内存条 VC++6.0 操作系统 之间的关系
    6. 变量为什么必须初始化

    初始化就是赋值。未经初始化的变量VC++会为其赋值一个-8......6的数字。覆盖原来的脏数据,以此来提醒你这是未赋值的变量。

    #include <stdio.h>
    
    int main() {
      int i; //未初始化,然后使用
     //结果:-8......6一个固定不变的数字:VC++设置的
     //提醒你这是垃圾数字,变量未定义
      print("int i = %d", i);
      return 0;
    }
    

    01010101
    1:高电频
    0:低电频
    硬件上要么是0,要么是1,不可能什么都没有。
    一重启电脑,都变成00000000了。
    i空间是空闲的,但是以前可能被使用过,然后释放了。所谓释放不是清零,而是状态变成释放,可以被其他程序使用。
    填充数字:VC++一旦发现一个内存是一个垃圾值,自己的程序又没有初始化,便会填充一个固定的大数字。

    7. 如何定义变量

    int i = 5; 等价于 int i; i = 5;
    int i , j; 等价于 int i; int ;
    int i, j = 3; 等价于 int i; int j; j = 3;
    int i =3 , j = 5; 等价于 int i; int j; i = 3; j = 5;
    int i, j; i = j = 5; 等价于 int i, j; i = 5; j = 5;

    8. 什么是进制

    进制就是逢几进一,N进制就是逢进一。eg:

    十进制:10个基数,逢十进一,基数:0 1 2 3 4 5 6 7 8 9
    二进制:2个基数,逢二进一,基数:0 1

    八进制:8个基数,逢八进一,基数:0 1 2 3 4 5 6 7
    8 ——> 10, 9 ——> 11,10 ——>12
    十六进制:16个基数,逢十六进一,
    基数:0 1 2 3 4 5 6 7 8 9 A B C D E F
    或者:0 1 2 3 4 5 6 7 8 9 a b c d e f

    生活中进制的例子
    • 一周七天
    • 一年12个月
    • 一分钟60秒

    人都有10个手指头,算起来容易;有地方有20进制,因为不穿鞋。
    原先的大型计算机也是10进制,冯诺依曼给定的二进制。并将计算机分为5大部件。因为计算机容易识别二进制。

    image.png
    • 计算机只认识二进制

    • 人类为了实际需要,我们又建立了八进制和十六进制

    • C语言规定:
      八进制前面要加数字:0
      十六进制前面加0X 或0x
      十进制前什么也不加

    • 汇编语言
      100101B : 二进制100101,(100101)2
      1357O:八进制1357,(1357)8
      2049D:十进制2049,(2049)10
      3FB9H:十六进制3FB9,(3FB9)16

    /**
     printf("int i = %d", i);
      %d:表示:十进制输出
      %x 或 %X 表示:十六进制输出
      %o 表示:八进制输出
    */
    #include <stdio.h>
    
    int main() {
        int i  = 88;
        printf("int i = %d \n", i); //88
        printf("int i = %X \n", i); //58 = 5 x 16 + 8 
    
        i = 0x32C;
        printf("int i = %x \n", i); //32
        printf("int i = %d \n", i); //3 * 16 * 16 + 2 * 16 + 12 = 812
     
        return 0;
    }
    
    9. 常量在C语言中如何表示

    整数:
    十进制:正常写
    八进制:
    十六进制:
    浮点数:
    传统写法:
    float e = 12.345;
    科学计数法:
    floagt e = 1.2e3; //1200
    float e = 123.45e-2F; //x = 1.2345f ,不加f默认是double

    字符:
    单个字符用单引号
    'A'
    字符串用双引号
    "abcdefg";
    "A" 是 'A' 和 '\0'的组合

    10. 常量是以什么样的二进制代码存储在计算机中
    类型 形式
    整数 补码
    实数 IEEE754标准
    字符 补码,ASCII 转换成整数



    11. 代码规范
    《高质量C / C++编程》林锐

    12. 什么是字节
    字节就是存储数据的单位,并且是硬件所能访问的最小单位。硬件不能精确到位,只能精确到字节。1字节 = 8 位。只能通过位运算符控制到位。整形4字节,等于4 * 8 位 = 32位。
    1字节 = 8位
    1K = 1024字节
    1M = 1024K
    1G = 1024M
    1T = 1024G
    1P = 1024T

    13. 不同类型数据之间互相赋值的问题

    int i = 23;
    long j = 123456;
    i = j;
    printf("%ld  %d \n",i,j);
    
    float f 123.456;
    float d = 543.213;
    printf("%f  %lf", f,d);
    
    #将long型赋值给int型
    int i = 2147483648;
    printf("%d",i); // - 2147483648;补码导致
    #java直接报错,这个问题是c 和C++独有的问题
    

    14. 什么是ASCII

    ASCII不是一个值,而是一种规定,规定了不同的字符使用哪个整数值去表示。
    A 65
    B 66
    a 97
    b 98

    char ch = 'A';
    char ch = "AB";  //error, 字符串不能付给字符
    char ch = "A";    //error,  "A" = "A\0"
    char ch = 'B';     //定义过了的就不能再定义了。
    ch = 'C';
    printf("%c ",ch);
    
    char A = 'A';
    #字符是以二进制存储,任何二进制都可以转换成整数
    printf("%d",A); //65
    char a = 'a';
    #字符是以二进制存储,任何二进制都可以转换成整数
    printf("%d",a); //97
    

    15. 基本的输入输出方法
    printf()
    scanf()

    相关文章

      网友评论

        本文标题:C语言 第2节 基本编程知识

        本文链接:https://www.haomeiwen.com/subject/rxnbcctx.html