资源描述:
《CC++工程师面试题-答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、考试时间:1小时考题(C/C++软件工程师)姓名:学校: 专业: 学历:毕业时间: 手机电话: 邮件地址:一、选择题。1、以下选项中不属于C语言的基本数据类型是(B)A)charB)booleanC)doubleD)float2、在C语言中,以下选项中不属于转义字符的是(D)A)aB)bC)?D)
2、3、在C语言中,以下赋值不正确的是(B)A)chari=0xAF;B)charsquote="s";C)charpattern[]={'c','a','
3、t','t',' ',' '};D)enummonths{JAN=1,FEB,MAR,APR,MAY,JUN,DEC};4、如果N=5那么语句:x=n++;x=++n;x分别被赋值为:(C)A)5,5B)6,5C)5,6D)6,65、在第四题中N的值变为:(D)A)5,5B)6,5C)5,6D)6,66、以下程序的输出结果是(B)main(){intn=20;n=n&0177;printf(“%d”,n);}A)91B)92C)93D)947、以下程序的输出结果是(A)voidFunc(chars
4、tr[100]);intmain(){charstr[]="hello";char*p=str;intn=10;Func(str);void*p=malloc(100);printf("%d",sizeof(p));52008校招试题考试时间:1小时printf("%d",sizeof(n));}voidFunc(charstr[100]){printf("%d",sizeof(str));}A)444B)544C)51004D)610048、以下定义有严重缺陷的是(B)A)#defineforeve
5、rfor(;;)B)#definesquare(x)x*xC)#definedprintf(expr)printf(#expr"=%g",expr)D)#definemax(A,B)((A)>(B)?(A):(B))9、赋值语句:charamsg[]="nowisthetime";(C)char*pmsg="nowisthetime";下面的操作错误的是:A)asmg[8]=*pmsg+8;B)asmg[8]=*(pmsg+8);C)*pmsg=asmg[8];D)pmsg=asmg;10、字符串
6、数组charaname[][]={"Illegalmonth","Jan","Feb","Mar"};aname需要的存储空间为(A)个字节A)56B)52C)60D)2211、若已定义:charamsg[100],char*p=amsg;并在以后的语句中未改变p的值,不能表示amsg[100]地址的表达式是(C)A)&(*(p+100))B)p+100C)&(*p+100)D)&asmg[100]12、以下程序的输出结果是(B)A)[hello]B)[hello]B)[hello]D)[]main(
7、){charamsg="hello";printf(“[%-10s]”,amsg);}52008校招试题考试时间:1小时二、简答题1、简述一下#include"filename"与#include的相同与不同。#include"filename"与#include都是引用filename文件"filename"是到搜索源程序所在的目录查找filename文件如果文件没有找到,就到编译器默认的目录去查找。直接到编译器默认的目录去查找2、简述一下
8、字符串数字charas[]与char*ap的相同与不同。charas[]与char*ap都能存储一个字符串,as和ap都能表示字符串的首地址as在使用过程中不能改变它的值,ap可以改变它的值as在变量声明是已经为字符串生成了存储空间,ap在声明是没有存储空间,比较手工指定存储空间。3、详细说明为什么swap函数不能将a和b的值互换,并写出能互换的函数。#includevoidswap(inta,intb);main(){inta,b;a=5;b=8;change(a,b);}void
9、swap(inta,intb){intc;c=a;a=b;b=c;}Answer:由于C函数的调用是通过传递值调用,swap函数在调用的时候,会生成变量a和b的一个复制值,函数交换的是复制值之间的交换,对main函数中的变量没有影响,所以不能改变a和b的值正确的函数声明和调用如下:#includevoidswap(int*a,int*b);main(){inta,b;a=5;b=8;52008校招试题考试时间:1小时swap(&a,&b