c语言函数

c语言字符串处理函数

白昼怎懂夜的黑 提交于 2019-12-15 01:16:54
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen§ 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。 strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制,设置为 0

c语言-----函数

爱⌒轻易说出口 提交于 2019-12-15 01:02:20
函数 (实现了一定功能的代码模块)—模块化,代码复用 1.函数的定义--------函数的定义是独立的,不能在一个函数的函数体中,定义另外一个函数,c程序由函数构成,函数是c程序组成的最小单位 语法 函数【返回值】类型 函数名 (形参1类型 形参1,形参2类型 形参2.。。)//函数的首部 { //函数体,函数功能的实现。 } 说明:函数的返回值类型,即函数类型,是函数完成功能后的返回值类型,如果没有,明确定义为void,如果有返回值,如果有返回值,则在函数体中要使用return语句带回返回值,返回值只能是一个,return语句可以有多个,但只能执行其中一个 函数名为任意合法的标识符,尽量见名知意 形参:函数完成功能时,所必须的已知条件,如果没有则括号什么也不写,称为无参函数(例如求1—100的和就是无参函数) 函数-----算法 main函数 普通函数 输入 scanf,getcher,gets 形参 输出 printf,putchar,puts 返回值 函数体:用大括号括起来的内容,是函数功能的完整实现 例如 写一个函数,求两个整数的和 int add(int x,int y) {int z=x+y; return z; return x+y; } int f=add(2,3) int add() {int x,y,z; scanf("%d%d",&x,&y); z=x+y;

C语言编写字符串连接函数

落花浮王杯 提交于 2019-12-14 19:02:31
初学C,便写了一段字符串连接函数发表玩玩,希望看到地人儿可以有所帮助呦! # include <stdio.h> int main ( ) { void MyStrcat ( char * dstStr , char * srcStr ) ; char str1 [ 80 ] , str2 [ 40 ] , * p , * q ; printf ( "Input a string:" ) ; gets ( str1 ) ; printf ( "Input another string:" ) ; gets ( str2 ) ; p = str1 ; q = str2 ; MyStrcat ( p , q ) ; printf ( "Concatenate results:%s\n" , str1 ) ; return 0 ; } void MyStrcat ( char * dstStr , char * srcStr ) { while ( * dstStr ) { dstStr ++ ; } while ( ( * dstStr = * srcStr ) != '\0' ) { dstStr ++ ; srcStr ++ ; } } 来源: CSDN 作者: 啊啊啊ZY 链接: https://blog.csdn.net/weixin_45763617/article

C语言笔记 05_判断&循环&函数

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-14 18:47:11
判断 C 语言把任何 非零 和 非空 的值假定为 true ,把 零 或 null 假定为 false 。 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句 C 语言提供了以下类型的判断语句。点击链接查看每个类型的细节。 语句 描述 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 if...else 语句 一个 if 语句 后可跟一个可选的 else 语句 ,else 语句在布尔表达式为假时执行。 嵌套 if 语句 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 switch 语句 一个 switch 语句允许测试一个变量等于多个值时的情况。 嵌套 switch 语句 您可以在一个 switch 语句内使用另一个 switch 语句。 还有我们前面学过的三元运算符也可以作为判断语句使用 循环 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: 循环类型 C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。 循环类型 描述 while 循环 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 for 循环 多次执行一个语句序列,简化管理循环变量的代码。 do...while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。

c语言string函数详解

旧城冷巷雨未停 提交于 2019-12-12 22:24:32
文章转自:https://blog.csdn.net/yukadimun/article/details/81388977 @函数原型: char *strdup(const char *s) 函数功能: 字符串拷贝,目的空间由该函数分配 函数返回: 指向拷贝后的字符串指针 参数说明: src-待拷贝的源字符串 所属文件: <string.h> [cpp] view plain copy #include <stdio.h> #include <string.h> #include <alloc.h> int main() { char *dup_str, *string=“abcde”; dup_str=strdup(string); printf("%s", dup_str); free(dup_str); return 0; } @函数名称: strcpy 函数原型: char* strcpy(char* str1,char* str2); 函数功能: 把str2指向的字符串拷贝到str1中去 函数返回: 返回str1,即指向str1的指针 参数说明: 所属文件: <string.h> [cpp] view plain copy #include <stdio.h> #include <string.h> int main() { char string[10]; char

LinuxC语言编程03:文件I/O

99封情书 提交于 2019-12-11 19:44:13
LinuxC语言编程03:文件I/O 标准I/O 流 文本流与二进制流 流的缓冲类型 预定义的流 流的打开与关闭 流的打开 流的关闭 处理错误信息 流的读写 按字符读写 按字符输入 按字符输出 按行读写 按行输入 按行输出 按对象读写 流的刷新 流的定位 判断流的出错与结束 格式化输入输出 文件I/O 文件描述符 文件的打开与关闭 文件的打开 文件的关闭 文件的读写 文件的定位 目录的访问 文件的访问权限 文件的属性 标准I/O 标准I/O是指标准C中定义的一组输入和输出的API,与操作系统无关,具备可移植性. 流 标准I/O将打开文件的信息抽象成为流(stream),使用 FILE 结构体代表流.标准I/O的所有操作都是围绕 FILE 结构体进行的. 文本流与二进制流 Windows操作系统区分文本流与二进制流,两者间最显著的区别在文本流中 \n 会被替换成 \r\n ,而二进制流不会做这种转换.而Linux操作系统不区分文本流与二进制流,不会做这种转换. 流的缓冲类型 流有三种缓冲类型: 全缓冲: 当流的缓冲区无数据或无空间时才执行实际I/O操作.使用标准I/O打开文件时默认是全缓冲. 行缓冲: 当在输入输出中遇到换行符 \n 时才执行实际I/O操作.当流与终端交互时(输入或输出)是行缓冲. 无缓冲: 直接与文件进行交互,不进行缓存.向标准错误流输出时是无缓冲. 预定义的流

