时间:2016-11-29来源:本站原创作者:佚名

开学已经一个多月,不知大家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
------分隔线----------------------------