C语言考试中大概率用得到的内置函数

C语言考试中常用的内置函数

Hello朋友你好!我是一名西安电子科技大学在校学生,目前主要在做web方向,前端居多,别的方向也有尝试。
如果对博客内容有疑问,或者有想法,欢迎私信或评论,看到一定会回复、尽力为大家解决问题!
如果你对web感兴趣,也欢迎一起交流讨论,比如学习路线、项目经验、技术点等等。
同时我会不定期写一些学习心得、技术教程、项目教学等博客,希望能丰富大家的技术视野。
技术不易,我们,继续努力!

在C语言算法题目中,有一些常用的内置函数可以帮助我们更高效地完成题目,有很多内置函数就能实现的功能是不需要我们再花时间写的。以下是一些常用的内置函数(字符串、字符的题目,大多数都能用到内置函数去简化代码,画个重点):

一、字符串

1. strlen

strlen 函数用于计算字符串的长度,其函数原型为:

size_t strlen(const char *str);

其中 str 为需要计算长度的字符串。函数返回值为字符串的长度。

示例代码:

#include 
#include 

int main()
{
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("该字符串的长度为:%ld\\n", strlen(str));
    return 0;
}

2. strcpy

strcpy 函数用于将一个字符串复制到另一个字符串中,其函数原型为:

char *strcpy(char *dest, const char *src);

其中 dest 为目标字符串,src 为源字符串。函数返回值为目标字符串的指针。

示例代码:

#include 
#include 

int main()
{
    char src[100], dest[100];
    printf("请输入一个字符串:");
    scanf("%s", src);
    strcpy(dest, src);
    printf("复制后的字符串为:%s\\n", dest);
    return 0;
}

3. strcat

strcat 函数用于将一个字符串连接到另一个字符串的末尾,其函数原型为:

char *strcat(char *dest, const char *src);

其中 dest 为目标字符串,src 为源字符串。函数返回值为目标字符串的指针。

示例代码:

#include 
#include 

int main()
{
    char str1[100], str2[100];
    printf("请输入第一个字符串:");
    scanf("%s", str1);
    printf("请输入第二个字符串:");
    scanf("%s", str2);
    strcat(str1, str2);
    printf("连接后的字符串为:%s\\n", str1);
    return 0;
}

4. strcmp

strcmp 函数用于比较两个字符串是否相同,其函数原型为:

int strcmp(const char *str1, const char *str2);

其中 str1str2 为需要比较的两个字符串。如果 str1 等于 str2,则返回 0;如果 str1 小于 str2,则返回负数;如果 str1 大于 str2,则返回正数。

示例代码:

#include 
#include 

int main()
{
    char str1[100], str2[100];
    printf("请输入第一个字符串:");
    scanf("%s", str1);
    printf("请输入第二个字符串:");
    scanf("%s", str2);
    int result = strcmp(str1, str2);
    if (result == 0)
    {
        printf("两个字符串相同\\n");
    }
    else if (result < 0)
    {
        printf("%s 小于 %s\\n", str1, str2);
    }
    else
    {
        printf("%s 大于 %s\\n", str1, str2);
    }
    return 0;
}

5. strchr

strchr 函数用于查找字符串中第一次出现指定字符的位置,其函数原型为:

char *strchr(const char *str, int c);

其中 str 为需要查找的字符串,c 为需要查找的字符。函数返回值为第一次出现该字符的位置,如果找不到,则返回 NULL

示例代码:

#include 
#include 

int main()
{
    char str[100], ch;
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("请输入要查找的字符:");
    scanf(" %c", &ch);
    char *ptr = strchr(str, ch);
    if (ptr == NULL)
    {
        printf("未找到该字符\\n");
    }
    else
    {
        printf("该字符在字符串中的位置为:%ld\\n", ptr - str);
    }
    return 0;
}

6. strstr

strstr 函数用于查找字符串中第一次出现指定子串的位置,其函数原型为:

char *strstr(const char *str, const char *substr);

其中 str 为需要查找的字符串,substr 为需要查找的子串。函数返回值为第一次出现该子串的位置,如果找不到,则返回 NULL

示例代码:

#include 
#include 

