(全)近几科大讯飞软件笔试题目解析.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2009讯飞软件开发笔试题目(C++)A卷 1、(4分)用变量a给出下面的定义 a) 一个整型数; b)一个指向整型数的指针; c)一个指向指针的指针,它指向的指针是指向一个整型数; d)一个有10个整型的数组; e)一个有10个指针的数组,该指针是指向一个整型数; f)一个指向有10个整型数数组的指针; g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数; h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 答案:a)int a b)int *a; c)int **a; d)int a[10]; e)int *a [10]; f) int a[10], *p=a; g)int (*a)(int) h) int( *a[10])(int) 2、(4分)请写出以下语句的输出结果: Int i=43; Int j=5; Double f=25.45181; printf(“i=%d,j=%d,f=%3.2f”,i,j,f); printf(“i=%x,j=%06d,i/j=%d”,i,j,i/j); 答案: A)i=43,j=5,f=25.45 B)i=2b ,j=00005,i/j=8 (%x显示的是一个无符号的0x 16进制的整数,%06d输出的是6位数,不够6位数,前面补0,i/j两个整数相除,只取商的整数值) 3、(2分)请完成以下宏定义: a)用预处理指令#define 声明一个常数,用以表明1年中有多少个秒(忽略闰年问题) b)写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个 答案: a)#define seconds 365*24*60*60 b) #define MIN(a,b) ((a)(b)?(a):(b)) 扩展:MAX宏 #define MAX ((a)(b)(a):(b)) ABS宏 #define ABS (((x)0)?(x):(-(x))) 4、(6分)以下为32为windows下的c++程序,请计算: a)char str[]=”hello”; char *p=str; 请计算: sizeof(str)= sizeof(p)= strlen(p)= 答案:6, 4,5 b)void func(char str[100]) { Void *p=malloc(100); } 请计算: sizeof(str)=101 sizeof (p)=4 int a[3]={1,2,3}; int b=sizeof(a)/sizeof(a[0]); 请计算: b=3 5、(2分) 设有定义:int n=0,*p=n,**q=p; 则以下选项中,正确的赋值语句是(d) a)p=1; b)*q=2; c)q=p; d)*p=5; 6、(2分)const关键字的用途?(至少说明两种) 答案:(1)可以定义 const 常量 (2)const 可以修饰函数的参数、返回值,甚至函数的定义体。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。Typedef struct s *tps; 以上两种情况的意图都是要定义dps和tps作为一个指向结构s指针。哪种方法更好一些呢?(如果有的话)为什么? Typedef更好一些,因为define只是简单的替换,比如声明dps a,b等价于struct *a,b;所以这样声明是错误的,而Typedef却不会这样。 8、(8分) 以下是一组有关内存知识的问题,请仔细看题,回答: Void GetMemory(char *p) { P=(char *)malloc(100); } Void Test(void) { Char *str=Null; GetMemory(str); Strcpy(str,”hello world”); Printf(str); } 请问运行Test函数会有什么样的结果? a)_会出错,不能传递动态分配的内存,str一直为空 char *GetMemory(void) { Char p[]=”hello world”); Return p; } Void Test(void) { Char *str=NULL; Str=GetMemory(); Printf(str); } 请问运行Test函数会有什么结果? b)_会产生错误,不能返回子函数的局部变量值,因为在函数退出时,局部变量的值也清空。 void GetMemory2(char **p,int num) { *p=(char *)malloc(num); } Void Test(void)

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档