<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[feike24的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/feike24</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; feike24]]></copyright><item><title><![CDATA[Python练习题（三）]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80621214</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80621214</guid><author>feike24</author><pubDate>Fri, 08 Jun 2018 11:50:33 +0800</pubDate><description><![CDATA[题目：猴子吃桃问题：猴子第一天摘下若干个桃子，当即吃了一半，还不瘾，又多吃了一个 
　　　第二天早上又将剩下的桃子吃掉一半，又多吃了一个。以后每天早上都吃了前一天剩下 
　　　的一半零一个。到第10天早上想再吃时，见只剩下一个桃子了。求第一天共摘了多少。 
1.程序分析：采取逆向思维的方法，从后往前推断。 
2.程序源代码：

x2 = 1
for day in range(9,0,-1):
  ...]]></description><category></category></item><item><title><![CDATA[Python练习题（二）]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80581691</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80581691</guid><author>feike24</author><pubDate>Tue, 05 Jun 2018 15:10:54 +0800</pubDate><description><![CDATA[题目：将一个正整数分解质因数。例如：输入90,打印出90=2*3*3*5。

程序分析：对n进行分解质因数，应先找到一个最小的质数k，然后按下述步骤完成：  
(1)如果这个质数恰等于n，则说明分解质因数的过程已经结束，打印出即可。 
(2)如果n大于k，但n能被k整除，则应打印出k的值，并用n除以k的商,作为新的正整数n, 
　重复执行第一步。 
(3)如果n不能被k整除，则用k+1作为k的值,...]]></description><category></category></item><item><title><![CDATA[Python练习题（一）]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80539734</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80539734</guid><author>feike24</author><pubDate>Fri, 01 Jun 2018 16:33:12 +0800</pubDate><description><![CDATA[题目：有1、2、3、4个数字，能组成多少个互不相同且无重复数字的三位数？都是多少？ 
1.程序分析：可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再取掉不满足条件的排列。  
2.程序源代码：

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if(i !...]]></description><category></category></item><item><title><![CDATA[Python应用总结]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80521703</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80521703</guid><author>feike24</author><pubDate>Thu, 31 May 2018 11:32:13 +0800</pubDate><description><![CDATA[Python 阿姆斯特朗数

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。1000以内的阿姆斯特朗数： 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。以下代码用于检测用户输入的数字是否为阿姆斯特朗数。

num = int(input(&quot;请输入一个数字：&quot;))
sum = 0
...]]></description><category></category></item><item><title><![CDATA[python实例练习]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80506962</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80506962</guid><author>feike24</author><pubDate>Wed, 30 May 2018 10:54:17 +0800</pubDate><description><![CDATA[Python 判断闰年



year = int(input('请输入一个年份:'))

if(((year % 4 == 0) and (year % 100 != 0))or(year % 400 == 0)):
    print(&quot;{0}是闰年&quot;.format(year))
else:
    print(&quot;{0}不是闰年&quot;.format(year))



python质数判断

nu...]]></description><category></category></item><item><title><![CDATA[Python简单示例]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80496433</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80496433</guid><author>feike24</author><pubDate>Tue, 29 May 2018 14:58:39 +0800</pubDate><description><![CDATA[Python数字求和

通过用户输入两个数字，并计算两个数字之和：



num1 = input(&quot;输入第一个数字：&quot;)
num2 = input(&quot;输入第二个数字：&quot;)
sum = float(num1) + float(num2)

print('数字{0}和数字{1}相加结果：{2}'.format(num1, num2, sum))


用一句代码进行改写输入：

print('两数之和...]]></description><category></category></item><item><title><![CDATA[pickle 序列化实现一个简单联系人信息管理]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80475938</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80475938</guid><author>feike24</author><pubDate>Mon, 28 May 2018 09:58:45 +0800</pubDate><description><![CDATA[import pickle
import os

datafile = 'person.data'
line = '======================================='
message = '''
=======================================
Welcome bookmark:
    press 1 to show list
    ...]]></description><category></category></item><item><title><![CDATA[绘制四叶草图案]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/80278548</link><guid>https://blog.youkuaiyun.com/feike24/article/details/80278548</guid><author>feike24</author><pubDate>Fri, 11 May 2018 11:00:30 +0800</pubDate><description><![CDATA[类初探

import turtle

def draw_shapes(): 
    window = turtle.Screen() 
    window.bgcolor(“red”)

flower = turtle.Turtle()
flower.speed(10)
flower.shape(&amp;quot;arrow&amp;quot;)
flower.right(45)
for i in range(1,37):
...]]></description><category></category></item><item><title><![CDATA[支持异步通知的globalfifo驱动]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/78524521</link><guid>https://blog.youkuaiyun.com/feike24/article/details/78524521</guid><author>feike24</author><pubDate>Mon, 13 Nov 2017 20:46:30 +0800</pubDate><description><![CDATA[前言驱动程序运行在内核空间中，应用程序运行在用户空间中，两者是不能直接通信的。但在实际应用中，在设备已经准备好的时候，我们希望通知用户程序设备已经ok，用户程序可以读取了，这样应用程序就不需要一直查询该设备的状态，从而节约了资源，这就是异步通知。好，那下一个问题就来了，这个过程如何实现呢？简单，两方面的工作。一 驱动方面
在设备抽象的数据结构中增加一个struct fasync_struct的指针]]></description><category></category></item><item><title><![CDATA[Linux内核模块]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/78421736</link><guid>https://blog.youkuaiyun.com/feike24/article/details/78421736</guid><author>feike24</author><pubDate>Thu, 02 Nov 2017 10:09:46 +0800</pubDate><description><![CDATA[1.Linux内核模块简介Linux内核如此之大，如何将需要的部分包含在内核中。
把需要的功能编译到Linux内核中。这样会产生两个问题，一生成的内核很大，二如果在现有的内核中新增或者删除功能，将重新编译内核。
Linux提供一种机制，称为模块（Module）。其具有特点是模块本身不被编译入内核映像，从而控制内核的大小。模块一旦被加载，就和内核中的其他部分相同。
2.Linux内核模块程序结构（1）]]></description><category></category></item><item><title><![CDATA[Linux 设备驱动的重点、难点]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/78421356</link><guid>https://blog.youkuaiyun.com/feike24/article/details/78421356</guid><author>feike24</author><pubDate>Thu, 02 Nov 2017 09:46:08 +0800</pubDate><description><![CDATA[Linux 设备驱动的重点、难点1.Linux学习重点和难点● 编写 Linux 设备驱动要求工程师有非常好的硬件基础，懂得 SRAM、 Flash、 SDRAM、磁盘的读写方式，UART、 I2C、 USB 等设备的接口以及轮询、中断、 DMA 的原理，PCI 总线的工作方式以及 CPU 的内存管理单元（ MMU）等。 
● 编写 Linux 设备驱动要求工程师有非常好的 C 语言基础，能灵活地运]]></description><category></category></item><item><title><![CDATA[成员函数调用]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/53148270</link><guid>https://blog.youkuaiyun.com/feike24/article/details/53148270</guid><author>feike24</author><pubDate>Sun, 13 Nov 2016 12:12:40 +0800</pubDate><description><![CDATA[#include<iostream>
using namespace std;
class MyCircle
{
public:
    double m_r;//半径
    double m_s;//面积
    double m_s = 3.14*m_r*m_r;
    /*double getS()
    {
        m_s = 3.14*m_r*m_r;
        ret]]></description><category></category></item><item><title><![CDATA[汉诺塔]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/53139684</link><guid>https://blog.youkuaiyun.com/feike24/article/details/53139684</guid><author>feike24</author><pubDate>Sat, 12 Nov 2016 13:01:14 +0800</pubDate><description><![CDATA[#include<stdio.h>
#include<stdlib.h> 
/*
如果N=1
    直接将A柱子上的盘子从A移动到C
否则
    先将A柱子上的N-1个盘子借助C移动到B
    直接将A柱子上的盘子从A移动到C
    最后将B柱子上的N-1个盘子借助A移动到C
*/
void hannuota(int n, char x, char y, char z)
{
    if (]]></description><category></category></item><item><title><![CDATA[实现read文件]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52443386</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52443386</guid><author>feike24</author><pubDate>Mon, 05 Sep 2016 20:32:32 +0800</pubDate><description><![CDATA[read
#include <unistd.h>ssize_t read (
    int    fd,   // 文件描述符
    void*  buf,  // 缓冲区
    size_t count // 期望读取的字节数
);成功返回实际读取的字节数(0表示读到文件尾)，
失败返回-1。read.c文件 
 
创建read.txt文件 
  1 好好学习Linux编译运行后： 
tar]]></description><category></category></item><item><title><![CDATA[malloc、realloc、calloc之间区别]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52437551</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52437551</guid><author>feike24</author><pubDate>Mon, 05 Sep 2016 09:32:07 +0800</pubDate><description><![CDATA[C语言跟内存分配方式 
1.从静态存储区域分配. 
       内存在程序编译的时候就已经分配好，这块内存在程序的整个运行期间都存在.例如全局变量、static变量. 
2.在栈上创建 
       在执行函数时，函数内局部变量的存储单元都可以在栈上创建，函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中，效率很高，但是分配的内存容量有限. 
3.从堆上分配，亦称动态内存]]></description><category></category></item><item><title><![CDATA[函数调用约定与名字修饰约定]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52425007</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52425007</guid><author>feike24</author><pubDate>Sat, 03 Sep 2016 19:43:14 +0800</pubDate><description><![CDATA[在Windows下，由于很多语言支持动态链接库技术，因此动态链接库是一种很好的混合编程方法。语言对函数的约定有两种：函数调用约定和名字修饰约定。不同语言默认的调用调用约定和函数的命名方式是不同的，要想不同的语言开发的动态链接库能够相互调用，那么开发动态链接库的语言和调用链接库的语言的函数约定必须相同，同时在编译时函数的修饰名也必须一样。 
1.函数调用约定 
　　调用约定决定了函数参数传送时入栈和出]]></description><category></category></item><item><title><![CDATA[SPI、UART和IIC区别]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52420353</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52420353</guid><author>feike24</author><pubDate>Fri, 02 Sep 2016 23:55:25 +0800</pubDate><description><![CDATA[SPI：高速同步串行口。3～4线接口，收发独立、可同步进行  
UART：通用异步串行口。按照标准波特率完成双向通讯，速度慢  
I2C:一种串行传输方式,三线制 3根线实现数据双向传输  
串行外围接口 Serial peripheral interface  
UART:通用同步异步收发器  
UART是用于控制计算机与串行设备的芯片。有一点要注意的是，它提供了RS-232C数据终端设备接口，这]]></description><category></category></item><item><title><![CDATA[堆栈]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52382030</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52382030</guid><author>feike24</author><pubDate>Wed, 31 Aug 2016 09:53:04 +0800</pubDate><description><![CDATA[进程映像
程序是保存在磁盘上的可执行文件。
运行程序时，需要将可执行文件加载到内存，形成进程。
一个程序(文件)可以同时存在多个进程(内存)。
进程在内存空间中的布局就是进程映像。从低地址到高地址依次为：
代码区(text)：可执行指令、字面值常量、具有常属性的全局和静态局部变量。只读。数据区(data)：初始化的全局和静态局部变量。 有初值，直接存在程序文件中。BSS区：未初始化的全局和静态局部变]]></description><category></category></item><item><title><![CDATA[环境变量函数]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52374301</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52374301</guid><author>feike24</author><pubDate>Tue, 30 Aug 2016 23:39:28 +0800</pubDate><description><![CDATA[环境变量函数#include <stdlib.h>环境变量：name=valuegetenv   - 根据name获得value。putenv   - 以name=value的形式设置环境变量， 
           name不存在就添加，存在就覆盖其value。setenv   - 根据name设置value，注意最后一个参数表示， 
           若name已存在是否覆盖其value。]]></description><category></category></item><item><title><![CDATA[注释转换]]></title><link>https://blog.youkuaiyun.com/feike24/article/details/52358132</link><guid>https://blog.youkuaiyun.com/feike24/article/details/52358132</guid><author>feike24</author><pubDate>Tue, 30 Aug 2016 00:17:21 +0800</pubDate><description><![CDATA[代码如下：.h 文件#define _CRT_SECURE_NO_WARNINGS#ifndef __CMOMMENT_COVERT_H__
#define __CMOMMENT_COVERT_H__#include<stdlib.h>
#include<stdio.h>typedef enum CONVERT_STATE
{
    NULL_STATE,
    C_STATE,
    CPP]]></description><category></category></item></channel></rss>