百科狗-知识改变命运!
--

C语言头文件的问题

桃子1年前 (2023-12-05)阅读数 9#综合百科
文章标签函数字符串

头文件就相当不同的机器

不同的机器干不同的活

stdio.h是标准输入输出没什么程序不用输入输出吧?所以都用它

头文件介绍

字符处理函数

本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换

头文件 ctype.h

函数列表

函数类别 函数用途 详细说明

字符测试 是否字母和数字 isalnum

是否字母 isalpha

是否控制字符 iscntrl

是否数字 isdigit

是否可显示字符(除空格外) isgraph

是否可显示字符(包括空格) isprint

是否既不是空格,又不是字母和数字的可显示字符 ispunct

是否空格 isspace

是否大写字母 isupper

是否16进制数字(0-9,A-F)字符 isxdigit

字符大小写转换函数 转换为大写字母 toupper

转换为小写字母 tolower

地区化

本类别的函数用于处理不同国家的语言差异。

头文件 local.h

函数列表

函数类别 函数用途 详细说明

地区控制 地区设置 setlocale

数字格式约定查询 国家的货币、日期、时间等的格式转换 localeconv

数学函数

本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)

头文件 math.h

函数列表

函数类别 函数用途 详细说明

错误条件处理 定义域错误(函数的输入参数值不在规定的范围内)

值域错误(函数的返回值不在规定的范围内)

三角函数 反余弦 acos

反正弦 asin

反正切 atan

反正切2 atan2

余弦 cos

正弦 sin

正切 tan

双曲函数 双曲余弦 cosh

双曲正弦 sinh

双曲正切 tanh

指数和对数 指数函数 exp

指数分解函数 frexp

乘积指数函数 fdexp

自然对数 log

以10为底的对数 log10

浮点数分解函数 modf

幂函数 幂函数 pow

平方根函数 sqrt

整数截断,绝对值和求余数函数 求下限接近整数 ceil

绝对值 fabs

求上限接近整数 floor

求余数 fmod

本分类函数用于实现在不同底函数之间直接跳转代码。 头文件 setjmp.h io.h

函数列表

函数类别 函数用途 详细说明

C语言头文件的问题

保存调用环境 setjmp

恢复调用环境 longjmp

信号处理

该分类函数用于处理那些在程序执行过程中发生例外的情况。

头文件 signal.h

函数列表

函数类别 函数用途 详细说明

指定信号处理函数 signal

发送信号 raise

可变参数处理

本类函数用于实现诸如printf,scanf等参数数量可变底函数。

头文件 stdarg.h

函数列表

函数类别 函数用途 详细说明

可变参数访问宏 可变参数开始宏 va_start

可变参数结束宏 va_end

可变参数访问宏 访问下一个可变参数宏 va_arg

输入输出函数

该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现

头文件 stdio.h

函数列表

函数类别 函数用途 详细说明

文件操作

删除文件 remove

修改文件名称 rename

生成临时文件名称 tmpfile

得到临时文件路径 tmpnam

文件访问 关闭文件 fclose

刷新缓冲区 fflush

打开文件 fopen

将已存在的流指针和新文件连接 freopen

设置磁盘缓冲区 setbuf

设置磁盘缓冲区 setvbuf

格式化输入与输出函数 格式输出 fprintf

格式输入 fscanf

格式输出(控制台) printf

格式输入(控制台) scanf

格式输出到缓冲区 sprintf

从缓冲区中按格式输入 sscanf

格式化输出 vfprintf

格式化输出 vprintf

格式化输出 vsprintf

字符输入输出函数 输入一个字符 fgetc

字符串输入 fgets

字符输出 fputc

字符串输出 fputs

字符输入(控制台) getc

字符输入(控制台) getchar

字符串输入(控制台) gets

字符输出(控制台) putc

字符输出(控制台) putchar

字符串输出(控制台) puts

字符输出到流的头部 ungetc

直接输入输出 直接流读操作 fread

直接流写操作 fwrite

文件定位函数 得到文件位置 fgetpos

文件位置移动 fseek

文件位置设置 fsetpos

得到文件位置 ftell

文件位置复零位 remind

错误处理函数 错误清除 clearerr

文件结尾判断 feof

文件错误检测 ferror

得到错误提示字符串 perror

实用工具函数

本分类给出了一些函数无法按以上分类,但又是编程所必须要的。

头文件 stdlib.h

函数列表

函数类别 函数用途 详细说明

字符串转换函数 字符串转换为整数 atoi

字符串转换为长整数 atol

字符串转换为浮点数 strtod

字符串转换为长整数 strtol

字符串转换为无符号长整型 strtoul

伪随机序列产生函数 产生随机数 rand

设置随机函数的起动数值 srand

存储管理函数 分配存储器 calloc

释放存储器 free

存储器分配 malloc

重新分配存储器 realloc

环境通信 中止程序 abort

退出程序执行,并清除环境变量 atexit

退出程序执行 exit

读取环境参数 getenv

