c语言c软件开发求职试题集合

上传人:宝路 文档编号:21534099 上传时间:2017-11-24 格式:DOCX 页数:41 大小:40.17KB
返回 下载 相关 举报
c语言c软件开发求职试题集合_第1页
第1页 / 共41页
c语言c软件开发求职试题集合_第2页
第2页 / 共41页
c语言c软件开发求职试题集合_第3页
第3页 / 共41页
c语言c软件开发求职试题集合_第4页
第4页 / 共41页
c语言c软件开发求职试题集合_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《c语言c软件开发求职试题集合》由会员分享,可在线阅读,更多相关《c语言c软件开发求职试题集合(41页珍藏版)》请在金锄头文库上搜索。

1、c/c+软件开发求职试题集合笔试网()简答题:(1)用,|,&实现一个 word(2个字节)的高低位交换! (2)类 classb从 classa派生,如果 classa中定义并实现虚函数 int func(void),classb 中也实现该函数,那么上述变量 a-func()将调用哪个类里面的函数?如果 int func(void)不是虚函数,情况如何?为什么? (3)编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回. (4)写一个程序,把一个 100以内的自然数分解因数。(自然数分解因数就是将一个自然数分

2、解为几个素数的乘积,提示,由于该数不是很大,所以可以将质数保存在数组中,以加快计算速度) (5)执行下述程序的输出结果是_。 #include char b=abcdef; main() char *bp; for (bp=b;*bp;bp+=2) printf(%s,bp); printf(n); (6)用 100 元钱买 100 支笔,其中钢笔 3 元 / 支,圆珠笔 2 元 / 支,铅笔 0.5 元 / 支,问钢笔、圆珠笔和铅笔可以各买多少支 ? (7)完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别,你喜欢使用哪个,为什么? (8)m

3、ain() int s=10,k=10; do s=s-3;k-; while (s1); printf( “ k=%d ” ,k); 程序运行的结果是 _ (9)下面的代码就使用了_interrupt 关键字去定义了一个中断服务子程序(isr),请评论一下这段代码的错误。 _interrupt double compute_area (double radius) double area = pi * radius * radius; printf( area = %f, area); return area; (10)阅读下列程序,回答问题。 # include main () int a

