手记

说说 C 语言中的变量与算术表达式

我们先来写一个程序,打印英里与公里之间的对应关系表。公式:1 mile=1.61 km

程序如下:

#include <stdio.h>/* print Mile to Kilometre table*/main() {    float mile, kilometre;    int lower = 0;//lower limit
    int upper = 1000;//upper limit
    int step = 30;//step size

    printf("Mile Kilometre\n");
    mile = lower;    while (mile <= upper) {
        kilometre = 1.61 * mile;        printf("%3.0f     %6.1f\n", mile, kilometre);
        mile = mile + step;
    }
}

在 CLion 中按下 shift + F10 进行编译运行代码哦O(∩_∩)O~

如果在 Clion 中出现 error: ld returned 1 exit status, 可能是因为之前程序还在运行导致的,只要关闭这个程序,重新执行即可。

输出结果:


下面我们对这段示例代码进行分析:

/* print Mile to Kilometre table*/

/* */ 表示多行注释;// 表示单行注释;注释之间的字符序列会被编译器忽略。 良好的注释,使得程序更便于理解。

 float mile, kilometre;

所有变量都必须先声明后使用,通常在函数起始处声明变量。声明是由类型名与变量名组成。

类型名说明
short短整型
int整型
long长整型
char字符型
float单精度浮点型
double双精度浮点型

这些数据类型的大小取决于具体机器。

int lower = 0;//lower limitint upper = 1000;//upper limitint step = 30;//step size

这里在定义变量的同时,为它们设定了初始值。

while (mile <= upper) {
    ...
}

正确的缩进以及保留适当的空格,可以有效地提升程序的易读性。在 CLion 中,可以使用 ctrl + shift + L,对代码进行排版美化。建议每行只书写一条语句。

 printf("%3.0f     %6.1f\n", mile, kilometre);
  • printf 是格式化输出函数。

  • printf  的第一个参数是待打印字符串,其中每一个百分号表示后续参数(第二个参数、第三个参数,以此类推)的替换位置,这些参数必须在类型与数目上相匹配;其余部分是打印格式。

  • ANSI 标准定义了 printf 函数的行为。

  • %3.0f 表示待打印的浮点数至少占 3 个字符,不包括小数点与小数。

  • %6.1f 表示待打印的浮点数至少占 6 个字符,包括小数点与 1 位小数。

格式说明
%d整数
%f浮点数
%o八进制数
%x十六进制数
%c字符
%s字符串
%%百分号本身
mile = lower;
  • 如果某个算术运算符的所有操作数均为整型,那么直接执行整型运算。

  • 如果某个算术运算符一边为整型,另一边为浮点型(如上代码所示),那么在开始运算之前,整型操作数会被转化为浮点型。

现在让我们编写一个打印从英里到公里的对照表吧:

#include <stdio.h>/* print kilometre to mile table*/main() {    float mile, kilometre;    int lower = 0;//lower limit
    int upper = 1000;//upper limit
    int step = 30;//step size

    printf("Mile Kilometre\n");
    kilometre = lower;    while (kilometre <= upper) {
        mile = kilometre / 1.61;        printf("%3.0f     %6.1f\n", kilometre, mile);
        kilometre = kilometre + step;
    }

输出结果:




作者:deniro
链接:https://www.jianshu.com/p/604d9094ce3c


0人推荐
随时随地看视频
慕课网APP