一个公司给我的题目

早一个星期给我的,吓的我不感去拉,C的还算勉强,网络那些看的我头大

1、 选择题(答案为一个或多个)
1、对于栈中的元素进行引用,复合下列哪些规则(A,C)
A:LIFO   B:LILO   C:FILO   D:FIFO
2、单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?(C)
A:  p->link = q->link; q = p->link;
B:  p->link = q; q->link = p->link;
C:  q->link = p->link; p->link = q;
D:  q = p->link; p->link = q->link;
3、在一种语言中,运算符是从右向左结合的(例如:a+b+c =a+(b+c))下面表达式“7-(16/(3+1)*2)-4”的结果是(C)
A、-1;   B、1;   C、3; D、7; E、9;
4、程序的局部变量存在于(B)中,全局变量存在于(A)中,动态申请数据存在于(C)中
A:数据段  B:堆栈   C:堆空间
5、循环链表指(A、C)
A:最后一个节点的指针域总是指向链表头       B:可疑自由膨胀的链表
C:链表含有指向上一级节点的指针域           D:以上都不是
6、下列是一个C语言函数:
   int f (int a)
{
   int b;
   switch (a)
   {
     case 1 : b = 10;
     case 2 : b = 20;
     case 3 : b = 30;
     default : b = 0;
   }
   return b;
}
在其它函数中调用f(1),f(2),f(4),的返回值依次是:D,D,D
A:10   B:20   C:30  D:0
7、进程和线程的最主要区别在于:(B、C、D)
A:进程是UNIX下的概念,线程是Windows下的概念;
B:进程的效率比线程低;
C:在进程中可以创造线程,但线程中不能生成进程;
D:进程有自己的运行空间,线程的运行空间是共享的
8、如下代码:
  unsigned int ulBuf[10];
  int I;
  unsigned char ucInfo[10];
  for (I = 0;I<10;I++)
  {
ulBuf[I] = I+1;
ucInfo[I] = 0;
}
sprintf(ucInfo,”%s”,ulBuf);
请问ucInfo[0]中的值应该是什么(D)
A:0    B:1    C:0或1     D:不确定
9、下面程序的运行结果是多少?(D)
 main () {
char chr = 127;
int sum = 200;
chr += 1;
sum +=chr;
printf(“sum = %d/n”,sum);
return(0);
}
A: 327     B:328    C:99    D:72
11、软件需求分析阶段的测试手段一般采用(C)。
A 总结   B 阶段性报告  C 需求分析评审   D 不测试
12、有如下的Hash函数:
unsigned  short  hashf  (unsigned  short  key) { return  (key  >>  4)  %  256 }   
hashf(16)和hashf(256)的值[   ]
A: 1,16     B: 8,32   C:  4,15   D: 1,32
13、enum{A ,B ,C ,D ,E ,K =8 , J , M}; 请说出D=[   ]
A: 3   B: 4    C: 5   D: 6   E :7
14、下面的代码中的含义是什么[    ]    
#ifndef  _oss_LIB_H_     
#define  _oss_LIB_H_      
#endif
A .包含oss的Lib库    B: 定义一个常量      C.不包含oss的Lib库   
D.防止头文件被重复引用
15、下面程序的运行结果是多少?[   ]    
#include  <string.h>
main( ){   char  chr  =  127;    int  sum   = 200;    
chr  +=  1;    sum  +=  chr;    pfintf( “sum=%d/n”,sum);    return  0 ; }            
A :327    B: 328   C: 199   D: 72
16、以下手段哪些可用于进程间的同步与互斥[      ] 
A:信号量与PV原语   B:B树    C:进程上下文     D:临界区加锁
17、对栈S进行下列操作:push(1), push(2), pop( ), pop( )。则此时栈顶元素是[    ]
A:1  B:2   C:0  D: 不确定
18、switch(c)中的c不能是哪种数据类型[     ]
A:char   B:long   C:unsigned    D:double   E:float
19、在Windows95环境下,定义数组:int **a[2][3]:则数组a所占用的内存单元为[    ]
A:6字节    B:24字节   C:48字节   D:不能确定
20、类型定义:       chair  S[3] =”AB”     char *p;      在执行了语句p=s之后,*(p+2)的值是[    ]
A:‘B’ B:字符‘B’的地址    C:‘/0   D:不确定     E:以上答案均不正确
21、下面对宏的定义和使用,哪些是错误的?[    ]
A:#define   RECTANGLE_AREA(a, b)  (a * b)   
B:#define  RECTANGLE_AREA(a,b)  ( a )*  ( b )
C:#define  INTI_RECT_VALUE( a, b )    
D:#define  MBUF_CLEAR_FLAG(pstMBufM, ulflagM)
((pstMEufM)-stUserTagData.stCommonInfo.ulFlag  &=( ~(ulFlagM)  ))
21、下面二叉树前序遍历的顺序是[    ]
            a
                      ╱ ╲
b     c
A:a,b,c   B:b,a,c        C:b,c,a      D:c,b,a
22、对下列关键字序列用快速排序进行排序时,速度最快的情形是[     ]
A:{25、23、30、17、21、5、9}        B:{21、9、17、30、25、23、5}
C:{21、25、5、17、9、23、30}        D:{5、9、17、21、23、25、30}
23、在下列叙述中,错误的一条是[    ]     
A:操作系统是用户与计算之间的接口;
B:程序的并发执行,使程序失去了顺序执行时具有的封闭性和可再现性,程序与程序的执行不再一一对应。
C:进程从一个状态到别一个状态的转换,都是靠使用不同的原语来实现。     
D:在单CPU的系统中,任何时刻处于就绪状态的进程有多个,而且,只有处于就绪状态的进程经调度程序选中后方可进入运行状态。
24、下面关于内容存管理的说法哪种是正确的[    ]
A:页式内存管理存在严重的碎片问题  
B:段式内存管理不存在抖动问题    
C:分区式内存管理既存在碎片问题,又存在抖动问题     
D:段页式内存管理既减少了碎片问题,又减少了抖动问题

二、简答题
1、const char*, char const*, char*const的区别?
解答:
把一个声明从右向左读。
char  * const cp;  ( * 读成 pointer to )  cp is a const pointer to char
const char * p;    p is a pointer to const char;
char const * p;    同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。

2、下面这个程序执行后会有什么错误或者效果:
 #define MAX 2

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值