黑马程序员-C语言基础学习心得-01

本文是关于C语言基础的学习心得,涵盖了运算符的使用,包括算术、赋值、复合赋值及自加自减,详细解释了逗号表达式和强制类型转换。此外,还讨论了C语言的循环结构,如for、while和do-while语句的选用原则,强调了循环完整性和避免死循环的重要性。最后提到了函数调用的参数、声明和返回值等相关知识点。

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、运算符的知识总结


1、算术表达式:

      +,-,*,/,%                 

2、赋值表达式:

     表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。 

3、复合的赋值表达式:  

   int a=2; 
   a*=2+3;运行完成后,a的值是12。 一定要注意,首先要在2+3的上面打上括号。变成(2+3)再运算。 

4、自加表达式: 

自加、自减表达式:假设a=5,++a(是为6), a++(为5); 

运行的机理:++a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为

6, 再放到变量a中。 进行了++a和a++后 在下面的程序中再用到a的话都是变量a中的6了。 

     口诀:++在前先加后用,++在后先用后加。

 5、逗号表达式: 

优先级别最低。

表达式的数值逗号最右边的那个表达式的数值。 (2,3,4)的表达式的数值就是4。 

 z=(2,3,4)(整个是赋值表达式) 这个时候z的值为4。   z=  2,3,4 (整个是逗号表达式)这个时候z的值为2。  

补充: 

1、空语句不可以随意执行,会导致逻辑错误。 

2、注释是最近几年考试的重点,注释不是C语言,不占运行时间,没有分号。不可以嵌套! 

3、强制类型转换: 

      一定是 (int)a 不是  int(a),注意类型上一定有括号的。    注意(int)(a+b) 和(int)a+b 的区别。 前是把a+b转型,后是把a转型再加b。 4、三种取整丢小数的情况:        (1)int a =1.6;               2、(int)a;                   3、1/2; 3/2;


二、总结C语言循环结构相应知识点

 

1、什么叫循环结构? 
    
     当条件成立的时候,执行循环体的代码,当条件不成立的时候,跳出循环,执行循环结构后面的代码。

2、循环结构中使用的语句在C语言 

     C语言循环控制语句提供了 while语句、do-while语句和for语句来实现循环结构。

3、循环的选用原则 

    同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决。

    选用的一般原则是: 

     ( 1 )如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。 

     ( 2 )当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。C++/C循环语句中,for语句使用频率最高,while语句其次,do语

句很少用。三种循环语句for、while、do-while可以互相嵌套自由组合。

     注意:各循环必须完整,相互之间绝不允许交叉。

4、for语句
    for语句的格式为: 
                   for   (   初始化语句;   条件语句;   控制语句  ) {   语句1  ;  语句2 ; ....    语句n  ;}
for 语句的执行顺序是:首先执行“初始化语句”;然后测试“条件语句”;若条件成立,则执行语句1到语句n;然后执行“控制”语句;接着再测试条件语句是否成立,如果成立则重

复执行以上过程,直至条件不成立时才结束for循环。
     如: 
           int i,a[]=new int[10]; 
           for (i=0,i<10;i++) a[i]= 0; 
    
这段代码把整型数组a中的所有元素都赋成0。你可以在for循环的头部说明你的变量,而且最后一个表达式可以省略,不过要确定在语句中对变量的值有所改变, 

     如:for(int i=0;i<=10;) i+=i; 

for循环中,“初始化语句”、“条件语句”和“控制语句”都可以省略,但是其间的分号不能省略。       例如: int i =0;  
               for ( ;;) 
                 { 
                    if i>10 break ; 
                    i = i +1 ; 
                  } 
    
for循环中省略“条件语句”时,在for语句{}中必须包换转句语句控制程序在某个条件满足时跳出for循环,否则将形成死循环。  


三、 关于函数的知识点


1、函数调用的时候的参数叫实际参数 

2、 函数定义的时候的参数叫形式参数 

3、 函数调用发生的时候,要求实际参数和形式参数的数量要一致,类型要匹配 

4、 函数调用发生的时候,要考虑函数的位置? 

  a) 如果主调函数在上,被调函数在下,要求要在主调函数的上面或内部对被调函数进行声明,否则函数调用无法执行; 

  b) 如果在程序中使用了库函数,要对该库函数作相应的声明处理。

5、 函数声明 

  a) 自定义函数的声明:推荐使用函数的原型声明方式(将函数的头部完全复制+分号,构成函数声明语句)放在主调函数的变量定义位置(主调函数内)或者放在主调函数的

上方;声明放在程序的最开头; 

  b) 库函数的声明:使用#include来包含该库函数所在的头文件(*.h) 

  c) 什么时候不需要对函数进行声明:1. main不需要声明;2. 被调函数写在主调函数之前,不需要声明。 

6、 函数的值 

  a) 函数的值要返回主调函数,使用return语句; 

  b) return语句在一个函数可以有多个,但是程序执行遇到第一个return语句的时候就将结束本函数,回到主调函数。多个return最终只能有一个被执行。 

  c) return后面可以是变量、常量、表达式 

  d) return的作用结束被调函数的执行,使程序的流程回到主调函数; 

  e) 函数的类型:int, void,float,char,double,long ,short 。

              (1)无返回值的函数类型要写成:void

              (2)有返回值的函数的类型要尽量与return后面的表达式的类型一致 

              (3)若函数类型与return后的类型不一致的情况下,要将return后的数据计算后自动转换成函数类型再返回; 

7.、多个形式参数的定义,不管类型是否相同,都要分别用类型来定义形参 

8. 函数调用中的单向值传递和地址传递 

  a) 普通变量做函数的参数:单向值传递 

  b) 数组名做函数的参数:数组名作为函数的参数的时候,传递的是数组的地址,形参数组就和实际参数数组具有了相同的地址,实际上它们是同一个数组,所以在被调函数中

对数组元素的计算,计算结果会在主调函数中被得到。 

9、函数的调用方式: 

a) 嵌套调用 b) 递归调用 

10. 全局变量和局部变量 

a) 全局变量:定义在函数体外的变量 ;  变量的作用域:从变量定义开始到源函数结束。

b) 局部变量:定义在函数体内部的变量; 变量的作用域: 从变量定义开始到本函数模块结束。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值