重庆师范大学
        目:C程序设计
        名:运算符与表达式
    名:张   
    号:20090512132
  业:计算机科学与技术(师范)
        级:20XX3
        院:计算机与信息科学学院
        间:20XX1220
科目:C程序设计                           
日期:20XX年12月20日
课名:运算符与表达式 
班级:大一计算机专业学生                                       
授课人:张萍
课时:2课时
课型:新授课
教学方法:讲授法,集体讨论法               
教学目标:认知目标—通过学习,识记、理解运算符、表达式;
          能力目标—通过学习运算符与表达式,采用并学会自主学习的方法;
          情感目标—在学习人工智能知识的过程中,激发起学生们探究自然科学的兴趣。
重点难点:重点—表达式的正确书写;
          难点—运算符的优先级及其结合方向。
教学媒体:多媒体投影仪。
教学过程:1、导入新课—由学生熟知的+ - * /符号引出本节课主讲内容—C运算符,并向学
                      生简要介绍之。(如赋值、算术、逗号等运算符)
            时间:3—5min
            教师活动:引出C运算符并简要向学生介绍之。
            学生活动:认识、了解C运算符。
          2、讲授新课—将知识点逐个细讲,再举例分析,让学生熟悉掌握各知识点。
            时间:78mim
            a、赋值表达式与变量赋初值(8min)
              i、给出表达式x=a,由上节课所学内容分析x—变量,a—常量,而“=”
                  即为赋值符号,从而得出x=a为一赋值表达式。
              ii、辨析“=”(赋值号)与“==”(等号)
              iii、随堂练习:  int a=4;
                                a=a+2;
                                printf("a=%d",a);
                          结果:a=6
              iv、在定义变量同时给变量直接赋值——变量赋初值
                  例:int a=3;    char  c='a'
            b、算术运算符与算数表达式(10min)
              i、基本运算符:+  -  *  /  %
              ii、两int型相除结果为int型,%符号两端的数据必须为整型;
              iii、若参与+ - * /运算的两个数中有一个float型,则结果为double型;
              iv、算术表达式:用算术运算符和括号将对象连接起来,符合C规则的式子;
              v、优先级:先乘除求余后加减,同级    左结合性  左    右
            注:强制类型转换运算符      (10min)
                        (类型名)(表达式) 
                i、(double) a    (int) (x+y)    (float) (5%3)
                ii、强制类型转换只是一次性的转换,经强制类型转换后的变量其本身的
                    值不变。
                  例:void main()
                      {  float  x;
                          int  i;
                          x=3.6;
                          i=(int) x;
                          prinrf("x=%f,i=%f",x,i);
                      }
                    结果: f=3.600000, i=3
                iii、(int) x%3  强制类型转换运算优先于求余运算。
            c、自增自减运算表达式(12min)
                i、运算规则:i++,i-- 先运算,后自变(自增自减)
                ii、注意:自增自减运算符只能用于变量,不能用于常量和表达式。
                例: main()                      main()           
                      { int a=1,b=2;                    { int a=1,b=2; 
                        a++;b++;                      ++a;b++;
                      prinrf("%d,%d",a++,b++);          prinrf("%d,%d",a++,++b);
                      }                              }   
                  main()
                      { int a=1,b=2;   
                        ++a;c=b++;
                        prinrf("%d,%d,%d",a++,++b,c++);
                      }
                    结果:2,3        2,3          2,3 ,4
                iii、理解i+++j:(i++)+j
                iv、函数内部参数的运算顺序是自右向左运算的。
                随堂练习:void main(){int i=3;  printf("%d,%d",i,i++);  } 
                          结果:4,3                                                                             
            引申:赋值转换规则(10min)
              i、将实型赋值给整型,只取整数部分;
              ii、整型赋值给单、双精度变量时,数值不变;    如23—%f为23.000000
              iii、将一个double型赋予float型时,取其前7位有效数字,注意不要溢出。
              iv、将int,long int,short int        unsigned  int long short,原样送,部
                  分负数会变成较大的整数。
            d、复合的赋值运算符(11min)
                例:a+=3              a=a+3
                    a-=3                a=a-3
逗号表达式的运算顺序                    x*=y+8            x=x*(y+8)
                    x%=3              x=x%3
                    x/=3                x=x/3
                注:++i与++i;的区别  前者是赋值表达式,后者是赋值语句;
                例:a/=3与a/3的区别  前者是赋值运算,会改变a的值,后者是简单
                    的算术运算表达式,不改变a的值,只得一表达式的值。
            e、逗号运算符与逗号表达式(8min)
              i、逗号表达式:用逗号表达式将两个或多个表达式连接起来的式子;
              ii、一般形式:(表达式1,表达式2,…,表达式n);
              iii、求解过程:先求表达式1,再求表达式2,直到表达式n,整个表达式
                  的值是表达式n的值。
              例:void main() 
                  {
                      int  a,b=1;
                      a=(b+5,b+=2,++b);
                      printf("%d",a) ;
                  }
                  结果: 4
              随堂练习:
                  int  a=2,b=3;
                  printf("%d,%d",(a,a++),b) ;
                  结果: 2,3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。