![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试有关
文章平均质量分 58
xubinqi
这个作者很懒,什么都没留下…
展开
-
09-11-08:Makefile的编写
一个简单的MakefileCC = gccCFLAGES = -g -WallLDFLAGES = -staticTARGETS = testall: $(TARGETS)clean:rm -rf test *.o a.out *.~ coretest:test.o$(CC) -o test test.o $(LDFLAGES) test.o:test原创 2009-11-08 14:20:00 · 262 阅读 · 0 评论 -
09-11-11:嵌入式面试题
预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如原创 2009-11-11 21:54:00 · 371 阅读 · 0 评论 -
09-11-15:中断原理
摘要:本文主要介绍C语言中中断服务程序的编写、安装和使用。由于硬中断服务程序的编写涉及到硬件端口读写操作,使得用户直接和硬件打交道,在程序设计过程中要用到的数据(如硬件端口地址等)比较多,这就使程序员和计算机的硬件设备间缺少一种“缓冲”的作用,况且,用汇编语言来直接对硬件编程要方便得多。本文仅对软中断程序的编写作个介绍。关键词:软中断、中断向量、中断向量表、TSR内存驻留、DOS重入、中断请转载 2009-11-15 21:28:00 · 407 阅读 · 0 评论 -
09-11-15:BCD码,ASCII码
用四位二进制代码来表示一位十进制数,称为二--十进制编码,简称BCD(Binary Coded Decimal)码。根据代码的每一位是否有权值BCD码可分为有权码和无权码两类,应用最多的是8421BCD码,无权码用得较多的是余三码和格雷码,我们通常所说的BCD码指的是8421BCD码。这些编码跟十进制数对应的关系如下: 十进制数8421BCD码余3码 格雷转载 2009-11-15 20:46:00 · 1571 阅读 · 0 评论 -
09-11-15:键盘扫描原理
键盘扫描原理[ 2007-3-22 0:49:00 | By: CANopen ] 1、把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平; 2、扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。转载 2009-11-15 21:10:00 · 1658 阅读 · 0 评论 -
09-11-14:不调用库函数,实现strcpy函数
题目: 已知strcpy函数的原型是: char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数,实现strcpy函数。 2.解释为什么要返回char *。 解说: 1.strcpy的实现代码 char * strcpy(char * strDest,c转载 2009-11-14 19:51:00 · 388 阅读 · 0 评论 -
09-11-13:C语言字符串的循环右移
//实现的功能//input: abcdefg // 2//output: fgabcd//input: abc转载 2009-11-13 22:38:00 · 455 阅读 · 0 评论 -
09-11-11:ANSI C/C++方面的知识
一.ANSI C/C++方面的知识 1、简答题。 1、 如何在C中初始化一个字符数组。 逐个字符赋值:char s[] = {‘A’,’B’,’C’,’D’};字符串赋值:char s[] = {“ABCD”};对于二维字符数组:char s[2][10] = {“cheng”,”jinzhou”};2、 如何在C中为一个数组分配空间。 如果是栈的形式,Type s[转载 2009-11-11 22:16:00 · 327 阅读 · 0 评论 -
09-11-08:指针与引用的区别
引用和指针 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^_^ 4. 引用没有 const,指针有 const,const 的指针不可变; 5.原创 2009-11-09 16:47:00 · 235 阅读 · 0 评论 -
09-11-09十进制转二进制、八进制、十六进制的经典程序
#include //十进制数转换成二进制数字void fun_1(int n){ if(n cout if(n>=2) { fun_1(n/2); cout }}//十进制数字转换成八进制数字void fun_2(int n){ if(n cout if(n>=8) { fun_2(n/8); cout }}//十转载 2009-11-09 16:28:00 · 521 阅读 · 0 评论 -
09-11-09:十进制转二进制,求其中1的个数
#define N 32 // 32表示int是32位的,当然也可以改成16位或其他。 void CANNGE(int X) { int i; for(i = 1;i if((1 else printf("转载 2009-11-09 16:30:00 · 351 阅读 · 0 评论 -
09-11-08:volatile的用法
volatile的用法 很多人对Volatile都不太了解,其实Volatile是由于编译器优化所造成的一个Bug而引入的关键字。 int a = 10; int b = a; int c = a; 理论上来讲每次使用a的时候都应该从a的地址来读取变量值,但是这存在一个效率问题,就是每次使用a都要去内存中取变量转载 2009-11-08 17:46:00 · 300 阅读 · 0 评论 -
09-11-08:排序比较
1.冒泡排序2.选择排序3.插入排序1.for(i=0;i for(j=0;j { if(a[j] { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;原创 2009-11-08 16:06:00 · 329 阅读 · 0 评论 -
09-11-08:读一个文件,求其中单词个数。
int main(){FILE *fd;fd=open("test.c","r");fseek(fd,SEEK_END); len=ftell(fd); //到文件头的距离p=buff[len+1];rewind(fd); //将光标移到文件头fread(p,1,len,fd);buff[len]=/0;while(*p!=原创 2009-11-08 15:37:00 · 251 阅读 · 0 评论 -
09-11-08:输入一整数n,求n!,并计算n!有多少个0;
int main(){ int n,m,zero,count1,count2; printf("please input a number/n"); scanf("%d",&n); m=app(n); while(m%2==0) { count1++; m=m/原创 2009-11-08 15:21:00 · 398 阅读 · 0 评论 -
09-11-08:将一个链表倒序排列的函数
void upside_down(link h){ link p,q; p=h->next; h->next=NULL; while(p!=NULL) { q=p; p=p->next; q->next=h->next;原创 2009-11-08 14:38:00 · 307 阅读 · 0 评论 -
09-11-15:时间复杂度
是说明一个程序根据其数据n的规模大小 所使用的大致时间和空间说白了 就是表示 如果随着n的增长 时间或空间会以什么样的方式进行增长例for(int i = 0; i ;这个循环执行n次 所以时间复杂度是O(n)for(int i = 0; i{for(int j = 0; j ;}这嵌套的两个循环 而且都执行n次那么它的时间复杂度就是 O(n^2)时间复杂度只能大概的表示所用的时间而一些转载 2009-11-15 20:09:00 · 560 阅读 · 0 评论