当前位置:编程学习 > C/C++ >>

谁给一个C语言编程的详细教程? 每种语法都要有~

追问:请附带视频教程~  谢谢~~

答案:c语言-顺序结构

  顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

  例如;a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等

 

(1)顺序结构  顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。  例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。  (2) 选择结构  顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。  学习选择结构不要被选择嵌套所迷惑,只要正确绘制出流程图,弄清各选择语函数所要执行的功能,嵌套结构也就不难了。嵌套只不过是选择中又包括选择语句而已,不是新知识,只要对双分支的理解清楚,选择嵌套是不难的。下面我介绍几种基本的选择结构。  ①if(条件)  {选择体}  这种选择结构中的选择体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过选择体,这时选择体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0)x=-x;  ②if(条件)  {择路1}  else  {择路2}  这是典型的选择结构,如果条件成立,执行路径1,否则执行路径2,路径1和路径2都可以是1条或若干条语句构成。如:求ax^2+bx+c=0的根  分析:因为当b^2-4ac>=0时,方程有两个实根,否则(b^2-4ac<0)有两个共轭复根。其程序段如下:  int a,b,c,d,x,y;  printf("Please put the number of a,b&c from the quadratic equation of one variable one by one\n");  scanf("%d%d%d",&a,&b,&c);  d=b*b-4*a*c;  if(d<0)  {  printf("NO Root!Wrong!\n");  }  else  {  y=-b-sqrt(d)/2*a;  x=-b+sqrt(d)/2*a;  printf("The 1st equation root=%d\nThe 2nd equation root=%d",y,x);  }  ③IF嵌套分支语句:其语句格式为:  if(条件1) {择路1}  else if(条件2) {择路2}  else if(条件3) {择路3}  ……  else if(条件n) {择路n}  else {择路n+1}  FOR嵌套,其语句格式为:  for(初值A;范围A;步长A)  {  for(初值B;范围B;步长B)  {  循环体  }  }  FOR嵌套例子:九九乘法表  main()  {  int a,b,c;  for(a=1;a<=9;a++)  {  for(b=1;b<=a;b++)  {  c=b*a;  printf("%dx%d=%d ",b,a,c);  }  printf("\n");  }  }  嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。  ④switch开关语句:该语句也是多选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else语句,它的所有路径都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2路径,第3路径……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。  “?”语句 问号语句也是分支的一种,格式类似(a<b)? 语句1:(此处是冒号)语句2;假如括号内为真则执行语句1否则执行语句2  (3)循环结构:  循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。  在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。  顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。  (4)模块化程序结构  C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。 因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

 

 结构语句的形象理解到运用:  

判断语句(选择结构)循环语句(循环结构)跳转语句(循环结构:是否循环)
if 语句:“如果”语句while 语句:“当…”语句goto 语句:“转舵”语句
if—else 语句:“若…(则)…否则…”语句do—while 语句:“做…当…(时候)”语句break 语句:“中断”(循环)语句
switch 语句:“切换”语句for 语句:条件语句(即“(做)…为了…”语句)continue 语句:“继续”语句(结束本次循环,继续下一次循环)
switch—case:“切换—情况”语句
return 语句:“返回馈”语句

我感觉你更需要一本就是清华大学出版社的《c语言程序设计》
这本书我们班都有……

上一个:C语言要怎么才能学好,有什么关于C语言和编程的书吗?
下一个:java语言于C语言的区别

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,