- 博客(23)
- 收藏
- 关注
原创 链表面试题
#define _CRT_SECURE_NO_WARNINGS 1#ifndef __SLIST_H__#define __SLIST_H__#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>typedef int DataType;ty...
2018-06-25 10:20:14 139
原创 时间复杂度和空间度
基本概念: 数据:计算机中可以操作的对象; 数据元素:组成数据的,有一定意义的基本单位; 数据项:一个数据元素可由若干个数据项组成。 对于顺序结构来说,删除和插入不方便;而对于物理结构来说,查找不方便。 时间复杂度: 一般情况下,使用O渐进表示法来计算算法的时间复杂度。 一般算法O(n)计算方法: (1)先找总运行次数(循环对应乘法;顺序对应加法); (2)给次数加上O( ...
2018-05-26 15:49:20 436
原创 关于数组和指针及函数和指针结合的理解
在理解数组和指针的结合关系之前,必须清楚数组和指针之间是没有任何关系的,除非我们自己给它们之间建立一定的关系。下面将以一个简单代码进行分析:string.cchar arr[] = "abcdef";test.cextern char* arr;#include<stdio.h>int main(){ printf("%s\n",arr); return...
2018-04-26 10:56:10 325
原创 浅谈函数的调用过程
本文将简要叙述函数调用过程中栈桢的创建和销毁将以下面的代码为例展开分析:#include<stdio.h>int Add(int x,int y){ int c=0; c=x+y; return c;}int main(){ int a=12; int b=20; int ret=0; ret=Add(a...
2018-04-15 17:45:01 203
原创 C实现三子棋
三子棋实现的步骤如下:(1)初始化棋盘;(2)玩家走;(3)电脑走;(4)判断输赢;(5)判断棋盘是否已满。具体代码如下:(1)将棋盘初始化为" ";void init_board(char board[ROW][COL],int row,int col){ // int i=0;// int j=0;// for(i=0;i<row;i++)// {
2018-04-10 21:51:22 145
原创 C实现简单扫雷
主要实现以下功能: (1)第一次不被炸死; (2)若第一次没有踩到雷,以(x,y)坐标为中心进行展开,并统计雷的数目; 实现该游戏思路如下: (1)需要用一个数组去布置雷,另一个数组进行显示;分别用mine[ ][ ]和board[ ][ ]表示; (2)对这两个数组进行初始化,将mine[ ][ ]数组初始化成0,将board[ ][ ]数组初始化成*, (3
2018-04-10 21:36:16 133
原创 指针相关总结
1、指针数组 指针数组是数组,是一个存放指针的数组; 比如:int *arr1[10]:arr1表示存放了10个指针的整型数组,(指针就是地址); 2、数组指针 数组指针是指针; 比如:int *a 表示能够指向整型数据的指针; int*p[10]中的p先和[ ]结合,所以p代表数组,而int (*p)[10] 中的p先和*结合,
2017-12-24 17:21:05 137
原创 简单扫雷游戏的实现
game.h#ifndef __GSME_H__#define __GSME_H__#include #include #include #include #define ROW 10#define COL 10#define ROWS (ROW+2)#define COLS (COL+2)#define DEFAULT_COUNT 55void InitBoard(c
2017-12-17 16:01:50 213
原创 程序5
#define _CRT_SECURE_NO_WARNINGS 1//求第n个斐波那契s数 1 1 2 3 5 8 13 21 34....//1、递归法/*#includeint fib(int n){ if(n<=2) return 1; else return fib(n-1)+fib(n-2);}int main(){ int n=0; int ret=0;
2017-12-13 16:32:07 227
原创 程序4
#define _CRT_SECURE_NO_WARNINGS 1//编写函数实现一个数的二进制序列从左到右翻转/*#includeunsigned int reverse_bit(unsigned int value){unsigned int target=0;unsigned int flag=1;int i=0;for(i=0;i{if(valu
2017-12-08 16:31:40 154
原创 总结函数的调用过程
本文主要总结在C编程中调用函数的过程以及栈桢的创建和销毁: 每一次函数调用都是一个过程,这个过程要为函数开辟栈空间,用于本次函数调用中临时变量的保存、现场保护,这块栈空间称之为函数栈桢。栈桢的维护依赖于ebp和esp两个寄存器,ebp是栈底寄存器,存放了维护栈底的指针;esp是栈顶寄存器,存放了维护栈顶的指针,而从栈底到栈顶,地址由低到高
2017-12-08 09:28:20 313
原创 三子棋游戏
#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"//打印菜单void menu(){printf("*******************************\n");printf("*****欢迎来到三子棋游戏********\n");printf("*******1、进入游戏*************\n");
2017-11-28 15:35:21 139
原创 数组相关知识总结
本文主要是对有关一维数组和二维数组在C编程中相关知识的总结1、一维数组的创建和初始化; 数组的创建如下(以创建整型数组为例) int arr[10];(注:[ ]中必须是常量,不能为变量) 数组的初始化:指在创建数组的同时给数组的内容一些合理初始值(初始化) 如:int arr[10]={1,2,3,4}; [ 注:数组在创建的时候如果想...
2017-11-22 18:12:06 192
原创 程序3
1.判断谁是凶手#includeint main(){int k=0;for(k='A';k{if(((k!='A')+(k=='C')+(k=='D')+(k!='D'))==3){printf("%c是凶手\n",k);break;}}return 0;}2.在屏幕上打印杨辉三角#include#define n 6i
2017-11-21 16:27:20 176
原创 程序2
使用函数,实现两个数的交换#includevoid Swap(int*px,int*py)//此时不需要返回值{int tmp=*px;*px=*py;*py=tmp;}int main(){int a=12;int b=11;printf("a=%d b=%d\n",a,b);Swap(&a,&b);printf("a=%d b=%d\n"
2017-11-19 09:41:37 146
原创 程序1
写一个函数返回参数二进制中1的个数#includeint main(){int num=0;int count=0;scanf("%d",&num);while(num){if (num&1!=0)count++; num=num>>1;}printf("参数二进制中1的个数为:%d\n",count);return 0;}获取一
2017-11-16 20:53:23 152
原创 坚持后的美好
接触C语言也有一段时间了,在这期间有感到艰难,也有感到过一点小小的成就感,每次感觉到压力大,自己并没有做到那么好的时候,都会告诉自己只有坚持下去,才有可能看到减持后的美好。下面是我对有关C语言操作符的总结: 掌握C语言操作符是至关重要的,它包含算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式以及下标引用、函数调用和结构成员。
2017-11-16 19:17:06 175
原创 加油
1. 在整型有序数组中查找想要的数字;#includeint main(){int arr[]={1,2,3,4,5,6,7,8,9,10};int key=7;int left=0;int right=sizeof(arr)/sizeof(arr[0])-1;while(left{int mid=left+(right-left)/2;if(arr[m
2017-11-15 20:06:14 140
原创 坚持
/*输出规定的菱形图案#include int main(){int line=0;int i=0;scanf("%d",&line);for(i=0;i{int j=0;for(j=0;j{printf(" ");}for(j=0;j{printf("*");}printf("\n");}for(i=0;i{
2017-11-14 21:34:25 127
原创 美好的一天
#include #include/*1#include int main(){ int a=10; int b=12; a=a^b; b=a^b; a=a^b;//数a两次异或同一个人数b(a=a^b^b),仍然是原值a; printf("a=%d,b=%d\n",a,b); return 0;}*#include int main()
2017-11-11 16:15:50 135
原创 继续前行
喜欢努力中的自己,做更好的自己~计算1/1-1/2+1/3......+1/99-1/100的值# includeint main(){int sum=1;int sign=1;int deno=2;int term=0;for(deno=2;deno{sign=(-1)*sign; term=sign*(1/deno);sum=sum+te
2017-11-09 17:31:37 125
原创 新的开始
这是我的第一篇博客,写博客因编程而起,那就谈谈我决定学习编程的过程。首先自我介绍一下,我现在是一名研一的研究生,但我的专业(控制科学与工程)和计算机编程不太相关,在某种程度上还是有一定联系的,由于当时我考研的一个主要原因就是将来可以找到更好的工作,但现在看来无论在哪个阶段,工作也都不是那么好找,听说现在女硕工作更不好找工作,这让我陷入迷茫。 我宿舍有一个计算机专业的女孩,我们进行了
2017-11-06 08:38:10 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人