【学习ios之路:C语言】数据类型、常量变量、运算符、表达式、格式化输入输出

           1.数据类型、常量变量.       

           变量定义: 数据类型 变量名 =  初始值; int x = 10; = 赋值符号,即将等号右边的值赋值给左边,赋值过程相当于拷贝,而不是剪切.

           变量名的命名规范: 

              1. 只能是数字,字母,下划线组成.数字不能开头.

              2.不能和系统关键字重名

              3.变量名要具有解释性

              4.变量名不能重名.

   <span style="font-size:14px;"> //例题:将两个变量a,b的值进行互换,方法如下: int a = 5;int b = 10;

      //1.方法:再定义个变量
        int c = 0;
        c = a ;
        a = b;
        b = c ;
      //方法2 :这种方法不借助第三方,但是存在溢出现象,例如:a 取int范围最大值.
        a = a + b;
        b = a - b;
        a = a - b;
      //方法3 :异或运算 //相同为0,不同为真. 0 ^ 0 = 0 1 ^ 1 = 0 1^0 = 1 
        a = a ^ b;
        b = b ^ a;
        a = b ^ a;</span>
 

             2.运算符、表达式、格式化输入输出

              运算符:

                       1.算数运算符: + - % / ++ --

  <span style="font-size:14px;">//整数除以整数得到的还是整数.如果两个整数相除获取小数部分,则需要参与计算的双方至少有一个是小数.
    float div = 0;
    div = (float)n / m;//强制类型转换.
    div = n *  1.0 / m ;//强制类型转换.
    div = n / m * 1.0;//优先级问题,输出的结果为:1.000000
    div = n / (m * 1.0);//需要加一个符号 .
    printf("%f\n", div);</span>

 <span style="font-size:14px;">
</span>
<span style="font-size:14px;">   // b = a++ ; 相当于 b = a; a = a +1;
   //  b = ++a ;  相当于 a = a +1; b = a ;</span>

                        2.复合运算符  +=  -=  /=  *=
 <span style="font-size:14px;">   int num1 = 10, num2 = 2;
    num1 += num2; num1 /= num2;
    num1 *= num2; num1 -= num2;</span>
          

            表达式:

       判断是否是表达式,只要看式子有无结果,有结果就为表达式,无结果,则不是表达式,最简单的表达式就是一个常量或者一个变量:

<span style="font-size:14px;">    3           //是表达式
    3 + 4       //是表达式
    a + b       //是表达式
    a += 5      //是表达式
    int a = 5  //不是表达式</span>
      

          格式化输入输出:

 <span style="font-size:14px;">  //输入scanf ,输入时不要加换行符\n.
    
    int  data = 0, data1 = 0;
    //取地址符
    printf("plase input two number:\n");
    scanf("%d%d", &data, &data1);
    printf("two number are : data1 = %d, data = %d\n", data1, data);

    printf("\\\n");   // 结果\
    printf("%%%%\n"); //%%
    printf("\"");     //"
     
    //   %d      --整型   %4d , %-4d
    //   %f      --浮点型 %.2f , %3.f
    //   %c      --字符型
    //   %ld     -- 长整形
    //   %lu     -- unsigned long ,无符号长整型,>=0
    //   %s      -- 字符串</span>


   例题:
   <span style="font-size:14px;"> /*
     先输入字符和先输入数字的区别:
     先输入字符 ,在输入数字,能输出结果.
     但先输入数字后,需要enter键即\n.而\n相当于一个字符,所以结果m是你输入的数字,但是字符则为空,即为\n; 
     结果:m = 8 , n =  ; 如果想先输入数字,再字符,并能打印正常的结果,需要加一个清楚缓冲区内容操作.即为:
     rewind(stdin);即当输入数字结束后,执行,清楚里面缓冲的\n.即可再输入想要输入的字符.
    */ 
    int  m = 0;
    char n = 0;
    scanf("%d", &m);
<pre name="code" class="plain">    scanf("%c", &n);//交换顺序,需要加入清除缓冲区的操作.\n相当于一个字符.
    printf("m = %d , n = %c", m , n);</span>

       

    用scanf输入,输入与对应需要出入不一样是的情况:

   
  <span style="font-size:14px;">  /*
    输入abc,如果不加rewind(stdin),结果为 n = a ,m = 0;而加上清楚缓存内容语句,控制台将会再有一次输入机会.
    输入abc,对应n能找到对应的值.而m找不到对应的值,结果为0. 
    */
    int  m = 0;
    char n = 0;
    scanf("%c", &n);//交换顺序,需要加入清除缓冲区的操作.\n相当于一个字符.
    
    //清除缓冲区的内容,能输入下一个数字.
   // rewind(stdin); //
    scanf("%d", &m);
    //scanf("%d%c", &m, &n);//不行,接受到得时回车键.
    printf("m = %d , n = %c", m , n);</span>
    

<span style="font-size:14px;">    /*
     连续输入和单独输入的区别:
     连续输入:如果前面的数没能取到对应的,后面就不回取到对应的值,即相当于优先级.如果前面取不到值,后面就更不会取到.
     即当输入m是.连续输入当开始是数字,但是没有,所以i = 0,因为连续,对应 j的值也取不到,所以为刚开始定义的初始值.
     单独输入:相互之间不影响.当输入m.对应 i = 0 , m = m;
     */

     int i = 0;
     char j = 'a';//初始值为a
     
     //连续 输入
     scanf("%d%c", &i, &j);  //输入m然后 回车,i = 0 , j = a
     //单独输入
     scanf("%d", &i);
     scanf("%c", &j); // 输入 m 然后回车,i = 0 , j = m
     printf("i = %d , j = %c", i , j);</span>



  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值