- 博客(23)
- 收藏
- 关注
原创 MySQL学习笔记-索引
可以对常使用的字段添加索引,提高查询效率。但,如果增、删记录,索引就会发生改变,增加查询时间,另外,主键自动添加索引一、添加索引语句:ALTER TABLE studentADD INDEX idx_score (score) #添加idx_score索引,是student表中的score2.1 唯一索引:由于业务中有关键字具有唯一性但存在更改的可能性(身份证号,邮箱等)不能作为主键,但他们之间又相互唯一,这时可以添加唯一索引,来提高查询效率。添加唯一索引语句:ALTER TAB..
2021-12-09 11:33:22 367
原创 C语言--关于指针和解引用的几个知识点
1.什么是指针?指针是编程语言中的一个对象,利用地址,他的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。指针形式由type和*决定。2.为什么要存在指针存在指针是为了更方便的定位内存中的某个位置,利于操作。3.下面澄清几个名词指针为地址,其大小由电脑是几位决定的。指针大小在32位平台上是4个字节;在64位上...
2018-04-26 13:39:17 1150
原创 C语言--模拟实现strcmp函数
首先明确函数含义:strcmp为比较函数,函数原型为int strcmp(const char * src, const char * dst)比较过程中优先比较字符串的ASCIIZ值(从左到右比较,直至出现不同字符或'/0'为止)当src<dst时,返回值为负数;当src=dst,返回值为0;当src>dst,返回值为正数。下面给出实现函数的代码:第一种方式:char *my_st...
2018-04-26 12:26:58 648
原创 C语言--实现strstr函数
首先介绍一下strstr函数:strstr()函数搜索一个字符在另一个字符中的第一次出现。该函数返回字符串的其余部分(从匹配点);若果未找到所搜索的字符串,则返回false。如果dst为空则返回NULL;如果sub_str为空则返回字符串。下面给一例子做以解释:下面给出实现函数的代码:char *my_strstr(const char* str1, const char* str2){ asse...
2018-04-26 11:22:09 773
原创 C语言--实现strcat函数
首先明确strcat是字符拼接函数,所以在实现时依然先判断字符串是否为空(用assert)。设置两个字符串dst和src,strcat要将src拼接至dst后面,所以dst的空间要足够容纳src。又因为src被拷贝是不允许被改变,所以用const锁起来。拼接思想为先设置一个字符串为ret,让ret先等于dst,之后dst++移到dst的'/0'的位置将src再拷贝至ret(dst)后面即实现字符串...
2018-04-26 10:42:03 1866
原创 C语言--实现strcpy函数
strcpy在拷贝字符串时要拷贝‘/0’所也dst的长度不能小于str。但在拷贝时‘/0’拷不进去,所以只能在外部赋‘/0’(*dst = *src)。拷贝字符串前要先判断字符串是否为空,所以要用到assert(断言)去进行判断。第一种形式:int my_strcpy(char *dst, const char *src){ char *ret = dst; assert(dst != NULL)...
2018-04-25 22:48:38 555 3
原创 C语言--实现strlen函数
首先要明确strlen函数的意义: strlen所从事的是一个计数器的工作,它是用来计算字符串的长度。它可以从字符串的任意位置开始计数,直至碰到字符串末尾的‘/0’结束计数工作。第一种方式:设置一个计数器count,从字符串开始计数,直至碰到字符串末尾的‘/0'结束计数工作。int my_strlen(const char * str){ int count = 0; while...
2018-04-25 22:14:09 866
原创 逆置一个字符串
输入一个字符串为“student a am i”,要求输出为“i am a student“#include<stdio.h>#include<windows.h>void reverse(char *start, char *end){ while (start < end) { *start ^= *end; *end ^= *start; *start ^...
2018-04-20 15:55:39 423
原创 关于求解两数平均值的几种算法
第一种算法:这种算法是最容易想起来也是最简单的,但同时也存在问题。该种算法只适用于数据不溢出的情况,代码如下(在VS环境下运行)。#include<stdio.h>#include<windows.h>int main(){ int a = 10; int b = 20; printf("average = %d\n", b + (a - b) / 2); system("...
2018-04-20 15:04:20 1843
原创 数组与sizeof、strlen
在正式开始之前想先介绍几点字符串的相关知识。char arr[ ][ ] = {'a','b','c','d','e','f'} 括号内的字符串末尾没有'\0'所以这个字符串在计算长度的时候是停不住的。char arr[ ][ ] = "abcdef" 引号内的字符串在末尾是有'\0'存在的sizeof:1:计算整个数组的大小,单位为字节。2:只有两种形式出现在括号内表示整个数组,其余的任何形...
2018-04-05 22:27:28 260
原创 三字棋的C语言代码
三字棋代码在编写过程中先分三个部分来进行编写:头文件(程序执行过程中所有函数的声明部分game.c)、源文件(函数的具体实现game.h)、执行程序(程序的执行部分test.c)。在编写过程要考虑到:菜单的打印、棋盘的打印、玩家和电脑下棋的位置(上一次下过的位置,下次仍可以展现出来;玩家输入的位置与二维数组之间差一个1,也要提前进行处理)、判断游戏的输赢game.h:#ifndef _GAME_H...
2018-04-05 13:49:17 487
原创 猜数字游戏代码
#define _CRT_SECURE_NO_WARNINGS 1#include "stdio.h"#include"time.h"#include"stdlib.h"void meun(){ printf("****************************\n"); printf("**********1. play***********\n"); printf("**********.
2018-03-19 21:16:17 364
原创 关系运算符的总结
1、算数操作符+(加法) -(减法) *(乘法) /(除法) %(取模)关于 / (除法):/两边都为int型则结果为int型,有一个为float则结果为float型。关于 % (取模):接受两整形运算2、移位操作符移位操作符移的是二进制序列<< 向左移动(向左移动n位,左边n位舍弃,右边补n个0),有十进制数乘2的效果。>> 向右移动 1.算数移位:向右移动n位...
2018-03-18 22:40:04 1228
原创 整型变量交换值
两整形变量交换值(创建临时变量)#include<stdio.h>int main(){ int num1 = 10; int num2 = 20; int tmp = 0; scanf("%d%d", &num1, &num2); printf("num1 = %d, num2 = %d", &num1, &num2); tmp = num1; num...
2018-03-15 19:42:24 259
原创 素数的几种方法
第一种:#include<stdio.h>int main(){ int i = 0; for(i = 100; i <= 200; i++) { int j = 0; for(j = 2; j <= i; j++) { if(i%j == 0) { break; } if(i == j) { printf("%d\n",i); }...
2018-03-12 22:32:49 173
原创 小试牛刀
1.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。#include "stdio.h"int main(){ float i; float j; float m; float n; float l = 0.0; for(i = 1; i <= 99; i += 2) { m = 1 / i; m += m;} for(j = 2;j &l...
2018-03-11 22:45:51 170
原创 一路前行,一路学习
我是一个对编程十分有兴趣的女生,日后希望可以多多进步。 希望自己在编写代码的路程上可以一路前行,一路学习,一路成长。在学习路程中要理论和实践相结合,主动查找资料改正代码中错误,提高代码的质量。保证自己每天都能看看代码,敲敲代码以保证自己的手不会生疏。为了我日后的目标——腾讯,前进!...
2018-03-08 21:22:58 283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人