int main()
{
    char str[100], substr[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("请输入要查找的子串:");
    scanf("%s", substr);
    char *ptr = strstr(str, substr);
    if (ptr == NULL)
    {
        printf("未找到该子串\\n");
    }
    else
    {
        printf("该子串在字符串中的位置为:%ld\\n", ptr - str);
    }
    return 0;
}

二、字符

1. isalpha

isalpha 函数用于判断一个字符是否为字母,其函数原型为:

int isalpha(int c);

其中 c 为需要判断的字符。如果 c 是字母,则返回非零值,否则返回 0。

示例代码:

#include 
#include 

int main()
{
    char ch;
    printf("请输入一个字符:");
    scanf(" %c", &ch);
    if (isalpha(ch))
    {
        printf("%c 是一个字母\\n", ch);
    }
    else
    {
        printf("%c 不是一个字母\\n", ch);
    }
    return 0;
}

2. isdigit

isdigit 函数用于判断一个字符是否为数字,其函数原型为:

int isdigit(int c);

其中 c 为需要判断的字符。如果 c 是数字,则返回非零值,否则返回 0。

示例代码:

#include 
#include 

int main()
{
    char ch;
    printf("请输入一个字符:");
    scanf(" %c", &ch);
    if (isdigit(ch))
    {
        printf("%c 是一个数字\\n", ch);
    }
    else
    {
        printf("%c 不是一个数字\\n", ch);
    }
    return 0;
}

3. toupper

toupper 函数用于将一个字符转换为大写字母,其函数原型为:

int toupper(int c);

其中 c 为需要转换的字符。如果 c 是小写字母,则返回对应的大写字母,否则返回原字符。

示例代码:

#include 
#include 

int main()
{
    char ch;
    printf("请输入一个字符:");
    scanf(" %c", &ch);
    printf("转换后的字符为:%c\\n", toupper(ch));
    return 0;
}

4. tolower

tolower 函数用于将一个字符转换为小写字母,其函数原型为:

int tolower(int c);

其中 c 为需要转换的字符。如果 c 是大写字母,则返回对应的小写字母,否则返回原字符。

示例代码:

#include 
#include 

int main()
{
    char ch;
    printf("请输入一个字符:");
    scanf(" %c", &ch);
    printf("转换后的字符为:%c\\n", tolower(ch));
    return 0;
}

三、数字

1. atoi

atoi 函数用于将一个字符串转换为整数,其函数原型为:

int atoi(const char *str);

其中 str 为需要转换的字符串。如果字符串表示的是一个整数,则返回对应的整数值,否则返回 0。

示例代码:

#include 
#include 

int main()
{
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("转换后的整数为:%d\\n", atoi(str));
    return 0;
}

2. atof

atof 函数用于将一个字符串转换为浮点数,其函数原型为:

double atof(const char *str);

其中 str 为需要转换的字符串。如果字符串表示的是一个浮点数,则返回对应的浮点数值,否则返回 0。

示例代码:

#include 
#include 

int main()
{
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);
    printf("转换后的浮点数为:%lf\\n", atof(str));
    return 0;
}

3. abs

abs 函数用于计算整数的绝对值,其函数原型为:

int abs(int n);

其中 n 为需要计算绝对值的整数。函数返回值为 n 的绝对值。

示例代码:

#include 
#include 

int main()
{
    int n;
    printf("请输入一个整数:");
    scanf("%d", &n);
    printf("该整数的绝对值为:%d\\n", abs(n));
    return 0;
}

4. labs

labs 函数用于计算长整数的绝对值,其函数原型为:

long int labs(long int n);

其中 n 为需要计算绝对值的长整数。函数返回值为 n 的绝对值。

示例代码:

#include 
#include 

int main()
{
    long int n;
    printf("请输入一个长整数:");
    scanf("%ld", &n);
    printf("该长整数的绝对值为:%ld\\n", labs(n));
    return 0;
}

五、其他

1. scanf

scanf 函数用于从标准输入中读取数据,其函数原型为:

int scanf(const char *format, ...);

其中 format 为格式控制字符串,用于指定需要读取的数据的类型和格式。除格式控制字符串外,scanf 函数还需要指定需要读取的变量的地址。

示例代码:

#include 

int main()
{
    int a, b;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("您输入的两个整数分别为:%d 和 %d\\n", a, b);
    return 0;
}

2. printf

printf 函数用于向标准输出中输出数据,其函数原型为:

int printf(const char *format, ...);

其中 format 为格式控制字符串,用于指定需要输出的数据的类型和格式。除格式控制字符串外,printf 函数还可以指定需要输出的变量的值。

示例代码:

#include 

int main()
{
    int a = 10, b = 20;
    printf("a = %d, b = %d\\n", a, b);
    return 0;
}

3. qsort

qsort 函数用于快速排序,其函数原型为:

void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

其中 base 为待排序数组的起始地址,nmemb 为数组中元素的个数,size 为每个元素的大小,compar 为比较函数。比较函数用于比较两个元素的大小,如果返回值小于 0,则表示第一个元素小于第二个元素;如果返回值等于 0,则表示两个元素相等;如果返回值大于 0,则表示第一个元素大于第二个元素。

示例代码:

#include 
#include 

int compare(const void *a, const void *b)
{
    return (*(int *)a - *(int *)b);
}

你可能感兴趣的:(一些C语言初级练习题,笔记,c语言,开发语言,学习,算法)