C语言的基本数据类型

浅谈变量操作(1)

  • 编写程序比较常见的数据类型有int,double ,float,char,不同的数据类型所占内存字节数也不同,其他的数据类型参照书籍即可查找;
  • C语言对字母的大小写很敏感,一个单词的大小写不同很可能就是两种变量的意思;
  • 特别需要注意的是‘字符’与 **“字符串”**两种数据类型的赋值方法;
int a;
scanf("%d",&a);
printf("%d",a);
double a;
scanf("%lf",&a);
printf("%.3lf",a);
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);

熟悉以上三个例子,可以看出,变量是以某标识符为名字,其值是可以改变的量;

  • 标识符是要满足C语言标识规则
  • 变量需要先定义再使用(边定义边初始化)的顺序;
    -入门目前所需要了解的就是加减乘除以及区域操作,还有关系运算符和逻辑运算符
  • 算数运算操作的逻辑思维与数学上的一致;

这里重点描述自增与自减
“++,- -”,是首先单目运算符,它就包括例一个先赋值后自增和i++和先自增后赋值++i 如下面代码:

int i = 3,k=0;
k = (i++)+(i++)+(i++);
k=?
  • 有人可能会认为k= 3+4+5 = 12;根据单目运算符的结合性“自右至左实际上是C语言系统确认为9;
    i++是先赋值,后自增,所以他先会取出 i 的原值3,紧接着对这三个i值相加为9,赋值给k,在经过给自己三次自增将i的值变为6

那么下列的一个语句该如何理解呢?

int i=1,j=3.k=0;
k = i+++j;

它到底是(i++)+j呢?还是i+(++j)呢?
其实不管增样它是首先是一个二目运算吧!那么根据C语言编译处理将二目运算符的结合性方向“自左至右”解释为 i++)+j;,所以答案也是显而易见!
实例有:

#include<stdio.h>
void main()
{int x=023;//注意进制
printf("%d\n",--x);
}
#include<stdio.h>
void main()
{
int i,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
#include <stdio.h>
void main( )
{ int m=4;
if (++m>5) printf("%d\n",m--);
else printf("%d\n",--m);
}

自己先别直接复制到IDE运行答案,千万不要懒惰,自己动脑筋想一想,等有疑问再多上机敲一敲!!!!!!!