C 标准库 – <stdio.h>
简介
stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。
库变量
下面是头文件 stdio.h 中定义的变量类型:
序号
变量 & 描述
1
size_t 这是无符号整数类型,它是 sizeof 关键字的结果。
2
FILE 这是一个适合存储文件流信息的对象类型。
3
fpos_t 这是一个适合存储文件中任……继续阅读 »
2年前 (2022-07-26) 239浏览 0评论
0个赞
C 结构体
C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:
Title
Author
Subject
Book ID
定义结构
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语……继续阅读 »
2年前 (2022-07-23) 275浏览 0评论
0个赞
C 语言实例
1、C 语言实例 – 输出 “Hello, World!”
2、
C 语言实例 – 输出整数
3、
C 语言实例 – 输出单个字符
4、
C 语言实例 – 输出浮点数
5、
C 语言实例 – 输出双精度数
6、
C 语言实例 – 两个数字相加
7、
C 语言实例 ……继续阅读 »
2年前 (2022-07-22) 149浏览 0评论
0个赞
C 常量
常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。
常量就像是常规的变量,只不过常量的值在定义后不能进行修改。
整数常量
整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是 U 和 ……继续阅读 »
2年前 (2022-07-21) 81浏览 0评论
0个赞
C 变量
变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。基于前一章讲解的基本类型,有以下几种基本的变量类型:
类型
描述
char
通常是一个字节(八位), 这是一个整数类型……继续阅读 »
2年前 (2022-07-20) 95浏览 0评论
0个赞
C 标准库 – <assert.h>
简介
C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。
已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 asse……继续阅读 »
2年前 (2022-07-20) 79浏览 0评论
0个赞
C 语言经典100例
C 语言练习实例1
C 语言练习实例2
C 语言练习实例3
C 语言练习实例4
C 语言练习实例5
C 语言练习实例6
C 语言练习实例7
C 语言练习实例8
C 语言练习实例9
C 语言练习实例10
C 语言练习实例11
C 语言练习实例12
C 语言练习实例13
C 语言练习实例14
C 语言练习实例15
C 语言练习实例16 ……继续阅读 »
2年前 (2022-07-19) 91浏览 0评论
0个赞
C 标准库 – <signal.h>
简介
signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。
库变量
下面是头文件 signal.h 中定义的变量类型:
序号
变量 & 描述
1
sig_atomic_t 这是 int 类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该对象可以作为一个原子实……继续阅读 »
2年前 (2022-07-18) 98浏览 0评论
0个赞
C 标准库 – <stddef.h>
简介
stddef .h 头文件定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。
库变量
下面是头文件 stddef.h 中定义的变量类型:
序号
变量 & 描述
1
ptrdiff_t这是有符号整数类型,它是两个指针相减的结果。
2
size_t 这是无符号整数类型,它是 sizeof 关键字的结果。
3
wcha……继续阅读 »
2年前 (2022-07-02) 82浏览 0评论
0个赞
C 基本语法
我们已经看过 C 程序的基本结构,这将有助于我们理解 C 语言的其他基本的构建块。
C 的令牌(Token)
C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌:
printf("Hello, World! \n");
这五个令牌分别是:
printf
(
"Hello, World! \n"
)
;
分号 ;
在 C 程序中,分……继续阅读 »
2年前 (2022-07-01) 80浏览 0评论
0个赞
C 环境设置
本地环境设置
如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。
文本编辑器
这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。
文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim……继续阅读 »
2年前 (2022-06-30) 257浏览 0评论
0个赞
C 字符串
在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。
空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。
下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符 \0,所以字符数组的大小比单词 RUNOOB 的字符数多一个……继续阅读 »
2年前 (2022-06-30) 85浏览 0评论
0个赞
C 强制类型转换
强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:
(type_name) expression
请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:
实例
#inclu……继续阅读 »
2年前 (2022-06-29) 150浏览 0评论
0个赞
C 标准库 – <setjmp.h>
简介
setjmp.h 头文件定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则。
库变量
下面列出了头文件 setjmp.h 中定义的变量:
序号
变量 & 描述
1
jmp_buf 这是一个用于存储宏 setjmp() 和函数 longjmp() 相关信息的数组类型……继续阅读 »
2年前 (2022-06-29) 251浏览 0评论
0个赞
C 内存管理
本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。
序号
函数和描述
1
void *calloc(int num, int size);在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都……继续阅读 »
2年前 (2022-06-28) 183浏览 0评论
0个赞
C 标准库 – <math.h>
简介
math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。
库宏
下面是这个库中定义的唯一的一个宏:
序号
宏 & 描述
1
HUGE_VAL
当函数的结果不可以表示为浮点数时。如果是因为结果的幅度太大以致于无法表示,则函数会设置 errno 为 E……继续阅读 »
2年前 (2022-06-28) 159浏览 0评论
0个赞
C 标准库 – <ctype.h>
简介
C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。
这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。
如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。
库函数
下面列出了头文件 ctype.h 中定义的函数:
序号
函数 &……继续阅读 »
2年前 (2022-06-28) 208浏览 0评论
0个赞
C 存储类
存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类:
auto
register
static
extern
auto 存储类
auto 存储类是所有局部变量默认的存储类。
{
int mount;
auto int month;
}
上面的实例定义了两个带有相同存储类的变量,auto 只能用在函数内,即 ……继续阅读 »
2年前 (2022-06-20) 178浏览 0评论
0个赞
C 可变参数
有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了这种函数的定义。
int func(int, … )
{
.
.
.
}
int main()
{
func(2, 2, 3);
func(3, 2, 3, 4);
}……继续阅读 »
2年前 (2022-06-20) 151浏览 0评论
0个赞
C 头文件
头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。
在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。
引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为这么做很容易出错,特别在程序是由多……继续阅读 »
2年前 (2022-06-19) 167浏览 0评论
0个赞
C typedef
C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE:
typedef unsigned char BYTE;
在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如:
BYTE b1, b2;
按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩写,但您也可以使用小写字……继续阅读 »
2年前 (2022-06-18) 173浏览 0评论
0个赞
C 标准库 – <float.h>
简介
C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的:
组件
组件描述
S
符号 ( +/- )
b
指数表示的基数,2 表示二进制,10 表示十进制,16 表示十六进制,等等…
……继续阅读 »
2年前 (2022-06-18) 156浏览 0评论
0个赞
C enum(枚举)
枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。
枚举语法定义格式为:
enum 枚举名 {枚举元素1,枚举元素2,……};
接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:
#define MON 1
#define TUE 2
#define WED 3
#define TH……继续阅读 »
2年前 (2022-06-18) 99浏览 0评论
0个赞
C 命令行参数
执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。
命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:
#include……继续阅读 »
2年前 (2022-06-18) 154浏览 0评论
0个赞
C 错误处理
C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。
所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该……继续阅读 »
2年前 (2022-06-17) 168浏览 0评论
0个赞
C 标准库 – <locale.h>
简介
locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。
库宏
下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用:
序号
宏 & 描述
1
LC_ALL设置下面的所有选项。
2
LC_COLLAT……继续阅读 »
2年前 (2022-06-17) 167浏览 0评论
0个赞
C 函数
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
C 标准库提供了大量的程序可以调用的内置函数。例如,函数 s……继续阅读 »
2年前 (2022-06-16) 211浏览 0评论
0个赞
C 标准库 – <stdarg.h>
简介
stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。
可变参数的函数通在参数列表的末尾是使用省略号(,…)定义的。
库变量
下面是头文件 stdarg.h 中定义的变量类型:
序号
变量 & 描述
1
va_list 这是一个适用于 va_……继续阅读 »
2年前 (2022-06-16) 67浏览 0评论
0个赞
C 运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
杂项运算符
本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。
算术运算符
下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
运算符
描述
实例
……继续阅读 »
2年前 (2022-06-15) 73浏览 0评论
0个赞
C 标准库 – <time.h>
简介
time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。
库变量
下面是头文件 time.h 中定义的变量类型:
序号
变量 & 描述
1
size_t 是无符号整数类型,它是 sizeof 关键字的结果。
2
clock_t 这是一个适合存储处理器时间的类型。
3
time_t is 这是一个适合存储日历时间类……继续阅读 »
2年前 (2022-06-15) 70浏览 0评论
0个赞