- 博客(45)
- 收藏
- 关注
转载 BSS段和数据段的区别
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。全局的未初始化变量存在于bss段中,具体体现为一个占位符;全局的已初始化变量存于data
2016-10-14 22:20:10 1502
原创 超出类型范围的计算
char a = 111; char b = 15; char c = a * b / 3; 求c的值这个主要是关于,超出数值范围会被截断和类型转换的问题。 由于3是一个整型数值,所以编译器会将a,b转换为int型。111*15/3 = 555;由于c是char型,超过了它的范围,会进行截断,555转换为16进制是0x22b, 截断后是0x2b,而0x2b的十进制是43,所以c的值就是43
2016-09-25 11:59:43 1258
原创 linux 下 undefined reference to `mysql_init'解决办法
这是因为编译的时候没有指定库,只需要在编译时,添加选项:-lmysqlclient 就可以编译通过了
2016-09-23 21:50:33 4208
原创 C语言--查找算法
简单查找(顺序查找) 从序列起始位置开始,逐个将序列中的元素与所要查找的数据进行比较,有则查找成功,如果查找到序列最后一个元素也没有匹配,则查找失败int orderSearch(int a[], int n, int data){ int i; for(i = 0; i < n; i ++) if(a[i] == data) return
2016-09-10 22:22:44 1619
原创 C语言--排序算法
简单排序 按照规定的顺序(从大到小或从小到大),两两比较所有的数据。如果反序则交换位置,直到比较完所有的数据。void simple(int a[], int n){ int i, j, temp = 0; for(i = 0; i < n; i++) { for(j = i + 1; j < n; j++) { i
2016-09-10 20:32:54 276
原创 各类面试题集合
1、在同一个.c文件中,局部变量可以和全局变量重名。(对) 局部会屏蔽全局,局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在
2016-09-09 22:50:55 256
原创 C语言--内存管理
栈–内存池 堆–内存池 内存属性:起始地址、内存大小 动态申请一块内存,它的实际所占的空间为:申请的可用空间 + 内存管理区 操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。例如:p = malloc(100); 实际占用的内存大小 = 申请的内
2016-09-09 21:39:11 232
原创 1005. Spell It Right (20)
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.Input Specification:Each input file contains one test case. Each cas
2016-08-30 15:29:05 215
原创 Linux知识点纠错集
1、下面关于i节点描述错误的是? i节点和文件名是一一对应的 注: 在linux文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i节点对一个文件进行索引。I节点包含了描述一个文件所必须的全部信息。所以i节点是文件系统管理的一个数据结构。 (1) 一个磁盘可以划分为N多扇区,每个扇区有512字节 。扇区是磁盘上的基本存储单元,我们可以将每个扇区进行编号,这样磁盘
2016-08-30 15:15:41 1408
原创 Linux驱动编程day6-外部中断处理
最基本的中断:外部高低电平中断 中断源:中断号60,PIO中断, 选择有中断输入功能的GPIO口作为中断输入 设置PIN脚功能为EINT(110) 定义PI12、PI13脚作为中断输入脚#define D11 PI12#define D12 PI13设置PI12、PI13脚的功能为EINT功能(对应不同的中断编号)#define PI12_13_SELECT_MASK (0
2016-08-28 23:06:58 389
原创 Linux驱动编程day5-驱动自动加载,编译进内核以及自动执行
驱动提供一种机制(实现什么功能), 应用程序提供一种策略(如何使用这些功能) 1、linux驱动自动加载ko和应用 (1)在自动执行脚本中添加应用程序 cd /etc/ 里有一个profile文件 vim profile 在最后添加自己要执行的命令#/sbin/insmod /root/cyw/leddrv.ko#/root/cyw/led_test &多次登录会多次执行多进程,会带来影
2016-08-27 16:55:58 712
原创 Linux驱动编程day4--实现硬件控制
当有多个任务共同使用一个设备,为防止内存泄漏,解决办法:1、上锁,只允许一个任务占用;2、建立一个链表,为每个任务分配独自的空间,用链表来管理内存空间。 设备号以及各个描述符、套接字、进程号都可以看成是数组的下标。在用户进程和设备驱动程序之间会有一个虚拟文件系统,它负责将系统调用与驱动函数相关联。 虚拟文件系统(VFS)为上层的用户提供了一套标准的文件操作接口,如(open, read, w
2016-08-25 23:31:18 388
原创 warning: function declaration isn’t a prototype(函数声明不是原型)
在编写linux驱动程序时,遇到这个问题,后来发现是在函数定义时,无参函数需要写成如下形式: 在liunx驱动中定义一个无参函数: int free_size() { …… } 要改成: int free_size(void) { …… }
2016-08-25 22:18:21 999
原创 linux设备驱动day3-驱动介绍,注册和加载实现
linux设备的分类: 字符设备: 串口、终端、触摸屏、键盘 查看方式:ls -l /dev 以c开头的文件都是字符设备文件。 块设备: Flash、ramdisk(内存磁盘)、harddisk(硬盘) 查看方式:ls -l /dev 以b开头的文件 网络设备: ifconfig -aLinux抽象了对硬件的处理,所有的硬件设备都可以看作普通文件一样看待,可以使用和操作文件相同的,标
2016-08-24 23:24:31 317
原创 STM32学习之路:day2-初始32函数库和外部中断
读写寄存器可以有两种方式:一、直接对寄存器进行配置,二是通过调用库接口对寄存器进行操作。 两者相比各有优缺点: 直接配置寄存器的缺点:1、开发速度慢 2、程序可读性差 优点是1、更直观 2、程序运行占用资源少 直接对寄存器的某些位进行置1或清0操作,能清晰看到驱动代码使用了什么寄存器,没有库函数层,省去代码为分层而消耗的资源 库函数开发方式:用结构体封装寄存器参数,用宏表示参数,意义明
2016-08-22 23:47:13 422
原创 STM32学习之路:day1-arm内核结构 下载编译程序和keil的使用
写之前:最近在学习stm32系列的单片机的使用,之前在学校接触的一直51系列的单片机,对32不是很熟悉,所以打算在学习的过程中,记录下学习过程,以便以后回顾,以及希望可以给同样在学习的同学一些帮助。在此次学习的过程中,主要用到的工具是keil5。安装软件以及破解地址:(稍后补上- -)开启学习之路,骚年~ 在第一天里,主要学习了如何使用编译工具keil5,了解arm结构,stm32的初步认识。
2016-08-21 22:15:33 625
原创 QT 编程学习记录のUDP文件传输
最近在学习QT的网络编程,涉及UDP这块,动手写了一个基于UDP传输协议的文件发送和接收程序,其中涉及了一些QT控件的功能,也包含了文件操作。 UDP:是一种无连接,不可靠的传输层协议,在传输和接收之前不需要握手操作,建立套接字之后,发送端直接进行文件的读取和发送,而接收端循环检测是否有数据可读,可读就读取数据并写入新建的文件。 重点在于套接字的信号和槽的使用。 主要代码如下: 发送端:vo
2016-08-10 00:11:10 1845 1
原创 1002. A+B for Polynomials (25)
A+B for Polynomials (25)时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This time, you are supposed to find A+B where A and B are two polynomials.InputEach input file con
2016-08-01 22:50:52 192
原创 PAT (Advanced Level) Practise 1001. A+B Format (20)
A+B Format (20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Calculate a + b and output the sum in standard format – that is, the digits must be separated into groups o
2016-07-31 23:23:13 207
原创 opencv 加滚动条进行图片缩放 入门级
最近在自学opencv, 在学习了一些简单的操作函数之后,打算进行一些简单的练习,缩放图片,运用cvPyrDown函数,循环调用,进行2倍的缩放。// wrok_2_5.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "cv.h"#include "highgui.h
2016-06-22 20:48:58 980
原创 PAT (Basic Level) Practise (中文)1052. 卖个萌 (20)
卖个萌 (20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:左手[右手] 现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选
2016-05-20 15:34:27 193
原创 PAT (Basic Level) Practise (中文)1050. 螺旋矩阵(25)
螺旋矩阵(25)时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。输入格式:
2016-05-16 17:29:10 270
原创 PAT (Basic Level) Practise (中文)1049. 数列的片段和(20)
数列的片段和(20)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0
2016-05-15 21:45:36 244
原创 PAT (Basic Level) Practise (中文)1053. 住房空置率 (20)
住房空置率 (20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”; 若观察期超过某给定阈值D天,且满足上一个
2016-05-15 20:58:31 358
原创 PAT (Basic Level) Practise (中文)1046. 划拳(15)
划拳(15)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
2016-05-13 11:46:15 926 1
原创 PAT (Basic Level) Practise (中文)1043. 输出PATest(20)
输出PATest(20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按
2016-05-12 20:35:44 2979
原创 PAT (Basic Level) Practise (中文)1042. 字符统计(20)
字符统计(20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。输出格式:在一行中
2016-05-12 20:07:51 1061
原创 PAT (Basic Level) Practise (中文)1041. 考试座位号(15)
考试座位号(15)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试
2016-05-11 15:54:23 4022
原创 PAT (Basic Level) Practise (中文)1040. 有几个PAT(25)
有几个PAT(25)时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行
2016-05-11 15:08:31 418
原创 PAT (Basic Level) Practise (中文)1039. 到底买不买(20)
到底买不买(20)时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多
2016-05-11 13:56:02 346
原创 PAT (Basic Level) Practise (中文)1038. 统计同成绩学生(20)
统计同成绩学生(20)时间限制 250 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正
2016-05-10 16:34:49 349
原创 PAT (Basic Level) Practise (中文)1037. 在霍格沃茨找零钱(20)
在霍格沃茨找零钱(20)时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实
2016-05-10 15:51:37 751
原创 PAT (Basic Level) Practise (中文)1036. 跟奥巴马一起编程(15)
1036. 跟奥巴马一起编程(15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入
2016-05-10 14:47:07 5714
原创 PAT (Basic Level) Practise (中文)1033. 旧键盘打字(20)
旧键盘打字(20)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写
2016-04-22 15:25:47 289
原创 PAT (Basic Level) Practise (中文)1032. 挖掘机技术哪家强(20)
挖掘机技术哪家强(20)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其
2016-04-22 14:06:11 270
原创 PAT (Basic Level) Practise (中文)1031. 查验身份证(15)
查验身份证(15)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11
2016-04-22 13:26:42 323
原创 PAT (Basic Level) Practise (中文)1030. 完美数列(25)
完美数列(25)时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p
2016-04-22 13:22:40 216
原创 PAT (Basic Level) Practise (中文)1029. 旧键盘(20)
旧键盘(20)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个
2016-04-20 20:33:06 1224
原创 PAT (Basic Level) Practise (中文)1028. 人口普查(20)
人口普查(20)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未
2016-04-18 21:54:33 273
原创 PAT (Basic Level) Practise (中文)1026. 程序运行时间(15)
程序运行时间(15)时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数
2016-04-15 14:09:56 232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人