学习C语言应注意哪些方面?其重点和难点是哪些?

Python012

学习C语言应注意哪些方面?其重点和难点是哪些?,第1张

第一个难点 C语言的数据类型 关于C语言数据类型,不难理解但难于运用。这就要求同学们在学习的时候记住常用的一些数据类型的特征(第一次作业第2题内容)。 第二个难点 C语言的运算符和运算顺序 1.C语言的运算功能十分丰富,运算种类远多于其它程序设计语言。大家在学习的时候不仅要注意某些运算符的运算法则,还要注意运算规则(注意事项)。 2.当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。 第三个难点 C语言的三种简单程序结构 其实,C语言的前二个程序结构不是难点,三种结构里难点应在于循环的嵌套用法。 (1)关于顺序结构 这种结构的程序比较简单,就是按照语句的排列顺序依次执行的机制。顺序结构的执行顺序是自上而下,依次执行,因此编写程序也必须遵守这一规定,否则你的程序执行结果就不对。 语句也是多分支选择语句,又称为多路开关语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if—else 语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。 (3)关于循环结构: 循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do –while循环和for循环。 四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提昌用goto循环,所以下面我们重点讲解另外的三种循环。 常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,大家好好看一下书中三种循环的格式和执行顺序,如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。 注意:在while和do—while循环体内和for 循环中的第3语句中,应包含趋于结束的语句(如i++,i--),否则就可能成了一个死循环,这也是初学者的一个常见错误。 下面我们来讨论下这三种循环的异同之处: 用while和do—while循环时,循环变量的初始化的操作应在循环体之前,而for循环是在语句1中进行的;while 循环和for循环都是先判断表达式,后执行循环体,而do—while循环是先执行循环体后判断表达式,也就是说do—while的循环体最少被执行一次,而while 循环和for就不一定了。这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,不能用break和 continue语句进行控制。 这三种结构并不是彼此孤立的,在循环中可能出现分支、顺序结构,分支中也可能出现循环、顺序结构而把循环、分支看成一个语句,它又是构成顺序结构的一个元素,因此这三种结构相互结合,就能实现各种算法,设计出解题程序,但若是很大的题目,这样编出的程序往往很长,重复结构多,并且可阅读性差,因此我们常将C程序设计成模块化结构。

c语言语句分为5

1、

表达式语句

2、

函数调用语句

3、

控制语句

4、

复合语句

5、

空语句

表达式语句

表达式+分号;

函数调用语句

函数名+实际参数+分号;

格式一般为:函数名(参数表);

控制语句

1,条件判断语句

 

if语句,switch语句循环执行语句

例如:if(a>b)

max=a

else

max=b

//

该语句表示:如果a>b条件成立,则max取a的值,否则max的值是b。在a>b条件的控制下,出现两个可能的分支流程。而switch语句能实现多个分支流程。

 

do

while语句,while语句,for语句转向语句

2,循环语句有for、while和do_while三种。当循环语句的循环控制条件为真时,反复执行指定操作,是c语言中专门用来构造循环结构的语句。

如:for(i=1i<10i++)

printf("%d",i)

i从1开始,每次加1,只要i<10就输出i的值,因此i=1,2,3,……,9,共循环9次,输出:

1

2

3

4

5

6

7

8

9

上述功能还可以用while语句和do_while语句实现。

用while语句实现:

i=1

while(i<10)

{

printf("%d",i)i++

}

用do_while语句实现:

i=1

do

{

printf("%d",i)i++

}

while(i<10)

转移语句有break,continue,return和goto四种。它们都能改变程序原来执行顺序并转移到其它位

置继续执行。例如,循环语句中break语句终止该循环语句的执行;而循环语句中的continue语句只结束本次循环并开始下次循环;return语句

用来从被调函数返回到主调函数并带回函数的运算结果;goto语句可以无条件转向任何指定的位置执行。

复合语句

:多个语句用{}括起来,组成复合语句,其中每条语句都以;结束,但}外不能加分号;

空语句

空语句是只有分号(;)的语句。由一个分号组成,它表示什么操作也不做。从语法上讲,它的确是一条语句。在程序设计中,若某处从语法上需要一条语句,而实际上不需要执行任何操作时就可以使用它。例如,在设计循环结构时,有时用到空语句。

赋值语句

:属于表达式语句,注意事项如下:

1、

允许嵌套

2、

与为变量赋初值有区别,赋初值是变量说明的一部分,与其他变量要用逗号分隔,而赋值语句需要用分号;结束

3、

变量说明不允许中的赋初值不允许连续赋初值,如int

a=b=c=5;是错误的,但赋值语句a=b=c=5是正确的。

4、

注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。

如if

((x=y+5)>0)

z=x是正确的,而if((x=y+5)>0)

z=x是错误的。

学习方法,没什么多说的,多看书多敲代码,不仅仅是书中的代码,也要自己想一些问题来实现

打代码,初学时要注意以下几点

注意变量名,函数名等不要拼错

用scanf函数时不要忘记加&,当然,字符串除外

学会查错,仔细看编译器的报错提示,会包括出错所在行数和错误类型,其中行数很重要,一般提示出错在10行,那问题就多在10行附近,仔细看看(也有情况会离提示很远),错误类型并不一定是实际的错误,不能把这个当做评判标准,另外,程序语法没有错误,不代表程序本身没错,一定要注意

多实验,会有很多收获

可以加一些QQ群问问题,问问题要注意把代码和报错提示一起截图,不要拍照,拍照很不清晰,不要问一些范围很大的概念性问题

注意保存好代码,专门建个文件夹保存,里面也建文件夹,每个文件夹保存一个项目

尽量别用手机编程