C语言的中常用的函数

article/2025/9/21 23:37:04

一、main函数

一个C程序就是由若干头文件和函数组成,有且只有一个主函数,即main函数。

#include <stdio.h>int main(){printf("c语言主函数");return 0;
}
C程序就是执行主函数里的代码,C语言中的唯一入口。
main前面的int就是主函数的类型.
printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息
return是函数的返回值,根据函数类型的不同,返回的值也是不同的。
\n是转义字符中的换行符。(注意:C程序一定是从主函数开始执行的)

二、strcpy函数

C语言 strcpy() 函数用于对字符串进行复制(拷贝)。
 

头文件:string.h
语法/原型:
char* strcpy(char* strDestination, const char* strSource);参数说明:strDestination:目的字符串。
strSource:源字符串。strcpy() 会把 strSource 指向的字符串复制到 strDestination。
必须保证 strDestination 足够大,能够容纳下 strSource,否则会导致溢出错误。
返回值:目的字符串,也即 strDestination。
#include <stdio.h>
#include <string.h>struct Books
{char  title[50];char  author[50];char  subject[100];int   book_id;
};int main( )
{struct Books Book1;        /* 声明 Book1,类型为 Books */struct Books Book2;        /* 声明 Book2,类型为 Books *//* Book1 详述 */strcpy( Book1.title, "C Programming");strcpy( Book1.author, "Nuha Ali"); strcpy( Book1.subject, "C Programming Tutorial");Book1.book_id = 6495407;}

三、malloc函数

malloc 向内存申请一块空间, 大小为 _Size, 并返回一个指向该空间的地址. 指针类型和内存大小由程序员自行定义.

#include
#includetypedef struct LinkNode
{
int data;
struct LinkNode *next;
} LinkNode;int main(void)
{
LinkNode *List = (LinkNode *)malloc(sizeof(LinkNode));List->data = 1;
List->next = (LinkNode *)malloc(sizeof(LinkNode));return 0;
}

 四、free函数

free()函数用于释放内存, 只需向函数传递已经通过 malloc 分配空间的指针即可.

五、strlen函数

用来返回字符串长度的. 函数参数是 指向字符数组的指针

#include
#includeint main(void)
{
char ch[40];fgets(ch, 40, stdin); /*输入Hello, World!*/
printf("%d\n", strlen(ch));return 0;
}
  • strlen 返回的由 fgets 输入的字符串的字符数时, 一般情况下比实际字符数要多
  • strlen 会将换行符也读取进去.
     

六、strcat函数

用于拼接字符串, 即将原字符串插入目标字符串的后面. 函数参数从左到右依次是 : 指向目标字符数组的指针, 指向原字符数组的指针. 返回类型是一个 char 指针*.

#include
#includeint main(void)
{
char ch[40];
char CH[40];scanf("%s", ch); /*输入Hello, */
scanf("%s", CH); /*输入World!*/strcat(ch, CH);printf("%s", ch);return 0;
}

七、strcmp函数

比较字符串的长短或者查看两个字符串是否相等. 其原理是将字符串的字符一一比较 ascii 值大小得到的

#include
#includeint main(void)
{
char A[40] = "Hello, World!";
char B[40] = "hello, world!";
char C[40] = "Hello, World";printf("%d\n", strcmp(A, B));
printf("%d\n", strcmp(A, C));
printf("%d\n", strcmp(A, A));return 0;
}

八、翻译环境和执行条件

在ANSI C的任何一种实现中,存在两个不同的环境。翻译环境,在这个环境中源代码被转换为可执行的机器指令。
执行环境,它用于实际执行代码。

九、预处理

__FILE__  //进行编译的源文件文件路径()
__LINE__ //文件当前的行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义

十、参考

  • 1、C语言与预处理
  • 2、C语言预处理
  • 3、C语言常用函数汇总 - ICeVe - 博客园 (cnblogs.com)
  • 4、C语言中的六种特殊函数,知道3种以上算入门,全部掌握是大神! (baidu.com)

http://chatgpt.dhexx.cn/article/a8ojnKNR.shtml

相关文章

C语言中常用的函数

C语言中常用的函数 1、putchar()函数2、getchar()函数3、pow( a , b )函数4、sqrt( a )函数5、fabs(a)函数6、puts(字符数组)函数——输出字符串的函数7、gets(字符数组)——输入字符串的函数8、strcat(a , b)函数——字符串连接函数9、strcpy函数——字符串复制函数10、strncp…

C语言中的函数(详解)

目录 1.函数是什么 2.c语言中函数的分类&#xff1a; 2.1. 库函数 2. 自定义函数 3. 函数的参数 3.1 实际参数&#xff08;实参&#xff09; 3.2 形式参数&#xff08;形参&#xff09; 4. 函数的调用&#xff1a; 4.1 传值调用 4.2 传址调用 5. 函数的嵌套调用和链…

linux Ubuntu将默认bash修改为csh

Ubuntu将默认bash修改为csh 前言Linux系统中的shell版本问题修改方法bash切换csh方法 前言 为什么要将默认bash修改为csh&#xff0c;有时候安装的软件命令是基于csh写的&#xff0c;如果用bash使用软件就会报错&#xff0c;如&#xff1a;“No command ‘setenv’ found”&…

配置你的 csh/tcsh