程序挂起,临时执行一个其他程序 system

搜索和排序工具 二分查找(数据必须已排序) bsearch

快速排序 qsort

整数运算函数 求绝对值 abs

div

得到除法运算底商和余数

求长整形底绝对值 labs

求长整形除法的商和余数 ldiv

多字节字符函数 得到多字节字符的字节数 mblen

得到多字节字符的字节数 mbtowc

多字节字符转换 wctomb

多字节字符的字符串操作 将多字节串转换为整数数组 mbstowcs

将多字节串转换为字符数组 mcstowbs

字符串处理

本分类的函数用于对字符串进行合并、比较等操作

头文件 string.h

函数列表

函数类别 函数用途 详细说明

字符串拷贝 块拷贝(目的和源存储区不可重叠) memcpy

块拷贝(目的和源存储区可重叠) memmove

串拷贝 strcpy

按长度的串拷贝 strncpy

字符串连接函数 串连接 strcat

按长度连接字符串 strncat

串比较函数 块比较 memcmp

字符串比较 strcmp

字符串比较(用于非英文字符) strcoll

按长度对字符串比较 strncmp

字符串转换 strxfrm

字符与字符串查找 字符查找 memchr

字符查找 strchr

字符串查找 strcspn

字符串查找 strpbrk

字符串查找 strspn

字符串查找 strstr

字符串分解 strtok

杂类函数 字符串设置 memset

错误字符串映射 strerror

求字符串长度 strlen

日期和时间函数

本类别给出时间和日期处理函数

头文件 time.h

函数列表

函数类别 函数用途 详细说明

时间操作函数 得到处理器时间 clock

得到时间差 difftime

设置时间 mktime

得到时间 time

时间转换函数 得到以ASCII码表示的时间 asctime

得到字符串表示的时间 ctime

得到指定格式的时间 strftime

函数库未来的发展方向

本部分用于说明各类别函数库在将来如何发展。

序号 库类别 头文件 详细说明

1 错误处理 errno.h

2 字符处理 ctype.h

3 地区化 local.h

4 数学函数 math.h

5 信号处理 signal.h

6 输入输出 stdio.h

7 实用工具程序 stdlib.h

8 字符串处理 string.h

C程序设计语言(第2版·新版)

本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。一本必读的程序设计语言方面的参考书。

市场价: ¥30.00

原书名 The C Programming Language [原书信息]

原出版社 Prentice Hall PTR

作者 (美)Brian W.Kernighan,Dennis M.Ritchie[同作者作品] [作译者介绍]

译者 徐宝文[同译者作品] 李志

丛书名 计算机科学丛书

出版社 机械工业出版社 书号 7-111-12806-0

开本 16开 页码 258

出版日期 2004-1-1 版次 2-1

所属类别

计算机 > 软件与程序设计 > C/Turbo C > C

内容简介

本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。

本书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。

本书原著 即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各 个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语 言方面的参考书。

目录信息