使用C语言的struct来实现C++的class

╄→尐↘猪︶ㄣ 提交于 2019-12-10 16:30:06
如何在C语言中实现C++的Class呢? 一些低级设备比如嵌入式,或者一些底层驱动、操作系统中,是不能使用C++语言的。网上有很多对这方面的解释,除非对编译器做一些设置或者修改,但这样大大增加了开发的难度。并且靠修改编译器参数来编译,仍旧不能利用到C++的优点。比如C++的虚函数,垃圾回收,异常,在底层开发中使用,反而会造成很多不必要的麻烦。比如C++编译器为了重载函数,其编译出来的函数名会被改成包括参数的形式,而且每个编译器都有自己的内部前缀和后缀,这一点尤其在操作系统编写中会造成麻烦,因为操作系统的系统调用使用汇编,比如中断的实现中,就需要调用汇编中断服务,然后在其中回调操作系统内核的C函数,如果使用C++函数,就不能正确指定回调函数名。那么在只能使用C语言来实现的情况下,如何让这种过程式语言更具封装性,而不让代码看起来“懒散”呢? C语言中可以和class类比的类型就是struct了,另外还有union, 但union并不具备class的条件。在struct中不能定义函数, 这一点可以在Microsoft Visual Studio中和Linux GCC下做个比较: typedef struct A { int data; int Val() { return data; } }A; A a; a.Val(); 在VS下这个struct能通过编译,并且a.Val()能取到值,

C语言简述

你。 提交于 2019-12-10 14:12:07
** C语言总体复习小结** c语言即使一门高级语言,也具有汇编语言的特点。大部分的程序员应该都是从C语言入手编程的。前几天拿起了大一的(谭浩强)C语言程序与设计对C语言总体上来个大致的总结吧,毕竟C语言详细说起来,这篇博客也写不下。 算法结构: 一、顺序结构、选择结构、循环结构; 二、循环结构又分为while型、until型、for循环结构;程序流程图; 数据类型: 常量:常量包括字面常量、直接常量和符号常量; 变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元; 整形变量:数据在内存中存放形式是以二进制形式存放;有int型、short int型和long int型,无符号整型变量的范围是-32768—32767,有符号型为0~65535.通常把long定义为32位,把short定义为16位,int可以是32位也可以为16位,这都主要取决于机器字长。 实型常量的表示方法:(1)十进制,0.0;(2)指数形式,123e3 实型变量:实数型数据在内存中的存放形式,一般在内存中占4个字节,分成整数部分和小数部分存放。实型变量分为float型、double型long double型。实型数据会存在舍入误差。 实型常量的类型:C编译系统将实型常量作为双精度来处理

C语言--结构体中的函数指针与函数

ⅰ亾dé卋堺 提交于 2019-12-10 13:28:31
1. 函数指针 一般的函数指针可以这么定义: int(*func)(int,int); 表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数: int add2(int x,int y) { return x+y; } 那么在实际使用指针func时可以这样实现: func=&add2; //指针赋值,或者func=add2; add2与&add2意义相同 printf("func(3,4)=%d\n",func(3,4)); typedef int(*FUN)(int,int); FUN func=&add2; func(); 其 实在 结构体中,也可以像一般变量一样,包含函数指针变量 .下面是一种简单的实现. #include "stdio.h" struct DEMO { int x,y; int (*func)(int,int); //函数指针 }; int add2(int x,int y) { return x+y; } void main() { struct DEMO demo; demo.func=&add2; //结构体函数指针赋值 printf("func(3,4)=%d\n",demo.func(3,4)); } 上面的文件保存为mytest.c,在VC6.0和gcc4中编译通过. 其实在结构体中

C语言课设-单位车辆调度管理

不羁岁月 提交于 2019-12-10 07:16:46
单位车辆信息包括:车牌号、车型、载重(客)量,车牌,生产厂家,出厂日期,购买日期,购买单价等;车辆调度信息还应包括:用车人,用车单位,调度人,出车车牌,出车司机,出车用途,出车日期,出车时间,收车日期,收车时间及出车费用等信息等。设计“车辆调度管理系统”,使之能提供以下功能: 系统以菜单方式工作; 车辆调度信息录入功能(车辆调度信息用文件vehicle.txt保存); 车辆信息及车辆调度信息浏览功能; 车辆调度查询和排序功能: 车辆信息及车辆调度信息的删除与修改等功能。 代码如下,完全原创,代码功能完整!! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int feature;//定义输入的功能选项 char now_date[12];//定义系统当前日期存储缓冲区 SYSTEMTIME sys; //定义系统时间变量 //定义车辆数据结构 typedef struct Vehicle { char *ver_id;//定义车辆编号 char *ver_no;//定义车辆牌号 char *weight;//定义车辆对应载重量 char *ver_trand;//定义车牌 char *factory;//定义车辆生产厂家 char *outdate;//定义车辆出厂日期