linux c语言编程训练题含解答共5道
下面是一些简单的 Linux C 语言编程训练题,每个题目都包含了简短的解答。请注意,这些问题旨在测试基本的 C 语言编程知识和 Linux 系统编程概念。
1. 打印文件内容
编写一个程序,接受一个文件名作为命令行参数,并打印文件的内容到终端。
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
exit(EXIT_FAILURE);
}
FILE *file = fopen(argv[1], "r");
if (file == NULL) {
perror("Error opening file");
exit(EXIT_FAILURE);
}
int c;
while ((c = fgetc(file)) != EOF) {
putchar(c);
}
fclose(file);
return 0;
}
```
2. 计算文件行数
编写一个程序,接受一个文件名作为命令行参数,并统计文件的行数。
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
exit(EXIT_FAILURE);
}
FILE *file = fopen(argv[1], "r");
if (file == NULL) {
perror("Error opening file");
exit(EXIT_FAILURE);
}
int lines = 0;
int c;
while ((c = fgetc(file)) != EOF) {
if (c == '\n') {
lines++;
}
}
printf("Number of lines: %d\n", lines);
fclose(file);
return 0;
}
```
3. 逆序输出字符串
编写一个程序,接受一个字符串作为命令行参数,并逆序输出该字符串。
linux在线编程
```c
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <string>\n", argv[0]);
return 1;
}
char *str = argv[1];
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
putchar(str[i]);
}
putchar('\n');
return 0;
}
```
4. 统计字符出现次数
编写一个程序,接受一个字符串和一个字符作为命令行参数,统计字符串中该字符出现的次数。
```c
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
fprintf(stderr, "Usage: %s <string> <character>\n", argv[0]);
return 1;
}
char *str = argv[1];
char target = argv[2][0];
int count = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == target) {
count++;
}
}
printf("Character '%c' appears %d times in the string.\n", target, count);
return 0;
}
```
5. 使用系统调用创建文件
编写一个程序,使用 Linux 系统调用 `open` 和 `write` 来创建一个新文件并向其中写入一些文本。
```c
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
const char *filename = "";
const char *text = "Hello, Linux C Programming!\n";
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0666);
if (fd == -1) {
perror("Error opening file");
exit(EXIT_FAILURE);
}
write(fd, text, strlen(text));
close(fd);
return 0;
}
```
以上是一些简单的 C 语言编程训练题及其解答。这些问题旨在帮助巩固基本的 C 语言和 Linux 系统编程概念。你可以通过编写和运行这些程序来进一步理解和学习相关的知识。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论