出版者的话 专家指导委员会 中文版序 译者序 校译者简介 序 第1版序 引言 第1章 导言 1 1.1 入门 1 1.2 变量与算术表达式 3 1.3 for语句 8 1.4 符号常量 9 1.5 字符输入/输出 9 1.5.1 文件复制 10 1.5.2 字符计数 11 1.5.3 行计数 13 1.5.4 单词计数 14 1.6 数组 15 1.7 函数 17 1.8 参数—传值调用 19 1.9 字符数组 20 1.10 外部变量与作用域 22 第2章 类型、运算符与表达式 27 2.1 变量名 27 2.2 数据类型及长度 27 2.3 常量 28 2.4 声明 31 2.5 算术运算符 32 2.6 关系运算符与逻辑运算符 32 2.7 类型转换 33 2.8 自增运算符与自减运算符 37 2.9 按位运算符 38 2.10 赋值运算符与表达式 40 2.11 条件表达式 41 2.12 运算符优先级与求值次序 42 第3章 控制流 45 3.1 语句与程序块 45 3.2 if-else语句 45 3.3 else-if语句 46 3.4 switch语句 48 3.5 while循环与for循环 49 3.6 do-while循环 52 3.7 break语句与continue语句 53 3.8 goto语句与标号 54 第4章 函数与程序结构 57 4.1 函数的基本知识 57 4.2 返回非整型值的函数 60 4.3 外部变量 62 4.4 作用域规则 68 4.5 头文件 69 4.6 静态变量 70 4.7 寄存器变量 71 4.8 程序块结构 72 4.9 初始化 72 4.10 递归 73 4.11 C预处理器 75 4.11.1 文件包含 75 4.11.2 宏替换 76 4.11.3 条件包含 78 第5章 指针与数组 79 5.1 指针与地址 79 5.2 指针与函数参数 81 5.3 指针与数组 83 5.4 地址算术运算 86 5.5 字符指针与函数 89 5.6 指针数组以及指向指针的指针 92 5.7 多维数组 95 5.8 指针数组的初始化 97 5.9 指针与多维数组 97 5.10 命令行参数 98 5.11 指向函数的指针 102 5.12 复杂声明 105 第6章 结构 111 6.1 结构的基本知识 111 6.2 结构与函数 113 6.3 结构数组 115 6.4 指向结构的指针 119 6.5 自引用结构 121 6.6 表查找 125 6.7 类型定义(typedef) 127 6.8 联合 128 6.9 位字段 130 第7章 输入与输出 133 7.1 标准输入/输出 133 7.2 格式化输出—printf函数 135 7.3 变长参数表 136 7.4 格式化输入—scanf函数 137 7.5 文件访问 140 7.6 错误处理—stderr和exit 143 7.7 行输入和行输出 144 7.8 其他函数 145 7.8.1 字符串操作函数 145 7.8.2 字符类别测试和转换函数 146 7.8.3 ungetc函数 146 7.8.4 命令执行函数 146 7.8.5 存储管理函数 147 7.8.6 数学函数 147 7.8.7 随机数发生器函数 148 第8章 UNIX系统接口 149 8.1 文件描述符 149 8.2 低级I/O—read和write 150 8.3 open、creat、close和unlink 151 8.4 随机访问—lseek 153 8.5 实例—fopen和getc函数的实现 154 8.6 实例—目录列表 157 8.7 实例—存储分配程序 162 附录A 参考手册 167 A.1 引言 167 A.2 词法规则 167 A.2.1 记号 167 A.2.2 注释 167 A.2.3 标识符 167 A.2.4 关键字 168 A.2.5 常量 168 A.2.6 字符串字面值 170 A.3 语法符号 170 A.4 标识符的含义 170 A.4.1 存储类 171 A.4.2 基本类型 171 A.4.3 派生类型 172 A.4.4 类型限定符 172 A.5 对象和左值 172 A.6 转换 173 A.6.1 整型提升 173 A.6.2 整型转换 173 A.6.3 整数和浮点数 173 A.6.4 浮点类型 173 A.6.5 算术类型转换 173 A.6.6 指针和整数 174 A.6.7 void 175 A.6.8 指向void的指针 175 A.7 表达式 175 A.7.1 指针生成 176 A.7.2 初等表达式 176 A.7.3 后缀表达式 177 A.7.4 一元运算符 179 A.7.5 强制类型转换 180 A.7.6 乘法类运算符 180 A.7.7 加法类运算符 181 A.7.8 移位运算符 181 A.7.9 关系运算符 182 A.7.10 相等类运算符 182 A.7.11 按位与运算符 183 A.7.12 按位异或运算符 183 A.7.13 按位或运算符 183 A.7.14 逻辑与运算符 183 A.7.15 逻辑或运算符 183 A.7.16 条件运算符 184 A.7.17 赋值表达式 184 A.7.18 逗号运算符 185 A.7.19 常量表达式 185 A.8 声明 185 A.8.1 存储类说明符 186 A.8.2 类型说明符 187 A.8.3 结构和联合声明 188 A.8.4 枚举 191 A.8.5 声明符 191 A.8.6 声明符的含义 192 A.8.7 初始化 195 A.8.8 类型名 197 A.8.9 typedef 198 A.8.10 类型等价 199 A.9 语句 199 A.9.1 带标号语句 199 A.9.2 表达式语句 199 A.9.3 复合语句 200 A.9.4 选择语句 200 A.9.5 循环语句 201 A.9.6 跳转语句 201 A.10 外部声明 202 A.10.1 函数定义 202 A.10.2 外部声明 204 A.11 作用域与连接 204 A.11.1 词法作用域 205 A.11.2 连接 205 A.12 预处理 205 A.12.1 三字符序列 206 A.12.2 行连接 206 A.12.3 宏定义和扩展 206 A.12.4 文件包含 208 A.12.5 条件编译 209 A.12.6 行控制 210 A.12.7 错误信息生成 210 A.12.8 pragma 210 A.12.9 空指令 210 A.12.10 预定义名字 211 A.13 语法 211 附录B 标准库 219 B.1 输入与输出: 219 B.1.1 文件操作 220 B.1.2 格式化输出 221 B.1.3 格式化输入 223 B.1.4 字符输入/输出函数 224 B.1.5 直接输入/输出函数 225 B.1.6 文件定位函数 225 B.1.7 错误处理函数 226 B.2 字符类别测试: 226 B.3 字符串函数: 227 B.4 数学函数: 228 B.5 实用函数: 229 B.6 诊断: 232 B.7 可变参数表: 232 B.8 非局部跳转: 232 B.9 信号: 233 B.10 日期与时间函数: 234 B.11 与具体实现相关的限制: 和 236 附录C 变更小结 237 索引 241

>更多作品

作者:Dennis M.Ritchie

Dennis M.Ritchie 1967年加入贝尔实验室。他和Ken L.Thompson两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们两人还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M.Ritchie于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项。...

C程序设计语言(第2版·新版)

>>更多作品

C程序设计语言(第2版·新版)-所有相关信息

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)