标签:C
昨天,雷老师偶有闲致,评讲了n周前的C程序设计作业。其中讲到了一到求水仙花数的题,给出了一种漂亮的算法,在此记录下来。 原题 输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。 解题 思路 初始化i=100。 ①取i的各位数,百位a,十位b,个位c。 ②判断i==a∧3+
引言 - 一时心起, libuv linux 搭建   有一天突然想起来想写个动画. 找了一下 ui 库太大. 后面想起以前弄过的 libuv. 但发现 libuv 相关资料也很少. 所以就有了这些内容.    libuv - https://github.com/li
基本概念 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。 最大公约数:也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b)
先上图 场景是这样的, 这几天给CS系统做一个微信支付的功能,  但是生成的二维码是在前台的电脑上..不可能让用户跑到前台的电脑上去扫描...然后拿出了N年前买的Arduino 做了一个二维码显示器..就可以放在前台的桌子上了.    淘宝有很多
libevent,一个非常好的c的网络库,最近开始学习并分析下,做个记录。源码选用的1.4版本。因为感觉这版的代码比较精简,也没有太多宏定义,个人感觉适合学习原理。 从哪里开始呢,我选择从一些最简单的基础的东西开始,由简入繁。 今天就带来libevent的最小堆生成,体会下libevent作者如何实
C语言中的void  和 void * 总结 1、void的作用   c语言中,void为“不确定类型”,不可以用void来声明变量。如:void a = 10;如果出现这样语句编译器会报错:variable or field ‘a’ declared void。   在C语言中void 常常用于:
  首先,我们在每次学习一门课程时,都有这样的习惯,即阅读目录,了解本门课程所需要学习的范围和内容,对课程有着整体的把握。之后,在对本门课程进行学习时,就会有一种把控全局的感觉,不管学到哪,都会大体知道这一部分在知识体系里的作用和功能,也就更好的理解了知识的前因后果、来龙去脉。所以,在学习C语言之前
回声客户端: 1.所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 2.客户端也可以使用 write() / send() 函数向服务器发送数据,服务器也可以使用 read() / recv() 函数接收数据   #define
struct sockaddr_in serv_addr; 1.定义结构体变量,结构体是一种数据类型,那么就可以用它来定义变量 2.struct 结构体名 变量名;   (struct sockaddr*)&serv_addr 1.结构体指针,指针也可以指向一个结构体 2.强制类型转换的格式
typedef void( *sighandler_t)(int); 1.用typedef给类型起一个别名。 2.为函数指针类型定义别名, 3.函数指针(指向函数的指针)   sighandler_t signal(int signum, sighandler_t handler); 1.函数原型
https://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.html   assert是一个宏定义,其作用是如果它的条件返回错误,则终止程序执行,原型定义: 1 #include <assert.h
         static存储类型可以用于全部变量,无需考虑变量声明的位置。但是作用于块外部和块内部时具有不同的作用。         (1)当作用于函数内部时,和每次程序离开所在块就会丢失值的自动变量不同,static变量会保存下去,块内的static变量只会在程序执行前进行一次初始化,而自动
本文同时发表在 https://github.com/zhangyachen/zhangyachen.github.io/issues/123 写一下fopen/getc/putc等C库的粗略实现,参考了K&R,但是有几点根据自己理解的小改动,下面再具体说一下^_^ 写这篇文章主要是帮助自己
十六进制数和十进制数类似,以小数点为界,整数部分从低位到高位依次是0次方位、1次方位、.、n次方位;小数部分从高位到低位依次是-1次方位、-2次方位、.、-m次方位.都可用加权求和的方式表示.十六进制数转换成十进制数时,先用加权求和的方式表示出来,再将十六进制数中的基数“10H”替换成对应的十进制数
Description 输入一个正整数n,求有几对素数x,y,满足n=x+y((3,2)和(2,3)视为相同的素数对)。 Input 有多组数据,每行输入一个偶整数n(3<n<32768)。n等于0时,输入结束。 Output 输出相应的答案。 Sample Input 6 10 12
一、PTA实验作业 题目1:查验身份证 1. 本题PTA提交列表 2. 设计思路 定义i,flag=1,z,m[11],a[19] 输入次数n for i=1 to n+1 gets(a) 加权求和在取余计算z switch(z) 对应查看a[17]与校验码是否一致
守护进程: 必须是init进程的子进程,运行在后台,不与任何控制终端相关联。 通过以下步骤成为守护进程 1.调用fork()创建出来一个新的进程,这个新进程会是将来的守护进程 2.在新守护进程的父进程中,调用exit(),为了守护进程的爷爷进程确认父进程结束 3.在新守护进程中,调用setsid()
1.等待终止的子进程(僵死进程): 如果一个子进程在父进程之前结束,内核会把子进程设置为一个特殊的状态,处于这种状态的进程称为僵死进程 当父进程获取了子进程的信息后,子进程才会消失。 pid_t wait(int *status); 父进程调用这个方法会被阻塞住,如果子进程终止的时候,此方法会调用并
1.Visual C++6.0的下载 本书中使用的Visual C++6.0的中文版,读者可以在网上搜索,下载合适的安装包。 2.Visual C++6.0的安装 Visual C++6.0的具体安装步骤如下: (1)双击打开Visual C++6.0安装文件夹中的SETUP.EXE安装文件,如图1
ASCII表中的有些字符是打印不出来的,那么怎样表示这些无法打印的字符呢? C提供了3种表示方法. 一: 直接使用ASCII码 二: 使用特殊的符号序列, 即转义字符. 三: C90支持使用十六进制形式表示字符常量.(在这种形式中,反斜杠后跟一个x或X,再加上1到3位十六进制数字) 转义字符