【二】笨方法学c语言-learn c the hard way

练习1:启用编译器

我的blog网站挂了,在csdn上重新上传

原文:Exercise 1: Dust Off That Compiler

译者:飞龙

这是你用C写的第一个简单的程序:

int main(int argc, char *argv[])
{
    puts("Hello world.");

    return 0;
}

把它写进 ex1.c 并输入:

$ make ex1
cc     ex1.c   -o ex1

你的编译器可能会使用一个有些不同的命令,但是最后应该会产生一个名为ex1的文件,并且你可以运行它。

你会看到什么

现在你可以运行程序并看到输出。

$ ./ex1
Hello world.

如果没有,则需要返回去修复它。

如何使它崩溃

在这本书中我会添加一个小节,关于如何使程序崩溃。我会让你对程序做一些奇怪的事情,以奇怪的方式运行,或者修改代码,以便让你看到崩溃和编译器错误。

对于这个程序,打开所有编译警告重新构建它:

$ rm ex1
$ CFLAGS="-Wall" make ex1
cc -Wall    ex1.c   -o ex1
ex1.c: In function 'main':
ex1.c:3: warning: implicit declaration of function 'puts'
$ ./ex1
Hello world.
$

现在你会得到一个警告,说puts函数是隐式声明的。C语言的编译器很智能,它能够理解你想要什么。但是如果可以的话,你应该去除所有编译器警告。把下面一行添加到ex1.c文件的最上面,之后重新编译来去除它:

#include <stdio.h>

现在像刚才一样重新执行make命令,你会看到所有警告都消失了。

附加题

  • 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后运行它看看发生了什么。
  • 再多打印5行文本或者其它比"Hello world."更复杂的东西。
  • 执行man 3 puts来阅读这个函数和其它函数的文档。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这本书的目标是让读者掌握足够的C语言技能,从而可以自己用C语言编写程序或者修改别人的C语言代码,成为一名的程序员。但这并不完全是一本讲C语言编程的书,书中还重点介绍防御性编程。本书以习题的方式引导读者一步一步习编程,结构非常简单,共包括52个习题,每一个习题都重点讲解一个重要的主题,多数是以代码开始,然后解释代码的编写,再运行并测试程序,给出附加任务。此外,每个习题都配套教视频。 本书是写给过编程语言的读者的,本书有趣、简单,并且讲解方法独特,让读者了解众多C语言的基础知识和C程序中常见的缺陷,在慢慢增强自己的技术能力的同时,深入了解怎样破坏程序,以及怎样让代码更安全。 本书会随书附赠5个多小时充满激情的视频,这是一套完整的C语言视频课程! 作者Zed A.Shaw为急于自我提高编程技能(不限语言)的C语言者构建了一套课程,只要跟着,你会像迄今为止Zed教过的数百万程序员一样获得成功!只要你能自律、投入和坚持! 本书内容十分浅显易读,只要花2天到1周可以读完,读完后既可以获得几千行代码的C编程经验。本书会让你的每一分钟投入都有回报。你很快能会世界上强大的编程语言之一,成为一名C程序员。 在本书中,你将通过完成52个精心设计的习题来C语言。阅读书里的习题,看作者提供的视频,照着录入代码(不要复制和粘贴!),修正自己的错误,观察程序的运行。在这个过程中,你将会了解好的现代C代码长什么样子,如何有效地思考代码,如何更加有效地找出和修正错误。重要地是,你将掌握严密的防御性编程技术,不管你使用什么编程语言,利用这些技术你都可以创建避免缺陷并抵御恶意行为的软件。本书通过实用的项目,让你以致用,从而对自己新会的技能更有信心。Zed将教会你编写出色的C代码所需具备的诸多关键技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值