资源描述:
《科大讯飞笔试题目c》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2009讯飞软件开发笔试题目(C++)A卷答案请写在答题纸上第一部分综合基础试题共50分1、(4分)用变量a给出下面的定义a)一个整型数;b)一个指向整型数的指针;c)一个指向指针的指针,它指向的指针是指向一个整型数;d)一个有10个整型的数组;e)一个有10个指针的数组,该指针是指向一个整型数;f)一个指向有10个整型数数组的指针;g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数答案:a)intab)int*a;c)i
2、nt**a;d)inta[10];e)int*a[10];f)inta[10],*p=a;g)int(*a)(int)h)int(*a[10])(int)2、(4分)请写出以下语句的输出结果:Inti=43;Intj=5;Doublef=25.45181;a)printf(“i=%d,j=%d,f=%3.2f”,i,j,f);b)printf(“i=%x,j=%06d,i/j=%d”,i,j,i/j);答案:A)i=43,j=5,f=25.45(说明:本来应该输出最小3位有效数字,25.5,但是由于限定了2位小数,所
3、以强制有2位小数,有效数字的个数就起不到强制作用了。如果是%3.1,则输出为25.5)B)i=2b,j=00005,i/j=8(%x显示的是一个无符号的0x16进制的整数,%06d输出的是6位数,不够6位数,前面补0,i/j两个整数相除,只取商的整数值)3、(2分)请完成以下宏定义:a)用预处理指令#define声明一个常数,用以表明1年中有多少个秒(忽略闰年问题)b)写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个答案:a)#defineseconds365*24*60*60b)#defineMIN(a,
4、b)((a)<(b)?(a):(b))扩展:MAX宏#defineMAX((a)>(b)(a):(b))ABS宏#defineABS(((x)>0)?(x):(-(x)))4、(6分)以下为32为windows下的c++程序,请计算:a)charstr[]=”hello”;char*p=str;请计算:sizeof(str)=sizeof(p)=strlen(p)=答案:6,字符串数组以 (空格为结尾,所以str数组空间大小为5+1)4,5,strlen函数区的字符指针str的长度,不包括空字符。b)voidfun
5、c(charstr[100]){Void*p=malloc(100);}请计算:sizeof(str)=4sizeof(p)=4c)inta[3]={1,2,3};intb=sizeof(a)/sizeof(a[0]);请计算:b=35、(2分)设有定义:intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(d)a)p=1;b)*q=2;c)q=p;d)*p=5;6、(2分)const关键字的用途?(至少说明两种)答案:(1)避免变量的值被修改(2)修饰指针int*constp(地址不可以被修改)i
6、ntconst*p(值不可以被修改)(3)修饰函数形参表示该参数只是用来传入值(4)Canst修饰的成员变量不可以被成员函数更改、(5)对于类的成员函数有时候必须返回const修饰的类型避免函数返回值为左值7、(2分)typedef的c语言中频繁用以声明一个已经存在的数据类型的同义词。也可以用以预处理器做类似的事情。例如:#definedpsstructs*Typedefstructs*tps;以上两种情况的意图都是要定义dps和tps作为一个指向结构s指针。哪种方法更好一些呢?(如果有的话)为什么?1)#defin
7、e是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#definePI3.1415926程序中的:area=PI*r*r会替换为3.1415926*r*r如果你把#define语句中的数字9写成字母g预处理也照样带入。2)typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名,但是Youcannotusethetypedefspecifierinsideafunctiondefinition。8、(
8、8分)以下是一组有关内存知识的问题,请仔细看题,回答:VoidGetMemory(char*p){P=(char*)malloc(100);}VoidTest(void){Char*str=Null;GetMemory(str);Strcpy(str,”helloworld”);Printf(str);}请问运行Test函数会有什么样的结果?a