1、创建结构体struct person并编写程序,从终端上输入5
个人的年龄、性别和姓名,然后输出。
struct man{
char name[20];
int age;
char gender[7];
};

 1 #include <stdio.h>
 2 #include <string.h>
 3
 4 typedef struct man
 5 {
 6     char name[20];
 7     int age;
 8     char gender[7];
 9 }person_t;
10
11 void input_data(person_t input_data[1024], int);
12 void output_data(person_t output_data[1024], int);
13
14 int main(int argc, char *argv[])
15 {
16     int num;
17     person_t data[1024];
18
19     printf("Enter you want input's numbers : ");
20     scanf("%d", &num);
21
22     input_data(data, num);
23     output_data(data, num);
24
25     printf("\n");
26
27     return 0;
28 }
29
30 void output_data(person_t output_data[1024], int output_num)
31 {
32     int i;
33     for(i = 0; i != output_num; i ++)
34     {
35         printf("The person's name , age, gender is : %s\t%d\t%s.\n", output_data[i].name, output_data[i].age, output_data[i].gender);
36     }
37
38     return ;
39 }
40
41 void input_data(person_t input_data[1024], int input_num)
42 {
43     int i;
44     for(i = 0; i != input_num; i ++)
45     {
46         printf("Enter name age gender : ");
47         scanf("%s %d %s", input_data[i].name, &input_data[i].age, input_data[i].gender);
48     }
49
50     return ;
51 }

2、使用结构体知识,实现在屏幕上模拟一个数字时钟。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4
 5 typedef struct clock
 6 {
 7     int hour;
 8     int minute;
 9     int second;
10 }time__t;
11
12 int main(int argc, char *argv[])
13 {
14     time__t time = {0, 0 ,0};
15     for( ; ; )
16     {
17         printf("The time is : %d:%d:%d.\n", time.hour, time.minute, time.second);
18         sleep(1);
19         ++ time.second;
20         if(60 == time.second)
21         {
22             ++ time.minute;
23             time.second = 0;
24             if(60 == time.minute)
25             {
26                 ++ time.hour;
27                 time.minute = 0;
28                 if(24 == time.hour)
29                 {
30                     time.hour = 0;
31                 }
32             }
33         }
34     }
35
36     return 0;
37 }

3、用结构体数组实现10个学生的成绩统计。功能包括
 输入学生学号、姓名、成绩
 按成绩由高到低进行排序并打印结果并且前70%的学生
打印出标志”pass”,后30%的学员打印出标志”fail”
结构体为:struct student{
unsigned short id;
char name[10];
int score;
};

 1 #include <stdio.h>
 2
 3 typedef struct student
 4 {
 5     unsigned short id;
 6     char name[10];
 7     int score;
 8 }stu;
 9
10 void input_data(stu [], int);
11 void sort_data(stu [], int);
12 void output_data(stu [], int);
13
14 int main(int argc, char *argv[])
15 {
16     stu stu_data[1024];
17     int num;
18
19     printf("Enter student's numbers : ");
20     scanf("%d", &num);
21
22     input_data(stu_data, num);
23     sort_data(stu_data, num);
24     printf("After sort!--------------------------------------\n");
25     output_data(stu_data, num);
26
27     return 0;
28 }
29
30 void output_data(stu output_data[1024], int output_num)
31 {
32     int i,itemp = 0;
33     itemp = output_num * 0.7;
34     for(i = 0; i != output_num; i ++)
35     {
36         if(i < itemp) {
37             printf("The students's data is : %hu\t%s\t%d.\t\tpass\n", output_data[i].id, output_data[i].name, output_data[i].score);
38         }
39         else {
40             printf("The students's data is : %hu\t%s\t%d.\t\tfail\n", output_data[i].id, output_data[i].name, output_data[i].score);
41         }
42     }
43 }
44
45 void sort_data(stu sort_data[1024], int sort_num)
46 {
47     int i,j;
48     stu itemp;
49
50     for(i = 0; i != sort_num - 1; i ++)
51     {
52         for(j = 0; j != sort_num; j ++)
53         {
54             if(sort_data[j].score < sort_data[j + 1].score)
55             {
56                 itemp = sort_data[j];
57                 sort_data[j] = sort_data[j + 1];
58                 sort_data[j + 1] = itemp;
59             }
60
61         }
62     }
63
64     return ;
65 }
66
67 void input_data(stu input_data[1024], int input_num)
68 {
69     int i;
70     for(i = 0; i != input_num; i ++)
71     {
72         printf("The sutdents's id name score : ");
73         scanf("%hu %s %d", &input_data[i].id, input_data[i].name, &input_data[i].score);
74     }
75
76     return ;
77 }

