程序员笔试题.docx
- 文档编号:5405774
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:7
- 大小:18.72KB
程序员笔试题.docx
《程序员笔试题.docx》由会员分享,可在线阅读,更多相关《程序员笔试题.docx(7页珍藏版)》请在冰豆网上搜索。
程序员笔试题
程序员笔试题
1。
什么是预编译,何时需要预编译:
2。
char*constp
charconst*p
constchar*p
上述三个有什么区别?
3。
charstr1[]="abc";
charstr2[]="abc";
constcharstr3[]="abc";
constcharstr4[]="abc";
constchar*str5="abc";
constchar*str6="abc";
char*str7="abc";
char*str8="abc";
cout<<(str1==str2)< cout<<(str3==str4)< cout<<(str5==str6)< cout<<(str7==str8)< 4。 以下代码中的两个sizeof用法有问题吗? [C易] voidUpperCase(charstr[])//将str中的小写字母转换成大写字母 { for(size_ti=0;i if('a'<=str[i]&&str[i]<='z') str[i]-=('a'-'A'); } charstr[]="aBcDe"; cout<<"str字符长度为: "< UpperCase(str); cout< 5。 一个32位的机器,该机器的指针是多少位 6。 main() { inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 7。 请问以下代码有什么问题: intmain() { chara; char*str=&a; strcpy(str,"hello"); printf(str); return0; } 8。 char*s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错? 9。 写一个“标准”宏,这个宏输入两个参数并返回较小的一个。 10。 嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。 11。 关键字static的作用是什么? 12。 关键字const有什么含意? 13。 关键字volatile有什么含意? 并举出三个不同的例子? 14。 int(*s[10])(int)表示的是什么啊? 15。 有以下表达式: inta=248;b=4;intconstc=21;constint*d=&a; int*conste=&b;intconst*fconst=&a; 请问下列表达式哪些会被编译器禁止? 为什么? 16交换两个变量的值,不使用第三个变量。 即a=3,b=5,交换之后a=5,b=3; 17.c和c++中的struct有什么不同? 18.#include #include voidgetmemory(char*p) { p=(char*)malloc(100); strcpy(p,"helloworld"); } intmain() { char*str=NULL; getmemory(str); printf("%s/n",str); free(str); return0; } 19.charszstr[10]; strcpy(szstr,"0123456789"); 产生什么结果? 为什么? 20.列举几种进程的同步机制,并比较其优缺点。 21.进程之间通信的途径 22.进程死锁的原因 23.死锁的4个必要条件 24.死锁的处理 25.操作系统中进程调度策略有哪几种? 26.类的静态成员和非静态成员有何区别? 27.纯虚函数如何定义? 使用时应注意什么? 28.数组和链表的区别 29.ISO的七层模型是什么? tcp/udp是属于哪一层? tcp/udp有何优缺点? 30: (void*)ptr和(*(void**))ptr的结果是否相同? 其中ptr为同一个指针 31: intmain() { intx=3; printf("%d",x); return1; } 问函数既然不会被其它函数调用,为什么要返回1? 32,要对绝对地址0x100000赋值,我们可以用 (unsignedint*)0x100000=1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? 33,已知一个数组table,用一个宏定义,求出数据的元素个数 34。 线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈? 35。 unsignedshortA=10; printf("~A=%u\n",~A); charc=128; printf("c=%d\n",c); 输出多少? 并分析过程 (二) 1.-1,2,7,28,,126请问28和126中间那个数是什么? 为什么? 2.用两个栈实现一个队列的功能? 要求给出算法和思路! 3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么? 4。 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现? 5。 直接链接两个信令点的一组链路称作什么? 7。 软件测试都有那些种类? 8。 确定模块的功能和模块的接口是在软件设计的那个队段完成的? 9。 enumstring { x1, x2, x3=10, x4, x5, }x; 问x; 10。 unsignedchar*p1; unsignedlong*p2; p1=(unsignedchar*)0x801000; p2=(unsignedlong*)0x810000; 请问p1+5=; p2+5=; 选择题: 1.Ethternet链接到Internet用到以下那个协议? A.HDLC;B.ARP;C.UDP;D.TCP;E.ID 2.属于网络层协议的是: A.TCP;B.IP;C.ICMP;D.X.25 3.Windows消息调度机制是: A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈; 四.找错题: 1.请问下面程序有什么错误? inta[60][250][1000],i,j,k; for(k=0;k<=1000;k++) for(j=0;j<250;j++) for(i=0;i<60;i++) a[i][j][k]=0; 2。 以下是求一个数的平方的程序,请找出错误: #defineSQUARE(a)((a)*(a)) inta=5; intb; b=SQUARE(a++); 3。 typedefunsignedcharBYTE intexamply_fun(BYTEgt_len;BYTE*gt_code) { BYTE*gt_buf; gt_buf=(BYTE*)MALLOC(Max_GT_Length); ...... if(gt_len>Max_GT_Length) { returnGT_Length_ERROR; } ....... 问答题: 1.IPPhone的原理是什么? 2.TCP/IP通信建立的过程怎样,端口有什么作用? (三) 1、局部变量能否和全局变量重名? 2、如何引用一个已经定义过的全局变量? 3、全局变量可不可以定义在可被多个.C文件包含的头文件中? 为什么? 4、语句for(;1;)有什么问题? 它是什么意思? 5、do……while和while……do有什么区别? 6、请写出下列代码的输出内容 #include main() { inta,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c,d: %d,%d,%d",b,c,d); return0; } 高级题 1、static全局变量与普通的全局变量有什么区别? static局部变量和普通局部变量有什么区别? static函数与普通函数有什么区别? 2、程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于()中。 3、设有以下说明和定义: typedefunion{longi;intk[5];charc;}DATE; structdata{intcat;DATEcow;doubledog;}too; DATEmax; 则语句printf("%d",sizeof(too)+sizeof(max));的执行结果是: ______ 4、队列和栈有什么区别? 5、这道题目出错了,这里就不写上了。 6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。 7、请找出下面代码中的所以错误 说明: 以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” 1、#include"string.h" 2、main() 3、{ 4、char*src="hello,world"; 5、char*dest=NULL; 6、intlen=strlen(src); 7、dest=(char*)malloc(len); 8、char*d=dest; 9、char*s=src[len]; 10、while(len--! =0) 11、d++=s--; 12、printf("%s",dest); 13、return0; 14、} 一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1、有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。 () 2、int(*ptr)(),则ptr是一维数组的名字。 () 3、指针在任何情况下都可进行>,<,>=,<=,==运算。 () 4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。 () 二、填空题(共30分) 1、在windows下,写出运行结果,每空2分,共10分。 charstr[]="Hello"; char*p=str; intn=10; sizeof(str)=() sizeof(p)=() sizeof(n)=() voidfunc(charstr[100]){} sizeof(str)=() 2、voidgetmemory(char**p,intnum) {*p=(char*)malloc(num);} voidtest(void) {char*str=NULL; getmemory(&str,100); strcpy(str,"hello"); printf(str); } 运行test函数有什么结果? ()10分 3、设intarr[]={6,7,8,9,10}; int*ptr=arr; *(ptr++)+=123; printf("%d,%d",*ptr,*(++ptr)); ()10分 二、编程题(第一小题20,第二小题30分) 1、不使用库函数,编写函数intstrcmp(char*source,char*dest) 相等返回0,不等返回-1; 2、写一函数intfun(char*p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序员 笔试