学习日志 姓名: 日期:2018.7.16
|
|
今日学习任务
| 熟练掌握指针的定义与使用;(对应内存空间与指向内存空间) 嵌入式C语言开发实战
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 见附件 |
今日开发中出现的问题汇总
| 对于位运算符的使用还有点困难 |
今日未解决问题
| 无 |
今日开发收获 | 1.变量与常量; 2.局部变量和全局变量的区别; 未初始化时;内存分配;作用域;重名 3.位运算符、特定位 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
|
任务基本完成; 对于位运算符的使用还需要练习; |
其他
| 无 |
转换成二进制显示
1 #include<stdio.h>
2 void int2bin(int n)
3 {
4 int i;
5 unsigned int mask = 0x80000000;
6
7
8 for(i = 0;i <32;i ++)
9 {
10 if((n & mask) == (mask))
11 {
12 printf("1");
13 }
14 else
15 {
16 printf("0");
17 }
18 n = n << 1;
19 }
20 if(((i + 1) % 4)== 0)
21 {
22 printf(" ");
23 }
24
25 printf("\n");
26 }
27 int main()
28 {
29 unsigned int n;
30 printf("please input number:",n);
31 scanf("%d",&n);
32 int2bin(n);
33 return 0;
34 }
N人围圈报数0~3,数字为3的退出
1 #include <stdio.h>
2
3 #define MAX_LEN 100
4
5 int main()
6 {
7 int i;
8 int num;
9 int temp;
10 int count = 0;
11
12 int a[MAX_LEN];
13
14 printf("please input number(0~100):");
15 scanf("%d",&num);
16
17 for(i = 0;i < num;i ++)
18 {
19 a[i] = i + 1; //顺序排号
20 }
21
22 i = 0;
23 temp = num;
24 while(num > 1) //圈内人数大于1
25 {
26 if(a[i] != 0)
27 {
28 count ++;
29 }
30 if(count == 3) //当有人报号为3时,此人序号变为0,退出圈子。报号重新开始,圈内人数减去一
31 {
32 a[i] = 0;
33 count = 0;
34 num --;
35 }
36 if(i == temp) //当一圈报数结束时,重新开始报数,
37 {
38 i = 0;
39 }
40 else
41 {
42 i ++;
43 }
44 }
45 for(i = 0;i < temp;i ++)
46 {
47 if(a[i] != 0)
48
49 printf("最后一个人为%d号\n",a[i]);
50
51 }
52 return 0;
53 }