人人都能学会的编程入门课
胡光
原百度高级算法研发工程师
立即订阅
783 人已学习
课程目录
已更新 5 讲 / 共 32 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 别闹了,学编程 ≠ 学语言
免费
语言基础篇 (4讲)
01 | 学习编程,我到底该选择哪门语言?
02 | 第一个程序:教你输出彩色的文字
03 | 判断与循环:给你的程序加上处理逻辑
04 | 随机函数:随机实验真的可以算 π 值嘛?
人人都能学会的编程入门课
登录|注册

02 | 第一个程序:教你输出彩色的文字

胡光 2020-01-07
你好,我是胡光。从今天开始,我将带你正式进入 C 语言的编程世界。我们总会听到这样一种说法:兴趣是最好的老师。引起你对编程的兴趣,就是今天这讲的目的。如果你之前对于 C 语言的认知还停留在黑白纯色阶段的话,今天就让我们一起来进入一个彩色的 C 语言世界,来,跟我一起给它点儿颜色!

今日任务

先来看看今天这 10 分钟,我们要完成的任务。今天你将会学到如何设计一个读入字符串,并且按照字符串信息中规定的颜色,输出相应颜色文本内容的方法程序。
例如当我们:
输入:red:color content, 输出红色的:color content
输入:blue:color content,输出蓝色的:color content
输入:yellow:color content,输出黄色的:color content
下面这张图呢,就是当你完成这个任务时,你程序应该有的一个输出效果:
那么想完成这个任务,我们都需要做哪些准备呢?又有哪些概念需要我们理解和掌握的?请你多点耐心,听我一步步讲。

必知必会,查缺补漏

1. 输出函数:让计算机“说出话”

我还记得我当年学习 C 语言的时候,最兴奋的地方就是计算机可以根据我的“指令”打印出一句我想说的话来。这个功能虽然简单,但它也预示着我们可以初步“控制”计算机了。下面我附了一段代码,代码后面有相应的中文说明,你可以先看看。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《人人都能学会的编程入门课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(13)

  • 奔跑的八戒
    通过百度完成二道思考题,对格式化的输入输出,又有了新的认识。
    思考2:
    条件 1:如果字符串中没有空格,怎么实现?:%s
    条件 2:如果字符串中有空格,又该怎么实现?:%[^\n] ,原来scanf 还支持正则表达式。
    思考1:
    条件 1:允许有多余输出的情况下,实现方式:printf("=%d\n", printf("len(%lld)", a)-5);
    条件 2:只允许输出数字位数的时候,又该怎么实现?重定向?还没想到。

    作者回复: d(^_^o),非常棒!
    只输出数字位数的话 fprintf想一想。

    2020-01-08
    1
    1
  • 一步
    为什么用printf打印字符串后面会多一个%号呢?

    作者回复: 我看看你的代码?

    2020-01-07
    1
    1
  • 徐洲更
    \033这类打印颜色的方式是shell终端的解读格式,而非windows系统下。

    作者回复: 对的,windows的话可以调用API实现颜色功能,这个要是有一定基础的话,可以自行查阅资料试一下。

    2020-01-07
    1
  • 老师…什么是多余输出啊…第一题两个条件不太看得懂

    作者回复: 哈哈哈,你看文章的留言区中已经有人给出了自己的答案,并且已经很接近标准答案了。你先看一看。

    2020-01-11
  • 潮汐
    现实世界就像这个战场一样,是抽象的,而计算机的世界是具体的、可计算的。从现在开始,你应该注意学习如何将现实世界的“信息”,映射到计算机世界中“数据”的技巧。
    点赞!
    2020-01-10
  • MagisDing
    老师可以在下节课上课之前发布本节课思考题的参考代码吗?

    作者回复: 嗯嗯,咱们后面会定期的发送思考题的参考答案。不仅会有参考答案,还会有你们的精彩留言。

    2020-01-09
  • 一溢孤行
    我还是不清楚Windows系统下该怎么去改变输出代码的颜色

    作者回复: 调用windows环境下的API方法,可以上网搜一下。

    2020-01-09
  • 一步
    为什么用printf打印字符串后面会多一个%号呢?
    作者回复: 我看看你的代码?

    代码如下:
    printf("\033[1;4;33mhello color\033[0m"); // 就是文中的代码

    打印的结果为:hello color%

    作者回复: 不可能啊,文字有颜色么和下划线么?

    2020-01-07
    1
  • 一步
    不能回复老师的评论,我就重新写了
    Mac打印字符串使用\a 没有声音
    作者回复: 你用的什么环境?

    环境为: 编译环境 gcc: Apple LLVM version 10.0.1 (clang-1001.0.46.4)
    系统:Mac OS 10.15.1

    作者回复: 没啥问题

    2020-01-07
    1
  • fengtalk
    大家用的都是什么编辑器呢?我在MacOS下用的CodeRunner。
    2020-01-07
  • 一步
    Mac打印字符串使用\a 没有声音

    作者回复: 你用的什么环境?

    2020-01-07
  • 行问
    #include <stdio.h>

    int main() {
        printf("\033[1;4;33mhello color\033[0m");
        return 0;
    }

    (Windows 系统,没有钱买 Mac ……)这段代码的输出:hello color

    作者回复: 装个虚拟机Ubuntu、CentOS或者DeepIn系统,或者使用windows 10里面的bash Ubuntu都行。^_^

    2020-01-07
    1
  • 行问
    字符型对应到 %c 还是 %s ?

    没看到有上传代码的地址

    作者回复: %c,字符串对应的是%s

    2020-01-07
收起评论
13
返回
顶部