Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2308335
  • 博文数量: 395
  • 博客积分: 10994
  • 博客等级: 上将
  • 技术积分: 5586
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-17 19:49
文章存档

2014年(1)

2013年(10)

2012年(74)

2011年(303)

2010年(7)

分类: C/C++

2011-05-17 21:32:53

 1.请在不使用== != 两个运算符的情况下写出判断两个整数ab是否相等的表达式___________________________(答案:if(a - b) if(!(a - b))
 
注:当我看到这个题的时候,我想到的办法也只能是:
char cNum1[20],cNum2[20];
itoa(a,cNum1,10);
itoa(a,cNum2,10);
if(!strcmp(cNum1,cNum2))
 
是不是很复杂,没办法,看看人家题的意思,咳,从这个题可以看出我的脑子很不活,死脑筋呀,呵呵
 
注:下面是一些简单的题:
 
1、为什么 int a[1024*1024]会崩溃? (答案:栈内存溢出,默认只分配1M,这里申请了4*1024*1024=4M )
   编译器默认分配了1mb的堆栈空间

2、int a[8] = {2,4,54,12,4,5,79,10},a[25 & 7]=_____ (答案:4, 25&7=1)

 

3. 已知变量ui32unsigned int类型,问如何将ui16位清零_______________ (答案:ui & 0xFFFF

4、如果处理器是little_endian的,请写出0x1234在存储时候的字节序 ____。0x3412

 

5(网络方面的)(A)一下哪种是一种面向连接的

 A TCP                   B UDP 
6.
什么是应用层的协议(c

A ARP                    B SNMP C FTP 
7.
本地环回地址是 (A) A 127.0.0.1

8.0ASCII48,问输出(A A 3 2
char a=’1’,char c=’2’
c=c+1;
printf(“%c%d”,c,c-a);

(注:下面的有点难度)

5、一个参数既可以是const同时是volatile吗?(A

A:可以 B:不可以C:有时可以有时不可以 D:可以但有其他约束条件

解:是的。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它

注,这个题要求你理解volatile类型的作用

6。怎么防止内存抖动(D

A 增大主存 B加快I/O的速度D调节多道程序度。

(注:这个问题很难,网上的解释:)

7。不能判断是大写字母的是:(B)
  A:issupper
  B:!(str<='A' || str >='Z')
  C:str >='A' && str <='Z'
  D:str >='a'-32 && str <= 'z'-32

 

注:这个题有点变态,呵呵其中A选项是一个库函数,就是判断是不是大写的函数,就不用说了。

对B进行一下分析,你可以发现或非,是不是等于非与呀(我真是用数电上的知识来弄得,这样的话,你会发现他和c项少了一个=号,这样就不对了)

 

14.这个是智力题,很简单哦,有一种细菌,经过2秒钟,分裂成2个,再过两秒钟,又发生分裂,变成4个。这样,把一个细菌放在瓶子里到充满为止,用了2分钟。如果一开始时,将2个这种细菌放入瓶子里,那么,到充满瓶子需要多长时间?A
A
一分58

16. 定义一个指向有10个整型数数组的指针(A)
A int (*a)[10]

17.99的阶乘末尾有多少个0 A22 这相当于小学奥数题,对于质数来说,只有2*5后面才会是0,因为分解质因数后,2的个数明显比5多,所以只看分解后含5的数就可以了。 
1-99
能被5整除的有19个,其中255075能分解出25,所以末尾有 
19+3=22
0

22.这个题目我不太记得了,我找了这差不多的过来了,(也不知道这题答案对不对)
 char str1[] = "abc";
char str2[] = "abc";

const char str3[] = "abc";
const char str4[] = "abc";

const char *str5 = "abc";
const char *str6 = "abc";

char *str7 = "abc";
char *str8 = "abc";


cout << ( str1 == str2 ) << endl;
cout << ( str3 == str4 ) << endl;
cout << ( str5 == str6 ) << endl;
cout << ( str7 == str8 ) << endl;

结果是:0 0 1 1
解答:str1,str2,str3,str4是数组变量,它们有各自的内存空间;
str5,str6,str7,str8是指针,它们指向相同的常量区域。

 

(注:下面的我没有操作过,先记到这里)


  机试篇
1.
(找零问题) 有面额为 1 5 10 25分的硬币,要拿出k 分钱,请问最少多少硬币,并打印出各面额的数量。。
这题简单,不说了
2.
(火车进站)火车进站可以看成进栈,编号为0~9的火车依次进站,判断哪些出站时可行的,给出以下几种
9876543210 YES
0173456982 NO
3.
(任务依赖性)
有最多26个任务,分别用a~z表示 ,ab 表示任务b要在a执行完后才能执行,要求编程输入以下的格式,输出一如下的几组任务的排列,如果有多种,随便选一种输出,如果没有,就会输出任务不可达。
例:
4
ab
bc
ed
cd
输出为 abcde
2
ab
ba
 
任务不可达
4
(最大连续数字子序列的和问题)
一个整数数组如果全为负数那边最大的为0,如不是请输出最大值
PS:
最大连续数字子序列是指,例如{1-3, 4-2-1, 6}最大连续数字子序列的和是7,即后四项。
5.
把中缀表达式转化为后缀表达式
例如 :
a+b a,b,+

 

 

1   括号匹配问题,这题目比较经典,利用堆栈 2   实现一个将字符串去掉特定字符的函数 3  计算二叉树总节点数  以及单链表的反转 都是基础题 4   是一个C++题目,给出一段代码,找错 5  古代数学算法: 1×33=33 = 33              提取1 2×33=66 = 33+33 4×33=132= 66+66 8×33=264= 132+132           提取8 9×33=297=33+264 然后有三个小题a.推理除法运算;b.写出乘法运算的函数;c.写出除法运算的函数 总的来说题目不难,都是基础题。 

说下我报考的C++的题。。

其实5道题里面有4道是考C语言的基础。

1道题:

C语言的题目。123456789的二进制是“111010110111100110100010101”写一个函数算出里面有多少个0 

//注下面是我自己写的一个代码,实现上述的功能不知道是不是照题意

#include
void main()
{
 char ch[]="111010110111100110100010101";
 int i=0,j=0;
 for(i=0;ch[i]!='\0';i++)
 {
  if(ch[i]=='0')
   j++;
 }
 printf("the number of j is %d\n",j);
}

 

2道题:C语言的题目。  N个无序的整数(无重复的)。。找出第K大的整数 3道题C++的题目堆和栈的区别?他们各自的运行方式是什么?静态变量,全局变量,局部变量的含义是什么?SendMessagePostMessage的区别是什么? 4道题数据结构的题目给出一个数据结构,要求算出树的高度5道题C语言与处理器的题目大概意思:用C实现测试CPU字长的内存布局答案: *pw; *pb;

问题大概是这样的  V1=0V  Q1  Q2 截止

V1=4.7V  两管饱和导通  若要达到V0=4.8V Q2输出电流100mA  R2  R3 如何取值


 Q1  Q2  β=100 

电脑没AD6   图是用  word画的  累死!

先谢谢解答 

0x01e80000 是一个地址,如果不加volatile,则在读取数据时,编译器有可能对此做优化,即不再重新从该地址读取,而直接返回之前的数据,这样会读到之前的那个值。加volatile可以保证每次从该地址读取数据。

 


 
阅读(1191) | 评论(0) | 转发(0) |
0

上一篇:mm_struct简要解析

下一篇:c字符串操作函数

给主人留下些什么吧!~~