C语言中常用的几个头文件及库函数

下面我来详细讲解一下“C语言中常用的几个头文件及库函数”。

常用的头文件

#include

stdio.h 是C语言中用来进行输入输出(IO)操作的头文件。常见的IO函数有:

  • printf: 打印输出。
  • scanf: 读入输入。
  • getchar: 读入单个字符。

示例:

#include <stdio.h>

int main() {
    printf("Hello, world!\n");

    int num;
    printf("Please input a number: ");
    scanf("%d", &num);
    printf("The number is: %d\n", num);

    char ch = getchar();
    putchar(ch);
    return 0;
}

#include

stdlib.h 是C语言中用来进行动态内存分配、随机数生成、字符串转换等操作的头文件。常见的函数有:

  • malloc: 分配指定长度的内存。
  • calloc: 分配指定数量的同样大小的内存。
  • realloc: 重新分配指定长度的内存。
  • free: 释放内存。
  • rand: 生成随机整数。

示例:

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

int main() {
    int *num_ptr;
    num_ptr = (int*)malloc(sizeof(int));
    *num_ptr = 10;
    printf("The number is: %d\n", *num_ptr);
    free(num_ptr);

    int *arr_ptr;
    arr_ptr = (int*)calloc(5, sizeof(int));
    for (int i = 0; i < 5; i++) {
        *(arr_ptr+i) = i*2;
    }
    printf("The array is: ");
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(arr_ptr+i));
    }
    free(arr_ptr);

    int *new_ptr;
    new_ptr = (int*)realloc(num_ptr, 2*sizeof(int));
    *new_ptr = 20;
    *(new_ptr+1) = 30;
    printf("\nThe new numbers are: %d, %d\n", *new_ptr, *(new_ptr+1));
    free(new_ptr);

    srand((unsigned int)time(NULL));
    int random_num = rand() % 100;
    printf("The random number is: %d\n", random_num);

    return 0;
}

#include

string.h 是C语言中用来进行字符串操作的头文件。常见的函数有:

  • strlen: 返回字符串长度。
  • strcpy: 把一个字符串复制到另一个字符串。
  • strcat: 把一个字符串的内容追加到另一个字符串之后。
  • strcmp: 比较两个字符串是否相同。
  • strchr: 返回一个字符串中第一次出现指定字符的位置。

示例:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "hello";
    char str2[] = "world";
    printf("The length of str1 is: %d\n", (int)strlen(str1));

    char dest_str[20];
    strcpy(dest_str, str1);
    printf("The content of dest_str is: %s\n", dest_str);

    strcat(dest_str, str2);
    printf("The content of dest_str after concatenation is: %s\n", dest_str);

    int cmp_result = strcmp(str1, str2);
    if (cmp_result == 0) {
        printf("str1 is equal to str2\n");
    } else if (cmp_result < 0) {
        printf("str1 is less than str2\n");
    } else {
        printf("str1 is greater than str2\n");
    }

    char *found_ptr = strchr(str1, 'l');
    printf("The first 'l' in str1 is at position: %ld\n", found_ptr - str1);

    return 0;
}

常用的库函数

printf函数

printf 函数可以用来输出字符串、数值等。它的基本用法如下:

printf("format_string", arg1, arg2, ...);

其中 format_string 是格式化的字符串,它和 % 符号在一起组成控制字段,控制输出方式,而后面的 arg1, arg2, ... 表示要输出的参数。常见的控制字段有:

  • %d: 整数。
  • %s: 字符串。
  • %c: 字符。
  • %f: 浮点数。
  • %x: 十六进制数。

示例:

#include <stdio.h>

int main() {
    int num = 10;
    printf("The number is: %d\n", num);

    float f_num = 3.14;
    printf("The float number is: %.2f\n", f_num);

    char ch = 'A';
    printf("The char is: %c\n", ch);

    return 0;
}

scanf函数

scanf 函数可以读入数值、字符串等。它的基本用法如下:

scanf("format_string", arg1, arg2, ...)

其中 format_string 是格式化的字符串,它和 % 符号在一起组成控制字段,控制读入的方式,而后面的 arg1, arg2, ... 表示需要读入的变量。与 printf 相似,常见的控制字段包括:

  • %d: 整数。
  • %s: 字符串。
  • %c: 单个字符。
  • %f: 浮点数。

示例:

#include <stdio.h>

