北京联想利泰软件有限公司 c++项目经理笔试题

http://www.shitibao.com/paper.html?id=42980 

选择题

1:设int x[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p=x, k;
且0≤k<10, 则对数组元素x[k]的错误引用是
2:下列转义字符中错误的是
3:设 int a[10],*p=a ;则对数组元素的正确引用是
4:下列格式符中,可以用于以 16 进制形式输出整数的是
5:设 int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是
6:下述程序执行后的输出结果是
#include
main()
{
int x='f';
printf("%c/n",'a'+(x-'a'+1));
}
7:使用语句scanf(″a=%f, b=%f″, &a, &b);输入变量a、b的值(□代表空格),正确的是
8:设int a,b;为使变量a和b分别获得数据10和20,则下列正确的是
9:在下列运算符中,优先级最低的是
10:表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个
11:若变量已正确定义,表达式( j=3 , j++ )的值是
12:下列格式符中,可以用于以 8 进制形式输出整数的是
13:设int a;,则表达式a=2,4,a+1的值是
14:若变量 a , b 已经正确定义并赋值,符合 C 语言语法的表达式是

简答题

15:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。
16:不用中间变量,实现int a,b的交换。
17:写一个程序,把一个100以内的自然数分解因数。(自然数分解因数就是将一个自然数分解为几个素数的乘积,提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度)
18:请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。
19:一个文本文件有多行,每行为一个URL。请编写代码,统计出URL中的文件名及出现次数。

  a) 文件名不包括域名、路径和URL参数,例如http://www.ourday.cn/bbs/forumdisplay.php?fid=18中的文件名是forumdisplay。

  b) 部分URL可能没有文件名,例如http://www.ourday.cn/,这类统计为“空文件名”。

  c) 出现在不同URL中的相同文件名视为同一文件名,例如http://www.ourday.cn/index.php和ftp://ftp.ourday.cn/index.php为同一文件名

  文件内容示例如下:

  http://www.ourday.cn/bbs/redirect.php?tid=480&goto=lastpost#lastpost

  http://www.ourday.cn/index.php

  ftp://ftp.ourday.cn/index.php

  http://www.ourday.cn/bbs/index.php?k=8

  http://www.ourday.cn/bbs/forumdisplay.php?fid=16

  http://www.ourday.cn/bbs/viewthread.php?tid=444&extra=page%3D1

  http://www.ourday.cn/

http://www.ourday.com.cn/
20:Write a function escape(s,t) that converts characters like newline and tab into visible escape sequences like /n and /t as it copies the string t to s . Use a switch . Write a function for the other direction as well, converting escape sequences into the real characters.
21:设计一个类,使得该类任何形式的派生类无论怎么定义和实现,都无法产生任何对象 实例。
22:打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
23:请编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。
24:Apartment在COM中有什么用?为什么要引入?
25:#include
void main()
{ int a[5] ={2,4,6,9,12},b[6] ={2,3,4,6,8,9};

  for(int i=0;i<5;i++)

  for(int j=0;j<6;j++)

  if(*(a+i)==*(b+j) printf( ″ %d ″ ,*(a+i));

  printf( ″/ n ″ );

  } 输出结果: _______
以下答案是我自己做的,粗体表示答案经过编程验证。
选择题:
1.A(细心)
2.
3.C(细心)
4.B(总结其他选项)
5.A(简单)
6.A(应该是g吧)
7.A(简单,总结scanf)
8.B
9.A(不会)
10.A(C库函数)
11.4(++运算符,逗号表达式,不确定)
12.C
13.B(逗号表达式,不会)
14.B(简单)
总结:选择题很基础,但是很多细节不是很确定或者是不会,平时要多关注细节。这几个选择题都很基础。
简答题:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值