练习6:变量类型

    你应该掌握了一个简单的C程序的结构,所以让我们执行下一步简单的操作,声明不同类型的变量。

    在这个程序中我们声明了不同类型的变量,并且使用了不同的格式化字符串来打印它们。

    你的输出应该和我的类似,你可以看到C的格式化字符串相似于Python或其它语言,很长一段时间中都是这样。

    你可以看到我们拥有一系列的“类型”,它们告诉编译器变量应该表示成什么,之后格式化字符串会匹配不同的类型。下面解释了它们如何匹配:

      使用int声明,使用%d来打印。

    浮点

      使用floatdouble声明,使用%f来打印。

    字符

      使用char来声明,以周围带有(单引号)的单个字符来表示,使用%c来打印。

      使用char name[]来声明,以周围带有"的一些字符来表示,使用%s来打印。

    你会注意到C语言中区分单引号的char和双引号的char[]或字符串。

    当我提及C语言类型时,我通常会使用来代替整个的char SOMENAME[]。这不是有效的C语言代码,只是一个用于讨论类型的一个简化表达方式。

    你可以通过向printf传递错误的参数来轻易使这个程序崩溃。例如,如果你找到打印我的名字的那行,把initial放到first_name前面,你就制造了一个bug。执行上述修改编译器就会向你报错,之后运行的时候你可能会得到一个“段错误”,就像这样:

    • 搜索“格式化”,试着使用一些高级的占位符。
    • 试着打印空字符串,即""