C语言基础_1

C基础
一、计算机结构
    1、组成
        输入输出设备:
        CPU:
        存储器:内存 外存储器 寄存器
            主存储器即内存。程序中待处理的数据和处理的结果都存储在内存中。
            外存储器是用来长期保存数据的大容量存储器。
            寄存器是CPU内部的高速存储器,速度快,数目少。
    2、程序
        程序就是系统可以识别的一组有序的指令。存储在磁盘上,被加载到内存中执行。
    3、程序设计步骤
        编辑 -> 编译、链接 -> 执行、调试
    4、计算机数据表示
        能够进行算术运算得到明确数值概念的信息成为计算机数值数据,其余的信息成为非数值数据
        
        1> 数值数据表示
            二进制 十进制 八进制 十六进制
            
            其他进制转二进制
                十进制 -> 二进制
                原则:除2倒取余,直到商为0
                eg:
                56 --> 111000
                
                八进制 --> 二进制
                
                0  -------  000
                1  -------  001
                2  -------  010
                3  -------  011
                4  -------  100
                5  -------  101
                6  -------  110
                7  -------  111
                
                原则:一位划三位
                eg:
                067  --> 110 111
                
                十六进制 --> 二进制
                0  -------  0000
                1  -------  0001
                2  -------  0010
                3  -------  0011
                4  -------  0100
                5  -------  0101
                6  -------  0110
                7  -------  0111
                8  -------  1000
                9  -------  1001
                a  -------  1010
                b  -------  1011
                c  -------  1100
                d  -------  1101
                e  -------  1110
                f  -------  1111
                
                原则:一位划四位
                eg:
                0xaf --> 1010 1111
            
        二进制转其他进制
            二进制 -> 十进制
            eg:
            111000 -> 0*2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 1*2^4 + 1*2^5 = 56
            
            二进制 -> 八进制 (三位划一位)
            eg:
            110 111 -> 067
            
            二进制 -> 十六进制 (四位划一位)
            eg:
            1010 1111 -> 0xaf
            
        十进制 --> 八进制 (十进制->二进制->八进制)
        eg:
        67 --> 103
        
        十进制 -> 十六进制(十进制->二进制->十六进制)
        eg:
        67 -->  0x43
        
        八进制 -> 十六进制
        eg:
        103 -> 0x43
        
    练习:
    二进制:  1011010    10111110001
        1011010
            八进制: 0132
            十六进制:0x5a
            十进制:1*2^6 + 1*2^4 + 1*2^3 + 1*2^1 = 90
        
        10111110001
            八进制: 02761
            十六进制:0x5f1
            十进制:1521
    
    十六进制 ->  十进制: 0xa6f 0xb8e   
        
        0xa6f --> 2671
        0xb8e --> 2958
            
    2> 字符数据
        以ASCII值存储;
        
        字符              ASCII值
        '0'                 48
        'a'                 97
        'A'                 65
        ' '                 32
        '\0'                0
    
    eg:
    char ch = 'A'+3;
    printf("ch=%d\n",ch); // ch = 68
    printf("ch=%c\n",ch); // ch = D
    
二、词法符号
    1、关键字(32个) 32bit 系统
    1byte = 8bit
    存储类型:auto(自动存储) static(静态存储) register(寄存器存储) extern(声明一个外部的全局变量)
    eg:
    int a;// auto int a;
    static int b;
    register int c;
    数据类型:unsigned signed int(4byte) short(2byte) long(4byte) char(1byte) float(4byte) double(8byte) 
              enum(枚举) struct union void
                                                  void :1.表示函数无返回值 2.修饰指针表示指针指向不确定的数据类型

    控制语句:if else switch case default break continue for do while goto
    其他:return sizeof(数据类型或变量) const typedef volatile(有可能被隐含的改变)
    eg:
    int i;
    sizeof(i); //4byte
    sizeof(int)//4byte
    
    注意:
        所有关键字均为小写    
    
    2、标识符
        程序员按照命名规则自行定义的词法符号;
    C的命名规则:
        1> 必须由一个或多个字母、数字、下划线组成;
        2> 不能以数字开头
        3> 不能与关键字重名
        
        eg:
        x(√)    y(√)    sum(√)   a100(√)   _A7b_3x(√)   
        3’a(×)   x*y(×)   @(×)   b.8(×)  while(×)  
    3> 运算符
        算数运算符(+ - * / % ++ --)
        关系运算符( >  < >= <= == !=)
        逻辑运算符 (&& || ! )
        位运算符(& | ~ <<  >> ^)
        赋值运算符( =  +=  -=  *=  %=  >>=  <<=  ^= )
        地址运算符:(&)
        逗号运算符:(表达式1,表达式2,...,表达式n)
        sizeof(变量或数据类型) //求数据类型或者是变量所占内存的字节数
        三目运算符(表达式1?表达式2:表达式3)


    4>分隔符

        空格符‘ ’、制表符‘\t’、换行符'\n'、注释'//、/*...*/'。
    
    5>标点符号

        逗号,分号,冒号,花括号,圆括号;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值