开学已经一个多月,不知大家c语言的学习进展如何?不管是从入门到精通还是入门到放弃,入门是必然的。 一.学好C语言的运算符和运算顺序 关于c语言的运算符参考课本p-,强调一下运算符的运算优先级,明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1~15,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序. 二.学好C语言的四种程序结构 (1)顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s=3.*r*r,输出圆的面积s。 (2)分支结构 ①if(条件) { 分支体 } 这种分支结构中的分支体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。 ②if(条件) {分支1}else {分支2} 这是典型的分支结构,如果条件成立,执行分支1,否则执行分支2,分支1和分支2都可以是1条或若干条语句构成。 ③嵌套分支语句:其语句格式为: if(条件1){分支1}; elseif(条件2){分支2} elseif(条件3){分支3} …… elseif(条件n){分支n} else{分支n+1} 嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。 ④switch开关语句:其语句格式为 switch(表达式) {case常量表达式1:语句1; case常量表达式2:语句2; … case常量表达式n:语句n; default:语句n+1; } 该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。 (3)循环结构: ①while循环:其语句格式为 while(表达式) { 循环语句体; } 该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。 ②do-while循环:其语句格式为 do{........}while() do-while和while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的while循环主要的区别是do-while的循环语句保证会执行一次(表达式的真值在每次循环结束后检查)。 ③for循环:其语句格式为 for(表达式1;表达式2;表达式3) {循环体} 先对表达式1赋初值。判断判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。 要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环。 (4)模块化程序结构 C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。 三.掌握一些简单的算法 编程其实一大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求掌握算法,根据我们的《C程序设计》教学大纲中,只要求我们掌握一些简单的算法,在掌握这些基本算法后,要完成对问题的分析就容易了。如两个数的交换、三个数的比较、选择法排序和冒泡法排序,这就要求我们要清楚这些算法的内在含义。 相信你们大多数都已进入了c语言的大门,下面是小编为大家准备的几碟小菜, 有没有信心把这六道题都做正确呢? 1设有intx=11;则表达式(x++*1/3)的值是 A)3B)4C)11D)12 2下列程序执行后的输出结果是(小数点后只写一位) main() {doubled;floatf;lingl;inti; i=f=1=d=20/3; printf("%d%ld%f%f\n",i,l,f,d); } A).06.0B).76.7 C).06.7D).76.0 3若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 A)(exp==0)B)(exp!=0) C)(exp==1)D)(exp!=1) 4若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A)2.B)2.C)3.D)0. 5下列变量定义中合法的是 A)short_a=1-.1e-1;B)doubleb=1+5e2.5; C)longdo=0xfdaL;D)float2_and=1-e-3; 6鸡兔同笼;描述,已知鸡和兔的总数量n,总腿数为m。输入n,m依次输出鸡和兔的数目。如果无解则输出"Noanswer"(不要引号)。第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a10)a行里,每行都有一个n和m。(0m,n)输出鸡兔的个数,或者Noanswer 样例输入 2 样例输出 Noanswer (AABAA) 备战七月之执业医师实践技能考试分类记忆总病例单眼视力下降的诊疗转载请注明原文网址:http://www.gzdatangtv.com/cksc/2139.html |