随笔分类 -  C语言

在linux中用C语言实现ping命令的部分功能
摘要:运用C语言编写模拟常用网络命令ping命令实现一个基于linux原始套接字和ICMP协议的ping程序。该程序能用于检测主机或路由器工作是否正常。程序中主要的函数voidalarm_handler(int); /*SIGALRM处理程序*/voidint_handler(int); /*SIGINT处理程序*/voidset_sighandler(); /*设置信号处理程序*/voidsend_ping(); /*发送ping消息*/voidrecv_reply(); /*接收ping应答*/u16checksum(u8*buf,intlen);/*计算校验和*/inthandle_pkt() 阅读全文

posted @ 2012-06-20 08:37 无心出岫 阅读(2891) 评论(0) 推荐(0)

用C语言将二进制转换为IP地址
摘要:根据需要将任意32位二进制转换为IP地址。输入:11111111输出:255.0.0.0思路:将输入的二进制数以每8个为一个单位转化为十进制 。#include <stdio.h> int bin_dec(int x, int n) //自定义函数将二进制数转换为10进制 { if(n == 0) { return 1; } return x * bin_dec(x, n-1); //递归调用bin_dec()函数 } int main(void) { int i; int ip[4] = {0}; char a[33]; printf("请输入二进制数: \n" 阅读全文

posted @ 2012-03-25 18:12 无心出岫 阅读(2147) 评论(0) 推荐(0)

用C语言代码实现n进制数转换为十进制数
摘要:用C语言代码实现n进制数转换为十进制数为了实现进制之间的相互转化,编程实现输入任意一个数并输入该数的进制,然后将其转换为10进制并输出。主要思路是将输入的数存入一个一维数组中然后进行相应处理。#include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { long t1; int i, n, t, t3; char a[100]; printf("请输入一个数:\n"); gets(a); //将输入的n进制的数储存在数组a中 strupr(a); / 阅读全文

posted @ 2012-03-25 16:24 无心出岫 阅读(2116) 评论(0) 推荐(0)

用C语言求两个数的最大公约数和最小公倍数
摘要:求最大公约数,就是求较小的一个数的约数同时也能被较大的数整除,把他求到最大就可以了。求最小公倍数,就是求较大的一个数的倍数(同时也能整除较小的数),求最小的。1、# include <stdio.h> int main(void) { int x, y,temp; int r; printf("请输入两个正整数:\n"); scanf("%d %d", &num1, &num2); r = num1 % num2; temp = num2; while(r!=0) { num1 = num2; num2 = r; r = nu 阅读全文

posted @ 2012-02-24 19:23 无心出岫 阅读(2232) 评论(0) 推荐(0)

强烈推荐:C/C++语言编程必备网址
摘要:Windows C 程序设计入门与提高http://download.chinaitlab.com/program/files/13246.html单片机C语言入门http://download.chinaitlab.com/program/files/12907.htmlC++ 入门基础教程http://download.chinaitlab.com/program/files/7617.htmlC语言常用算法源代码http://download.chinaitlab.com/program/files/12893.htmlC常用算法程序集http://download.chinaitlab 阅读全文

posted @ 2012-01-03 17:40 无心出岫 阅读(996) 评论(0) 推荐(0)