预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共242页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言编程要点---第1章C语言 第1章C语言 本章主要描述C语言一些基本要素。当你开始编写C程序时,你可能对C语言的一些基本问题感到困惑, 如C语言所使用的约定、关键字和术语等。本章将回答这方面你经常会遇到的一些问题。 例如,switch语句是最常用的一种C语言构件,本章将回答与它有关的三个常见问题。本章还涉及其它 几个问题,如循环、分支、运算符的优先级和程序块技术。在阅读本章时,请注意有关switch语句和运算 符优先级的一些问题,这些问题常常会使C语言的初学者感到迷惑。 1.1什么是局部程序块(localblock)? 局部程序块是指一对大括号({})之间的一段C语言程序。一个C函数包含一对大括号,这对大括号之间 的所有内容都包含在一个局部程序块中。if语句和swich语句也可以包含一对大括号,每对大括号之间的 代码也属于一个局部程序块。此外,你完全可以创建你自己的局部程序块,而不使用C函数或基本的C语 句。你可以在局部程序块中说明一些变量,这种变量被称为局部变量,它们只能在局部程序块的开始部分 说明,并且只在说明它的局部程序块中有效。如果局部变量与局部程序块以外的变量重名,则前者优先于 后者。下面是一个使用局部程序块的例子: #include<stdio.h> voidmain(void); voidmain() { /*Beginlocalblockforfunctionmain()*/ inttest_var=10; printf("Testvariablebeforetheifstatement:%d\n",test_var); if(test_var>5) { /*Beginlocalblockfor"if"statement*/ inttest_var=5; printf("Testvariablewithintheifstatement:%d\n", test_var); { /*Beginindependentlocalblock(nottiedto anyfunctionorkeyword)*/ inttest_var=0; printf( "Testvariablewithintheindependentlocalblock:%d\n", test_var) } /*Endindependentlocalblock*/ printf("Testvariableaftertheifstatement:%d\n",test_var); } /*Endlocalblockforfunctionmain()*/ 上例产生如下输出结果: Testvariablebeforetheifstatement:10 Testvariablewithintheifstatement:5 Testvariablewithintheindependentlocalblock:0 Testvariableaftertheifstatement:10 注意,在这个例子中,每次test_var被定义时,它都要优先于前面所定义的test_var变量。此外还要注意, 当if语句的局部程序块结束时,程序重新进入最初定义的test_var变量的作用范围,此时test_var的值为 10。 请参见: 1.2可以把变量保存在局部程序块中吗? 1.2可以把变量保存在局部程序块中吗? 用局部程序块来保存变量是不常见的,你应该尽量避免这样做,但也有极少数的例外。例如,为了调试 程序,你可能要说明一个全局变量的局部实例,以便在相应的函数体内部进行测试。为了使程序的某一部 分变得更易读,你也可能要使用局部程序块,例如,在接近变量被使用的地方说明一个变量有时就会使程 序变得更易读。然而,编写得较好的程序通常不采用这种方式来说明变量,你应该尽量避免使用局部程序 块来保存变量。 请参见: 1.1什么是局部程序块? 1.3什么时候用一条switch语句比用多条if语句更好? 如果你有两个以上基于同一个数字(numeric)型变量的条件表达式,那么最好使用一条switch语句。例如, 与其使用下述代码: if(x==l) printf("xisequaltoone.\n"); elseif(x==2) printf("xisequaltotwo.\n"); elseif(x==3) printf("xisequaltothree.\n"); else printf("xisnotequaltoone,two,orthree.\n"); 不如使用下述代码,它更易于阅读和维护: switch(x) { case1:printf("xisequaltoone.\n"); break; case2:printf("xisequaltotwo.\n");