int main() {
    int num;
    printf("Please input a number: ");
    scanf("%d", &num);
    printf("The number is: %d\n", num);

    char name[30];
    printf("Please input your name: ");
    scanf("%s", name);
    printf("Hello, %s!\n", name);

    return 0;
}

以上就是常用的头文件及库函数的详细攻略。希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中常用的几个头文件及库函数 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • c#学习教程之JSON文件及解析实例

    那么让我们来详细讲解一下“c#学习教程之JSON文件及解析实例”的完整攻略吧。这个教程主要分为以下几个部分: 1. 什么是JSON? 我们先来回答一个非常基础的问题,什么是JSON?JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式。它是一种文本格式,易于理解和生成,同时也易于解析和使用。它是基于JavaScri…

    C 2023年5月23日
    00
  • 利用C++实现通讯录管理系统的完整代码

    关于“利用C++实现通讯录管理系统的完整代码”的攻略如下: 步骤一:分析需求 在开始写代码之前,我们需要先仔细分析需求。通讯录管理系统有哪些功能呢?比如添加联系人、显示联系人、删除联系人等等。要想写好代码,先要清晰的了解需求。 步骤二:设计数据结构 在考虑具体的实现之前,我们需要确定一个数据结构来组织我们的数据。在通讯录管理系统中,最核心的数据结构就是通讯录…

    C 2023年5月23日
    00
  • C语言从零探索函数的知识

    C语言从零探索函数的知识 1. 函数基础 1.1 函数的作用与定义 函数是编程语言中非常重要的一部分,它可以把复杂的逻辑代码封装成简单易用的组件,方便我们进行调用和管理。一个完整的函数定义一般包含函数名、参数列表以及函数体。例如: int add(int a, int b) { return a + b; } 1.2 函数的调用与返回值 在函数定义好之后,我…

    C 2023年5月23日
    00
  • js字符串转成JSON

    假设我们有一个字符串 str,它代表一个 JSON 对象,现在需要把它转成 JavaScript 对象,下面是实现的完整攻略。 1. 将字符串解析成 JSON 对象 使用 JSON.parse() 函数可以将字符串转为 JSON 对象,该函数有一个参数,即要解析的 JSON 字符串。 下面是一个示例: const jsonStr = ‘{"name…

    C 2023年5月23日
    00
  • C语言之整数划分问题(递归法)实例代码

    C语言之整数划分问题(递归法)实例代码是一篇介绍整数划分问题及其递归解法的文章,并提供了C语言代码实现。下面将详细讲解这篇文章的内容。 整数划分问题简介 首先,文章介绍了整数划分问题的背景和定义。整数划分问题的定义是:将一个正整数$n$划分成不超过$n$个正整数的和,每个划分方案中的数都必须不小于$1$,且不考虑顺序。例如,对于$4$这个数字,可以划分为以下…

    C 2023年5月24日
    00
  • 一文详解C++的程序流程控制

    一文详解C++的程序流程控制 程序流程控制是指程序中用来控制代码执行顺序和逻辑的语句,包括条件语句、循环语句以及跳转语句。本文将详细讲解C++中的程序流程控制语句及其使用方法。 条件语句 条件语句用于判断特定条件是否满足,并根据条件的真假执行不同的代码块。 if语句 if语句是最基本的条件语句。它的语法格式如下: if (条件表达式) { //条件表达式为真…

    C 2023年5月23日
    00
  • C/C++ 编译器优化介绍

    C/C++ 编译器优化介绍 C/C++ 编译器通过优化可以让代码运行更快、更高效,提升程序的性能和响应速度。本文将介绍常用的 C/C++ 编译器优化技术,以及对应的编译器选项和示例说明。 基本编译器优化 优化等级 编译器一般提供多个不同的优化等级,包括 “-O0” 到 “-O3″ 等级。其中,”-O0″ 表示不进行任何优化,而 “-O3” 表示最高级别的优化…

    C 2023年5月22日
    00
  • Node.js 源码阅读深入理解cjs模块系统

    Node.js 源码阅读深入理解cjs模块系统的攻略可以分为以下几步: 1. 下载 Node.js 源代码 首先需要从 Node.js 官方网站下载 Node.js 的源代码。可以去 Node.js官网 下载最新版本的源代码,或者从 GitHub上的 Node.js仓库 上下载。下载后解压至本地,然后使用命令行工具进入解压后的目录。 2. 阅读 cjs 模块…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部