教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

科大讯飞笔试题目C++

来源:网络收集 时间:2026-08-08
导读: 2009讯飞软件开发笔试题目(C++)A卷 答案请写在答题纸上 第一部分 综合基础试题 共50分 1、(4分)用变量a给出下面的定义 a) 一个整型数; b)一个指向整型数的指针; c)一个指向指针的指针,它指向的指针是指向一个整型数; d)一个有10个整型的数组; e

2009讯飞软件开发笔试题目(C++)A卷

答案请写在答题纸上

第一部分 综合基础试题 共50分

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;

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位小数,所以强制有2位小数,有效数字的个数就起不到强制作用了。如果是%3.1,则输出为25.5)

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,字符串数组以\0(空格为结尾,所以str数组空间大小为5+1)

4,

5,strlen函数区的字符指针str的长度,不包括空字符。

b)

void func(char str[100])

{

Void *p=malloc(100);

}

请计算:

sizeof(str)=101

sizeof (p)=4

c)

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 修饰的东 西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

7、(2分)typedef的c语言中频繁用以声明一个已经存在的数据类型的同义词。也可以用以

预处理器做类似的事情。例如:

#define dps struct s*

Typedef struct s *tps;

以上两种情况的意图都是要定义dps和tps作为一个指向结构s指针。哪种方法更好一些呢?(如果有的话)为什么?

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)_____________________________________

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)

{

Char *str=NULL;

GetMemory(&str,100);

Strcpy(str,”hello”);

Printf(str);

}

请问运行Test函数会有什么结果?

c)__________________________________________________

void Test(void)

{

Char *str=(char *)malloc(100);

Strcpy(str,”hello”);

Free(str);

If(str!=NULL)

{

Strcpy(str,”world”);

Printf(str);

}

}

请问运行test函数会有什么样的结果?

9、(6分)请写出以下程序的输出结果:

Class A

{

Public:

A()

{ Printf(“A constructed.\n”);}

Virtual ~A()

{printf(“A deconstructed.\n”);}

Virtual void Fn()

{printf(“A fn called.\n”);}

};

Class B:public A

{

};

Class C:public B

{

Public: C() Public: B() {printf(“B constructed.\n”);} Virtual ~B() {printf(“B deconstructed.\n”);} Virtual void Fn() {printf(“B fn called.\n”);}

};

{printf(“C constructed.\n”);} Virtual ~C() {printf(“C deconstructed.\n”);} Virtual void Fn() {printf(“C fn called.\n”);}

Void main(int argc,char* grgv[])

{

If(pB!=NULL) pB->fn();

C * pC=static_cast<C*>(pA);

If(pC!=NULL)

pC->fn();

delete pA;

}

10.(2分)以下说法错误的是:()

A)指针和引用作为函数参数都可以改变实参

B)指针和引用都可以在定义后任意的改变指向

C)引用必须在创建的时候初始化,而指针则不需要

D)不能空引用,但是可以有空指针

11、(2分) 下列关于多态的描述,错误的是()

A)C++语言的多态性分为编译时的多态和运行时的多态性

B)编译时的多态性可以通过函数重载来实现

C)运行时的多态性可以通过模板和虚函数来实现

D)实现运行时多态性的机制称动态绑定

12、(2分) 运算符的重载形式有两种,重载为_____________和________________________

13、(2分) main主函数执行完毕后,是否可能会再执行一段代码?请说明理由?

14、(2分)C++中的空类,默认产生那些类成员函数?

A *pA=new B; If(pA!=NULL) pA->fn(); B *pB=static_cast<B*>(pA);

第二部分 概念简答 (共10分)

15、(4分)简述STL库的功能,并给出遍历一个包含一组整型数的vector的代码。

16、(5 …… 此处隐藏:3929字,全部文档内容请下载后查看。喜欢就下载吧 ……

科大讯飞笔试题目C++.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1336742.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)