上一节给大家分享了扫雷游戏的源代码,本篇文章当然也不会让大家失望,专门针对C语言入门或者学习了部分知识之后的小伙伴来练手的游戏项目——《五子棋大战》,本期并不是使用的easyX,因为考虑到有些大学的同学没有接触到这个,所以本期就是一个“黑漆漆”的控制台界面,这个就希望大家谅解哈!,话不多说,下面我们正式来看吧!一、构建棋盘首先可以用一个二维数组来构建棋盘,下标表示位置,内容表示黑子白子或者空位。当数组内...
首先我们要明白什么叫编程。编程就是把想要计算机做的任务用代码的形式表现出来,然后编译成计算机能理解的语言(机器语言)。关于编程和计算机基础的具体内容这里不复述,可以在深圳中学科学联盟公众号发布的文章中查阅。那么先安装编译器,Visual Studio 或者 Dev-cpp 等 都可以。性能不好的计算机推荐Dev-cpp,毕竟VS有20GB。。。不会编译代码的可以私戳四叔(+V信zhengjiayou2002)四叔会在100个工作日内回复你的!第一个任务:...
跟线性数组和链表不同,HashTable是快速查找的数据结构。本文中的HashTable使用链表处理数组。该HashTable可以指定table的长度,提供了遍历的方法。包括table的长度的选择也比较讲究。 cp_int32 nPrime[MAX_HASH_PRIME_ARRAY_NUM] = {17, 37, 79, 163, 331, 673, 1361 };就是说table的长度来取自上面这个数组。比如用户设定了200,那么table的长度就是331,找到第一次比输入值大的数值。可以注意到上面的都是素数。
下面...
最近刚开始学习c++,接触了一个小项目,写一个程序将C语言的注释转化为c++的注释,这个里面也要分很多种情况,下面我就把我做的小程序分享出来,在把C语言注释转化为c++注释的过程中,列举了以下几种情况1.普通情况/*int i = 0;2.换行问题/*int i = 0;*/int j = 0;/*int i = 0;*/int j = 0; 3.匹配问题/*int i = 0;/*xxxxx*/ 4.多行注释/*int i = 0; int j = 0; int k = 0; */int k = 0;5.连续注释/**//**/6.连续的**/问题 /***/ 7...
一、数据结构组织 存放数据的方式 精心选择的数据结构可以提升效率 数据结构 1、逻辑结构 一对多关系 父与子 一对一关系 排队中 多对多关系 两地的路线 2、存储结构 数据存放的位置关系 顺序存储数据 一个挨着一个的存储(数组) 链式存储方式 二、线性表逻辑方面是线性关系 一对一线性 每一个元素有唯一的前驱和后继顺序存储的线性表 就是顺序表链式存储的线性表 就是...
/************************************************************************/
/* 密码校验 */
/* C++11下没有问题,但是C语言是有问题的 */
/* 错误案例:^[a-zA-Z0-9~!@#$%^&*()_+`\\-={}\\[\\]:\";'<>?,.\\/]{6,20}$正确案例:^[]a-zA-Z0-9~!@#$%^&*()_+`={}:;'<>?,./\"\[-]{6,20}$解答:最恶心的匹配有三个字符 []-- 如果...
我的电脑Mac,系统MaveRicks。 写一个C代码:#include<stdio.h>void hello(){printf("Hello, this is from C Language ~\n");
} 编译一个库文件:franklinMacmini:~ git$ gcc --shared -o libhello.so hello.c
franklinMacmini:~ git$ ll -tr
drwx------+ 3 git staff 102 Sep 2 01:36 Pictures
drwx------+ 3 git staff 102 Sep 2 01:36 Music
drwx------+ 3 git staff 102 Sep 2 01:36 Movies
drwx------+ 26...
说明1.内存大小自动适应字符串长度。
2.字符串/字符获取长度、查找、插入、删除、替换、拷贝、连接。3.使用strFree(CString*)释放字符串占用内存。源码运行效果原文:http://blog.csdn.net/linchaolong/article/details/43944717
把在C语言学习过程的知识记录下来,积少成多。1、各种特殊字符\n 换行 ;\r 输出指针移到当前位置 ;\b 去掉一个前面的字符 ;\t 制表对齐 ;\f 换页符原文:http://blog.csdn.net/scboyhj__/article/details/45131425
大家应该都安装了C语言的编译软件,不过我个人认为Dev C++比VC6.0好用,所以只是说明DEv C++软件的调试方法 如果英文不好的,可以先汉化,再调试。 汉化:工具-----环境选项------基本----语言----精简汉语调试的前提是设置断点,在Dev C++中,设置断点用"切换断点"说明的,快捷键F4,然后点击“调试”,会发现第一个断点会变成蓝色,并且出现编译框,单击F8进行一步一步调试这是我个人学习的总结,如有错误,还请大家多多指点...
函数重载(Function Overload):用同一个函数名定义不同的函数,当函数名和不同的参数搭配时函数的含义不同。1、重载规则(1)函数名相同;(2)参数个数不同,参数的类型不同,参数顺序不同,均可构成重载;(3)返回值类型不同则不可以构成重载。void func(int a);//OKvoid func(char a);//OKvoid func(char a,int b);//OKvoid func(int a,char b);//OKchar func(int a);//与第一个函数有冲突2、调用规则(1)严格匹配,找到则调用;...
汇集1000道C语言和C++语言的练习题 (例题、笔试题、编程题、算法设计题),由我亲自配上答案(点此查看)。 语法题我就不出了,那个没意思,看书就可以了。本贴汇集50题 (0000-0050),持续更新...0001. 抽签题
从10个数中随机抽取5个数。(相当于双色球抽签问题)0002. 插入排序
已有10个按增序排列好的整数1,3,5,7,9,11,13,15,17,19。要求把一个整数n插到数组中,保持增序排列。0003. 数学公式类计算题
已经圆柱体的底半...
1. C++调用C语言函数C语言头文件 c_header.h#ifndef __C_HEADER_H_
#define __C_HEADER_H_#ifdef __cplusplus
extern "C"
{
#endifint c_add(int a, int b);void c_print_data(int x);#ifdef __cplusplus
}
#endif#endif
C语言实现文件 c_realize.c
#include <stdio.h>
#include "c_header.h"int c_add(int a, int b)
{return a+b;
}void c_print_data(int x)
{printf("int c_print_data, x is: %d\n", x);
}C++测试文件cpp_test....
闲来没事,看了看sqlite的源码,突然想用c实现c++,写了如下demo,自我感觉不错#include <stdio.h>
#include <stdlib.h>struct Class;
typedef struct Class _Class;struct IMethod
{void (*ctor)(_Class *c);void (*dtor)(_Class *c);int (*sum)(_Class* c);int (*getValueA)(_Class* c);int (*getValueB)(_Class* c);void (*setValueA)(_Class*c, int a);void (*setValueB)(_Class *c, int b);
};
typedef struct IMethod _IMeth...
在C++中,我们常见到用类定义一个对象,这个对象可以有他自己的属性(数据)和方法(函数),而在C语言的正常语法中,是禁止在结构体中定义函数的。 在一个关于触摸屏的驱动程序中发现,用C语言的也可以实现对象的方法(函数)。 首先定义一个按键的结构体。 1、我们先来讨论第二个函数指针void(*btn_command)(); 我们用该结构体定义的对象想要使用这个函数指针实现方法的效果之前,需要对这个指针赋予一个同类型的...