不足之处,恳请各位同学批评指正。
1、请填写bool , float, 指针变量 与“零值”比较的if 语句。提示:这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。例如int 变量n 与“零值”比较的if 语句为:if ( n == 0 ) if ( n != 0 ) 以此类推。 (1)请写出bool flag 与“零值”比较的if 语句:【标准答案】if ( flag ) if ( !flag )100 条经典 C语言笔试题目(2)请写出float x 与“零值”比较的if 语句:【标准答案】 const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x =” 或“(Y)?(Y):(X))// 结尾 没有 ;
40、带参宏与带参函数的区别(至少说出5点)?【标准答案】 带参宏 带参函数处理时间 编译时 运行时参数类型 无 需定义程序长度 变长 不变占用存储空间 否 是运行时间 不占运行时间 调用和返回时占
41、关键字volatile有什么含意?【标准答案】提示编译器对象的值可能在编译器未监测到的情况下改变。
42、int main(){int x=3;printf("%d",x);return 1;}问函数既然不会被其它函数调用,为什么要返回1?【标准答案】mian中,c标准认为0表示成功,非0表示错误。具体的值是某中具体出错信息。
43、已知一个数组tabl e ,用一个宏定义,求出数据的元素个数。【标准答案】#define NTBL(table) (sizeof(table)/sizeof(table[0]))
44、A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?【标准答案】static的全局变量,表明这个变量仅在本模块中有意义,不会影响其他模块。他们都放在静态数据区,但是编译器对他们的命名是不同的。如果要使变量在其他模块也有意义的话,需要使用extern 关键字。
45、static全局变量与普通的全局变量有什么区别?【标准答案】 static全局变量只初使化一次,防止在其他文件单元中被引用;
46、static局部变量和普通局部变量有什么区别【标准答案】static局部变量只被初始化一次,下一次依据上一次结果值;
47、static函数与普通函数有什么区别?【标准答案】static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
关于45-47 的参考文章全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。static函数与普通函数作用域不同。仅在