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

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
介绍java中初始化块的使用
Sep 11 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 面试题
为数据库创建索引都需要注意些什么
Jul 17 面试题
一道SQL存储过程面试题
Oct 07 面试题
override和overload的区别
Mar 09 面试题
如何利用cmp命令比较文件
Sep 23 面试题
几个常见的软件测试问题
Sep 07 面试题
Java面试笔试题大全
Nov 23 面试题
Unix/Linux开发面试题
Aug 16 面试题
以下为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 session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
详解php实现页面静态化原理
2017/06/21 PHP
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
python实现SMTP邮件发送功能
2020/06/16 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
2015元旦感言
2015/12/09 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技