嵌入式培训学习历程第十一天
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.tar [主选项 + 辅选项] 文件或目录 tar可以为文件和目录创建档案. 注意 : 主选项是必须要有的,辅选项是辅 ...
- 嵌入式培训学习历程第二十二天
1.const 关键字 : 它限定变量不允许被修改 修饰整形变量时 const int a 等价于 int const a const : 左结合性 2.传入参数 :当参数指针只做传入参数使用时,通 ...
- SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件
SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件 前言 1. 引入依赖 2. 设置邮件配置信息 3. 发送邮件 3.1 发送普通文本邮件 3.2 发送HTML格式内 ...
- 嵌入式开发学习历程(一)——Linux系统入门
本人普通本科学生,浑浑噩噩度过大学三年时间.直到临近离校实习,才发现自己学到的知识微不足道.既不满足于现状,又不愿意花费高昂学费进培训机构,只好在秋招前的这段时间补补书籍,看看网课,为改变自己的命运再 ...
- 嵌入式培训哪里找?怎么入门学习嵌入式
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板.事实上,所有带有数字接口的设备,如手表.微波炉.录像机.汽车等,都使用嵌入式 ...
- 嵌入式培训学校哪个好?学习嵌入式好就业吗?
嵌入式学习培训好就业吗?身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明他很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众 ...
- arm嵌入式培训学校哪里好?看看有哪些arm学习建议
arm嵌入式培训学校哪里好?想通过arm培训的初学者,究竟该怎么学习呢?除了要找到合适的arm嵌入式培训学校,还要针对arm进行相对应的学习. ARM到底指的是什么?ARM的处理器芯片应该如何来分类? ...
- 学习嵌入式培训课程安排,嵌入式培训靠谱吗?
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗等严格要求的专用计 ...
- 嵌入式培训学校怎么选?嵌入式学习还有就业优势吗?
身边越来越多想学习嵌入式的同学都抛出了这个问题.我想其实答案很简单,大家都知道嵌入式了,那么说明这个行业很火.如果你有想学习的冲动,那么这个行业肯定有吸引你的地方,不然为何我们会在众多的开发行业中选择 ...
最新文章
- Windows10下安装配置 perl 环境
- mysql查询枚举类型转换_zendframework获取数据库中枚举类enum的数据并将其转换成数组...
- 探测函数 中断 linux,linux中断编程函数
- 使用Selenium模拟浏览器,实现自动爬取数据
- k8s command args
- 我们用力的活着却把自己丢了
- [周赛][Leetcode][第5457题][JAVA][动态规划][和为奇数的子数组数目]
- 复习JavaFile类_递归_综合案例
- 计算机考研评分标准,考研的评分标准.doc
- python抓取天气预报_抓取天气预报的代码(Python)
- Charles抓包工具
- java面经大全,献给每一个努力过,在努力以及将要努力的人。goodlucky。2018-10-15开始更新
- PDF转ONENOTE的方法
- 主成分分析步骤matlab,主成分分析及matlab实现.ppt
- Android中EditText去掉下划线的方法
- Genymotion常见问题解决方案
- DAEMON tools lite “至少SPTD ..与 Windows 2000或更高版本” 报错的解决
- 你有用过Type-C接口的手电筒吗?
- Synology NAS加域
- r720支持多少频率的内存吗_高频内存对游戏帧数影响大吗?2400MHz和3200MHz频率内存对比实测...
热门文章
- 3500/92 136180-018本特利MM延伸电缆330130-080-02-05
- 死磕 Java 并发
- mcc460_手机接入点设置里MCC和MNC是什么?
- 西门子PLC 简单启停功能实现
- 深力科SND111系列 带PWM调光功能的线性压降恒流LED驱动器, 内置过热保护代替数明SLM201A
- TypeScript 实用工具类型之 Partial 类型
- Greenplum分布式安装及增加节点
- 用python爬取qq空间内容_利用Fiddler抓包和py的requests库爬取QQ空间说说内容并写入文件...
- 机器学习中的性能指标:精度、召回率,PR曲线,ROC曲线和AUC,及示例代码
- CS:GO 交易网站被黑,价值 600 万美元皮肤被盗