4、,b,m,n; scanf ( “ %d%d n ” , %a, %b); m=1; n=1; if (a0) m=m+n; if (a else if (a=b) n=5; else n=m+n; printf ( “ m=%d n=%d n ” , m, n); 当输入为 : -1 -2 时,写出程序的运行结果。 (11)编写子函数:(1)用冒泡法将一个数组排成升序的函数-sub1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数-sub2。主函数:输入任意 10个正整数给数组;调用 sub1对数组进行排序;从键盘输入一个正整数,调用 sub2将其插入该数组。 (12)执行下

5、列程序后,输出结果为 _ 。 #include fun (int x) int p; if (x=0|(x=1) return (3); p=x-fun(x-2); return p; main() printf( %d n ,fun(9); (13)编写 strcpy函数: 已知 strcpy函数的原型是 char *strcpy(char *strdest, const char *strsrc); 其中 strdest是目的字符串,strsrc 是源字符串。 (1)不调用 c+/c的字符串库函数,请编写函数 strcpy (2)strcpy 能把 strsrc的内容复制到 strdest

6、,为什么还要 char * 类型的返回值? (14)如何引用一个已经定义过的全局变量? (15)有一个整数 n,写一个函数 f(n),返回 0到 n之间出现的1的个数。比如f(13)=6,现在 f(1)=1,问下一个最大的 f(n)=n的 n是什么? (16)static函数与普通函数有什么区别? (17)阅读下列程序,将输出结果写到各题右侧的空白处。 main( ) int a33=1,4,17,3,6,19,2,5,18,i,s=0; for (i=0;i 1) result *=n-; return result; 程序的运行结果是什么 ? (29)耶稣有 13个门徒,其中有一个就是出卖

7、耶稣的叛徒,请用排除法找出这位叛徒:13 人围坐一圈,从第一个开始报号:1,2,3,1,2,3,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。 (30)简述头文件的功能,并列出两个头文件的名称。 (31)char * getstr() char *tmp; tmp = 123 return tmp; void main() printf(%s, getstr(); 会输出 123吗?123 创建在堆上还是栈上呢?123 的空间是什么时候释放的? (32)#include void main() int c; while (c=getchar()!= n )

8、switch(c - 2 ) case 0: case 1:putchar(c+4);break; case 2:putchar(c+4);break; case 3:putchar(c+3);break; default:putchar(c+2);break; printf( n ); 运行时输入: 2473 ,输出结果: (33)main 函数执行以前,还会执行什么代码? (34)给你一个 32位的六进制数,写一个程序让它倒序输出。 (35)循环的有序数组(比如 1,2,3,4,5,-3,-2,-1 这种数列)里查找一个数。 (36)将一个 1m-10m的文件,逆序存储到另一个文件,就是前

9、一个文件的最后一个字符存到新文件的第一个字符,以此类推。 (37)有 200个正整数,且每个数均在 1000至 9999之间。请编制函数,其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前 10个数依次存入数组 bb中,如果后三位的数值相等,则按原先的数值进行降序排列。 (38)write a program to remove all comments from a c program. dont forget to handle quoted strings and character constants properly. c comments do not

10、nest. (39)将任意证书 n分解成多个互不相同的正整数的和,并打印所有可能的组合方式。例如 n=6,组合方式有 1+5,2+4,1+2+3。 (40)consider the following code: #include #include int main(int argc, char *argv) int i = 1; char buf4; strcpy(buf, aaaa); printf(%dn, i); return 0; a) when compiled and executed on x86, why does this program usually not outpu

11、t what the programmer intended? b) name several ways in which the security problem that causes this program not to output what the programmer intended can be prevented without changing the code. (41)char * p1; void * p2; int p3; char p410; sizeof(p1.p4) =? (42)在一个文件中有 10g 个整数,乱序排列,要求找出中位数。内存限制为 2g。只

12、写出思路即可。 (43)下面的程序或程序段存在一个错误或不妥处请在其下划一条线,并将改正的内容写到每小题后的空白处 main() int a,*p; a=20; p=a; printf(“a=%d”,*p); (44)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

13、other direction as well, converting escape sequences into the real characters. (45)现有两个文件, a)数据文件 a,格式为:关键词、ip 地址、时间,记录条数为 1000万左右,该文件是无序排列的。 b)数据文件 b是关键词 id到关键词的对应表文件,格式为:id、关键词,记录条数在 100万左右,也是无序排列的。该对应表中的记录是一一对应的,不存在 id或者关键词重复的情况。 要求将数据文件 a对应的关键词替换为 b中的 id,生成新的数据文件 c,数据文件 c的格式为:关键词 id、ip 地址、时间。 请设

14、计一个程序,实现上述功能,并分析时间复杂度和空间复杂度。运行程序所使用的服务器的内存为 1g,硬盘足够大。(至少要给出关键算法和设计思路) (46)写一个生成随机数的类(或者函数)。 (47)现有两个文件, a)数据文件 a,格式为:关键词、ip 地址、时间,记录条数为 1000万左右,该文件是无序排列的。 b)数据文件 b是关键词 id到关键词的对应表文件,格式为:id、关键词,记录条数在 100万左右,也是无序排列的。该对应表中的记录是一一对应的,不存在 id或者关键词重复的情况。 要求将数据文件 a对应的关键词替换为 b中的 id,生成新的数据文件 c,数据文件 c的格式为:关键词 id

15、、ip 地址、时间。 请设计一个程序,实现上述功能,并分析时间复杂度和空间复杂度。运行程序所使用的服务器的内存为 1g,硬盘足够大。(至少要给出关键算法和设计思路) (48)char *p, a168; 问:p=a 是否会导致程序在以后出现问题?为什么?(49)c+中的空类,默认产生哪些类成员函数? (50)输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。 如输入:56439,输出:5 位数 5,6,4,3,9 9,3,4,6,5 (51)#include 和 #include “filename.h” 有什么区别? (52)程序填空 把文本文件 d1.dat 复制到文本文件 d2.dat 中,要求仅复制 d1.dat 中的英文字符。 #include void main() _ char ch; fpd1=fopen( d1.dat , r );_ while(fscanf(fpd1, %c ,&ch)_) if(_|ch= a &chdump(); delete pob; void main() derive

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号