设为首页 加入收藏

TOP

C语言学习讲解之枚举类型实例(一)
2018-07-03 06:05:10 】 浏览:414
Tags:语言学习 讲解 枚举 类型 实例

1.1 枚举定义

    枚举(enumerated type)声明代表整数常量的符号名称,关键字enum创建一个新的枚举类型。实际上,enum常量是int类型的。

#include <stdio.h>   

 enum A

{

    red, yellow, black

};

int main()

{

   // yellow = 14; //错误,枚举是常量,值不能修改

    int a = red;

    printf("%d\n", a);

    return 0;

}

注:枚举是常量,所以他的值是不能改的

1.1.1 枚举默认值

    枚举列表中的常量通常情况下被默认指定为0,1,2等

    enum color {red, yellow, black};

    printf("%d, %d,%d\n", red, yellow, black);

输出结果为:0,1,2

1.1.2 指定值

    可以指定枚举中具体元素的值

    enum color {red = 2, yellow = 7, black};

    printf("%d, %d,%d\n", red, yellow, black);

输出结果为:2,7,8

1.2 typedef

    typedef是一种高级数据特性,它可以创建一个新的数据类型

typedef char BYTE; //定义了一个新的数据类型,名字叫BYTE,类型为char

#define BYTE char //define是预编译,只是做语法/文本替换

区别:

    (1)与#define不同,typedef仅限于数据类型,而不能是表达式或具体的值

    (2)typedef是编译器处理的,而不是预编译指令

    (3)typedef比#define更灵活

    定义表达式或具体的值时可以用#define。通过typedef定义数据类型,可以增加程序的可移植性。比如用BYTE表示int型变量,这样可以通过改变BYTE定义的类型来适应不同的平台,完成移植。

1.3 文件操作

    1.3.1 fopen

        r  以只读方式打开文件,该文件必须存在

        r+ 以可读的方式打开文件,该文件必须存在

        rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在

        rw+ 读写打开一个文本文件,允许读和写

        w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件

        w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

        a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,若文件存在,写入数据会被加到文件尾,即文件原先的内存会被保留。(EOF符保留)

        a+ 以附加的方式打开可读写文件。若文件不存在,则会建立该文件,若文件存在,写入数据会被加到文件尾后,即文件原先的内存会被保留。(原来的EOF符保留)

    1.3.2 fputs写文件

linux下:  

     FILE *p = fopen("/home/luanbo/c_text/a.txt", "w"); //用写的方式打开一个文件。 "w"表示:若文件不存在,就建立一个。若存在,就覆盖

    fputs(“hello\n”,p);//向文件写入一个字符串

windows下:

     FILE *p = fopen("\\home\\luanbo\\c_text\\a.txt", "w");

#include <stdio.h>

#include <string.h>

int main(void)

{

    char s[1024] = { 0 };

    FILE *p = fopen("/home/luanbo/c_text/a.txt", "w");//用写的方式打开一个文件。 "w"表示:若文件不存在,就建立一个。若存在,就覆盖

    while(1)

    {

        memset(s, 0, sizeof(s));//清空内存

        gets(s);//从键盘写入信息

        if(strcmp(s, "exit") == 0) 

            break; //当输入exit时停止

        int len = strlen(s); 

        s[len] = '\n'; //输入的内容换行时,显示换行

        fputs(s, p);

    }

    fclose(p);

    printf("end\n");

    return 0;

}

    1.3.3 fgets读文件

int main(void)

{

    char s[1024] = { 0 };

    FILE *p = fopen("/home/luanbo/c_text/a.txt", "r");//用读的方式打开一个文件

     fgets(s, sizeof(s), p); //第一个参数是一个内存地址,第二个参数是这块内存的大小

     printf("%s",s);

     fclose(p);

    return 0;

}

采用这种方式只能读取文件的第一行内容。所以采用了feof函数,如下:

int main(void)

{

   

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言二进制中1的个数(代码实例) 下一篇开关量 0 和 1 的数据压缩的C语言..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目