📜  C 程序的输出 |第 59 集(循环和控制语句)(1)

📅  最后修改于: 2023-12-03 14:39:41.894000             🧑  作者: Mango

C 程序的输出 | 第 59 集(循环和控制语句)

在学习 C 语言时,学习如何输出信息是其中的一个重要模块。在这个模块中,你将学习如何使用 C 的输入/输出函数来获取和处理用户输入、读写文件。本文将为您介绍 C 程序的输出以及如何在程序中使用循环和控制语句。

基础输出

在 C 程序中,我们可以使用 printf() 来输出文本。printf() 函数由标准输入/输出库提供,并且在 stdio.h 中声明。下面是一个简单示例:

#include <stdio.h>

int main() {
  printf("Hello, World!\n");
  return 0;
}

这个程序将输出 "Hello, World!" 并以换行符结束。在 printf() 中,我们必须将要输出的内容放在引号中,并用 \n 在其末尾加上换行符。该符号将在输出之后向下移动光标,以便下一个输出开始于新行首。

此外,printf() 函数可以用来输出变量的值以及各种数学运算。例如,以下代码将输出一个数值的平方:

#include <stdio.h>

int main() {
  int number = 5;
  int square = number * number;
  printf("The square of %d is %d.\n", number, square);
  return 0;
}

在这个程序中,我们定义了一个整数变量 "number" 并将其值设置为 5。然后我们使用运算符 * 将 "number" 的平方存储在另一个整数变量 "square" 中。最后,我们使用 printf() 来输出这个值。在 printf() 中,%d 表示要输出的数字,而 , 后面的变量列表包含每个用来替换 %d 的变量。

循环

在 C 中,循环是一种重复执行代码块的结构。它们允许我们在程序中多次运行相同的代码,直到某个条件得到满足。C 定义了三种不同类型的循环结构:whiledo-whilefor

while 循环

while 循环是最简单的循环类型之一。该循环由一个布尔表达式和一个代码块组成。只要布尔表达式的结果为真,代码块就会被重复执行。以下代码演示了如何使用 while 循环输出数字的平方值:

#include <stdio.h>

int main() {
  int number = 1;
  while (number <= 10) {
    int square = number * number;
    printf("%d*%d = %d\n", number, number, square);
    number++;
  }
  return 0;
}

在这个程序中,我们将 "number" 初始化为 1。然后使用 while 循环将平方值打印到屏幕上。循环在满足条件 "number <= 10" 时持续进行。在每次循环中,我们使用 printf() 输出数字及其平方值,并将 "number" 增加 1。当 "number" 的值从 1 增加到 10 时,循环将停止。

do-while 循环

do-while 循环与 while 循环类似,但是因为条件是在循环中进行测试的,所以代码块至少会执行一次。

以下代码演示了如何使用 do-while 循环输出数字的平方值:

#include <stdio.h>

int main() {
  int number = 1;
  do {
    int square = number * number;
    printf("%d*%d = %d\n", number, number, square);
    number++;
  } while (number <= 10);
  return 0;
}

在这个程序中,我们将 "number" 初始化为 1。使用 do-while 循环将平方值输出到屏幕上。循环在满足条件 "number <= 10" 时持续进行。由于条件位于循环的结尾而不是开头,代码块在第一次循环时一定会被执行。当 "number" 的值从 1 增加到 10 时,循环将停止。

for 循环

for 循环是最常用的循环类型之一。该循环由三个表达式组成,分别用于初始化、测试和递增计数器。以下代码演示了如何使用 for 循环输出数字的平方值:

#include <stdio.h>

int main() {
  for (int number = 1; number <= 10; number++) {
    int square = number * number;
    printf("%d*%d = %d\n", number, number, square);
  }
  return 0;
}

在这个程序中,我们使用 for 循环将平方值输出到屏幕上。在 for 循环的第一个表达式中,我们初始化了编号变量 "number" 并将其设置为 1。测试条件 "number <= 10" 判定为真时,代码块将被执行。在循环的最后一个表达式中,我们递增计数器 "number" 的值。当 "number" 的值从 1 增加到 10 时,循环将停止。

控制语句

C 语言提供了许多控制语句,这些语句可以用于改变程序的执行方式。其中,if-else 语句是最常用的控制语句之一。以下是一个演示如何使用 if-else 语句确定数字是否为偶数的程序:

#include <stdio.h>

int main() {
  int number = 5;
  if (number % 2 == 0) {
    printf("The number is even.\n");
  } else {
    printf("The number is odd.\n");
  }
  return 0;
}

在这个程序中,我们使用 if-else 语句来确定数字的奇偶性。如果 "number" 能够被 2 整除,printf() 将输出 "The number is even."。否则,它将输出 "The number is odd."。

除了 if-else 语句之外,switch 语句也是一种常见的控制语句,可以与 case 语句一起使用,根据表达式的值从一组可能的情况中进行选择。

#include <stdio.h>

int main() {
  char grade = 'B';
  switch (grade) {
    case 'A':
      printf("Excellent!\n");
      break;
    case 'B':
    case 'C':
      printf("Well done.\n");
      break;
    case 'D':
      printf("You passed.\n");
      break;
    case 'F':
      printf("Better try again.\n");
      break;
    default:
      printf("Invalid grade.\n");
  }
  return 0;
}

在这个程序中,我们使用 switch 语句来根据学生的成绩输出相应的消息。在这个情况下,如果成绩是 'A',printf() 将输出 "Excellent!"。如果成绩是 'B' 或 'C',它将输出 "Well done."。如果成绩是 'D',它将输出 "You passed."。如果成绩是 'F',它将输出 "Better try again."。最后,如果成绩无效,则输出 "Invalid grade."。

总结

本文向您介绍了 C 程序的输出,以及如何在程序中使用循环和控制语句。您可以使用 printf() 函数输出文本和数学运算。whiledo-whilefor 循环是控制程序重复运行的关键。控制语句可以让您根据条件来改变代码的执行方式。切记,在编写 C 语言程序时,一定要小心,特别是在使用循环和控制语句时要小心。