苏嵌//赵妍//2018.7.20

  
    

 

 

 

 

今日学习任务

 

 

嵌入式 C 语言强化编程练习

日任务完成情况

 

 

今日任务按计划完成

1.熟练掌握数组的使用;(1-3 数组名的作用,数组的使用)

2.熟练特殊数组的使用;(指针数组、函数指针数组等)

3.熟练掌握右左法则的使用;(复杂定义声明解释)

  1.  

日开发中出现的问题汇总

 

  1. 一开始对于数组指针函数调用中的形参掌握的不是太好,导致程序编译错误
  2. 数组与指针间的转化不是太熟练

 

日未解决问题

 

日开发收获

  1. 通过练习熟练掌握数组的使用;(1-3 数组名的作用,数组的使用)

2.熟练特殊数组的使用;(指针数组、函数指针数组等)

3.指针数组(char  *ptr[3] 在用malloc分配空间时,相当于一个二维数组char ptr [3][100])

4.一维数组传参时,子函数的形参用一维数组首元素的地址接;二维数组传参时,子函数的形参用二维数组的首个一维数组的地址接;三维数组传参时,子函数的形参用三维数组的首个二维数组的地址接

5.int main(int argc , char * argv[])中的argc代表命令行参数的个数,argv 代表命令行的参数保留的类型

 

自我评

 

 

 

今天基本能够跟上老师的教学安排,对于数组指针和指针数组的用法还需要自己多多练习

其他

 

 

  1.简单输出一维数组、二维数组、三维数组

1 #include <stdio.h>

  2

  3 void print_func1(int *a)

  4 {

  5     int i;

  6     for(i = 0; i < 2; i++)

  7     {

  8         printf("a[%d] = %d\n",i,a[i]);

  9     }

 10 }

 11

 12 void print_func2(int (*aa)[2])

 13 {

 14     int i;

 15     int j;

 16

 17     for(i = 0; i < 2; i++)

 18     {

 19         for(j = 0; j < 2; j++)

 20         {

 21             printf("a[%d][%d] = %d\n",i,j,aa[i][j]);

 22         }

 23     }

 24 }

 25

 26 void print_func3(int (*aaa)[2][2])

 27 {

 28     int i;

 29     int j;

 30     int k;

 31

 32     for(i = 0; i < 2; i++)

 33     {

 34         for(j = 0; j < 2; j++)

 35         {

 36             for(k = 0; k < 2; k++)

 37             {

 38                 printf("aaa[%d][%d][%d]= %d\n",i,j,k,aaa[i][j][k]);

 39             }

 40         }

 41     }

 42 }

 43

 44 int main()

 45 {

 46     int a[2] = {1,2};

 47     int aa[2][2] = {1,2,3,4};

 48     int aaa[2][2][2] = {{1,2,3,4},{1,2,3,4}};

 49

 50     print_func1(a);

 51     print_func2(aa);

 52     print_func3(aaa);

 53

 54     return 0;

 55 }

 

 

2.用str[100]输出hello,用ptr[3][100]输出“hello1”,hello2,hello3

  1 #include <stdio.h>

  2

  3 void print_func(char (*ptr)[3])

  4 {

  5     int i;

  6     for (i = 0; i < 3; i++)

  7     {

  8         printf("ptr[%d][100] = %s\n",i,ptr);

  9     }

 10 }

 11

 12 int main()

 13 {

 14     int i;

 15     int j;

 16     char str[100] ;

 17

 18     char ptr[3][100];

 19

 20     scanf("%s",str);

 21     printf("str = %s\n",str);

 22

 23     for(i = 0; i < 3; i++)

 24     {

 25         scanf("%s",ptr[i]);

 26         printf("ptr[%d] = %s\n",i,ptr[i]);

 27     }

 28     print_func(ptr);

 29     return 0;

 30 }

 

 

                                                                                                        

3.输出指针数组的值

  1 #include <stdio.h>

  2

  3 void print_func(int **pa)

  4 {

  5     int i;

  6     for(i = 0; i < 3; i++)

  7     {

  8         pa[i] = (int *) malloc (sizeof (int) * 100);

  9         scanf("%d\n",pa[i]);

 10         printf("pa[%d] = %d\n",i,*pa[i]);

 11     }

 12 }

 13

 14 int main()

 15 {

 16     //int i;

 17     int *pa[3];

 18

 19     int num1 = 5;

 20     int num2 = 6;

 21     int num3 = 7;

 22

 23 #if 0

 24     pa[0] = &num1;

 25     pa[1] = &num2;

 26     pa[2] = &num3;

 27     

 28     for(i = 0; i < 3; i++)

 29     {

 30         printf("pa[%d] = %d\n",i,*pa[i]);

 31     }

 32 #endif

 33

 34     print_func(pa);

 35     return 0;

 36 }

 

4.输出命令行参数的个数,并用指针数组输出

  1 #include <stdio.h>

  2

  3 int main(int argc, char *argv[])

  4 {

  5     if(argc != 4)

  6     {

  7         printf("Please input three numbers!\n");

  8         exit(1);

  9     }

 10     printf("argc = %d\n",argc);

 11

 12     int i;

 13     int a[3];

 14

 15     for(i = 1; i < argc; i++)

 16     {

 17         a[i - 1] = atoi(argv[i]);

 18     }

 19

 20     for(i = 0; i < 3; i++)

 21     {

 22         printf("a[%d] = %d\n",i,a[i]);

 23     }

 24

 25 }

 
  
  
  
  
  
  
  

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值