C语言基础知识

#import <Foundation/Foundation.h>
int main(  ) {
#pragma mark  --------------进制-------------
    /*
     1.进位机制,逢几进一,就是几进制
     2.进制作用:利用有限的数字表示所有的数值。
     3.进制的规则:
     1)二进制  0  1
     2)八进制  0  1 2 3 4 5 6 7
     3)十进制 0 1 2 3 4 5 6 7 8 9
     4)十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f (a~f  10-15)
     4.进制的转换
     1)十进制转N进制
     连除倒取余,
     2)N进制转十进制
     按权求和(按位求和,多项式展开)
     3)概念:
     1.基数:N进制的基数为N,例如十进制的基数为10
     2.位:对数值每一位的描述,从右到左是从最低位到最高位,最低位使用0 表示。向高位方向依次增加。例如:123       3的位为0,2的位为1,1的位为2.
     3.权:基数的另外一种称呼,相同
     练习:将十进制数字57 转化成二进制,并将结果转回为十进制,以此验证
     4)区分进制
     1.十进制:不加修饰
     2.八进制:数值前加0,例如:0111
     3.十六进制:数值前加0x 例如:0x111
     4.二进制:数值前加0b  例如:0b111
     5)进制常识
     1.十进制:给开发人员使用,二进制:计算机能识别的语言,即0 1 编码
     2.一个十六进制位=4个二进制位  十六进制的存在,更多的作用是为了方便的表示二进制
     
     
     
     */
#pragma mark   ----------数据类型--------------
    /*
     数据类型;
     在编写计算机程序时,我们会将大量的数据交给计算机处理,那么在C语言当中,如何存储。
     1.数据类型的分类
        (1)基本数据类型:整形,浮点型,字符型
        (2)构造类型:数组,枚举
        (3)指针类型
        (4)空类型      void
     2.基本的数据类型介绍
       (1)整型   存储整数
               1)short   短整形
               2)int        整形
               3)long    长整形
               4)long long     长长整形
       (2)浮点型    存储小数
               1)float     单精度浮点型
               2)double       双精度浮点型
        (3)字符型     存储字符
               1)char    字符型
     3.数据的存储单位
         1.存储单位,字节bits,最常用的存储单位,也是最小的
         2.1字节=8位(二进制)=2位(十六进制)
     4.不同数据类型存储空间不同,存储空间决定了数据类型能够存储数据的范围。
          1.数据类型的存储空间与操作系统有关,并不是统一的,但是有一个原则;short<=int <=long<=long long
          2.char  1  short  2  int   4   long4/8      float   4    double     8
          3.sizeof  运算符,计算每个数据类型占用存储空间的大小
          4.整型区分有符号和无符号的,无符号的标示符 unsigned。
          5.区分正数和负数,整数对应的二进制数,最高位1的是正数,最高位为0的是负数
     
             //     printf("%lu\n",sizeof(char));
             //     printf("%lu\n",sizeof(short));
             //     printf("%lu\n",sizeof(int));
             //     printf("%lu\n",sizeof(long));
             //     printf("%lu\n",sizeof(float));
             //     printf("%lu\n",sizeof(double));
     */
 
#pragma mark-----------常量,变量-------------
    /*
     常量:
       1.程序运行期间不能被改变的量
       2.常量分类:
          (1)整型常量:10
          (2)浮点型常量:  1.5
          (3)字符常量:1.普通字符'n'2.转义字符(属于一个操作字符,无法打印显示,例如:\n)
            (4)  字符串常量:"蓝鸥"  "iOS"
        3.变量
             (1)程序运行期间可以改变的量
             (2)变量代表一个存储区域,用于存储数据,相当于一个容器存储的内容就是变量的值
             (3)变量在使用之前必须先定义。三部分:类型,变量名,初始值
             (4)变量名要求
                    1.只能由数字,下划线,字母组成,并且不能以数字开头
                    2.不能使用系统保留字   比如:int    float
                    3.不能重复使用定义过的变量名
                    4.见名知意
                    5.驼峰命名法      teacherName     studentName
     
   
                    int  age =10;
                    float  age2=10.5;
                    //练习:定义五个变量,且每个变量类型不同。
                    //同行可以定义相同变量
                    int   a = 0,g=23;
                    //修改变量
                    printf("%d\n",a);
                    a=15;
                    printf("%d\n",a);
                    //声明变量--它不设置初始值。一般情况下都要求定义变量,特殊情况的时候再做说明
                    int  age3;
    */
#pragma mark -------------运算符-----------------
    /*
     1.运算符
          1.运算符包括很多种:单目运算符,双目运算符,三目运算符,单,双,三分别表示参与运算的变量和常量的数量
          2.赋值运算符,算数运算符,复合运算符
          3.学会使用( )用来标记运算符,使其运算优先级提前,避免错误。代码的可读性强
    2. 赋值运算符
     左值:等号左边的值   只能是变量
     右值:等号右面的值   可以是变量,常量,表达式
       int age = 10;
     
    //练习:交换两个变量的值,提示:两个水杯交换水的事后,需要使用第三个水杯
                int a=2,b=3,c=0;//交换a,b的值,c作为中间变量
                c=a;
                a=b;
                b=c;
    printf("%d\n%d\n" ,a ,b );
    3.算数运算符   双目运算符   +   -   /  *
         //+
          int  b1 = 10;
          int  b2 = 10 + b1;
          int  b3 = b1 + b2;
         
         //-  与+相同
         // *
         int d1 = 10;
         int d2 = d1 * 10;
         int d3 = d2 * d1;
         //   /
           1.除数不能为0,int  d4 = 10 / 0;是错误的
           2.除号两边都是整数,结果也是整数,省略小数部分
                int   f1 = 3 / 2;
                printf("%d\n",f1);则f1的值为1;
           3.除号两边都是浮点型,结果是浮点数。除号两边有一个是浮点型,结果也是浮点型
                float  f2 = 4.2  / 2.0;,则,f2的值为2.100000,
                f2 = 4.2 / 2 ,则f2的值仍为2.100000,系统默认保留小数点后六位
    4.取余运算符%
            取余运算符的两边必须是整数
    5.自增,自减运算符++,--
            1.只能给变量使用
            2.在变量前先自增自减,在变量后运算完再自增自减
             //    1. ++ 在变量后面   相当于 i = i + 1;
             int i = 10;
             //    printf("%d\n",i);
             
             i++; //语句执行后,变量i 为11
             //    printf("%d\n",i);
             
             //先参与运算,再自增
             int j = 5;
             int k = 50 + j++; //相当于 k = 50 + 5; j = j + 1;
             printf("%d\n",k);
             printf("%d\n",j);
             
             
             //    2. ++在变量前面
             //先自增,再参与运算
             int x = 20;
             ++x;
             //    int k = 50 + ++j;  相当于 j = j + 1; k = 50 + 6;
             //    printf("%d\n",x);
     6.复合运算符 +=  -=  /=  *=
        a += b 相当于 a = a + b;依次类推
     
    */
#pragma mark -----------表达式和语句---------
    /*
     1.表达式组成:常量,变量,运算符。表达式是有返回值的。
     2.语句:程序运行的最小单位,以;结束
     */
    /*  
     转义字符
     \n  换行
     \t   制表符  tab
     %%  一个百分号
     \"  一个双引号
     占位符
     int   %d
     long %ld
     short  %hd
     char  %c
     float  %f
     double  %lf
     */
#pragma mark ------------输出函数------------
    /*
     1.将需要输出的内容转换成字符串,输出显示在控制台
     2.输出内容:普通的字符串,将变量的值转换成字符串
     3.函数格式: printf("格式字符串",表达式1,表达式2,.........)
     int  age =26;
     printf("大家好,我今年%d岁\n",age);
     */
    
    
   }

posted @ 2015-12-18 09:17  恒远也  阅读(279)  评论(0编辑  收藏  举报