第十章 结构体与共用体 结构体仿真测试
本文展示了一个C语言结构体应用实例,代码定义了一个包含学生信息的结构体STU(含姓名、性别、年龄、成绩字段),并初始化了5名学生的数据。程序通过遍历结构体数组,找出成绩最高的学生,并打印其完整信息。代码中包含了51单片机头文件(reg52.h)和串口通信配置(TMOD/TH1等寄存器设置),暗示可能用于嵌入式系统开发。核心功能演示了结构体成员的访问、比较及数组操作,最终输出最高分学生详细信息,包括姓名"caiqinyu"(98分)、性别'W'、年龄16岁等数据。
#include <stdio.h>
int main() {
char *buffer = "Any character stream";
int capa, lettera, nota;
char c;
capa = lettera = nota = 0;
while ( c = *buffer++ ) // Walks buffer until NULL
{
switch ( c )
{
case 'A':
capa++;
break;
case 'a':
lettera++;
break;
default:
nota++;
}
}
printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n",
capa, lettera, (capa + lettera + nota) );
}
/***结构体仿真测试*L46 CODE 3620*****/
/***2018 4 28 09:00 PAST* *****/
#include "reg52.h"
#include <intrins.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
typedef struct stu
{
char name[30];
char sex;
int age;
double score;
}STU;
void main()
{
STU X[5]={
{"LiPin",'M',18,80},
{"LinYi",'M',19,85},
{"SunDan",'W',18,90},
{"caiqinyu",'W',16,98},
{"WuLi",'W',18,70}
};
double max_s;
int i,max_n;
max_s=X[0].score;//结构体成员的应用
max_n=0;
TMOD|=0x20;
TH1=0xF3;
TR1=0x1;
TI=1;
for(i=1;i<5;i++)
{
if(X[i].score>max_s)
{
max_s=X[i].score;
max_n=i;
}
}
printf("最高分为 :%f\n",max_s);
printf("最高分的学生信息 :");
printf("姓 名 :%s\n",X[max_n].name);
printf("性 别 :%c\n",X[max_n].sex);
printf("年 龄 :%d\n",X[max_n].age);
printf("成 绩 :%f\n",X[max_n].score);
}
第十章 结构体与共用体
typedef struct stu
{
char name[30];
char SEX;
int age;
double score;
}STU;
main()
{
STU X[4]={
{"LiPin",'M',18,80},
{"LinYi",'M',19,85},
{"SunDan",'W',18,90},
{"WuLi",'W',18,70}
};
double max_s;
int i,max_n;
max_s=x[0].score;//结构体成员的应用
max_n=0;
for(i=1;i<4;i++)
{
if(x[i].score>max_s)
{
max_s=x[i].score;
max_n=i;
}
}
printf("最高分为:%IF\N",max_s);
printf("最高分的学生信息:);
printf("姓名:%s\n",X[max_n].name);
printf("性别:%c\n",X[max_n].sex);
printf("年龄:%d\n",X[max_n].age);
printf("分数:%If\n",X[max_n].score);
}
