c语言
文章平均质量分 62
KopWelkin
这个作者很懒,什么都没留下…
展开
-
C 标准库 - <math.h>
简介math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。库宏下面是这个库中定义的唯一的一个宏: 序号 宏 & 描述 1 HUGE_VAL当函数的结果不可以表示为浮点数时。如果是因为结果的幅度太大以致于无法表示,则函数会设置 errno 为 ERANGE 来表示范围错误,并返回一个由宏 HUGE转载 2017-11-28 11:29:48 · 2415 阅读 · 1 评论 -
C 标准库 - <signal.h>
简介signal.h 头文件定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。库变量下面是头文件 signal.h 中定义的变量类型: 序号 变量 & 描述 1 sig_atomic_t 这是 int 类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该对象可以作为一个原子实体访问,即使存在异步信号时,该对象可以作为一个原子实转载 2017-11-30 09:23:05 · 212 阅读 · 0 评论 -
C 练习实例31-40
31.题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。#include<stdio.h>int main(){ char i,j; printf("请输入第一个字母:\n"); scanf("%c",&i); getchar();/转载 2017-11-15 11:43:37 · 442 阅读 · 0 评论 -
C 标准库 - <setjmp.h>
简介setjmp.h 头文件定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则。库变量下面列出了头文件 setjmp.h 中定义的变量: 序号 变量 & 描述 1 jmp_buf这是一个用于存储宏 setjmp() 和函数 longjmp() 相关信息的数组类型。库宏下面是这个库中定义的唯一的一个宏: 序号转载 2017-11-29 10:11:47 · 283 阅读 · 0 评论 -
C 强制类型转换
强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:(type_name) expression请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:#include <stdi转载 2017-11-06 09:12:21 · 553 阅读 · 0 评论 -
C 练习实例81-90
81.题目:809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。#include <stdio.h>void output(long int b, long int i){ printf("\n%ld = 800 * %ld + 9 * %ld\n", b,i,i);转载 2017-11-20 10:01:38 · 357 阅读 · 0 评论 -
C 头文件
头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。 引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为这么做很容易出错,特别在转载 2017-11-05 09:41:05 · 891 阅读 · 0 评论 -
C 练习实例71-80
71.题目:编写input()和output()函数输入,输出5个学生的数据记录。#include<stdio.h>#include<stdlib.h>typedef struct{ char name[20]; char sex[5]; int age;}Stu;void input(Stu*stu);void output(Stu*stu);int main转载 2017-11-19 00:08:39 · 389 阅读 · 0 评论 -
C 练习实例21-30
21.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。1) 设x1为前一天桃子数,设x2为第二天桃子数, 则:x2=x1/2-1, x1=(x2+1)*2x3=x2/转载 2017-11-14 12:32:02 · 270 阅读 · 0 评论 -
C 预处理器
C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令: 指令 描述转载 2017-11-04 15:48:35 · 279 阅读 · 0 评论 -
C 练习实例61-70
61.题目:打印出杨辉三角形(要求打印出10行)。程序分析:结构如下所示:11 11 2 11 3 3 11 4 6 4 1#include <stdio.h>int main(){ int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++)转载 2017-11-18 12:30:37 · 265 阅读 · 0 评论 -
C 练习实例51-60
51.题目:学习使用按位与 &。程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 。#include <stdio.h>int main(){ int a,b; a=077; b=a&3; printf("a & b(decimal) 为 %d \n",b); b&=7; printf("a & b(decimal) 为 %d \n转载 2017-11-17 11:59:14 · 221 阅读 · 0 评论 -
C 文件读写
上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。打开文件您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化转载 2017-11-03 10:12:40 · 192 阅读 · 0 评论 -
C 练习实例91-100
91.题目:时间函数举例1#include <stdio.h>#include <time.h>int main (){ time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); printf ( "当前本地时间为: %s", asc转载 2017-11-21 16:08:05 · 361 阅读 · 0 评论 -
C 练习实例41-50
41.题目:学习static定义静态变量的用法。#include<stdio.h>int main(){ void fun(); for(int i=0;i<3;i++) fun(); return 0;}void fun(){ int i=0; static int static_i=0; printf("i=%d\n",i转载 2017-11-16 12:21:12 · 223 阅读 · 0 评论 -
C 标准库 - <locale.h>
简介locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。库宏下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用: 序号 宏 & 描述 1 LC_ALL设置下面的所有选项。 2 LC_COLLATE影响 strcoll 和 strxfrm 函数。转载 2017-11-27 09:34:14 · 438 阅读 · 0 评论 -
C 标准库 - <time.h>
简介time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。库变量下面是头文件 time.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 是无符号整数类型,它是 sizeof 关键字的结果。 2 clock_t 这是一个适合存储处理器时间的类型。 3 time_t is 这是一个适合存储日历时间类型。 4 struct tm 这转载 2017-12-06 10:13:59 · 600 阅读 · 0 评论 -
C 标准库 - <string.h>
简介string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。库变量下面是头文件 string.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。库宏下面是头文件 string.h 中定义的宏: 序号 宏 & 描述 1 NULL这个宏是一个空指针常量的值。库函数下面是头文件 str转载 2017-12-05 18:01:13 · 465 阅读 · 0 评论 -
C 标准库 - <limits.h>
简介limits.h 头文件决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值。 这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。库宏下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。 宏 值 描述 CHAR_BIT 8 定义一个转载 2017-11-26 04:44:05 · 611 阅读 · 0 评论 -
C 标准库 - <float.h>
简介C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的: 组件 组件描述 S 符号 ( +/- ) b 指数表示的基数,2 表示二进制,10 表示十进制,16 表示十六进制,等等… e 指数,一个介于最小值 emin 和最大转载 2017-11-25 13:01:26 · 362 阅读 · 0 评论 -
C 标准库 - <stdlib.h>
简介stdlib .h 头文件定义了四个变量类型、一些宏和各种通用工具函数。库变量下面是头文件 stdlib.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 2 wchar_t 这是一个宽字符常量大小的整数类型。 3 div_t 这是 div 函数返回的结构。 4 ldiv_t 这是 ldi转载 2017-12-04 11:15:49 · 967 阅读 · 0 评论 -
C 标准库 - <errno.h>
简介C 标准库的 errno.h 头文件定义了整数变量 errno,它是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。该宏扩展为类型为 int 的可更改的左值,因此它可以被一个程序读取和修改。 在程序启动时,errno 设置为零,C 标准库中的特定函数修改它的值为一些非零值以表示某些类型的错误。您也可以在适当的时候修改它的值或重置为零。 errno.h 头文件也顶了以一系列表转载 2017-11-24 09:21:30 · 1304 阅读 · 0 评论 -
C 标准库 - <stdio.h>
简介stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。库变量下面是头文件 stdio.h 中定义的变量类型: 序号 变量 & 描述 1 size_t这是无符号整数类型,它是 sizeof 关键字的结果。 2 FILE这是一个适合存储文件流信息的对象类型。 3 fpos_t这是一个适合存储文件中任何位置的对象类型。库宏下面是头文件 stdio转载 2017-12-03 15:24:55 · 2661 阅读 · 0 评论 -
C 标准库 - <ctype.h>
简介C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。 这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。 如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。库函数下面列出了头文件 ctype.h 中定义的函数: 序号 函数 & 描述 1 int isalnum(int转载 2017-11-23 10:19:58 · 295 阅读 · 0 评论 -
C 标准库 - <stddef.h>
简介stddef .h 头文件定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。库变量下面是头文件 stddef.h 中定义的变量类型: 序号 变量 & 描述 1 ptrdiff_t这是有符号整数类型,它是两个指针相减的结果。 2 size_t这是无符号整数类型,它是 sizeof 关键字的结果。 3 wchar_t 这是一个宽字符常量大小的整数类型。库转载 2017-12-02 01:08:36 · 523 阅读 · 0 评论 -
C 标准库 - <stdarg.h>
简介stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。 可变参数的函数通在参数列表的末尾是使用省略号(,…)定义的。库变量下面是头文件 stdarg.h 中定义的变量类型: 序号 变量 & 描述 1 va_list这是一个适用于 va_start()、va_arg() 和 va_end() 这三个宏转载 2017-12-01 09:45:31 · 274 阅读 · 0 评论 -
C 标准库 - <assert.h>
C 标准库 - <assert.h>简介C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:#defin转载 2017-11-22 09:35:11 · 336 阅读 · 0 评论 -
C 练习实例11-20
11.题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。#include<stdio.h>int main(){ int f1=1,f2=1,i;转载 2017-11-13 13:08:43 · 348 阅读 · 0 评论 -
C 练习实例1-10
1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。#include<stdio.h>int main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++) { // 以下为三重循环 fo转载 2017-11-12 15:14:35 · 399 阅读 · 0 评论 -
C 递归
递归指的是在函数的定义中使用函数自身的方法。举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'"语法格式如下:void recursion(){ recursion(); /* 函数调用自身转载 2017-11-08 08:50:21 · 1677 阅读 · 0 评论 -
C 错误处理
C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 <error.h> 头文件中找到各种各样的错误代码。 所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开转载 2017-11-08 08:47:32 · 228 阅读 · 0 评论 -
C 循环
有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: 循环结构C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。 循环类型 描述 while 循环 当给定条件为真转载 2017-10-22 13:31:24 · 347 阅读 · 0 评论 -
C 环境设置
本地环境设置如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。文本编辑器这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim转载 2017-10-13 08:35:59 · 179 阅读 · 0 评论 -
C 共用体
共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。定义共用体为了定义共用体,您必须使用 union 语句,方式与定义结构类似。union 语句定义了一个新的数据类型,带有多个成员。union 语句的格式如下:union [union tag]{ member转载 2017-10-30 08:26:50 · 285 阅读 · 0 评论 -
C 判断
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为false 。 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句C 语言提供了以下类型的判断语句。 语句 描述 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句转载 2017-10-21 10:58:29 · 471 阅读 · 0 评论 -
C 结构体
C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。 结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:TitleAuthorSubjectBook ID定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct转载 2017-10-29 13:33:09 · 367 阅读 · 0 评论 -
C 简介
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。 在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。 UNIX 操作系统,C编译器,和几乎所有的转载 2017-10-12 08:57:59 · 392 阅读 · 0 评论 -
C 字符串
在 C 语言中,字符串实际上是使用 null 字符 ‘\0’ 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 “Hello” 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 “Hello” 的字符数多一个。char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};依据数组初转载 2017-10-28 12:43:05 · 392 阅读 · 0 评论 -
C 函数指针与回调函数
函数指针函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型实例 以下实例声明了函数指针变量 p,指向函数 max:#include <stdio转载 2017-10-27 18:00:47 · 147 阅读 · 0 评论 -
C 运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。算术运算符下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则: 运算符 描述 实转载 2017-10-20 09:26:09 · 179 阅读 · 0 评论