
c
CYD、孤狼
没有搞不定的,只有进行中的…
展开
-
C语言简单使用zmq
最近已经使用了很长一段时间的zmq了,主要用于进程间通信 或者 线程间通信。在空闲之余对zmq的使用进行简单的demo演示,供有需要 的老铁,快速上手进行项目开发,也便于日后自我回顾。【server】//server.c/* 1. create context * 2. create socket * 3. bind * 4. recv */#include <zmq.h>#include <stdio.h>int main(int argc, char原创 2021-03-27 13:48:37 · 1432 阅读 · 3 评论 -
C语言间接使用C++中的类
最近忙于进行跨组项目对接,于是遇到了一些小小的问题。比如,本项目中使用的开发语言为C语言,而其他组提供的接口均使用c++语言,那么就会出现跨语言的问题。接下来将实现一个小小的demo,用于分装c++中的类,并提供C语言使用。该文章主要用于帮助初学者以及日后自我回顾。【c++接口】//test_a.cpp#include "test_a.h"test_a::test_a():_a(1),_b(2){}int test_a::get_A(){ return _a;}int t原创 2021-03-27 13:38:44 · 249 阅读 · 0 评论 -
如何打印乘法口诀表(.c)
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表#includevoid label(int num){ int i =0; int j = 0; int k = 0; for (i = 1; i { for (j = 1; j原创 2017-11-26 11:46:18 · 492 阅读 · 0 评论 -
c语言的部分总结之操作符
C语言的部分总结之操作符 一门语言的学习,首先我们应该了解其中的各种操作符。对于C语言而言,其常见的操作符包括:算数操作符、位操作符、移位操作符、赋值操作符、单目操作符、关系操作符、条件操作符、逗号操作符、下表引用、函数调用和结构成员。 接下来,我将为小伙伴们依次分析以上的各种C语言操作符:1.算数操作符:(+ ,- ,* ,/ ,% ) 1.)% 操作符左右俩边必须为原创 2017-11-22 19:35:15 · 314 阅读 · 0 评论 -
10米跳水比赛名次的确定
五位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三;原创 2017-11-24 17:20:00 · 350 阅读 · 0 评论 -
三子棋
三子棋 小伙伴们,上次我为大家呈现的延拓版扫雷还喜欢吗?此处,我将为大家呈现三子棋的代码,希望帮助到那些有需要和喜欢的朋友们!小伙伴们,着急了吧,话不多说,先将c语言代码呈上:Game.h#include#include#include#define row 3#define col 3void game();void display_board(char原创 2017-12-05 21:21:25 · 291 阅读 · 0 评论 -
数组与指针的关联和区分-----C语言
在C语言中,数组和指针是既相互关联又有区别的俩个概念。对于一个数组的声明时,数组的名字也是一个指针,该指针的指向数组的第一个元素。我们可以用一个指针来访问一个数组。但C语言中没有记录数组的大小,所以在使用指针访问数组的元素时,程序员要确保没有超出数组的边界。接下来,我们用一个简单的代码,来了解数组和指针的区别。程序代码:#include<stdio.h>int Ge...原创 2018-05-18 17:00:46 · 297 阅读 · 0 评论 -
C语言模拟练习(11)----递归
程序代码:#include<stdio.h>//1.递归实现求第n个feibonaq数int fib(int n){ if(n>0){ if(n==1 ||n==2){ return 1; } return fib(n-1)+fib(n-2); }}//2.非递归实现求第n个feibonaq数int fib1(int n){ int arr[n]; arr[0]=arr...原创 2018-04-28 18:08:29 · 188 阅读 · 0 评论 -
动态内存的开辟
一、malloc的使用1> malloc全称是memory allocation,中文叫动态内存分配,用于申请一块连续大小的内存区域以void类型返回分配内存的区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存 。2> void*类型表示未确定类型的指针。c和c++规定,void*类型可以通过类型的转换强制转换为任何类型的指针。3> 一般需和...原创 2018-04-29 09:42:57 · 140 阅读 · 0 评论 -
位运算-----C语言
一、题目: 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如:把9表示成二进制是1001,有2个1.因此,如果输入9,则这个函数输出2.二、解题思路:1.可能引起死循环的解法思路:先判断整数二进制表示中最右边一位是不是1;接着把输入的整数右移一位,此时原来处于从右边数第二位被移到最右边了,再判断是不是1;这样每次移动一位,直到整个整数变为0为止。程序代码:#inclu...原创 2018-05-22 20:20:59 · 185 阅读 · 0 评论 -
atoi 函数的实现-----C语言
atoi函数原型: int atoi(const char *pstr)用法:将字符串转换成整型数;atoi()会扫描参数sptr字符串,跳过前面的空格字符,直到遇到数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转换,并将结果返回。程序代码:int my_atoi(char* pstr){ int ret_interger = 0;//返回值 int inte...原创 2018-05-16 15:29:44 · 238 阅读 · 0 评论 -
C语言知识点--复习(1)
知识点总结:1.所有宏定义、枚举常量、只读常量全用大写字母命名,用下划线分割单词。2.不同类型数据之间的运算注意精度扩张问题,一般低精度向高精度扩张。3.sizeof在计算变量的时候,括号可以省略;在计算数据类型的时候,括号是不可以省略的。4.const应该改写为readonly,是只读的变量,并不是常量。5.修饰一般常量的时候,可以放在类型的前面,也可以放在类型的后面。6.修饰指针的...原创 2018-08-19 08:24:57 · 431 阅读 · 0 评论 -
网络访客记录项目——总线
源代码:https://github.com/Chai-YD/HTTP_SERVER项目详解:原创 2018-09-03 16:11:09 · 247 阅读 · 0 评论 -
可变函数列表解析
可变函数列表解析C语言中的可变参数是一个比较有意思的实现,通过将函数实现为可变参数的形式,可以使得函数可以接受1个以上的任意多个函数。在C语言中printf\scanf等都为支持可变参数的函数,可以有多个参数。对于可变参数列表,我们可以通过一个例子来进行深入了解(例如1:实现一个函数可以求任意个参数的平均值;例如2:使用可变参数,实现函数,求函数参数的最大值):对于可变函数原创 2018-01-09 12:26:19 · 177 阅读 · 0 评论 -
选择结构
近来,将以前的编程代码进行了总结,第一波,我将为大家呈现一些关于选择结构的例题代码,希望有需要的朋友们能够得到一定的帮助。话不多说,代码呈上:1.检测结果#includeint main(){ int m = 5; if (m++ > 5) printf("%d\n", m); else printf("%d\n", m); getchar();原创 2018-02-04 13:39:25 · 267 阅读 · 0 评论 -
循环结构
今日的总结,曾经的练习,回首想想,还颇有收获。今日对一些关于循环结构的例题代码进行了总结,希望能够帮助到有需要的小伙帮们。 代码如下:1.判断输入数字是否为素数:#includeint main(){ int n = 0; int k = 0; int flag = 0; do { printf("please input a plus num原创 2018-02-04 13:44:48 · 202 阅读 · 0 评论 -
C语言-----qsort函数的简单实现
一、qsort函数的实现思路 对于qsort函数,其实可以实现很多类型数组的排序,本次只实现一个较为简单的整型数组排序,以此提供基于冒泡排序的qsort的基本思路。如果第一次未将数组排序完毕,以此方法继续继续排序,直至排序完毕(假设元素个数为N,则其排序次数最多不超过N-1次)。二、qsort函数的实现代码2.1程序代码#include<stdio.h>//交换函数,满...原创 2018-05-11 08:12:13 · 820 阅读 · 1 评论 -
C语言模拟练习(10)
1.写冒泡排序可以排序多个字符串。#include<stdio.h>void bubble_sort(char *arr[],int sz){ int i=0; int j = 0; for (i = 0; i < sz - 1; i++) { for (j = 0; j < sz - 1 - i; j++) { if (strcmp(*(arr+j),*(arr+...原创 2018-04-26 20:03:49 · 231 阅读 · 0 评论 -
C语言模拟练习(9)
1.实现strcpy#include<stdio.h>char * my_strcpy(char * dest, char *src){ char *ret = dest; while (*dest++ = *src++) { ; } return ret;}int main(){ char arr1[] = "abcd"; char arr2[10]; printf("%s\n",...原创 2018-04-26 19:42:25 · 213 阅读 · 0 评论 -
C语言模拟练习(8)
1.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:2550136832...原创 2018-04-26 19:36:11 · 290 阅读 · 0 评论 -
C语言模拟练习(7)
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。#include<stdio.h>void find(int *arr, int sz) //查找只出现一次的数字{ int i = 0; int j = 0; for (i = 0; i < sz; i++) { int k = 0; for (j = 0; j < sz...原创 2018-04-26 19:30:24 · 171 阅读 · 0 评论 -
C语言模拟练习(6)
程序代码:#include<stdio.h>#include<stdlib.h>//1> 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,//输入9,输出9*9口诀表,输入11,输出11*11的乘法口诀表。void print_multipilication_table(int value){ int i = 1; printf("%d*%d乘法表:\n",...原创 2018-04-22 16:59:32 · 774 阅读 · 0 评论 -
C语言模拟练习(5)
程序代码:#include<stdio.h>//写一个函数返回函数二进制中1的个数//比如:15 0000 1111 4个1//程序原型//int count_one_bits(unsigned int value){// 返回1的个数//}//int count_one_bits(unsigned int value){ int i = 0; int arr[32]={0}; int...原创 2018-04-15 09:49:42 · 134 阅读 · 0 评论 -
C语言的模拟练习(4)
程序代码:#include<stdio.h>#include<stdlib.h>//完成猜数字游戏void chaishuzi(){ srand((unsigned int)time(NULL)); int value = 0; int key; int sta = 0; key = rand()%100; //使用rand之前,一定要声明srand; while(v...原创 2018-04-13 16:14:09 · 146 阅读 · 0 评论 -
C语言的模拟练习(3)
程序代码:#include<stdio.h>//在屏幕上输出以下图案/* * * * * * * * * * * * * **/void myprint(int n,char value){ int i = 0; int j = 0; char emp = ' '; for(;i<n;i++){ for(j=n-1-i;j>0;j--){ printf...原创 2018-04-11 13:55:13 · 179 阅读 · 0 评论 -
C语言初学的模拟练习(2)
程序代码:#include<stdio.h>#include<stdlib.h>#include<math.h>//将数组A中到内容和数组B中的内容进行交换void swap(int* arr1,int* arr2,int size){ int i = 0; for(;i<size;i++){ int tmp = arr1[i]; arr1[i] = ...原创 2018-04-09 12:34:24 · 146 阅读 · 0 评论 -
C语言初学的模拟练习(1)
程序代码:#include<stdio.h>#include<stdlib.h>//程序函数到实现//给定俩个整形变量的值,将俩个值的内容进行交换void swap(int* p1,int* p2){ int tmp = *p1; *p1 = *p2; *p2 = tmp;}//不允许创建临时变量,交换俩个数到内容void swap1(int* p1,int* p2){ *...原创 2018-04-09 10:36:44 · 197 阅读 · 0 评论 -
自定义结构体知识点总结
今天, 作为一位喜欢总结知识点的我,将有关自定义结构体的知识点进行了总结,希望得到大家的喜欢。对于自定义结构体的知识点,我将主要分以下几点为大家分享:结构体类型创建、结构体初始化、结构体内存对齐、位段,位段计算机大小。1.结构体创捷 关于结构体类型创建,可以分三种方式进行讲解://创建结构体的第一种方式,推荐使用这种struct Student1{ int age; flo...原创 2018-03-08 18:02:38 · 928 阅读 · 0 评论 -
详解sscanf ,sprintf ,fread ,fwrite
一、sscanf()sscanf()-从一个字符串中读进与指定格式相符的数据。函数原型: int sscanf(string str, string fmt,mixed var1,mixed var2…); int scanf(const char* format,[,argument]...);说明: sscanf与scanf类似。都是用于输入的,只是后者...原创 2018-03-10 12:13:11 · 419 阅读 · 0 评论