- 博客(44)
- 收藏
- 关注
原创 编程题刷起来
打印输出特殊形状和符号#include <studio.h>int main(){ int i,N; scanf("%d",&N); for(i=0;i<N;i++) printf("*"); return 0;}判断一个整数是否等于某连续整数之和#include<stdio.h>#include<stdl...
2020-01-17 00:58:26
315
原创 Excel排序与查重
Excel排序,可以按数值,可以按单元格颜色,也可以按字体颜色原始数据第二列通过数值排序,然后将三字四字字体颜色设置为红色,对第二列再按字体颜色排序,最后将四字单元格颜色设置为绿色,只选择三字四字的,对此区域第二列按单元格排序,就能将两字、三字、四字全分开了排序后,使用Excel查重,按照“开始”——“条件格式——突出显示单元格规则——“重复值””将重复的高亮显示,这样就能快速找到相同的...
2019-11-15 17:20:59
1097
原创 Python处理文本
VScode里面,extension里面,搜Python,安装一下Python 和Python for vscode,就可以用vscode写Python程序了,安装下C/c++@installed 可以查看已安装的插件。debugord() str()函数ord()和chr()是一对功能相反的函数,函数ord()用来返回单个字符的Unicode码,而函数chr()则是用来返回Unico...
2019-11-13 17:47:31
305
原创 找bug心得
bug1:现象:文本显示,总是有部分不该写入的部分被写入了。思考方向:怎么显示,就是复制一个数组的数据;数组有改写吗?有改写,就是心得数据进来时候,先对数组清零,然后写入新数据。串口打印,发现清零后,数组里面还有数据。这个时候去查看清零函数,发现错误了,本来现在每列9字节,每列只清零8字节,导致清零少清零列数个字节。void choosestr_init(unsigned char *...
2019-11-13 17:01:14
245
原创 code区变量存储地址、全局变量存储地址问题
code区定义的数据,会按照先定义先分配地址,递增的方式存储。这样用指针访问数组时候,地址依次递增就可以。全局变量定义数据,全局变量(堆上)递增存储,局部变量(栈中)递减存储??这篇文章写得可以原文C\C++编译器关于变量的内存分配顺序总结转载C++中局部和全局变量的地址分配知识储备:1. 内存的分区:代码区,数据区,堆,栈。 四个区域司职不同,相互配合。2. 变量的分类以及初始...
2019-11-08 18:21:33
1552
原创 C语言指针界限错误
这一段查找中,用到了指针查找if(r->n_ch==2){ pyhead=pyheadletter[r->sy[0][0]];//当前数组 pyend=pyheadletter[r->sy[0][0]+1];//指针界限 while(pyhead<pyend) { if(((*pyhead).py[1]==(r->sy[0][1]))&&...
2019-11-08 11:04:16
188
原创 C语言 一行一行读取文件txt
参考:怎么用c语言实现读取一个txt文件里的数据 要按行读出来打开文件 fopen(“需要打开的路径”)然后使用fgets函数读取行#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_LINE 1024int main(){ char buf[MAX_LINE]...
2019-11-01 11:03:53
41885
3
原创 词库联想功能
1 Pythonpython_根据"词库"进行“词联想”https://www.cnblogs.com/coskaka/p/6243335.html
2019-10-31 09:15:45
1435
原创 bug
逻辑关系正确if (input_pystr[0]!=0x69&&input_pystr[0]!=0x75&&input_pystr[0]!=0x76)错误if (input_pystr[0]!=(0x69||0x75||0x76))//这个是先或运算,再逻辑判断了...
2019-10-30 10:19:38
172
原创 c语言 排序算法
1. 冒泡排序void buddle_sort(int arr[],int len) //第一个参数是个指针呀,不是数组呀{ int i,j,temp; for(i=0;i<len-1;i++) for(j=0;j<len-1-i;j++) if(arr[j]>arr[j+1])//偏大的往后移,第二层循环一次,最大值移到第二层循环的最后一个值 { ...
2019-10-30 10:07:11
187
原创 C语言 判断语句 三元运算符
判断语句语句 描述if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。if…else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。嵌套 if 语句 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。switch 语句 一个 switch 语句允许测试一个变量等于多个值时的情况。...
2019-10-29 17:35:34
4800
1
原创 C语言 运算符
算数运算符关系运算符逻辑运算符位运算符赋值云算法杂项云算法 运算符 描述 实例sizeof() 返回变量的大小。 sizeof(a) 将返回 4,其中 a 是整数。& 返回变量的地址。 &a; 将给出变量的实际地址。* 指向一个变量。 *a; 将指向一个变量。? : 条件表达式 如果条件为真 ? 则值为 X : ...
2019-10-29 17:31:57
119
原创 C语言 关键词auto、register、typedef、volatile
auto 声明自动变量C语言提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,...
2019-10-29 16:28:27
325
原创 C语言 输入与输出
头文件包含#include <stdio>读取输入的函数scanf(), 打印输出的函数printf()scanf() 和 printf() 函数int scanf(const char *format, …) 函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。int printf(const char *format, …) 函数把输出写入到标准...
2019-10-29 15:31:54
157
原创 华为机考资料汇总
1.华为机考-模拟练习华为上机考试注意事项及编程技巧(精品)华为历年机考题收录华为2020届实习生校招机考题(2019-3-20版)华为2020秋招笔试题
2019-10-29 14:55:53
5341
原创 C语言编程 bug 修改记录
十进制和十六进制混淆addr变量是unsigned int类型,DGUS软件里填的是0x3000,本来程序应该写的是0x3000,结果直接写成3000,导致程序不对。调试状态没改就直接下载到实际的程序中。调试时候,将inputpystr[25]=“fangan”;实际程序应该初始化inputpystr[25]={0}。没有改状态导致出错变量写错,或者传错了。本来是 ...
2019-10-24 20:38:19
288
原创 C语言取int型中取高8位和低8位的用法
(1)强制类型转换得低8位,右移+强制类型转换得高8位void main(void) { unsigned int y=0x1314;unsigned char yh=0,yl=0; yl=y;//强制类型转换得低8位 yh=y>>8;//右移并强制类型转换得高8位}结果yh=0x14;yl=0x13;(2)除256(0x100)+取余数得低8位,除256(0x...
2019-10-22 11:45:53
26055
2
原创 C语言 与 或 非
(1)逻辑运算逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非) → &&(与) → ||(或)记忆口诀:not(非) and(与) or(或)运算规则1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。3) ! :当运算量的值为"真"时,运...
2019-10-22 11:14:29
51201
2
原创 keil编译器的优化问题 关键字volatile的使用
void main(void) { unsigned int y=0x1314; volatile unsigned char yh=0,yl=0; initcpu(); yl=y%256;//取余数得低8位 yh=y/256;//取整得高8位 for(y=0;y<960;) { y+=100; yl=y%256;yh=y/256; }}上面的代码中,...
2019-10-22 10:42:47
2558
5
原创 二维数组名不能作为指针传递
二维数组名即数组地址,指向首行地址,表面上看,行地址即一维数组指针,而数组名指向行就应该是指针的指针,但是必须注意指针也是有类型的,类型不同数据宽度也不同。如果a[10][10],假设int **p=a; 那么要对行递增执行p++时,编译器如何知道列宽?因为int **是指指向一个 int 类型的指针,32位系统中int 的宽度为4字节,即地址宽度是4字节,因此p将指向下一个元素(整数指针),也...
2019-10-15 15:20:47
726
原创 输入法调试bug记录
排序时候,排序的权重计算 temp_arr[i]=(output[i].n_py)*(12/(output[i].n_ch))+output[i].n_py-strlen(input_pystr)其中(output[i].n_py/(output[i].n_ch)计算的平均每个字多少个拼音字母,但是output[i].n_ch=1或2或3或4,这样除容易丢掉余数,间接降低权重,于是增加权重,...
2019-10-10 13:26:42
174
原创 数组首地址
指针可以,开始我们说了指针可以认为是游离的,所以他本身的值可以变化,而自加就是让指针的首地址变化,但是数组是固定的,要变化一个数组的首地址就要用到双指针。关键:数组的首地址是常量指针 不能改变 unsigned char p1_f[30]={0}; unsigned char p1_b[300]={0};void change_page(unsigned char **p1_f,u...
2019-09-29 16:55:22
1196
原创 关于头文件的include问题
两个.h文件Search.c中用到这两个文件。结构体声明在resource.h,初始化在pymb.h如果在Search.c中先include《pymb.h》会报错pymb.h(15): error C230: ‘hzktwo’: unknown struct/union/enum tag,换个顺序,先include《resource.h》则 不会出错。也就是包含也要先申明,再使用。...
2019-09-27 11:27:28
560
原创 编程里面,基本的数学素养不能丢啊
for(i=0;i<max_n_output;i++)// { temp_arr[i]=(output[i].n_py)*(12/(output[i].n_ch));//这个效果不太好用,这里只用了两个数,怎么给加权重,把其他的数也用起来呢?把这个顺序重调一下呢?+12*(output[i].n_ch),把这个加上也不行,因为n_py/n_ch最大为6,如果n_py/n_ch+n_...
2019-09-27 09:23:03
98
原创 注意变量范围
int main(void){unsigned char i;unsigned char len[396]; struct pybm result[396];for(i=0;i<260;i++){len[i]=strlen(inputpystr[i]);}while(1);}太蠢了,unsigned char i范围是【0-255】,i<260永远成立的,这个循环...
2019-09-26 15:56:28
94
原创 排序算法 和打断点调试 选择排序和冒泡排序的稳定性对比验证
在博客园看到的排序算法,十分有趣,先贴过来,回头研究研究,再写学习心得。十大经典排序算法(动图演示)
2019-09-26 09:18:16
280
原创 C语言 return 语句
返回类型是void 空型这里面如果return语句返回一个值的话会报错,如果就只是一个return;表示程序结束不继续往下执行。在void型里面使用return是为了在符合某种条件的时候强行退出这个函数。楼上说的那个return其实是func函数的,它有一个int型,不是main的。return表示中止当前函数的运行,并将操作权返回给调用者。如果是在main函数中,表示将操作权返回给操作...
2019-09-25 14:52:39
1502
原创 宏定义使用
全局变量 unsigned char max_n_output=100;struct record output[max_n_output];会报错MAIN.C(12): error C221: non-constant case/dim expression非常数 案例/大小 表达式宏定义#define max_n_inputpystr 25struct record out...
2019-09-24 17:46:42
863
原创 局部变量赋值传递 要用指针函数的按值传递??
struct pybmindex{ unsigned char *py; unsigned char bm;};struct pybmindex pysm[]={{"b",1},{"p",2},{"m",3},{"f",4},{"d",5},{"t",6},{"n",7},{"l",8},{"g",9},{"k",10},{"h",11},{"j",12},{"q",13},{"x",...
2019-09-24 13:27:05
489
原创 拼音分词(lzj)
#include <stdio.h>#include <stdlib.h>char *pystr = "zhong";struct record{ unsigned char isright; //isright=0无效,isright=0x5A有效 unsigned char n_py; //拼音偏移 unsigned char...
2019-09-23 11:15:54
447
原创 keil 调试
头文件定义数据头文件如果声明函数,变量 ,要加上#ifndef __????(头文件名称)_H__#define __????(头文件名称)_H__。。。。。。。。#endif 这样在多个C文件包含时候,定义过一次后,就不会再定义但是如果是定义数据,struct pybmindex pydz[]={{"a",1},{"o",2},{"e",3},{"ai",47},{"ei",5}...
2019-09-19 14:32:29
341
原创 单片机变量存储问题
所提到变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下: [存储种类] 数据类型 [存储器类型] 变量名表在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。存储种类:自动(auto),外部(extern),静态(static)和寄存器(r...
2019-09-18 17:44:28
1404
原创 数组与函数 : 传递数组给函数和从函数返回数组(菜鸟教程写的真不错)
C 传递数组给函数void myFunction(int *param);//形式参数是一个指针void myFunction(int param[10]);//形式参数是一个已知大小的数组void myFunction(int param[]);//形式参数是一个未知大小的数组从上面最后一种方式看,作为参数传递时候,数组的长度是无关紧要的,因为C不会对形式参数执行边界检查。#incl...
2019-09-11 13:15:11
775
转载 C语言 结构体
定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:struct tag { member-list member-list member-list ...} variable-list ;tag 是结构体标签。member-list 是标准的变量定义,比如 i...
2019-09-10 18:12:28
415
原创 推荐免费可以自学到相关技术的网站
部分网站上学习过,部分没有,先贴过来不做评价,等了解比较深入再点评慕课网 https://www.icourse163.org/菜鸟教程 https://www.runoob.com/cprogramming/c-100-examples.html万门大学 https://www.wanmen.org/学堂在线(清华学堂)http://www.xuetangx.com...
2019-09-10 17:21:37
262
原创 关于传参是指针的值的修改? 可
void change_page(unsigned char *m,unsigned char *n) ;int main (){unsigned char *p=0; //指向汉字字符串的首地址unsigned char *p=0; //指向汉字字符串的首地址 unsigned char PY_mb_ji[] ={"讥击饥圾机肌鸡迹姬积\xFD基绩缉畸箕稽激及吉汲级即极急疾棘集嫉...
2019-09-10 11:45:12
913
原创 sizeof用法 汉字的机器内码直接赋值
void main(void) {unsigned char s[]={"数\xFD字标点大字母小字母"};// cafd d7d6 b1ea b5e3 b4f3 d7d6 c4b8 d0a1 d7d6 c4b8 int b;unsigned char *p;unsigned char a[9]={0};p=a;*p='\xca'; //a[0]=ca,机器内码*(p+1)=0...
2019-09-06 09:19:13
361
原创 关于函数调用时候,形参值、传递实参值,的改变问题
void function1(int x){x=5;}void function2(int *x){*x=5;} int main(){int a=0;function1(a);//此时a=0/*因为调用时候,首先是执行int x=a的操作,函数里面依然是对x=5赋值,没有改变a*/function2(&a);//此时a=5/*因为调用时候,首先是...
2019-09-03 17:49:57
6703
转载 基础查找算法实现
原文链接:https://www.cnblogs.com/vaiyanzi/p/9432931.html我这个菜鸟很有感慨,就转过了一、顺序无序查找算法顺序查找算法很简单也很好理解,就是在一个序列中从前往后遍历集合直到查到目标值为止。通常查找最大值和最小值都是这种方法。1、顺序查找的一般实现:public static int SqSearch(int[] source, int tar...
2019-08-21 11:03:02
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人