4016|11

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

大家放松一下做几道面试题! [复制链接]

1
int a;
int *p;
p=&a;
*p=0x500;
a=(int)(*(&p));
a=(int)(&(*p));
if(a==(int)p)
printf("equal!");
else
printf("not equal!");
输出什么?

2
void foo(void)
{
        unsigned int a=6;
        int b=-20;
        ((a+b)>6) puts(">6"):puts("<=6");
}
输出什么

3
wince是否为RTOS?

4
举例说明WINCE下采用线程同步机制

5
在某工程中,设置绝对地址为0x67a9的整形变量为0xaa66

6
一个整形a 写两段代码 第一个设置a的bit3  第二个清a的bit3


7
_interrupt double compute_area(double radious)
{
   double area=PI*radious*radious;
   printf("area=%f",area);
   return area;
}
找出错误


8
volatile 的含义
指出三个应用实例

最新回复

我不是解释了吗?无符号和有符号的区别。。 你的a是int型的吧。。。这个自己做做实验印象会更深的  详情 回复 发表于 2008-8-23 08:09
点赞 关注

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1. equal
2.>6
5.(int*)0x67a9 = 0xaa66
6.a|=(1<3);a^=~(1<3);
7.中断函数没有返回值;中断函数不能传递参数;printf函数不可重入;不能用在中断函数中;
8.volatile表示变量是不稳定的,随时可能发生变化,比如某端口接收的数据,双端口缓存中的数据等都应定义为volatile。

wince不熟悉。
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
观望中
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
1
int a;
int *p;
p=&a; //送地址
*p=0x500;//赋值
a=(int)(*(&p));//获取指向p指针地址的值 =a。。。。
a=(int)(&(*p));//获取p的值 =a。。。。
if(a==(int)p)
printf("equal!");
else
printf("not equal!");
所以。。。。两个都应该是a,等于

2
void foo(void)
{
unsigned int a=6;
int b=-20;
((a+b)>6)//-14转下一定比6大
puts(">6"):puts(" <=6");//》6
}

3
wince是否为RTOS? 实时操作系统RTOS


4
举例说明WINCE下采用线程同步机制
.............进程锁?

5
在某工程中,设置绝对地址为0x67a9的整形变量为0xaa66
long p = 0x67a9
*p = 0xaa66

6
一个整形a 写两段代码 第一个设置a的bit3  第二个清a的bit3
int a ;
第一个设置a的bit3?设置成什么?
第二个清a的bit3 a|11111101 ...不懂了。。。

7
_interrupt double compute_area(double radious)//error
{
  double area=PI*radious*radious;//error
  printf("area=%f",area);
  return area;//error
}
1.interrupt中断里不能带返回
2.貌似记得中断好像不能带浮点参数,c语言嵌入式修炼里面讲过。。忘记了。。。。汗

8
volatile 的含义
指出三个应用实例
volatile是可变变量定义。c语言嵌入式修炼也讲过。。。。。也忘记了- -汗

 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
lz哪里是让我们放松。。。越做越一身冷汗。。。。以前看过的东西全忘光了。=- =
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
貌似不是很复杂啊。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

7
 
一些常规问题没看都忘记了。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
还是有用的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
第2题结果 >6
为什么??
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
-14要转换进行比较的,有unsigned int 和 int 加减问题
你可以写程序看看设置个断点
其实不是-14,是4294967282。。。。。16进制的
应为是unsigned int。。。。
#include "stdafx.h"
#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
        long i = 1;
        unsigned int c=6;
        int b=-20;
//unsigned int a = (c+b); >
   int a = (c+b);  //<=
        if(a>6)
                printf("%d>6",a);
        else
                printf(" %d<=6",c+b);
        Sleep(2000);
}
你自己实验下吧
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
可是我用
printf("%d",a+b);
怎么输出的是-14?????
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
我不是解释了吗?无符号和有符号的区别。。
你的a是int型的吧。。。这个自己做做实验印象会更深的
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表