- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 《C和指针》第八章书后问题
这道题其他的都比较简单,主要是划红线的两个会有问题。首先 &ints 的结果并不是一个指向指针的指针,而是一个指向数组的指针。具体在8.1.1节有讲所以 &ints 是一个指向含有20个整型元素的数组的指针,那么 &ints 的值就是这个数组中首个元素的地址,也就是100。但是答案中 &ints + 4 的值是 116 是错误的,因为 &int...
2019-11-24 20:48:28 779 3
原创 《C和指针》第七章书后编程
#include <stdio.h>#include <stdlib.h>int hermite(int n,int x){ if(n<=0) return 1; else if(n==1) return 2*x; else return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x);}in...
2019-11-23 20:48:51 302
原创 《C和指针》第六章书后编程
#include <stdio.h>#include <stdlib.h>char *find_char(char const *source,char const *chars){ if(source == NULL || chars == NULL) return NULL; else { char *t...
2019-11-22 22:08:36 403 1
原创 《C和指针》第七章书后问题
我觉得是缺点,函数调用之前编译器应该知道函数的返回类型,参数类型和个数。返回值会被转换为函数声明中指定的类型 A,相当于做了一次强制类型转换。非法,编译器会报错。返回值会被当成整型值。传递给函数的实参将进行缺省参数提升,char 和 short 类型的实参被转换成 int 型,float 类型的实参被转换为 double 型。这个函数假定传递给它的是10个元素的数组,函数...
2019-11-21 22:02:36 275
原创 《C和指针》第六章书后问题
因为通常无法预测编译器会把变量放在内存中什么地方因为它是一个整数,编译器不会生成对它解引用的指令表达式(a)花的时间更长。因为(a)中运行时才能将 offset 进行大小调整再加到 p 上,编译时不知道变量 offset 中的值。而(b)中编译时已经完成了 3*4 的大小调整,运行时直接执行加上 12 的操作。有问题,循环体中对指针先进行加1再进行解引用,如果是要执行数组的清...
2019-11-18 22:15:07 645 3
原创 《C和指针》第五章书后编程
#include <stdio.h>#include <stdlib.h>int main(){ char s[20]; gets(s); for(int i=0;s[i]!='\0';i++) { if(s[i] >= 'A' && s[i] <= 'Z') s[...
2019-11-17 21:18:47 298
原创 《C和指针》第五章书后问题
float 型,2.0和编译器有关,也就是和函数调用的顺序有关,本人测试函数调用是从左到右,即 2 - (3 * 4) = -10。在需要控制特定位的时候,比如写寄存器等。运行速度没有区别,执行的任务相同。leap_year = (year % 400 ==0 || year % 4 ==0 && year % 100 != 0);In range...
2019-11-16 21:01:48 435
原创 《C和指针》第四章书后编程
使用牛顿迭代法求一个数的平方根#include <stdio.h>#include <stdlib.h>int main(){ double value; double num,pre_num; num=1; scanf("%lf",&value); do { pre_num = num;...
2019-11-15 21:59:54 239
原创 《C和指针》第四章书后问题
按书中的说法C语言中没有赋值语句,赋值是通过表达式语句完成的x = y + z;是合法的,这样做可以在花括号内的代码块中引入一个临时变量,只有这个代码块中的语句可以访问。0123456789用于判断循环的表达式不需要初始化和调整时。while 后面少了花括号即使判断条件为假,循环体语句也至少需要执行一次的时候。oddevenodd...
2019-11-14 19:59:03 526 1
原创 《C和指针》第三章书后问题
打开头文件 <limits.h> 可以看到字符和各种整数类型的特点。打开头文件 <float.h> 可以看到定义。许多编译器会报警告。 当 long 整形变量的值在 short 范围内,变量值不变,当 long 整形变量的值超过 short 时,我测试的是去掉高位,只保留低 8 位的数据赋给 short 整形变量。不行char 类型在...
2019-11-13 16:13:55 331
原创 《C和指针》第二章书后问题
这个注释会到第5行的 /* loop counter */ 结束,会导致变量 i 未定义,以及最后一行的语法错误。我觉得应该没什么优点,不过参考答案中写了两点,仅作参考三字母词现在应该见得很少,编译器也要加上特定的参数才能显示。如果考虑 “??!” 这个三字母词,那就是要用转义字符输入 “?” 和 “ ” “,所以字符串为““Blunder??!??””,最后两个”?“不需要进行转义...
2019-11-12 19:46:40 386
原创 Ubuntu下使用Tobii Eye Tracker 4C眼动仪控制鼠标光标
之前成功在 Ubuntu 下使用了 4C 眼动仪,但是不知道什么原因目前无法使用 TobiiProEyeTrackerManager 软件来进行眼动仪的标定,也就无法使用它的 gaze visualization 功能来查看注视点的位置。虽然程序里可以输出注视点的归一化坐标,但是这样还是不直观,所以尝试了一下用 tobii 检测到的注视点位置来控制鼠标光标的位置。除了之前那个 github 工程...
2019-11-08 17:11:27 2354 1
原创 Ubuntu下使用Tobii Eye Tracker 4C眼动仪
Ubuntu下使用Tobii Eye Tracker 4C眼动仪在 tobii 的官网论坛上有关于如何在 linux 上使用 4C 的帖子,目前经测试这个项目是可行的,github 地址:https://github.com/Eitol/tobii_eye_tracker_linux_installer.目前 tobii 官网上是下不到 linux 环境下的 SDK 的,不过看帖子的内容之前应...
2019-11-07 16:49:23 1621
原创 对uC/OS-II查找最高优先级就绪任务算法的理解
因为最近想在 stm32 上跑操作系统,所以开始学习 uC/OS-II。正好这学期有嵌入式实时操作系统这门课,但上课的教材内容是广义上的嵌入式实时操作系统,所以我在图书馆借了任哲老师的这本“嵌入式实时操作系统 uC/OS-II 原理及应用”这本书。最近看到任务就绪表及任务调度这部分,关于对任务就绪表的操作主要包括登记、注销和从就绪表的就绪任务中找到优先级最高的任务。根据书本上的内容对任务的登记和注销
2017-10-28 13:15:08 1705
原创 STM32官方固件库代码解读--GPIO
最近闲得无聊,又把 stm32 拿了出来。之前学的时候是看的库函数版本,现在和寄存器版本的一起看感觉比一开始接触的时候看得顺畅多了,详细了解了底层寄存器的功能。之前用 stm32 只是调用函数,看了寄存器版本后对那些实现具体细节的库函数代码产生了兴趣,所以稍微看了看库函数的代码,同时把一些难理解的地方也记录下来。我用的是 ALIENTEK 的战舰版,看的也是他们的开发指南,这里我就写对库函数代码的理
2017-10-15 22:05:51 5431
原创 用 K60 的 UART 串口通信改变程序中的参数值
平时用单片机做东西免不了要调整一些参数,特别是调 PID 参数的时候,要不停得调整参数。如果一直通过烧程序改变参数的话,难免显得繁琐。因为最近在用 K60,所以今天我稍微研究了一下怎样通过 K60 的串口通信改变参数的值。因为时间的原因,并没有看得很深入,没怎么看 K60 的底层寄存器,代码是借助拉普兰德的库写的。所以这篇文章就不涉及寄存器方面的东西了。拉普兰德的例程中有串口中断的例程,但 UART
2017-03-29 20:18:36 5605
原创 HC-05蓝牙模块配置方法
今天调串口通信用了HC-05蓝牙模块,淘宝店给的资料并没有详细给出配置方法,一大堆AT指令看了也没什么用。后来又参考了网上的一些资料,终于配置好了并可以进行通信。下面就将配置方法列下,也就是几个指令。。无线串口通信肯定需要两个蓝牙模块,单片机发送数据给电脑,连电脑的就需要 USB-TTL 模块,蓝牙模块与 USB-TTL 连接就是 5V 连 5V,GND 接 GND ,RXD 接 TXD,TXD 接
2017-03-24 20:11:26 10365 4
原创 爬虫--安装及使用火狐插件httpfox
用 Python 写爬虫一定会要分析浏览器的各种行为,我使用的工具是火狐浏览器的插件 httpfox,下面介绍一下这个插件的安装及使用方法。一、打开火狐浏览器,点击右上角的菜单,打开附加组件 二、点击左侧的扩展,在右侧搜索 httpfox 搜索到后点击安装即可,安装好后重启火狐浏览器。三、打开 httpfox 点击右上角菜单,点击定制,将 httpfox 拖进来即可。单击 httpfox,
2017-03-19 22:58:38 18065
原创 如何安装使用多个版本的Python
今年寒假的时候开始接触 Python,最初入门看的是《HeadFirst Python》。我觉得 Head Firat 系列的书用来入门是很好的,也看过几本,一般不用花太长时间就能看完一本,因为这个系列的书也不是平常看的教科书。但总觉得学起来快,忘起来也快,所以,开学又在学校图书馆借了一本平常的讲 Python 的教科书,复习一下,顺便做点笔记。关于版本的选择Python 的下载地址为:https:
2017-03-18 12:48:48 1259
原创 用PyInstaller将.py文件打包成.exe文件
上一篇文章中已经把PyInstaller安装好了,下面就来看看怎么用它把写的python程序打包成直接执行的.exe文件。先写一个简单的判断质数的程序,保存为isprime.py。先用命令提示符运行这个程序。把这个文件复制到PyInstaller文件夹目录下。在命令提示符中打开这个文件夹目录,cd:PyInstaller文件夹目录 python isprime.py 执行python代码,结果如
2017-03-17 20:26:23 16493 2
原创 PyInstaller安装
最近试图将python写的小程序打包成可执行的exe文件,于是下了Pyinstaller,昨天安装时出了一点小问题,今天终于解决了。昨天在网上一直没有搜到相似的错误,就当分享一下解决这个问题的经验吧。 Pyinstaller下载网址为:http://www.pyinstaller.org/ 点击PyInstaller 3.2.1(zip)下载 这里注意一下Python的版本,支持的版本号为
2017-03-17 16:54:55 5476 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人