📜  C程序的输出| 26套(1)

📅  最后修改于: 2023-12-03 15:00:13.380000             🧑  作者: Mango

C程序的输出 | 26套

欢迎来到C程序输出的24道题库,这个题库是为程序员提供的,它包含24个C程序输出的问题。这些问题涵盖了从最基础的C语言概念到高级概念的各种难度级别。在这个题库中,你将学习到如何输出各种数据类型和文字,如何输出不同颜色的文字,以及如何使用格式化输出等。

基础输出
1. 输出Hello World!

输出一个简单的Hello World!。你的程序应该在终端中输出Hello World!。

#include <stdio.h>

int main() {
    printf("Hello World!");
    return 0;
}
2. 输出一个整数

输出整数10,你的程序应该在终端中输出10。

#include <stdio.h>

int main() {
    int num = 10;
    printf("%d", num);
    return 0;
}
3. 输出一个小数

输出小数3.14,你的程序应该在终端中输出3.14。

#include <stdio.h>

int main() {
    float num = 3.14;
    printf("%f", num);
    return 0;
}
4. 输出一个字符

输出字符'A',你的程序应该在终端中输出A。

#include <stdio.h>

int main() {
    char c = 'A';
    printf("%c", c);
    return 0;
}
5. 输出一个字符串

输出字符串"hello",你的程序应该在终端中输出hello。

#include <stdio.h>

int main() {
    char *str = "hello";
    printf("%s", str);
    return 0;
}
6. 输出多个变量

输出整数10和小数3.14,你的程序应该在终端中输出10和3.14。

#include <stdio.h>

int main() {
    int num1 = 10;
    float num2 = 3.14;
    printf("%d %f", num1, num2);
    return 0;
}
进阶输出
7. 输出不同颜色的文字

输出红色的文字"hello",你的程序应该在终端中输出红色的hello。

#include <stdio.h>

int main() {
    printf("\033[0;31mhello\033[0m");
    return 0;
}
8. 输出不同的格式

输出数字123,它的格式是左对齐,宽度为8,空格用'_'填充。

#include <stdio.h>

int main() {
    int num = 123;
    printf("%-8d", num);
    return 0;
}
9. 输出带小数的数字

输出数字3.14159,它的格式是右对齐,宽度为8,精度为3。

#include <stdio.h>

int main() {
    float num = 3.14159;
    printf("%8.3f", num);
    return 0;
}
10. 输出不同进制的数字

输出数字10的十六进制和八进制形式,你的程序应该在终端中输出0xA和012。

#include <stdio.h>

int main() {
    int num = 10;
    printf("0x%X %o", num, num);
    return 0;
}
11. 输出不同的字符

输出字符'A'的ASCII码值和字符'B'的字符值,你的程序应该在终端中输出65和B。

#include <stdio.h>

int main() {
    char c1 = 'A', c2 = 'B';
    printf("%d %c", c1, c2);
    return 0;
}
12. 输出不同字母的大小写形式

输出大写字母'B'的小写形式和小写字母'b'的大写形式,你的程序应该在终端中输出b和B。

#include <stdio.h>

int main() {
    char c1 = 'B', c2 = 'b';
    printf("%c %c", c1 + 32, c2 - 32);
    return 0;
}
13. 输出数学公式

输出数学公式2x+3y=5,你的程序应该在终端中输出2x+3y=5。

#include <stdio.h>

int main() {
    printf("2x+3y=5");
    return 0;
}
14. 输出多行文字

输出三行文字"line1","line2","line3",你的程序应该在终端中输出三行文字。

#include <stdio.h>

int main() {
    printf("line1\n");
    printf("line2\n");
    printf("line3");
    return 0;
}
15. 输出表格

输出以下表格,你的程序应该在终端中输出表格。

|Name|Age|Score| |:---:|:---:|:---:| |Mike|18|90| |Jack|20|87| |Tom|19|92|

#include <stdio.h>

int main() {
    printf("|Name|Age|Score|\n");
    printf("|:---:|:---:|:---:|\n");
    printf("|Mike|18|90|\n");
    printf("|Jack|20|87|\n");
    printf("|Tom|19|92|");
    return 0;
}
高级输出
16. 输出文本文件的内容

输出文件test.txt的内容,你的程序应该在终端中输出test.txt的所有内容。

#include <stdio.h>

int main() {
    FILE *fp = fopen("test.txt", "r");
    if (fp == NULL) {
        printf("文件打开失败");
        return -1;
    }
    char line[1000];
    while (fgets(line, 1000, fp)) {
        printf("%s", line);
    }
    fclose(fp);
    return 0;
}
17. 输出函数的返回值

输出函数add(1, 2)的返回值3,你的程序应该在终端中输出3。

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    printf("%d", add(1, 2));
    return 0;
}
18. 输出一个结构体

输出结构体Person的信息,你的程序应该在终端中输出"Li Ming, 18"。

#include <stdio.h>

struct Person {
    char name[10];
    int age;
};

int main() {
    struct Person p1 = {"Li Ming", 18};
    printf("%s, %d", p1.name, p1.age);
    return 0;
}
19. 输出一个链表

输出链表的所有元素,你的程序应该在终端中输出链表的所有元素。

#include <stdio.h>
#include <stdlib.h>

typedef struct ListNode {
    int val;
    struct ListNode *next;
} ListNode, *LinkedList;

LinkedList createList(int *arr, int n) {
    if (n == 0) {
        return NULL;
    }
    LinkedList head = (LinkedList) malloc(sizeof(ListNode));
    head->val = *arr;
    head->next = createList(arr + 1, n - 1);
    return head;
}

void printList(LinkedList head) {
    while (head) {
        printf("%d ", head->val);
        head = head->next;
    }
}

int main() {
    int arr[] = {1, 2, 3};
    LinkedList head = createList(arr, 3);
    printList(head);
    return 0;
}
20. 输出一个缓冲区

输出缓冲区的内容,你的程序应该在终端中输出buf的所有内容。

#include <stdio.h>

int main() {
    char buf[1024];
    fread(buf, 1, 1024, stdin);
    printf("%s", buf);
    return 0;
}
21. 输出动态分配的内存

输出动态分配的内存,你的程序应该在终端中输出所有元素。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int n = 5, i;
    int *p = (int *) malloc(sizeof(int) * n);
    for (i = 0; i < n; i++) {
        p[i] = i + 1;
    }
    for (i = 0; i < n; i++) {
        printf("%d ", p[i]);
    }
    free(p);
    return 0;
}
22. 输出指针变量的值

输出指针变量p的值,你的程序应该在终端中输出指针变量p的值。

#include <stdio.h>

int main() {
    int num = 10;
    int *p = &num;
    printf("%p", p);
    return 0;
}
23. 输出变量的地址

输出变量num的地址,你的程序应该在终端中输出变量num的地址。

#include <stdio.h>

int main() {
    int num = 10;
    printf("%p", &num);
    return 0;
}
24. 输出宏定义的值

输出宏定义的值,你的程序应该在终端中输出宏定义的值。

#include <stdio.h>

#define PI 3.1415926

int main() {
    printf("%f", PI);
    return 0;
}
总结

我们通过这一系列的练习掌握了C语言输出的基础知识和高级技巧。在实际的编程过程中,输出是一个非常重要的环节,通过合理的输出可以提高程序的可读性,也可以方便我们调试程序。希望大家在以后的编程实践中,能够灵活运用这些知识。