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

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

来源:网络收集 时间:2026-07-11
导读: IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。 68.不能做switch()的参数类型是: switch的参数不能为实型。 注:必须是整数型常量,包括char,short

IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。 68.不能做switch()的参数类型是:

switch的参数不能为实型。

注:必须是整数型常量,包括char,short,int,long等,不能是浮点数。

Int main() {

}

Float a=3; Switch(a) {

Case 3: Printf(“a”); }

Return 0;

//error C2450: switch expression of type 'float' is illegal

69、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用\

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 70、如何引用一个已经定义过的全局变量?

答:extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 71、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

72、语句for( ;1 ;)有什么问题?它是什么意思? 答:无限循环,和while(1)相同。 73、do??while和while??do有什么区别?

答:前一个循环一遍再判断,后一个判断以后再循环。

74 程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

75、设有以下说明和定义:

typedef union {long i; int k[5]; char c;} DATE; //25 struct data { int cat; DATE cow; double dog;} too; //37 DATE max;

则语句 printf(\的执行结果是:___52____

62 76、队列和栈有什么区别?

队列先进先出,栈后进先出

77、请找出下面代码中的所以错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” #include\

main() {

char*src=\ char* dest=NULL; int len=strlen(src); dest=(char*)malloc(len); char* d=dest; char* s=src[len]; while(len--!=0) d++=s--;

printf(\ return 0; } 答:

int main(){

char* src = \int len = strlen(src);

char* dest = (char*)malloc(len+1);//要为\\0分配一个空间 char* d = dest;

char* s = &src[len-1];//指向最后一个字符 while( len-- != 0 ) *d++=*s--;

*d = 0;//尾部要加\\0 printf(\

free(dest);// 使用完,应当释放空间,以免造成内存汇泄露 return 0; }

78.用两个栈实现一个队列的功能?要求给出算法和思路! 设2个栈为A,B, 一开始均为空. 入队:

将新元素push入栈A; 出队:

(1)判断栈B是否为空;

(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B; (3)将栈B的栈顶元素pop出;

79.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现? c用宏定义,c++用inline

80.软件测试都有那些种类?

黑盒:针对系统功能的测试 白合:测试函数功能,各函数接口

81.进程和线程的差别。

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。 2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 两者都可以提高程序的并发度,提高程序运行效率和响应时间。

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

82.测试方法

人工测试:个人复查、抽查和会审 机器测试:黑盒测试和白盒测试 83.Heap与stack的差别。

Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。 Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行

84 一语句实现x是否为2的若干次幂的判断 int i = 512;

((i & (i - 1)) ? false : true);

85 main() {

…… 此处隐藏:765字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言经典笔试题(非常全)(7).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)