系列目录
上一篇:白骑士的C语言基础篇 1.4 函数与递归
在这一节中,我们将介绍C语言中的数据输入与输出操作,包括标准输入与输出、文件操作(读写文件),以及格式化输入输出。这些操作是程序与用户或其他程序进行交互的基本方式。
标准输入与输出
标准输入与输出是程序与用户进行交互的基本方式。C语言提供了一些标准库函数来处理这些操作。
标准输出
标准输出用于将数据输出到控制台。最常用的标准输出函数是‘printf‘,例如:
printf("Hello, World!\n");
‘printf‘ 函数可以格式化输出多个数据类型,例如:
int age = 25;
float height = 175.5;
char name[] = "John";printf("Name: %s, Age: %d, Height: %.1f cm\n", name, age, height);
标准输入
标准输入用于从控制台读取数据。最常用的标准输入函数是 ‘scanf‘,例如:
int age;printf("Enter your age: ");
scanf("%d", &age);
printf("Your age is: %d\n", age);
‘scanf‘ 函数可以格式化读取多个数据类型,例如:
char name[50];
int age;
float height;printf("Enter your name, age and height: ");
scanf("%s %d %f", name, &age, &height);
printf("Name: %s, Age: %d, Height: %.1f cm\n", name, age, height);
文件操作(读写文件)
文件操作允许程序读取和写入文件中的数据。C语言通过标准库提供了一组函数来处理文件操作。
打开文件
使用 ‘fopen‘ 函数打开文件。该函数返回一个 ‘FILE‘ 指针,用于标识文件,例如:
FILE *file = fopen("example.txt", "r");if (file == NULL) {printf("Failed to open file.\n");return 1;
}
关闭文件
使用 ‘fclose‘ 函数关闭文件,例如:
fclose(file);
读取文件
使用 ‘fgetc‘、‘fgets‘ 或 ‘fread‘ 函数从文件读取数据,例如:
FILE *file = fopen("example.txt", "r");if (file == NULL) {printf("Failed to open file.\n");return 1;
}char ch;while ((ch = fgetc(file)) != EOF) {printf("%c", ch);
}fclose(file);
或者:
FILE *file = fopen("example.txt", "r");if (file == NULL) {printf("Failed to open file.\n");return 1;
}char line[100];while (fgets(line, sizeof(line), file)) {printf("%s", line);
}fclose(file);
写入文件
使用 ‘fputc‘、‘fputs‘ 或 ‘fwrite‘ 函数向文件写入数据,例如:
FILE *file = fopen("output.txt", "w");if (file == NULL) {printf("Failed to open file.\n");return 1;
}fputs("Hello, World!\n", file);fclose(file);
格式化输入输出
格式化输入输出使我们能够更灵活地处理数据的显示和读取。C语言中的 ‘printf‘ 和 ‘scanf‘ 函数提供了强大的格式化功能。
printf函数
‘printf‘ 函数的格式化输出允许我们指定数据的显示方式。常用的格式说明符包括:
- ‘%d‘:整数
- ‘%f‘:浮点数
- ‘%s‘:字符串
- ‘%c‘:字符
- ‘%x‘:十六进制整数
例如:
int num = 255;printf("Decimal: %d, Hexadecimal: %x\n", num, num);
scanf函数
‘scanf‘ 函数的格式化输入允许我们从标准输入读取数据并存储到相应的变量中。常用的格式说明符与‘printf‘相同,例如:
示例代码
以下是一个综合示例,展示了标准输入与输出、文件操作以及格式化输入输出的使用:
#include <stdio.h>int main() {// 标准输入与输出char name[50];int age;printf("Enter your name: ");scanf("%s", name);printf("Enter your age: ");scanf("%d", &age);printf("Name: %s, Age: %d\n", name, age);// 写入文件FILE *file = fopen("data.txt", "w");if (file == NULL) {printf("Failed to open file.\n");return 1;}fprintf(file, "Name: %s, Age: %d\n", name, age);fclose(file);// 读取文件file = fopen("data.txt", "r");if (file == NULL) {printf("Failed to open file.\n");return 1;}char line[100];while (fgets(line, sizeof(line), file)) {printf("%s", line);}fclose(file);return 0;
}
总结
通过本节的学习,你已经了解了C语言中的数据输入与输出操作,包括标准输入与输出、文件操作(读写文件),以及格式化输入输出。这些操作是程序与外界进行交互的基本手段,是编写实用程序的基础。
下一篇:白骑士的C语言进阶篇 2.1 数组与字符串