教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

c语言经典笔试题(非常全)(3)

来源:网络收集 时间:2026-07-11
导读: #endif 的作用是防止被重复引用。 为了实现c和c++的混合编程,c++提供了c连接交换指定符号extern \来解决名字匹配问题,函数声明前加上extern \后,则编译器就会按照c语言的方式将该函数编译为_foo,这样c语言中就

#endif

的作用是防止被重复引用。

为了实现c和c++的混合编程,c++提供了c连接交换指定符号extern \来解决名字匹配问题,函数声明前加上extern \后,则编译器就会按照c语言的方式将该函数编译为_foo,这样c语言中就可以调用c++的函数了。

26 编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”

函数头是这样的:

//pstr是指向以'\\0'结尾的字符串的指针 //steps是要求移动的n

void loopmove ( char * pstr, int steps ) {

//请填充... }

解答:

正确解答1:

void loopmove ( char *pstr, int steps ) {

int n = strlen( pstr ) - steps; char tmp[max_len]; strcpy ( tmp, pstr + n ); strcpy ( tmp + steps, pstr); *( tmp + strlen ( pstr ) ) = '\\0'; strcpy( pstr, tmp ); }

正确解答2:

void loopmove ( char *pstr, int steps ) {

int n = strlen( pstr ) - steps; char tmp[max_len];

memcpy( tmp, pstr + n, steps ); memcpy(pstr + steps, pstr, n ); memcpy(pstr, tmp, steps ); }

27 static关键字至少有下列n个作用:

(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

(3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;

28 const关键字至少有下列n个作用:

(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;

(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;

(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;

(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;

29:请写一个c函数,若处理器是big_endian的,则返回0;若是little_endian的,则返回1

解答:

int checkcpu() { { union w { int a; char b; } c; c.a = 1; return (c.b == 1); } }

30. 堆和栈的区别?

栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

堆区(heap) - 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。

1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。

2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。

3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。

31.struct 和 class 的区别

答案:struct 的成员默认是公有的,而类的成员默认是私有的。struct 和 class 在其他方面是功能相当的。

从感情上讲,大多数的开发者感到类和结构有很大的差别。感觉上结构仅仅象一堆缺乏封装和功能的开放的内存位,而类就象活的并且可靠的社会成员,它有智能服务,有牢固的封装屏障和一个良好定义的接口。既然大多数人都这么认为,那么只有在你的类有很少的方法并且有公有数据(这种事情在良好设计的系统中是存在的!)时,你也许应该使用 struct 关键字,否则,你应该使用 class 关键字。 …… 此处隐藏:158字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言经典笔试题(非常全)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592983.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)