C语言的5个简答题
发布时间:2025-05-12 09:18:16 发布人:远客网络
一、C语言的5个简答题
静态数据成员实际上是类域中的全局变量。
2.静态数据成员被类的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。
3.静态数据成员可以成为成员函数的可选参数,而普通数据成员则不可以。
4.静态数据成员的类型可以是所属类的类型,而普通数据成员则不可以。普通数据成员的只能声明为所属类类型的指针或引用。
5.静态数据成员的值在const成员函数中可以被合法的改变。
二.对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
面向对象就是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
(1)对象唯一性。每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)抽象性。抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
(4)多态性(多形性)多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
(5)重载:重载指类的同名方法在给其传递不同的参数是可以有不同的运动规律。在对象间相互作用时,即使接收消息对象采用相同的接收办法,但消息内容的详细程度不同,接收消息对象内部的运动规律也可能不同。
三.在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
四.具有protected访问控制级别的成员是半公开的,外界无法直接访问这个控制级别的成员,但是派生类的this指针可以获得访问能力。protected与private基本相似,只有在继承时有较大的区别。继承的类可以访问protected成员,但是不能访问private成员。
五.构造函数:主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,一般与new运算符一起使用在创建对象的语句中。特别的,一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。
析构函数:当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
二、c语言的简答题!求高手解答
1、2 A函数中有递归函数 void型函数为无返回值函数 C语言程序有函数体组成 main函数到各个子函数等
2、3 D数组名做形参传的是数组首地址 B C不解释被调函数在主调之前可以不声明
3、7 B static可以修饰任意位置变了全局和静态变态存在数据区初值为0
4、9 A static修饰局部变量后存在数据区不在存放在栈区,全局被修饰后不能被其他文件引用变小作用域全局和静态变量初值为0
三、学C语言的问题
哎,说点题外话,以下回答可能引来群嘲,不喜欢的请忽略。
------------------------------------------------------------------------------
1.因为清华大学显得很高端,必须练习题也高端,教授都是高端,学生也高端,所以用c来解数学题才能体现我们高端。
答:其实和数学没有关系。建议你找找外国翻译版的教材,比较经典的都和数学无关。
2.如果你要搞图形学,那数学基础是要有的。或者你要去一个公司搞游戏开发,设计引擎,你要好好学数学了。
要为某实验室开发数据收集的软件,你要了解相关的公式,到时候现学也行。
其他方面一般不会设计太多数学,你会个加减乘除啥的就差不多了。
3.因为大学课程全是形式,c语言基础部分很简单,自学的话1~2星期就会,所以教授和学生轻松+愉快。他还不涉及面向对象。有的学校加上了面向对象部分,类什么的,不过最后也只考个皮毛。而且所有人都说c是基础,学了c学其他更快,学校学c的话他就可以满嘴是理由了。但是你要真有心学程序,那你就不要去上课了,耽误时间。
4。 asp/php那你学c做啥,用得到不?我身边搞网页开发的没有一个学c的。如果你的项目真需要一个 c/c++程序做后台处理什么的,那你找一个c程序员合作就是了,你把自己的网页服务器数据库什么的专精了就可以了。
还有看你怎么定位了,你要是对编程有极大的浓厚兴趣,那就学黑客了不是吗。你看看《社交网络》这部电影,他的黑客功底很雄厚。可惜的是电影没有演绎出他这雄厚的功底所付出的艰辛努力过程。
补充一点:我是学c/c++信息安全方面的。