苏嵌//季宇晨//7.23

 

 

 

 

今日学习任务

 

  1. 熟练掌握所有关键字的使用(static、extern、typedef、register,const,)
  2. 熟练掌握复合数据类型的使用(strcut,union,enum)
  3. 熟练掌握宏的使用技巧
  4. 了解大端顺序和小端顺序

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

  1. 结束了函数指针和函数指针数组的学习,知道了各自的使用方法
  2. 了解了函数名、函数地址、函数指针变量各自的作用:函数名:指针常量,保存函数存放入口的地址;函数地址:对函数名取地址;函数指针变量:保存函数的地址
  3. register:寄存器变量;static:既能修饰变量,也能修饰函数;extern:外部声明:声明这个变量或函数是在这个.c之外定义(其他文件定义),要使用到其他文件中去找;const:修饰一个变量,是一个只读变量;typedef:给类型重起名字,提高代码的可移植性,提高代码的可读性
  4. 会知道复合数据类型的编写方法,知道他们各自的作用
  5. 大端顺序和小端顺序:大端顺序是高字节存放在低地址处,小端:低字节存放在低地址处
  6. 学习了宏定义的基本编写

今日开发中出现的问题汇总

 

 

今日未解决问题

 

今日开发收获

知道了c语言里面大部分关键字的使用方法;并且掌握了一些基本复合数据类型;对宏定义也有了了解

 

自我评价

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

按照规范完成了今天的所有既定任务;今天学习了很多c语言的基本知识,比如复合数据类型,宏定义,switch语句等,这些东西在以后的编写程序的过程当中都用到。

 

其他

 

1、#include<stdio.h>

 

struct message

{

    char ch;

    int num;

    char *ptr;

};

 

typedef struct message Message;

 

int main()

{

    Message msg;

    msg.ch = 'a';

    msg.num = 1001;

    msg.ptr = "this is my demo!";

   

    printf("msg.ch = %c\n",msg.ch);

    printf("msg.num = %d\n",msg.num);

    printf("msg.ptr = %s\n",msg.ptr);

}

 

2、#include<stdio.h>

 

int add(int a,int b)

{

    return a + b;

 

}

int sub(int a,int b)

{

    return a - b;

}

int mal(int a,int b)

{

    return a * b;

}

int div(int a,int b)

{

    return a / b;

}

 

int cal(int a,int b,int(*p_cal)(int,int))

{

    return p_cal(a,b);

}

int main()

{

    int i;

    cal(5,6,add);

    cal(5,6,sub);

    cal(5,6,mal);

    cal(5,6,div);

    int (*p_cal_array[4])(int,int);

    p_cal_array[0] = add;

    p_cal_array[1] = sub;

    p_cal_array[2] = mal;

    p_cal_array[3] = div;

 

 

    for(i = 0;i < 4;i++)

    {

        (p_cal_array[i])(5,6);

    }

    int sum = (p_cal_array[i])(5,6);

    printf("sum = %d\n",sum);

    return 0;

}

3、/大端和小端字节顺序

#include<stdio.h>

union node

{

    int num;

    char ch[2];

};

int main()

{

    union node p;

    union node *pp = &p;

    p.num = 0;

    p.ch[0] = 0;

    p.ch[1] = 1;

    printf("p.num = %d\n",p.num);

    return 0;

}

#if 0

int main()

{

    int num = 0x12345678;

    char *ptr = &num;

    printf("num = %d\n",num);

    return 0;

}

4、//枚举

#include<stdio.h>

 

enum node

{

    A = 99,

    B = 105,

    C

};

int main()

{

    enum node p;

    int num = C;

    printf("num = %d\n",num);

    return 0;

}

5、//switch语句

#include<stdio.h>

#include<stdlib.h>

int main()

{

    int num = 2;

    switch()

    {

        case 1:

      

       {

           printf("A!\n");

           break;

       }

       case 2:

       {

           printf("B!\n");

           break;

       }

       case 3:

       {

           printf("C!\n");

           break;

       }

    }

    return 0;

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值