- 6
- 0
- 约32.18万字
- 约 177页
- 2017-01-06 发布于贵州
- 举报
C语言常见问题集C语言常见问题集
第1章? C语言?本章主要描述C语言一些基本要素。当你开始编写C程序时,你可能对C语言的一些基本问题感到困惑,如C语言所使用的约定、关键字和术语等。本章将回答这方面你经常会遇到的一些问题。??? 例如,switch语句是最常用的一种C语言构件,本章将回答与它有关的三个常见问题。本章还涉及其它几个问题,如循环、分支、运算符的优先级和程序块技术。在阅读本章时,请注意有关switch语句和运算符优先级的一些问题,这些问题常常会使C语言的初学者感到迷惑。1.1? 什么是局部程序块(local block)???? 局部程序块是指一对大括号({})之间的一段C语言程序。一个C函数包含一对大括号,这对大括号之间的所有内容都包含在一个局部程序块中。if语句和swich语句也可以包含一对大括号,每对大括号之间的代码也属于一个局部程序块。此外,你完全可以创建你自己的局部程序块,而不使用C函数或基本的C语句。你可以在局部程序块中说明一些变量,这种变量被称为局部变量,它们只能在局部程序块的开始部分说明,并且只在说明它的局部程序块中有效。如果局部变量与局部程序块以外的变量重名,则前者优先于后者。下面是一个使用局部程序块的例子:#include stdio.hvoid main(void);void main(){???? / * Begin local block for function main() * /???? int test_ var = 10;???? printf(Test variable before the if statement: %d\n, test_var);???? if (test_var5)???? {?????????? / * Begin local block for if statement * /?????????? int test_ var = 5;?????????? printf(Test variable within the if statement: %d\n,?????????????????? test_var);?????????? {???????????????? / * Begin independent local block (not tied to????????????????????? any function or keyword) * /?? ?????????????? int test_var = 0;?? ?????????????? printf (?????? ?????? ?? Test variable within the independent local block: %d\n,???? ???????? ?? test_var)????? }????? / * End independent local block * /????? printf (Test variable after the if statement: %d\n, test_var);}
/*End local block for function main () * /上例产生如下输出结果:Test variable before the if statement: 10Test variable within the if statement: 5Test variable within the independent local block:0Test variable after the if statement: 10??? 注意,在这个例子中,每次test_var被定义时,它都要优先于前面所定义的test_var变量。此外还要注意,当if语句的局部程序块结束时,程序重新进入最初定义的test_var变量的作用范围,此时test_var的值为10。
??? 请参见:??? 1.2可以把变量保存在局部程序块中吗?
1.2? 可以把变量保存在局部程序块中吗???? 用局部程序块来保存变量是不常见的,你应该尽量避免这样做,但也有极少数的例外。例如,为了调试程序,你可能要说明一个全局变量的局部实例,以便在相应的函数体内部进行测试。为了使程序的某一部分变得更易读,你也可能要使用局部程序块,例如,在接近变量被使用的地方说明一个变量有时就会使程序变得更易读。然而,编写得较好的程序通常不采用这种方式来说明变量,你应该尽量避免使用局部程序块来保存变量。
??? 请参见:??? 1.1 什么是局部程序块?
1.3? 什么时候用一条switch语句比用多条if语句更好???? 如果你有两个以上基于同一个数字
您可能关注的文档
- CT工业厂房投标方案.doc
- cwalfxcwalfx.docx
- CVTE笔试题_答案.doc
- C_C++软件开发规范.doc
- C上机练习题全.doc
- C一期土方招标文件.doc
- C代码优化性能.doc
- C代码优化C代码优化.doc
- CVS搭建及应用.doc
- C_实验指导书.doc
- 探源与思辨:王若虚《论语辩惑》的多维审视.docx
- 铜锰氧化物的制备工艺与选择催化氧化氨性能的深度探究.docx
- 高新技术项目融资模式的多维度比较与创新发展研究.docx
- 磁共振测量技术赋能生物组织电特性成像的深度探索.docx
- 基于Hadoop的云存储系统:架构、实现与性能优化.docx
- 探寻自适应主动队列管理算法:原理、应用与前沿演进.docx
- 基于UML活动图的测试用例自动生成技术:原理、方法与实践.docx
- Cu-Sn微焊点化合物演变与原位力学性能的深度剖析.docx
- 东北亚经济合作新态势下东北振兴的战略协同与发展路径研究.docx
- 基于卷积神经网络的中国交通标志检测:技术、应用与优化研究.docx
原创力文档

文档评论(0)