您的位置:首页 > 理论基础

计算机等级考试二级C语言(一)数据类型及其运算

2016-08-26 15:29 246 查看
1.标识符 

    [1] 命名规则:  由字母  数字 下划线组成,且以字母或者下划线开头 。

    eg. _          _a        _33      a_       

    [2]分类

    <1>关键字   系统预先定义的       不能做自定义使用 

     eg. int  float  double  if  else     

    <2>预定义标识符    系统预先定义     可以做自定义使用  最好不用  

  eg.  printf  scanf puts gets putchar  

    <3>自定义标识符    用户自己定义   必须准守规则   

   注  :C语言区分大小写                                              

2.常量 

    分类   符号常量和直接常量   

   【1】 符号常量 : 用标识符代表一个常量  

               形式   #define 标识符 常量 

          注:符号常量一般用大写                              

      【2】直接常量  :    整型     实型     字符型   字符串  

           整型常量——整数

                 1)十进制     无前缀     有正负号   

                 2)八进制     必须以0开头 ,即以0为前缀      无正负

                 3)十六进制     以0X  或 0x开头      无正负   

                 4) 二进制   1   0     一般最少写8位      

                 5)进制的转化  

                       A:10进制->二进制     除二取余倒排  

                       B:10进制->N进制     除n取余倒排            196 -> 0Xc4  

                       C:2进制->10进制    自右至左,次幂从0以此递增,结果相加     101
4000
0  -> 10              0X

                       D:N进制->10进制   方法同上   底数变为N   

                       E:N进制->M进制     以10进制为桥梁 转换  

           
实型常量 ——小数

 十进制小数形式      注意 :C语言中   .123      123.
         .              这3种也是合法的  
指数形式        注意:e前后必须有数字,并且e后面必须为整数    eg.   1.23e5       3.21e-5                  

          字符常量:用单引号括起来的一个 字符
 

          注意:‘5’    和   5   前者为字符常量  不能参与运算           

       常见的ASCII码值   

       大写字母 ' A'65    'B '66         .......      'Z'  90  

       小写字母  ‘a’97    'b'    98        ........   'z'122  

        数字字符  ‘0’   48       .......‘9’  57  

        整数   ASCII码值是他本身  

        补充: 转义字符  

         【1】   \ddd     表示 1~3位八进制数在ASCCII 码中所代表的字符          eg. \102    换成10进制为 66     66对应ASCII码表        即\102代表 字符 ‘B’    

         【2】 \xhh       表示 1~2位十六进制数在ASCCII 码中所代表的字符           eg.\x2B   换成10进制为43      43对应ASCII表       

    字符串常量     由一对双引号括起的字符序列   

 
注意:‘a’和"a"  虽然只有一个字符  但在内存中的情况是不同的    

   ‘a’在内存中占一个字节   【a】

    "a"在内存中占两个字节   【a】【\0】

 字符串中常量的内存字节数等于字符串字节数加1       增加的一个字节中存放"\0" (ASCII码为0)这是字符串结束的标志    。

3 变量

整型变量

类型类型说明符字节数 
基本整型int4 
短整型short int或short2 
长整型long int 或long  4 
无符号型unsigned            -------- 
实型变量

单精度        float                         4                
双精度double8
长双精度long double16
字符变量       

字符型   char              1         
注意:当把字符放入字符变量中时,字符变量中的值就是该字符的ASCII值  所以字符变量可以作为整形变量来处理,可以参与整型变量的任何运算。 

4.数据类型之间的转换  

自动转换 

char,short——> int   

float——>double

int——>unsigned——>long——>double  

强制转换

注意: (double)(1/2)=0.0

            (double)1/2=0.5

            (int)1.0/2=0 

无论是强制转换还是制动转换只是为了本次运算临时的转换

5.表达式

取余运算符  %   

%异号取余数,余数符号要和除数符号相同,如果不同,余数加除数即为新的余数 

注意:取余要求两边必须为整数              

赋值表达式

注意: int a=3.14     a的值为3 

   

逗号表达式

格式:表达式1,表达式2,表达式3.....

运算过程:先计算1,在计算2,一直到最后表达式的值即为逗号表达式的值 

eg. a=3,b=4,c=a+b;结果   7  

     a=5,b=6,c=b*3;结果   18

自增自减运算

求变量值:(遇到++就+1  遇到--就减1 )

1)i++| ++i    i会加1 

2)  i-- | --i       i会减1 

求表达式的值: (符号在后是原值。符号在前,++加1,--减1 )

1)i++| i--   表达式的值是原值  

2)++i        表达式的值是i+1 

3)   --i         表达式的值是i-1 

 eg: int x=5,y=8;

1)  x++       5       x=6

2)  y--          8       y=7

3)  --y          6        y=6

4)  ++y         7       y=7

5)  y             7

6)  --x           5       x=5  

eg: int a=6 ,b=12;

1)a++ +(--b)     6+11=17     a=7  b =11 

2) --a+(b--)       6+11=17     a=6  b=10

 

提示:先明确求表达式的值还是变量的值           

本文为个人学习总结,如有不足,还望指出 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: