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...

面试题 相关文章推荐
金智子午JAVA面试题
Sep 04 面试题
请写出 float x 与"零值"比较的 if 语句
Jan 04 面试题
OLEDBConnection和SQLConnection有什么区别
May 31 面试题
广州盈通面试题
Dec 05 面试题
TCP协议通讯的过程和步骤是什么
Oct 18 面试题
this关键字的含义
Apr 08 面试题
武汉瑞得软件笔试题
Oct 27 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Feb 20 面试题
品恩科技软件测试面试题
Oct 26 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
面向对象设计的原则是什么
Feb 13 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
以下为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
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
javascript闭包的理解
2015/04/01 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
使用python3实现操作串口详解
2019/01/01 Python
python中xlutils库用法浅析
2020/12/29 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
毕业生在校学习的自我评价分享
2013/10/08 职场文书
平安建设实施方案
2014/03/19 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
装修施工安全责任书
2014/07/24 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
CPU不支持Windows11系统怎么办
2021/11/21 数码科技