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

面试题 相关文章推荐
PHP面试题-$message和$$message的区别
Dec 08 面试题
抽象方法、抽象类怎样声明
Oct 25 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
SQL里面如何插入自动增长序列号字段
Mar 29 面试题
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
Sep 17 面试题
.NET面试题:什么是值类型和引用类型
Jan 12 面试题
.NET初级开发工程师面试题
Apr 18 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
Oct 15 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
Sep 18 面试题
shell程序中如何注释
Jan 28 面试题
说一下Linux下有关用户和组管理的命令
Jan 04 面试题
以下为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
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
Python对象体系深入分析
2014/10/28 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
个人自我鉴定写法
2013/11/30 职场文书
保护动物倡议书
2014/04/15 职场文书
2014年手术室工作总结
2014/11/26 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers