随笔分类 - C/C项目案例实践
摘要:1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负。int是整型之一,一般被称为整型。以后,在不产生歧义的情况下,我们把整数类型和int都称为整型。 int代表有符号整数,也就是说,用int声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定int的最小取值范围是-32767到32767。int的取值范围因机器而异,但是...
阅读全文
摘要:int dis_data = 32769; if( dis_data > 0x7fff) dis_data -= 0xffff; printf(“%d\n”,dis_data); 上面的dis_data 输出值会是多少? 初一看可能还看不出来,那就计算一下: 0x7fff转换为十进制为 32767,显然 dis_data > 0x7fff, 所以要执行 dis_data -= 0xffff;这一...
阅读全文
摘要:一道c语言运算符优先级问题 #include using namespace std; int main() { char test[] = {“This is testing.”}, *p = test; int i,j; i = 2,j=5; //print cout<<*p<<*p++<<endl; // 输出为 : h T cout<<i<<j<<endl; //输出为: 2,5...
阅读全文
摘要:int x , y,z; x = 0; y = z = -1; x += -z ---y; printf(“x=%d\n”,x) x = 2 为什么? x + = -z - - -y 相当于 x = x + ((-z)--)-y; 这里-z—是先用-z然后再(-z)- -运算 这里需要注意的是操作符结合的顺序是自左至右,而运算顺序是自右至左! 也就是 –z - - -y 表示的是 ((-z)-...
阅读全文
摘要:C语言操作符优先级 优先级 运算符 含 义 要求运算 对象的个数 结合方向 1 () [] -> . 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! 逻辑非运算符 1 (单目运算符) 自右至左 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 ...
阅读全文
摘要:1.TCP/IP协议 TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议,ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP协议是一个四层协议,结构如图: 每一层负责的功能如下: 链路层:也被称之为数据链路层或网络接口层,通常包括OS中的设备驱动程序和计算机中对...
阅读全文
摘要:1.memmove 函数原型:void *memmove(void *dest, const void *source, size_t count) 返回值说明:返回指向dest的void *指针 参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数 函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和...
阅读全文
摘要:俄罗斯方块游戏是由前苏联科学院计算机中心的工程师阿列克谢.帕基特诺夫发明的一款小游戏。 1.功能需求分析 1.1主要功能 实现三个功能:1.游戏欢迎界面;2.游戏执行功能,包括计算得分;3.游戏结束界面 1.2游戏基本规则 游戏共由7种不同形状的方块组成,游戏开始以后随机产生一个方块由屏幕的顶端开始向下落下,落到底端则固定到桌面,并开始下一个方块。在游戏窗口的左边作为游戏的桌面,用宽度2...
阅读全文
摘要:在VS中新建win32 Application Proj,选择Empty ,完成TetrisWin项目创建。新建tetris.c和tetris.h两个文件,打开tetris.h文件。 首先要包括的是可能要用到的头文件,那在这里要用到是什么头文件呢? 本系统是开发一个游戏,那么游戏的话就需要有和用户进行交互的游戏界面,那就需要绘图操作,那么就会用到windows的绘图函数库,所以第一步就是要包括这...
阅读全文
摘要:1.功能需求分析 1.1主要功能 i.游戏欢迎界面 ii.游戏执行功能,包括计算得分 iii.游戏结束界面 1.2游戏基本规则 游戏开始时蛇的长度是4个单位,并且按照当前方向不停地移动。移动范围是COLUMNS*ROWS个格子。食物随机出现在屏幕上,但不能紧靠边缘,保存屏幕上有3个事物。如果蛇碰到边缘或自己,则游戏结束。游戏中可以暂停以及恢复游戏。 基本操作 i.游戏进行中玩家可以...
阅读全文
摘要:Win视窗编程和DOS下编程不同,但是类似。Windows应用程序也有它的入口函数,DOS程序中的入口函数是main函数,Windows程序的入口函数是WinMain函数。新建Win32 Application, 选择Empty proj, Finished 完成HelloMsg项目创建。添加HelloMsg.c文件,具体编码如下: #include int WINAPI Win...
阅读全文
摘要:前面已经把图书管理系统的所有功能模块都已实现完毕了,下面通过运行来分析该系统的操作流程并检验是否符合逻辑设计要求。 3.系统操作过程 F5 运行 1.登录系统 系统运行之后,提示输入用户名和密码,系统首次运行时的用户名和密码分别是 admin 和 123 , 管理员权限登录,进入管理员操作界面,如下是admin登录前面示意图。 图书管理系统登录....
阅读全文
摘要:接下来将要实现用户管理模块的相关功能,用户管理模块的主要功能包括增加用户,查找用户以及保存用户等功能,查找用户时,如果查找成功,充许对查找到用户进行更新或删除操作。如果查找不成功,则给出相应的提示信息。 打开user.c文件, 首先包含要用到的头文件,同时还需要定义一个常量用来表示存储用户信息的文件,定义一个单链表的头节点,并初试化为空。具体实现如下: #pragma warning(disabl...
阅读全文
摘要:前面在>中把系统中的三大功能模块中可能涉及到的常量,结构体及相关函数进行了声明定义,下来就来实现它们。 执行系统首先从登录到系统开始,所以首先我们先来实现登录模块,打开management.c 文件。 登录模块完成的主要功能是用户登录和退出系统。用户登录系统时,会要求输入登录名和密码,并根据不同用户权限调用不同的菜单显示;退出系统时,不同类型的用户退出时调用的函数也不相同。 1.预处理 预...
阅读全文
摘要:要在c控制台中输入一个字符显示一个星号, 则不能用"stdio.h'提供的库函数,因为它们都是带回显的,比如getchar() getchar()用来接收输入的字符串,输入一个字符就回显一个,直到遇到回车键或空格才停止接收输入(C语言中判断是否键入回车键: if(presskey == '\r') printf("yes"); ) 再如scanf()也是带回显的。要实现输入一个字符回显一个星号...
阅读全文
摘要:1.功能需求分析 家庭财务管理系统给家庭成员提供了一个管理家庭财务的平台,系统可以对家庭成员的收入和支出进行增加,删除、修改和查询等操作,并能统计总收入和总支出。其主要功能需求描述如下: (1)系统主菜单界面: 充许用户选择想要进行的操作,包括输入收入管理、支出管理、统计和退出系统等操作。其中收入管理包括添加收入、查询收入明细、删除收入和修改收入的操作,支出管理包括添加支出、查询支出明细、删除...
阅读全文
摘要:fseek 函数功能是将文件指针移动到指定的地方,因此可以通过fseek重置文件指针的位置。函数原型: int fseek(FILE *stream, long offset, int origin); 参数说明: stream : 待移动的FILE型指针变量 offset:偏移量,每次移动多少个字节 origin: 指针开始的位置 返回值: 如果fseek ()返回值为0,表示执行成功,如果返回...
阅读全文
摘要:1: fprintf() #include fprintf是用于文件操作的,原型是int fprintf( FILE *stream, const char *format [, argument ]...); fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.比如 char n...
阅读全文
摘要:在C语言中进行文件操作时,我们经常用到fread()和fwrite(),用它们来对文件进行读写操作。下面详细绍一下这两个函数的用法。 我们在用C语言编写程序时,一般使用标准文件系统,即缓冲文件系统。系统在内存中为每个正在读写的文件开辟“文件缓冲区”,在对文件进行读写时数据都经过缓冲区。要对文件进行读写,系统首先开辟一块内存区来保存文件信息,保存这些信息用的是一个结构体,将这个结构体typed...
阅读全文
摘要:用scanf("%s",array); 的话遇到空格就停止接收后面的字符了,那怎么才能接收带空格的字符串呢? 1.用 gets() ,它可以接收带空格的字符串, 直到回车才结束输入 char buf[80]={0}; gets(buf); //可以读取空格, 回车结束输入 2.使用"%[^\n]" 也是可以接收输入一个带空格的字符串,直到回车结束接收 char buf[10] =...
阅读全文