c语言
swy_swy_swy
这个作者很懒,什么都没留下…
展开
-
c语言标准库详解(十五):limits.h与float.h
c语言标准库详解(十五):<limits.h>与<float.h>概述<limits.h>头文件<limits.h>定义了一些表示整型大小的常量。以下所列的值是可接受的最小值,在实际系统中可以使用更大的值。宏值备注CHAR_BIT8char 类型的位数CHAR_MAXUCHAR_MAX 或 SCHAR_MAXchar 类型的最大值CHAR_MIN0 或 SCHAR_MINchar 类型的最小值INT_原创 2020-05-08 22:46:57 · 8902 阅读 · 0 评论 -
c语言标准库详解(十四):时间函数time.h
c语言标准库详解(十四):时间函数<time.h>概述头文件<time.h>中声明了一些处理日期与时间的类型和函数。其中的一些函数用于处理当地时间,因为时区等原因,当地时间与日历时间可能不相同。clock_t和time_t是两个表示时间的算数类型,struct tm用于保存日历时间的各个构成部分。struct tm结构tm中各成员的用途及取值范围如下所示:...原创 2020-05-07 22:39:00 · 18121 阅读 · 0 评论 -
c语言标准库详解(十三):信号signal.h
c语言标准库详解(十三):信号<signal.h>概述头文件<signal.h>提供了一些处理程序运行期间引发的各种异常条件的功能,比如来源于外部的中断信号或程序执行错误引起的中断信号。signal函数void (*signal(int sig, void (*handler)(int)))(int)signal 决定了如何处理后续的信号。如果 handler 的...原创 2020-05-06 22:53:45 · 3858 阅读 · 0 评论 -
c语言标准库详解(十二):非局部跳转setjmp.h
c语言标准库详解(十二):非局部跳转<setjmp.h>概述头文件<setjmp.h>中的声明提供了一种不同于通常的函数调用和返回顺序的方式,特别是,它允许立即从一个深层嵌套的函数调用中返回。<setjmp.h>定义了一宏setjmp()、一函数longjmp()、一变量jmp_bufsetjmp()宏int setjmp(jum_buf env)s...原创 2020-05-06 17:52:10 · 10906 阅读 · 0 评论 -
c语言标准库详解(十一):可变参数表stdarg.h
c语言标准库详解(十一):可变参数表<stdarg.h>概述头文件<stdarg.h>提供了遍历未知数目的函数参数表的功能。假定函数 f 带有可变数目的实际参数,lastarg 是它的最后一个命名的形式参数。那么, 在函数 f 内声明一个类型为 va_list 的变量 ap,它将依次指向每个实际参数:va_list ap;在访问任何未命名的参数前,必须用va_st...原创 2020-05-05 22:41:53 · 10998 阅读 · 0 评论 -
c语言标准库详解(十):诊断函数assert.h
c语言标准库详解(十):诊断函数<assert.h>概述<assert.h>中只有一个assert宏。assert宏用于为程序增加诊断功能,形式如下:void assert(int expression)如果执行语句assert(expression)时,表达式的值为0,则assert宏将在stderr中打印一条消息,比如:Assertion failed:...原创 2020-05-04 23:00:50 · 11544 阅读 · 0 评论 -
c语言标准库详解(九):实用函数stdlib.h
c语言标准库详解(九):实用函数<stdlib.h>头文件<stdlib.h>中声明了一些执行数值转换、内存分配以及其他类似工作的函数。概述atofdouble atof(const char *s)atof 函数将字符串 s 转换为 double 类型。该函数等价于 strtod ( s, (char**)NULL)。atoiint atoi(const c...原创 2020-05-03 23:39:34 · 14894 阅读 · 1 评论 -
c语言标准库详解(八):数学公式math.h
头文件<math.h>中声明了一些数学函数和宏。宏 EDOM 和 ERANGE(在头文件<error.h>中声明)是两个非 0 整型常量,用于指示函数的定义域错误和值域错误;HUGE_VAL 是一个 double 类型的正数。当参数位于函数定义的作用域之外时,就会出现定义域错误。在发生定义域错误时,全局变量 errno 的值将被设置为 EDOM,函数的返回值与具体的实现相...原创 2020-04-30 23:02:46 · 20096 阅读 · 0 评论 -
c语言标准库详解(七):字符串函数string.h
c语言标准库详解(七):字符串函数<string.h>头文件<string.h>中定义了两组字符串函数。第一组函数的名字以 str 开头;第二组函数的名字以 mem 开头。除函数 memmove 外,其它函数都没有定义重叠对象间的复制行为。比较函数将把参数作为 unsigned char 类型的数组看待。第一组在下表中,变量 s 和 t 的类型为 char *;cs ...原创 2020-04-28 23:14:24 · 10915 阅读 · 0 评论 -
c语言标准库详解(六):字符类别测试ctype.h
c语言标准库详解(六):字符类别测试<ctype.h>头文件<ctype.h>中声明了一些测试字符的函数。每个函数的参数均为 int 类型,参数的值必须是 EOF 或可用 unsigned char 类型表示的字符,函数的返回值为 int 类型。如果参数 c 满足指定的条件,则函数返回非 0 值(表示真) ,否则返回 0(表示假)。这些函数包括:函数名功能...原创 2020-04-26 22:43:42 · 9566 阅读 · 0 评论 -
c语言标准库详解(五):stdio.h之直接IO/文件定位/错误处理
c语言标准库详解(五):<stdio.h>之直接IO/文件定位/错误处理直接输入/输出函数fread()函数size_t fread(void *ptr,size_t size,size_t nobj,FILE *stream)fread函数从流 stream 中读取最多 nobj 个长度为 size 的对象,并保存到 ptr 指向的数组中。它返回读取的对象数目,此返回值可能小...原创 2020-04-25 22:39:41 · 10499 阅读 · 0 评论 -
c语言标准库详解(四):stdio.h之字符输入/输出
c语言标准库详解(四):<stdio.h>之字符输入/输出fgetc()函数int fgetc(FILE *stream)fqetc 函数返回 stream 流的下一个字符,返回类型为 unsigned char(被转换为 int 类型)。如果到达文件末尾或发生错误,则返回 EOF。fgets()函数char *fgets(char *s,int n,FILE *stream...原创 2020-04-21 22:42:55 · 10456 阅读 · 0 评论 -
c语言标准库详解(三):stdio.h之格式化输入
c语言标准库详解(三):<stdio.h>之格式化输入fscanf()函数int fscanf(FILE *stream, const char *format, ...)fscanf 函数根据格式串 format 从流 stream 中读取输入,并把转换后的值赋值给后续各个参数,其中的每个参数都必须是一个指针。当格式串 format 用完时,函数返回。如果到达文件的末尾或在转换...原创 2020-04-18 23:29:04 · 10621 阅读 · 1 评论 -
c语言标准库详解(二):stdio.h之格式化输出
c语言标准库详解(二):<stdio.h>之格式化输出printf()函数printf()函数提供格式化输出转换fprintf()函数int fprintf(FILE *stream,const char *format,...)fprintf 函数按照 format 说明的格式对输出进行转换,并写到 stream 流中。返回值是实际写入的字符数。若出错则返回一个负值。格式...原创 2020-04-17 23:40:08 · 11312 阅读 · 0 评论 -
c语言标准库详解(一):stdio.h之文件操作
fopen()函数 freopen()函数 fflush()函数 fclose()函数 remove()函数 rename()函数 tmpfile()函数 tmpnam() setvbuf() setbuf()原创 2020-04-15 23:36:36 · 13782 阅读 · 0 评论 -
c语言标准库详解(零):总述
c语言标准库详解(零):总述关于标准库标准库不是C语言本身的构成部分,但是支持标准C的实现会提供函数库中的函数声明、类型以及宏定义标准库的内容标准库中的函数、类型以及宏分别在下面的标准头文件中定义:<assert.h><float.h><math.h><stdarg.h><stdlib.h><ctype.h>...原创 2020-04-14 17:34:50 · 10498 阅读 · 0 评论 -
c语言声明对象auto/extern/static辨析
c语言声明对象auto/extern/static辨析如题。一个声明中最多只能有一个存储类说明符。如果没有指定存储类说明符,则将按照下列规则进行:在函数内部声明的对象被认为是 auto 类型;在函数内部声明的函数被认为是 extern 类型;在函数外部声明的对象与函数将被认为是 static 类型,且具有外部连接。...原创 2020-04-13 20:17:42 · 128 阅读 · 0 评论 -
c语言auto与register辨析
c语言auto与register辨析如题。说明符 auto 和 register 将声明的对象说明为自动存储类对象,这些对象仅可用在函数中。这种声明也具有定义的作用,并将预留存储空间。带有 register 说明符的声明等价于带有 auto 说明符的声明,所不同的是,前者暗示了声明的对象将被频繁地访问。只有很少的对象被真正存放在寄存器中,并且只有特定类型才可以。该限制同具体的实现有关。但是,如...原创 2020-04-13 17:30:48 · 696 阅读 · 0 评论 -
c语言指针比较辨析
c语言指针比较辨析如题。指针比较只对相同对象才有意义:如果两个指针指向同一个简单对象,则相等;如果指针指向同一个结构的不同成员,则指向结构中后声明的成员的指针较大;如果指针指向同一个联合的不同成 员,则相等;如果指针指向一个数组的不同成员,则它们之间的比较等价于对应下标之间的 比较。如果指针 P 指向数组的最后一个成员,尽管 P+1 已指向数组的界外,但 P+1 仍比 P 大。 其它情况下指针...原创 2020-04-13 09:29:13 · 12119 阅读 · 0 评论 -
c语言指针计算辨析
c语言指针计算辨析如果指向同一类型的两个指针相减,则结果是一个带符号整型数,表示它们指向的对象之间的偏移量。相邻对象间的偏移量为 1。结果的类型同具体的实现有关,但在标准头文件 <stddef.h>中定义为 ptrdiff_t。只有当指针指向的对象属于同一数组时,差值才有意义。 但是,如果 P 指向数组的最后一个元素,则(P+1)-P 的值为 1。...原创 2020-04-12 23:26:16 · 149 阅读 · 0 评论 -
c语言结构体引用元素“.”与“->”辨析
c语言结构体引用元素“.”与“->”辨析后缀表达式后跟一个圆点和一个标识符仍是后缀表达式。第一个操作数表达式的类型必须是结构或联合,标识符必须是结构或联合的成员的名字。结果值是结构或联合中命名的成员,其类型是对应成员的类型。如果第一个表达式是一个左值,并且第二个表达式的类型不 是数组类型,则整个表达式是一个左值。后缀表达式后跟一个箭头(由-和>组成)和一个标识符仍是后缀表达式。第一...原创 2020-04-12 21:57:37 · 8836 阅读 · 0 评论 -
《The C Programming Language》答案(第八章)
《The C Programming Language》答案(第八章)我的新站P1/** * Rewrite the program cat from Chapter 7 using read, * write, open and close instead of their standard library * equivalents. Perform experiments to...原创 2020-04-12 16:48:59 · 130 阅读 · 0 评论 -
windows系统编译找不到unistd.h解决方法
windows系统编译找不到<unistd.h>解决方法如题。<unistd.h>是unix下的一个头文件,在windows系统中没有。可以新建一个unistd.h,文件内容如下:#ifndef _UNISTD_H#define _UNISTD_H#include <io.h>#include <process.h>#endif /*...原创 2020-04-12 16:30:09 · 22313 阅读 · 2 评论 -
《The C Programming Language》答案(第七章)
《The C Programming Language》答案(第七章)我的新站P1/**Write a program that converts upper case to lower or lower case to upper, depending * on the name it is invoked with as found in argv[0]**/#include <...原创 2020-04-12 16:07:43 · 1145 阅读 · 0 评论 -
《TheC Programming Language》答案(第六章)
P1P2#include <stdio.h>#define XMAX 114#define YMAX 114#define min(a,b) ((a)<(b)?(a):(b))#define max(a,b) ((a)>(b)?(a):(b))struct point{ int x; int y;};struct rect{ str...原创 2020-04-11 22:34:39 · 10246 阅读 · 0 评论 -
《The C Programming Language》答案(第五章)
《The C Programming Language》答案(第五章)P1getch.c/** * getch.c * written by swy */#include <stdio.h>#define BUFSIZE 114char buf[BUFSIZE];int bufp = 0;int getch(){ return (bufp>0)?bu...原创 2020-04-11 16:48:29 · 10338 阅读 · 0 评论 -
《The C Programming Language》答案(第四章)
P1#include <iostream>#include <string.h>#define MAXLINE 1024int getchars(char s[],int max){ int c, i, l; for (i = 0, l = 0; (c = getchar()) != EOF && c != '\n'; ++i) ...原创 2020-04-10 15:41:27 · 10501 阅读 · 0 评论 -
《The C Programming Language》答案(第三章)
P1#include <stdio.h>int binsearch(int x,int v[],int n){ int low = 0; int high = n-1; int mid; while(low<high){ mid = (low+high)/2; if(x<=v[mid]) ...原创 2020-04-09 23:12:31 · 10149 阅读 · 0 评论 -
《The C Programming Language》答案(第二章)
《The C Programming Language》答案(第二章)我的新站 https://swy20190.github.ioP1#include <stdio.h>#include <limits.h>//肖战,nmslint main(){ printf("Domain of signed char is [%d, %d].\n",SCHAR_...原创 2020-04-08 17:39:49 · 10308 阅读 · 0 评论 -
vscode报错:undefined reference to `WinMain'
vscode报错:undefined reference to `WinMain’如题。vscode写c语言报错。系统找不到你的main函数。可能情况:1.你的main函数没保存,建议把vscode的自动保存打开2.你的main函数拼写有误,比如拼成了mian本人为第二种情况,特此记录。...原创 2020-04-08 17:05:29 · 29889 阅读 · 12 评论 -
《The C Programming Language》答案(第一章)
《The C Programming Language》答案(第一章)P1#include <stdio.h>main(){ printf("hello, world\n");}P2warning: unknown escape sequence: '\c'P3#include <stdio.h>main(){ float fahr,celsi...原创 2020-04-06 11:58:11 · 10617 阅读 · 0 评论