美文网首页
Day4>

Day4>

作者: 宁晓鸯 | 来源:发表于2019-08-02 00:08 被阅读0次

    心得体会

    • 今天上课东哥把上次的知识又复习了一遍,然后我就发现自己还有一些知识点没有掌握,似乎自己学习并不是很到位。今天主要学习了数组,然后学会应用数组解决一些问题,在数制转换编程时,我并没有成功的编程出来,有点沮丧 ,但是现在课后我又重新把代码写了一遍,对数组的认识更深了一步,发现要成功快速的编好程序,别无他法,唯手熟尔;

    目的

    • 熟悉运算符和类型转换
    • 了解头文件的创建和使用
      -了解宏定义
    • 熟悉数组并且能用数组解决一些实际问题

    技术

    • ++ -- 运算符和类型转换
    • 为什么要用头文件
    • 头文件的使用
    • 头文件相互引用
    • .#define 宏定义
    • 数组定义
    • 数组使用
    • 进制转换

    每个技术如何使用

    • ++ -- 运算符和类型转换
    1. temp++;
      temp=temp+1;
      temp+=1;
      //同种运算 
      temp--;
      temp=temp-1;
      temp-=1;
      //同种运算
      
    2. ++ -- 什么时候执行
       printf("1:%d\n",temp1++);//等价于 printf("2:%d\n",temp1);
                                //       temp++;   
       printf("2:%d\n",temp1);
    
    QQ截图20190801224722.png
       int temp1=20;
       int result=temp1++ +2;//等价于  int result=temp1+2;   
                             //        temp1++;        
       printf("3:%d\n",result);
       printf("3:%d\n",temp1);
    
    image.png

    3.++a与a++的区别

    //a++ 当表达式结束之后 ,再+1
    //++a 先+1 再去运算

    4.数据类型转换(隐形转换和强制转换)

    //隐形转换:当两种不同转换类型出现,类型自动由低向高转化
    char->int->float->double->long
    //强制转换:类型转换由低向高转换,并不是所有的类型都能强制转换,只能有继承关系的类可以转换
    float b1=23.6;
    int a3=b1;
    int a3=(int)b1;
    int a4=100/1024.0;
    printf("%f\n",a4);
    return 0;
    -为什么要用头文件
    1.可以封装;
    2.可以保证代码的移植性
    3.保证安全性

    • 头文件的使用
      1.创建一个.h文件:在.h文件声明一些函数 ,这些函数是需要暴露给外部用的
      2.创建一个.c文件:函数声明了一定要实现,首先导入要实现的函数所处的文件
    • 头文件相互引用
      注意:头文件之间可能出现相互引用的问题
      解决办法:加

    .#ifndef ATM_HHHHH
    .#define ATM_HHHHH
    具体代码块
    .#endif

    • .#define 宏定义
      1.为什么要用宏定义

    a.给一个特定的数值一个特定的意义

     #define WEICHAT 1;
     #define QQ 2;
    

    b.便于管理

    • 数组定义

    数组:需要存储多个需要存储多个同种类型的数据
    1.能够存储数据 就必须有内存
    2.如何定义一个数组的同时为他分配内存空间
    3.数组定义时必须明确知道数组的大小
    - a.初始化几个就是几个
    - b.在定义时明确指定个数组的大小
    int temp[5];
    - c.明确指定大小 并且初始化部分数据\

    float sore[]={29,234,345,345};//定义一个数组 里面存的都是float的值,可以存四个
    

    4.数组的名字就是数组的首地址

    float sore[]={29,234,345,345};
      //获取第一个函数的值
      score[];
      //获取第一个函数的地址
      &score[];
      //使用%p打印地址
      printf("%p\n",&score[0]);//两个都是打印首地址
      printf("%p\n",score);
    
    • 数组使用

    定义一个数组 保存1-100
    计算1+2+...+100总和

    1.用for循环

        #include "stdafx.h"
    #include"iostream"
    
    int _tmain(int argc, _TCHAR* argv[])
    {  
        int num[100]={};
        int sum=0;
        for(int i=0;i<100;i++){
            num[i]=i+1;
            sum+=i+1;
        }
        printf("%d",sum);
        system("pause");
        return 0;
    }
    
    

    2.用while循环

    #include "stdafx.h"
    #include"iostream"
    
    int _tmain(int argc, _TCHAR* argv[])
    {  
        int num[100]={};
        int sum=0;
        int i=1;
        while(i<=100){
            num[i-1]=i;
            sum+=i;
            i++;
        }
        printf("%d",sum);
        system("pause");
        return 0;
    }
    
    
    • 进制转换
      1.输入一个数,将其化为二进制
      1.化为二进制
         printf("请输入一个数:");
        int temp=0;
        int a[10]={};
        int i=0;
        scanf("%d",&temp);
        while(temp!=0){
           a[i] =temp%2;
           temp/=2; 
           i++;
        }
        
        printf("化为二进制为:\n");
        for(int j=i-1; j>=0;j--){
            printf("%d",a[j]);  
        }
    

    for(int j=i; j>=0;j--) 编程序时发现for循环中j少加了个1,然后运行结果二进制数前面总是 多了个0,后来发现while循环中i多加了个 1,所以此时二进制的位数多算了一位,应在for循环中减去。

    2.化为十六进制

    #include"iostream"
    
    int _tmain(int argc, _TCHAR* argv[])
    {  printf("请输入一个数:");
        int temp=0;
        int a[10]={};
        int i=0;
        scanf_s("%d",&temp);
        while(temp!=0){
           a[i] =temp%16;
           temp/=16; 
           i++;
        }
        
        printf("化为十六进制为:\n");
        for(int j=i-1; j>=0;j--){
            if(a[j]>9){
                printf("%c",'A'+a[j]-10);
            }else{
                printf("%d",a[j]);
            }
        }
        
        
        
        system("pause");
        return 0;
    }
    

    实际应用

    定义一个数组 保存1-100
    计算1+2+...+100总和

    QQ截图20190801234812.png

    输入一个数,将其化为二进制


    化为二进制.png

    输入一个数,将其化为十六进制


    转化为十六进制.png

    相关文章

      网友评论

          本文标题:Day4>

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