C
文章平均质量分 71
q1239678315
这个作者很懒,什么都没留下…
展开
-
【C语言】C的一些简单练习题,关于水仙花数,求和,整数高低位输出,制定二进制位替换
#define _CRT_SECURE_NO_WARNINGS//输出一个整数的每一位//1.低位输出到高位#include #include int main(){ int a; printf("请输出一个数"); scanf("%d",&a); while(a) { printf("%d ",a % 10); a = a / 10; } system("p原创 2016-09-26 18:03:16 · 609 阅读 · 0 评论 -
【C语言】 字符串的内存拷贝处理函数
这篇博文我主要是想写一下函数库中的memcpy函数, 对于字符串来说,我们运用字符串中的str类别的函数,但是我们还有一些关于内存的拷贝函数。他们操作的对象是内存,然后可以接受任何类型的数据进行拷贝。 这个是里面的memcpy,然后我们一起查看一下MSDN看一看他的原型: void *memcpy(void *dest,const void *src,size_t count);原创 2016-09-26 18:04:03 · 371 阅读 · 0 评论 -
【C语言】主函数的参数探幽
在C语言中,我们编写代码中最不可缺少的是主函数。 然后其中在主函数main中其实也存在参数: 我们查看一下MSDN,然后我们看一下MSDN对于主函数的解释 650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/73/C4/wKiom1YGewziOqCsAAB5JPnTVWA911.jpg" title="Image.原创 2016-09-26 18:04:06 · 273 阅读 · 0 评论 -
【c语言】输出一组数中有2个出现了1次的数
在之前我们写过了一个函数,写的是在一组数中有一个数只出现了一次,其他书都是出现了2次,这个题思路很简单,直接依次异或就能够找到这个数。详情可以查看我之前的博文。 然后我们来看一下现在这个题。 输出一组数中有2个出现了1次的数。然后其余数出现了2个。 我们这个题的思路大概如下: 1.先异或得到不同数的异或结果 2.找到异或结果中1出现的位数。 3.分组异或,当出现原创 2016-09-26 18:04:09 · 311 阅读 · 0 评论 -
【C语言】打印1到n位数。
来看一个问题: 打印1到n位数:(例如打印1到3位数,即输出1到999) 第一眼看到这个题的时候感觉好简单。一个for循环不断输出就能够解决问题。但是大家仔细想一下。在语言中数据类型存在最大的上限值。最大的数据结构unsinged long long. 它的最大值为:18446 74407 37095 51615.也就是20位。当我们想要输出1到21位数就会超出类型的最大值(早早原创 2016-09-26 18:04:16 · 594 阅读 · 0 评论 -
【C语言】快速排序优质算法的动态显示和字符串的快排
快速排序的动态显示比较简单,不多说,直接上代码://快速排序动态显示#include#include #include void swap(int arry[],int num1, int num2){ int temp = arry[num1]; arry[num1] = arry[num2]; arry[num原创 2016-09-26 18:04:18 · 551 阅读 · 0 评论 -
【C项目】注释转换项目
在C与C++中,将/**/的注释转换为//的注释。这是一个小型的项目。 其目的就是读取文件流。将/**/注释转换为//的注释,然后输出到另外一个文件中。 初看之下可能没有什么难度,但是仔细一看需要考虑很多东西。下面给出一些需要考虑到的情况。 // 1.一般情况/* int i = 0; */// 2.换行问题/* int i = 0; */int j = 0;/* int i =原创 2016-09-26 18:04:21 · 211 阅读 · 0 评论 -
【C语言】顺序表,数组
顺序表的搭建,就是一个本身的结构,利用的是数组,开辟的内存空间大小是固定的。没有链式结构那样的开辟空间的可控性。最基本的数据结构认知。 然后我们来看看数据结构中的基本实现和思想: #include "seqList.h"#include #include //顺序表的初始化void InitSeqList(SeqList* seq){ int _index = 0; as原创 2016-09-26 18:04:24 · 584 阅读 · 0 评论 -
【C语言】数据结构——动态顺序表
上一篇文章说的是静态的顺序表,静态顺序表指的是在最开始的时间段就定义了整个表值得长度。然而动态的顺序表指的是先开辟一定空间,当空间占满时,我们再继续接着开辟空间,用来完成数据的存放,逐步开辟空间来进行存放。 这就是动态顺序表的基本逻辑,我直接上代码,废话不多说了额=。=:顺序表的重置。我们开辟5个节点空间。void InitSeqList(SeqList* seq){ assert(se原创 2016-09-26 18:04:27 · 224 阅读 · 0 评论 -
【C语言】调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 这个题比较简单,主要是实现指针两端前后靠近。发现奇数偶数(正负,或者其他条件)需要满足题目条件就进行交换。所以简单的思路只要我们满足条件,实现良好的解耦性就可以了。直接上代码吧。void Reorder(int *pData,unsigned int length,bool原创 2016-09-26 18:04:55 · 677 阅读 · 0 评论 -
浅谈栈帧(一)
好久没有更新了,最近打算把近期所学的内容更新一下 今天说一说内存栈帧方面的吧=。= 关于栈帧:首先我们呢来了解一下它的基本概念。 1.堆栈:对于堆栈,其实就是我们程序进行执行,那么我们必须给它一块地盘,有了地基,才能够建筑出我们所需要的东西。没有地我们是无法去干任何事情的。 在计算机中,这个地盘其实就对于我们的内存空间。我们的程序其实就相当于施工队伍。我们所给出命令。然后对其进行指挥原创 2016-09-26 18:05:19 · 520 阅读 · 0 评论 -
浅谈栈帧(二)
接上一篇:浅谈栈帧(一) 上一篇我们简单说了一下关于堆栈与栈帧调用函数是如何调用的,堆栈中的数据是如何存储在内存中的,用了几个简单的实例去观察分析他。 这篇,我们从根本来思考一下堆栈这种东西: 其实在计算机的早期,电脑的内存是用是十分老实的,没错就是老实。他没有进行一些内存空间上的保护。 大家想想,在当内存空间不存在保护时,我们利用一个函数不断去改写计算机本身的内存,然后导致缓原创 2016-09-26 18:05:22 · 633 阅读 · 0 评论 -
【C语言】函数指针与回调函数
在C语言中:指针是C语言的特色,有着各种各样的指针,普通的变量指针,常量指针,数组指针,指针数组,函数指针,指针函数。我们就讲一下函数指针与回调函数吧首先关于函数指针,其实很简单。 对于一个函数指针来说,顾名思义,就是一个指向函数的指针,需要知道的是,对于指针而言,他总是存储一块地址,地址里面有着一个,一组,或者一块数据,在函数中,函数的存储是放在代码段的,每个函数都有着一个函数首地址,调用原创 2016-09-26 18:06:07 · 262 阅读 · 0 评论 -
【C语言】strlen的三种实现方法,strcmp,strcat,strcpy
首先我们来看一下大家学习中经常熟悉用到的strlen函数。 strlen 1:指针差值返回int my_strlen(const char *str){ char *pst = (char *)str; assert(str); while(*str) {原创 2016-09-26 18:04:00 · 412 阅读 · 0 评论 -
【C语言】把从1到1000的数打印出来,但你不能使用任何的循环语句或是条件语句。
来看一个很有意思的一个题目。题目是这样的:请把从1到1000的数打印出来,但你不能使用任何的循环语句或是条件语句。看到这个题当时我也是蒙了。首先想到用的是递归来实现,但是怎么跳出这个循环呢?我想了想,有人给了提示,可以使用与来判断:先看代码:#include int print(int num){ num && print(num-1); printf("%d ",num); retu原创 2016-09-26 18:03:57 · 1531 阅读 · 0 评论 -
【C语言】冒泡排序与回文判断
冒泡排序:很简单就不细说了:#include void bubbleSort(int num[],int len){ int i = 0; int j = 0; int temp = 0; for(j = 0;j<len-1;j++) { for(i = 0;i < len - j-1;i++) { if(num[i] > num[i+1]) { tem原创 2016-09-26 18:03:54 · 195 阅读 · 0 评论 -
【C语言】使用递归的整数输出(高位到低位)/输出一个菱形(能够确定行数)
//递归的整数输出#include void output(int x);int main(){ int a; printf("请输出一个数"); scanf("%d",&a); output(a); return 0;}void output(int x){ if( x >= 10) { output(x / 10); } printf("%d "原创 2016-09-26 18:03:19 · 1651 阅读 · 0 评论 -
【C语言】简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出
//求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222#include int main(){ int a,n,sum; int i,j; sum = 0; printf("请输入项数和a的值"); scanf("%d%d",&a,&n); j = a; for(i = 1;i <= n;i++)原创 2016-09-26 18:03:22 · 1093 阅读 · 0 评论 -
【C语言】一些有意思的C语言题目,
有一些有意思的题目,然后我们来试着做一下5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三。B选手说:我第二,E第四。C选手说:我第一,D第二。D选手说:C最后,我第三。E选手说:我第四,A第一。//排名判断#include int main(){ int a,b,c,d,e; for(a =1;a <= 5;a++) { for(b = 1;b <原创 2016-09-26 18:03:25 · 1074 阅读 · 0 评论 -
【C语言】再次找的一些C语言题目,关于折半查找和某些种种
首先我们来解释一下折半查找: 1.对一组具有升序(降序)的序列取其中间值,啪一刀斩断, 2.然后就进行比较啦,如果比较等于中间值,返回不解释。 3.如果小于中间值,就将查找范围变成右(左)边。 4.如果大于中间值,就将查找范围变成左(右)边。 5.一直到左边参数大于右边为止咯;////查找数值#include void swap(int v[],int a, in原创 2016-09-26 18:03:28 · 617 阅读 · 0 评论 -
【C语言】一些关于二进制位的一些题题目哦。
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子:1999 2299输出例子:7#include int main(){ int a,b; int count; a =0; b = 0; count = 0; printf("请输入两个数"); scanf("%d %d",&a,&b); a = a^b; while(a) { ++原创 2016-09-26 18:03:31 · 618 阅读 · 0 评论 -
【C语言】关于atoi,itoa与itob的重写和字符统计
首先关于函数atoi的重写,atoi的功能是字符串能够转换为整数保存,仅仅针对于整数,浮点数以后会有写://实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。#include #include int main(){ char st[50]; gets(st); printf("%d",atoi(st)); return 0;}原创 2016-09-26 18:03:33 · 643 阅读 · 0 评论 -
【C语言】3子棋游戏,
最近写了一个三子棋的游戏,然后我们来看一下。主函数:int main(){ int start = 1; char lchess = 0; char cchess = 0; char chess[5][11];while(start){ int n = 1; int p = 1; start = 1; printf("---------------开始游戏--------原创 2016-09-26 18:03:36 · 674 阅读 · 0 评论 -
【C语言】一些面试题。
字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。这个题,如果允许在声明第二个数组的话就比较简单了。直接逐个赋值给第二个数组,然后遇到空格第二个数组变换为“%20”,然后原本数组不变,然后继续如此这般,但是如果要求在原本的字符串中修改就比较麻烦,我们可以倒着遍历一遍,然后计算数组更新以后的长度原创 2016-09-26 18:03:39 · 522 阅读 · 0 评论 -
【C语言】在字符串中找出第一个只出现一次的字符。 如输入“abaccdeff”,则输出'b'。
在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。这个题加一些要求维度只能为n代码如下:#include #include char FLetter(char arry[],int len){ int letterNumber[256] = {0}; int i = 0; char原创 2016-09-26 18:03:42 · 891 阅读 · 0 评论 -
【C语言】杨氏矩阵C语言实现
3X3列表格式,杨氏矩阵:#includevoid check(int arry[][3],int number){ int i = 0; int j = 0; while(i <= 2 && j <= 2) { if(a原创 2016-09-26 18:03:45 · 302 阅读 · 0 评论 -
【C语言】学生成绩链表的录入
输入10个学生5门课的成绩,分别用函数实现下列功能:1>计算每个学生的平均分。2>计算每门课的平均分。3>找出所有50个分数中最高的分数所对应的学生和课程。#include #include #include typedef struct student{ char name[15]; float Chinese; float English; float math; flo原创 2016-09-26 18:03:48 · 2069 阅读 · 0 评论 -
【C语言】在终端输入多行信息,找出包含“ould”的行,并打印改行。
2.在终端输入多行信息,找出包含“ould”的行,并打印改行。如:Au,love could you and I with fate conspireTo grasp this sorry scheme of things entire,Would not we shatter it to bitd – and then.在终端输出上述的文字,输出Au,love could you and I w原创 2016-09-26 18:03:51 · 353 阅读 · 0 评论 -
Linux:进程池实现
进程池在服务器应用中有很多很多=。=下面是半同步半异步进程池的实现代码:#ifndef _PROCESSPOOL_H#define _PROCESSPOOL_H#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#in...原创 2016-09-26 18:08:26 · 1928 阅读 · 0 评论