4、用结构体数组实现10个学生的成绩统计。功能包括
struct stud{
unsigned short id;
char name[10];
int s[4];
double ave;
};
编写:1、(函数readrec把10个学生的学号、姓名、四项成绩以及平
均分放在一个结构体数组中,学生的学号、姓名和四项成绩由键盘
输入,然后计算出平均分放在结构体对应域中。
2、(函数writerec输出10名学生的记录。
3、(main函数调用readrec函数和writerec函数,实现全部程序
功能(不允许使用全局变量,函数之间的数据全部使用参数传递)

 1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <time.h>
 4
 5 typedef struct stud
 6 {
 7     unsigned short id;
 8     char name[10];
 9     int s[4];
10     double ave;
11 }stu;
12
13 void readrec(stu [], int);
14 void writerec(stu [], int);
15
16 int main(int argc, char *argv[])
17 {
18     stu stu_data[1024];
19     int num;
20
21     printf("Enter students's numbers : ");
22     scanf("%d", &num);
23
24     readrec(stu_data, num);
25     printf("After --------------------------=---------------\n");
26     writerec(stu_data, num);
27
28     return 0;
29 }
30
31 void writerec(stu write_data[1024], int write_num)
32 {
33     int i, j;
34     for(i = 0; i != write_num; i ++)
35     {
36         printf("The students data is : %hu\t%s\t", write_data[i].id, write_data[i].name);
37         for(j = 0; j != 4; j ++)
38         {
39             printf("%d\t", write_data[i].s[j]);
40         }
41         printf("%.2lf", write_data[i].ave);
42         printf("\n");
43     }
44
45     return ;
46 }
47
48 void readrec(stu read_data[1024], int read_num)
49 {
50     srand(time(NULL));
51     int i,j;
52     int sum;
53     for(i = 0; i != read_num; i ++)
54     {
55         sum = 0;
56         printf("Enter id name :");
57         scanf("%hu %s", &read_data[i].id, read_data[i].name);
58         printf("The student's score jisuanzhong .....\n");
59         sleep(1);
60         printf("The score jisuan success-------------\n");
61         for(j = 0; j != 4; j ++)
62         {
63             read_data[i].s[j] = rand() % 100;
64             sum += read_data[i].s[j];
65         }
66         printf("sum = %d.\n", sum);
67         read_data[i].ave = (double)sum / 4;
68     }
69
70     return ;
71 }

  老规矩,今天的笔记:

  加油站 : unsigned short   使用%hu匹配符

  1. 结构体:不同类型数据的集合

      (1)定义 : 根据程序的需要把若干种数据描述为一个整体

      (2)struct 关键字

      typedef struct {      typedef struct record {

        int a;            int a;

        char b;           char b;

        float c;           float c;

        char s[10];         struct record *p;

      }record_t;            char s[10];

                     }record_t;

      注意 : 指针类型不决定指针的大小  指针大小遵循ILP32标准

      (3). 不允许在定义时对成员变量提供初值 

      (4). 能够对结构体数据进行整体初始化,不能够对数组进行整体赋值

      (5). 相同类型的结构体变量可以整体赋值

      (6). 结构体大小遵循结构体对齐原则。(以空间换取时间)大小取整 

  2. 大端系统 : 高位存低地址,地位存高地址

    小端系统 : 高位存高地址, 地位存低地址

    今天的英语 : Compound type (数据类型)   primitive(原始) abstraction(抽象化) 

                                  。。。。。。。。

转载于:https://www.cnblogs.com/cxw825873709/p/3224137.html

嵌入式培训学习历程第十一天相关推荐

  1. 嵌入式培训学习历程第三天

    一晃,一天有去了.感觉自己越来越适应现在的生活了..好吧,废话不多说.继续 1.tar [主选项 + 辅选项] 文件或目录  tar可以为文件和目录创建档案. 注意 : 主选项是必须要有的,辅选项是辅 ...

  2. 嵌入式培训学习历程第二十二天

    1.const 关键字 : 它限定变量不允许被修改 修饰整形变量时 const int a 等价于  int const a const : 左结合性 2.传入参数 :当参数指针只做传入参数使用时,通 ...

  3. SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件

    SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件 前言 1. 引入依赖 2. 设置邮件配置信息 3. 发送邮件 3.1 发送普通文本邮件 3.2 发送HTML格式内 ...

  4. 嵌入式开发学习历程(一)——Linux系统入门

    本人普通本科学生,浑浑噩噩度过大学三年时间.直到临近离校实习,才发现自己学到的知识微不足道.既不满足于现状,又不愿意花费高昂学费进培训机构,只好在秋招前的这段时间补补书籍,看看网课,为改变自己的命运再 ...

  5. 嵌入式培训哪里找?怎么入门学习嵌入式

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板.事实上,所有带有数字接口的设备,如手表.微波炉.录像机.汽车等,都使用嵌入式 ...

  6. 嵌入式培训学校哪个好?学习嵌入式好就业吗?

    嵌入式学习培训好就业吗?身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明他很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众 ...

  7. arm嵌入式培训学校哪里好?看看有哪些arm学习建议

    arm嵌入式培训学校哪里好?想通过arm培训的初学者,究竟该怎么学习呢?除了要找到合适的arm嵌入式培训学校,还要针对arm进行相对应的学习. ARM到底指的是什么?ARM的处理器芯片应该如何来分类? ...

  8. 学习嵌入式培训课程安排,嵌入式培训靠谱吗?

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗等严格要求的专用计 ...

  9. 嵌入式培训学校怎么选?嵌入式学习还有就业优势吗?

    身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明这个行业很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众多的开发行业中选择 ...

最新文章

  1. Windows10下安装配置 perl 环境
  2. mysql查询枚举类型转换_zendframework获取数据库中枚举类enum的数据并将其转换成数组...
  3. 探测函数 中断 linux,linux中断编程函数
  4. 使用Selenium模拟浏览器,实现自动爬取数据
  5. k8s command args
  6. 我们用力的活着却把自己丢了
  7. [周赛][Leetcode][第5457题][JAVA][动态规划][和为奇数的子数组数目]
  8. 复习JavaFile类_递归_综合案例
  9. 计算机考研评分标准,考研的评分标准.doc
  10. python抓取天气预报_抓取天气预报的代码(Python)
  11. Charles抓包工具
  12. java面经大全,献给每一个努力过,在努力以及将要努力的人。goodlucky。2018-10-15开始更新
  13. PDF转ONENOTE的方法
  14. 主成分分析步骤matlab,主成分分析及matlab实现.ppt
  15. Android中EditText去掉下划线的方法
  16. Genymotion常见问题解决方案
  17. DAEMON tools lite “至少SPTD ..与 Windows 2000或更高版本” 报错的解决
  18. 你有用过Type-C接口的手电筒吗?
  19. Synology NAS加域
  20. r720支持多少频率的内存吗_高频内存对游戏帧数影响大吗?2400MHz和3200MHz频率内存对比实测...

热门文章

  1. 3500/92 136180-018本特利MM延伸电缆330130-080-02-05
  2. 死磕 Java 并发
  3. mcc460_手机接入点设置里MCC和MNC是什么?
  4. 西门子PLC 简单启停功能实现
  5. 深力科SND111系列 带PWM调光功能的线性压降恒流LED驱动器, 内置过热保护代替数明SLM201A
  6. TypeScript 实用工具类型之 Partial 类型
  7. Greenplum分布式安装及增加节点
  8. 用python爬取qq空间内容_利用Fiddler抓包和py的requests库爬取QQ空间说说内容并写入文件...
  9. 机器学习中的性能指标:精度、召回率,PR曲线,ROC曲线和AUC,及示例代码
  10. CS:GO 交易网站被黑,价值 600 万美元皮肤被盗