2019年c语言经典面试题目


Posted in 面试题 onAugust 17, 2016

    作为IT行业人士需要掌握的最基本的计算机语言—c语言,如今的地位只高不低,c语言掌握程度的高低往往在面试的时候可以完全表现出来,而有些问题是大家平时似乎是知道的,但却不能完整准确地回答上来的,小编当年也遇到了很多此类问题,所以今天大家带来精心整理的C语言经典面试题 ,希望对大家有所帮助。


1.在下面程序的底画线处填上适当的字句,使该程序执行结果为60。

# include

class base{int X;

public∶

void int (int initX){X=initX; }

int Getnum() {return X+7; }

void main()

{_______

_______

cout<<test.Getnum();

}

2.下列程序的输出结果是。

#include

void SB(char ch) {

switch(ch) {

case 'A': case 'a':

cout<<"well !"; break;

case 'B': case 'b'

cout<<"good !"; break;

case 'C': case 'c':

cout<<"pass ! "; break

default:

cout<<"bad! "; break;

)

cout<<endl;

}

void main() {

char a[6] ="Abcaf'

for(int i=0; a[i]; i++) SB(a[i]);}

3.在下列程序的空格处填上适当的字句,使输出为:0,8,5。

# include

# include

class Magic{

double x;

public∶

Magic(double d=0.00)∶x(fabs(d)){}

Magic _______{return Magic(sqrt(x*x+c.x*c.x));}

_______<<(ostream & os,Magic c){return os<<c.x;}

};

void main()

{Magic ma;

cout<<ma<<’,’<<Magic(-8)<<’,’<<ma+Magic(-3)+Magic(-4);

}


关键字

问题一:static关键字的作用?

答:

Static的用途主要有两个,一是用于修饰存储类型使之成为静态存储类型,二是用于修饰链接属性使之成为内部链接属性。

1.静态存储类型:

在函数内定义的静态局部变量,该变量存在内存的静态区,所以即使该函数运行结束,静态变量的值不会被销毁,函数下次运行时能仍用到这个值。

在函数外定义的静态变量——静态全局变量,该变量的作用域只能在定义该变量的文件中,不能被其他文件通过extern引用。

2. 内部链接属性

静态函数只能在声明它的源文件中使用。

问题二:const关键字的作用?

答:

1.声明常变量,使得指定的变量不能被修改。

const int a = 5;/*a的值一直为5,不能被改变*/

const int b; b = 10;/*b的值被赋值为10后,不能被改变*/

const int *ptr; /*ptr为指向整型常量的指针,ptr的值可以修改,但不能修改其所指向的值*/

int *const ptr;/*ptr为指向整型的常量指针,ptr的值不能修改,但可以修改其所指向的值*/

const int *const ptr;/*ptr为指向整型常量的常量指针,ptr及其指向的值都不能修改*/

2.修饰函数形参,使得形参在函数内不能被修改,表示输入参数。

如int fun(const int a);或int fun(const char *str);

3.修饰函数返回值,使得函数的返回值不能被修改。

const char *getstr(void);使用:const *str= getstr();

const int getint(void); 使用:const int a =getint();

问题三:volatile关键字的作用?

答:

volatile指定的关键字可能被系统、硬件、进程/线程改变,强制编译器每次从内存中取得该变量的值,而不是从被优化后的寄存器中读取。例子:硬件时钟;多线程中被多个任务共享的变量等。

问题四:extern关键字的作用?

答:

1.用于修饰变量或函数,表明该变量或函数都是在别的文件中定义的,提示编译器在其他文件中寻找定义。

extern int a;

extern int *p;

extern int array[];

extern void fun(void);

其中,在函数的声明带有关键字extern,仅仅是暗示这个函数可能在别的源文件中定义,没有其他作用。如:

头文件A:A_MODULE.h中包含

extern int func(int a, int b);

源文件A: A_MODULE.c中

#include “A_MODULE.h”

int func(int a, int b)

{

returna+b;

}

此时,展开头文件A_MODULE.h后,为

extern int func(int a, int b);/*虽然暗示可能在别的源文件中定义,但又在本文件中定义,所以extern并没有起到什么作用,但也不会产生错误*/

int func(int a, int b)

{

returna+b;

}

而源文件B:B_MODULE.c中,

#include “A_MODULE.h”

int ret = func(10,5);/

展开头文件A_MODULE.h后,为

extern int func(int a, int b);/*暗示在别的源文件中定义,所以在下面使用func(5,10)时,在链接的时候到别的目标文件中寻找定义*/

int ret = func(10,5);



Tags in this post...

面试题 相关文章推荐
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
Jan 07 面试题
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
Jul 17 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
Jan 13 面试题
渗透攻击的测试步骤
Jun 07 面试题
linux面试题参考答案(1)
Jan 22 面试题
init进程的作用
Apr 12 面试题
中科方德软件测试面试题
Apr 21 面试题
GWT都有什么特性
Dec 02 面试题
Python中如何定义一个函数
Sep 06 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
Jun 20 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Jul 02 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 #面试题
请写出char *p与"零值"比较的if语句
Sep 24 #面试题
iostream与iostream.h的区别
Jan 16 #面试题
经典c++面试题六
Jan 18 #面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 #面试题
下面关于"联合"的题目的输出是什么
Aug 06 #面试题
"引用"与指针的区别是什么
Sep 07 #面试题
You might like
世界收音机发展史
2021/03/01 无线电
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
PHP图片水印类的封装
2017/07/06 PHP
js 异步处理进度条
2010/04/01 Javascript
JavaScript 布尔操作符解析  &amp;&amp; || !
2012/08/10 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
原生js实现轮播图特效
2020/05/04 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
破解安装Pycharm的方法
2018/10/19 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python实现推箱子游戏
2020/03/25 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
python 实现aes256加密
2020/11/27 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
公司人力资源的自我评价
2014/01/02 职场文书
女子职高个人自荐书
2014/02/01 职场文书
英语国培研修感言
2014/02/13 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript
详解PyTorch模型保存与加载
2022/04/28 Python