配置你的 csh/tcsh 选择 csh/tcsh 和许多刚从 Linux 转到 BSD 的人不同&#xff0c;我并没有装完 BSD 就顺手安装 bash&#xff0c;因为之前除了打命令&#xff0c;我没有用到额外的功能&#xff0c;bash 也好&#xff0c;csh 也罢&#xff0c;在我眼里都是当做 shell 来用。但…

bash 和 tcsh(csh)的不同,带例子

我使用bash和tcsh(csh)过程中总结出的一些异同&#xff0c;附我的彩色的提示行配置 效果&#xff1a; 自做的彩色提示符 bash PS1 命令提示符 ## PS1\[\033[01;33m\][\D{%y-%m-%d} \t]\[\033[00m\]\[\033[01;32m\][\!]\[\033[00m\]${debian_chroot:($debian_chroot)}\[\03…

Bash与Csh的区别

zz &#xff1a;http://dangdanding.blog.163.com/blog/static/27992981201262595221896/ 一、csh的while循环控制结构及if then: #!/bin/csh -f while ($#argv > 1) if ("$1" "-s") then shift if ($#argv > 1) then set source …

CSH脚本学习

CSH脚本学习笔记(不常见的命令用法) csh中的 > ! 命令与bash中的> 和>| 命令相同&#xff0c;都是写入文件内容。但在bash中表示没有文件则不创建文件。 foreach var &#xff08; list ) command end 是CSH脚本中的循环命令&#xff0c;将list的值逐一赋值给变量var…

Shell编程之Csh和Bash的经验总结

文章目录 前言1. 变量和环境变量设置1. csh2. bash 2. if语句1. csh2. bash 3. while循环1. csh2. bash 4. 数组1. csh2. bash 5. 获取当前文件路径1. csh2. bash 6. 获取当前时间1. csh2. bash 7. 产生随机数并测试1. csh2. bash 8. 补充1. 查看系统默认用的 Shell2. 查看系统…

矩阵转置基本性质

一个矩阵的转置与本身相乘得到对称矩阵 一个矩阵的逆矩阵与本身相乘得到单位矩阵 行列式不等于零&#xff0c;矩阵可逆&#xff0c;反之不可逆 满秩矩阵一定是可逆的

Maple: 矩阵转置

在Maple中用%T的命令执行矩阵转置&#xff0c;具体效果如下

5*5矩阵转置

编写程序&#xff1a;对一个5X5的二维整型数组转置&#xff0c;即行列互换。 要求从键盘输入数组的值&#xff0c;输出转置前及转置后的结果。 如&#xff1a; 输入格式: 输入数组前有如图示的提示&#xff1b; 输出格式: 输出转置前及转置后的结果&#xff0c;输出前有提示…

矩阵转置输出

输入样例 3 2 1 2 3 4 5 6 #include<stdio.h> int main() {int m,n;int a[15][15]{0};//二维数组int i,j;scanf("%d %d",&m,&n);for(i0;i<m;i)for(j0;j<n;j)scanf("%d",&a[i][j]);//先全部输入再进行其他操作for(i0;i<m;i){for…

c语言函数矩阵转置代码,C语言实现矩阵转置

讲解对象&#xff1a;C语言实现矩阵转置 作者&#xff1a;融水公子 rsgz 1随机函数生成矩阵 #include #include #include int main(){ int i,j; int a[5][3]; printf("生成矩阵:\n"); //srand(time(NULL)); for(i0;i<5;i){ for(j0;j<3;j){ a[i][j]rand()%20; }…

vue报错:Failed to resolve directive: modle

问题原因&#xff1a;我把model写成了modle

[Vue warn]: Failed to resolve directive: modle (found in ComponentA)

报错原因&#xff1a;单词拼写错误 解决方法&#xff1a;检查是否将model写成了modle 温馨提示&#xff1a;编写代码要细心且严谨&#xff08;这已经是我第二次犯类似的错误了&#xff09;

Proteus找不到模型文件 Could not find the modle file

这一部分和你Proteus的文件夹地址一样 这些也要一样 且安装路径需要选择英文路径 同理 最后再用管理员模式打开一下就可以了。。。&#xff08;这些都是弱智问题&#xff09;&#xff08;我是弱智&#xff09;

Vue:解决[Vue warn]: Failed to resolve directive: modle (found in Anonymous)

解决问题 [Vue warn]: Failed to resolve directive: modle (found in <ComponentA>) console.error(("[Vue warn]: " msg trace)); 原因是 我把model 写成了 modle 这类错误一般是单词写错了 (found in <Anonymous>) 解决思路

modle bulinder 实践1.Excel坐标转面

1.结果&#xff1a; 1.工具放在内存里可以加快运行速度 2.步骤 a.Excel转表工具 b.创建XY事件图层&#xff08;选用投影坐标系--高斯克吕格-CGCS2000-34坐标系&#xff09; c.筛选工具<生成的是临时表&#xff1b;点转线需要真实存在的表&#xff1b;故进行筛选&#xf…

vue v-modle修饰符.number .trim

语法糖&#xff1a; 在不影响功能的情况下&#xff0c;添加某种方法实现同样的效果&#xff0c;从而方便程序开发。 .number&#xff1a;可以将输入转换成Number类型&#xff0c;否则虽然输入的是数字&#xff0c;但它的类型其实是String。 .trim&#xff1a;自动过滤输入的首尾…