您现在的位置是:首页 > 学无止境 > C语言网站首页C语言 如何学习C语言、入门C语言,看这篇就够了

如何学习C语言、入门C语言,看这篇就够了

  • 莫愁
  • C语言
  • 2019-11-10
简介该文章将会把C语言基础语法梳理一遍,主要记录帮助理解相关知识点的代码示例和重要或容易忽略的面试知识,将会陆续发布系类文章.
字数 24775

宏与枚举

1.重要的面试题

什么是预处理,什么是宏?
答:预处理是C编译器的一个组件,用于处理在实际编译动作发生之q ai的头文件包含或宏处理等任务;
宏是一个记号,用来代表一个常量或者一组固定的程序语句,最后将会被预处理器替换为真实的值或程序语句。

2.重要的面试题

什么是内联操作?
答:预处理器将宏替换为真实的值或程序语句的操作被称为内联操作。

3.程序 计算圆面积,定义宏PI

#include <stdio.h>
#define PI 3.14159   // 用于定义PI的宏
int main(int argc, const char * argv[]) {
    double r = 15.5;
    double area = PI*r*r;
    printf("Area of circle = %.4lf\n",area);
}

4.程序 查找两个数中的最值

#include <stdio.h>
// 用于查找最大值的宏
#define MAX(a,b) (a>b)?a:b
int main(int argc, const char * argv[]) {
    int a,b;
    printf("Enter two numbers: ");
    scanf("%d%d",&a,&b);
    printf("Maximum = %d",MAX(a, b));
}

输出:

Enter two numbers: 18 55
Maximum = 55

4.程序 条件编译

#include <stdio.h>
// 条件编译
#define FIRST
int main(int argc, const char * argv[]) {
    int a,b;
#ifdef FIRST
    a = 1,b = 2;
#else
    a = 10,b = 20;
#endif
    printf("a = %d\tb = %d\n",a,b);
}

输出:

a = 1    b = 2

5.枚举

宏可以表示一个常量,而枚举则可以代表一组常量。

#include <stdio.h>
int main(int argc, const char * argv[]) {
    // 定义枚举,枚举值从0-4
    enum week{
      Sunday,
      Monday,
      Tuesday,
      Wednesday,
      Thursday
    };
    // 创建枚举变量
    enum week day;
    // 循环显示枚举成员
    for (day = Sunday; day<=Thursday; day++) {
        printf("%d ",day);
    }
}

输出:

0 1 2 3 4

6.枚举 为枚举成员赋不同的值

#include <stdio.h>
int main(int argc, const char * argv[]) {
    // 创建枚举并赋值,值分别为0,3,4,5···
    enum week{
      Sunday,
      Monday = 3,
      Tuesday,
      Wednesday,
      Thursday
    };
    // 显示枚举变量
    printf("%d ",Sunday);
    printf("%d ",Monday);
    printf("%d ",Tuesday);
    printf("%d ",Wednesday);
    printf("%d ",Thursday);
}

输出:

0 3 4 5 6 

6.枚举

#include <stdio.h>
int main(int argc, const char * argv[]) {
   // 声明颜色名称枚举
    enum Colors{
        White = 1,
        Black,
        Red,
        Green,
        Blue,
    };
    enum Colors C = Red;
    // 根据c的值显示颜色的十六进制编码
    switch (C) {
        case 1:
            printf("#ffffff");
            break;
        case 2:
            printf("#000000");
            break;
        case 3:
            printf("#ff0000");
            break;
        case 4:
            printf("#ff00ff");
            break;
        case 5:
            printf("#0000ff");
            break;
    }
}

输出;

#ff0000

7.枚举与数组结合

#include <stdio.h>
int main(int argc, const char * argv[]) {
    // 创建月份枚举
    enum montns{
        Jan,Feb,Mar,Apr,May,Jun
    };

    // 创建月名称数组
    char *name[] = {
        "January","February","March","April","May","June"
    };

    // 创建月份日期数组
    int day[] = {
        31,28,31,30.31,30
    };

    // 声明枚举变量
    enum montns m;
    // 显示月份名称与天数
    for (m = Jan; m<Jun; m++) {
        printf("Month = %s\t  Days = %d\n",name[m],day[m]);
    }
}

输出:

Month = January      Days = 31
Month = February      Days = 28
Month = March      Days = 31
Month = April      Days = 30
Month = May      Days = 30

在C语言中,枚举是一种非常原始的类型,并不是非常有用,而在其他语言中,枚举被添加了许多额外的特性,会更加好用。

完结闲聊

至此,C语言的大部分重要基础知识点就归纳完了(细心的读者会发现文件操作和命令行参数知识并不再范围内),后续还会更新C语言与数据结构的相关知识点梳理,会陆续发布,算法是程序的灵魂,也值得花精力去掌握它。

在该系列文章中的代码部分不支持C99,(目前貌似已经C十几了)不过并不妨碍我们进一步的去理解C语言。由于笔者水平有限,在梳理中难免出现有误的地方,还望多多包含,并恳请指正,会在后续中完善这些问题,感谢你的阅读。

 第11页/共11  首页 上一页 9 10 11


转载: 感谢您对莫愁个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源莫愁个人博客 https://www.mochoublog.com/study/367.html”。

文章评论

    • 评论
    人参与,条评论

技术在线

服务时间

周一至周日 12:00-22:00

关闭下雪
关闭背景特效