Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于结构体的第四次课件

1楼
admin 发表于:2008/12/10 20:46:18

1、共用体
# include <stdio.h>

union data
{
        int i;
        char ch;
        float f;
};

void main()
{
        union data data1={65};
        printf("%d\n",data1.i);
        printf("%c\n",data1.ch);
        printf("%f\n",data1.f);
}

一个练习
#include <stdio.h>

struct
{
        int num;
        char name[10];
        char sex;
        char job;
        union
        {
                int banji;
                char position[10];
        }category;
}person[2];

void main()
{
        int i;
        for(i=0;i<2;i++)
        {
                scanf("%d %s %c %c", &person[i].num, &person[i].name,&person[i].sex, &person[i].job);
                if(person[i].job == 'S')
                        scanf("%d", &person[i].category.banji);
                else if(person[i].job == 'T')
                        scanf("%s", person[i].category.position);
                else
                        printf("Input error!");
        }
        printf("\n");
        printf("No. name sex job class/position\n");
        for(i=0;i<2;i++)
        {
                if (person[i].job == 'S')
                        printf("%-6d%-10s%-3c%-3c%-6d\n",person[i].num, person[i].name, person[i].sex, person[i].job,person[i].category.banji);
                else  
                        printf("%-6d%-10s%-3c%-3c%-6s\n",person[i].num,
                person[i].name,person[i].sex, person[i].job,
                person[i].category.position);
        }
}

2、枚举
没有枚举的情况
#include <stdio.h>

void main()
{
        int day=7;
        if(day==7)
                printf("今天要休息!\n");
}

使用枚举的情况
#include <stdio.h>

enum weekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};

void main()
{
        enum weekday day=Sunday;//enum weekday day=0;
        if(day==Sunday)
                printf("今天要休息!\n");
}

本质是整数
#include <stdio.h>

enum weekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};

void main()
{
        enum weekday day=0;
        if(day==Sunday)
                printf("今天是%d\n",day);
}

也可以自行指定整数值
#include <stdio.h>

enum weekday{Sunday=7,Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday};

void main()
{
        enum weekday day=Sunday;
        if(day==Sunday)
                printf("今天是%d\n",day);
}

或者
#include <stdio.h>

enum weekday{Sunday=7,Monday,Tuesday,Wednesday=0,Thursday,Friday=3,Saturday};

void main()
{
        enum weekday day=Wednesday;
        printf("今天是%d\n",day);
}

3、类型别名
例子1
#include <stdio.h>

typedef int INTEGER;

void main()
{
        INTEGER i=1;
        printf("i=%d\n",i);
}

例子2
#include <stdio.h>

typedef int NUM[2];

void main()
{      
        NUM num={1,2};
        printf("%d\n",num[0]);
}

例子3
#include <stdio.h>

typedef struct
{
        int day;
        int month;
        int year;
}DATE;

void main()
{      
        DATE date1={10,1,2000};
        printf("%d\n",date1.day);
}


 

[此贴子已经被作者于2010-12-13 20:08:01编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.