c/c++ 面试题
发布网友
发布时间:2022-04-21 22:36
我来回答
共2个回答
热心网友
时间:2022-07-14 00:22
这是基本的将整型数组中数据进行入栈、出栈、入队和出队的问题,可以用顺序栈和循环队列实现。因为只要求写出部分函数,所以下面给出C++的顺序栈入栈和出栈算法。(循环队列的入队和出队算法,在《数据结构》的教材中都有答案)
const int StackSize=100;
template<class DataType>
class SeqStack
{
public:
SeqStack(){top=-1;}
~SeqStack(){}
void Push(int x);
int Pop();
private:
int data[100];
int top;
};
template<class DataType>
void SeqStack<DataType>::Push(int x)
{if(top==99) throw"上溢";
data[++top]=x;
}
template<class DataType>
int SeqStack<DataType>::Pop()
{
if(top==-1) throw"下溢";
x=data[top--];
return x;
}
热心网友
时间:2022-07-14 00:23
const int StackSize=100;
template<class DataType>
class SeqStack
{
public:
SeqStack(){top=-1;}
~SeqStack(){}
void Push(int x);
int Pop();
private:
int data[100];
int top;
};
template<class DataType>
void SeqStack<DataType>::Push(int x)
{if(top==99) throw"上溢";
data[++top]=x;
}
template<class DataType>
int SeqStack<DataType>::Pop()
{
if(top==-1) throw"下溢";
x=data[top--];
return x;
}
C语言6个有趣的面试题
C语言6个有趣的面试题 1、gets()函数 问: 请找出下面代码里的问题。答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。2、main()的返回类型 问:下面的代码能编译通过吗? 如果能,它...
C/C++经典面试题
面试题 1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入 extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分 定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才...
计算机程序c语言面试常见问题
1、C语言程序的基本单位是___A.语句 B.函数 C.程序行 D.字符 答案:B 2、C语言程序由()组成 A.子程序 B.过程 C.函数 D.主程序段程序 答案:C 3、算法的表示方法有___A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言 B.高级语言,汇编语言,机器语言 C.C语言,QBASIC语言,In...
C语言面试题
1、已知字母b的ASCII码的十进制代码为98,则执行下列语句输出为( C)ch=’b’;ch–;printf(%d,%c\n”,ch,ch);A)a,b B)运算不合法,故有语法错 C)97,a D)格式描述和输出项不匹配,输出无值 2、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,...
c语言常见面试题
C语言面试常见问题预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值...
C/C++面试题:虚函数与纯虚函数有什么区别
虚函数和纯虚函数有以下所示方面的区别 (1)类里如果声明了虚函数,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被覆盖,这样的话,这样编译器就可以使用后期绑定来达到多态了。纯虚函数只是一个接口,是个函数的声明而已,它要留到子类里去实现。(2)虚函数在...
C/C++面试题: char x=119; char y=9; char z=x+y; 则z= ?
char x=119; char y=9; char z=x+y;119+9=128,因为是有符号数,所以结果Z的值应该为-128。
几个常见的C语言面试题分析
下面对面试中遇到的编程问题分析了一下。真是人在社会如江湖呀,学习是一刻也不能放松的事。稍一不慎,晚节不保不说,反而会阴沟里翻船。1.获取路径下的文件名 char * FindFileName(char * s){ int len;char *tmp=NULL;ASSERT(s != NULL);for (len=strlen(s); len>0;len--){ if((s...
C语言面试题 绝对地址赋值问题
ptr = (int *)0x67a9 表示将0x67a9强制转换成存放int型数据的地址,再把这个地址赋值给ptr。()里加数据类型是强制转换类型的意思 ptr = int 0xaa55;这个写法应该是不合法的 即使改成 ptr =( int )0xaa55; 也不对,因为左边是地址,右边是int型数据。数据类型不对等。可以改成 * ...
面试题:有被问到C语言做软件开发时候怎么管理众多的指针,要如何回答...
C语言是没有“类”这个抽象类型的,所以封装成类这个说法欠妥。我给你讲讲我对指针管理的经验,其实也谈不上什么管理:1,指针在定义时如果没有初始值,就记住赋NULL;系统对NULL这个地址是有保护的,在以后对指针的解引用操作时对NULL值的指针会有错误提示,容易发现,否则发生解引用错误时就是可恨的...