初识C(类型,变量,操作符)

一、初始数据类型

1、数据类型的定义

数据类型,就是相似数据所拥有的共同特征,可以用集合来类比着理解

2、数据类型的分类

(1)内置类型

内置类型可以分为四种:字符,整型,浮点型和布尔类型。

① 字符
1 char
2 [signed] char
3 unsigned char
②整型
1 //短整型
2 short [int]
3 [signed] short [int]
4 unsigned short [int]
5 //整型
6 int
7 [signed] int
8 unsigned int
9 //⻓整型
10 long [int]
11 [signed] long [int]
12 unsigned long [int]
13 long long [int]
14 [signed] long long [int]
15 unsigned long long [int]
③浮点型
1 float
2 double
3 long double
④布尔类型

布尔类型是在C99中引入的,专门用来表示真假。在使用时需要包含头文件

<stdbool.h>

布尔类型变量的取值是:true和false
代码演示

_Bool flag = true;
if(flag)
     printf("this is ture");

(2)signed和unsigned

signed和unsigned是C语言用来修饰字符型和整型类型的
signed表示一个 类型带有正负号,包含负值
对于int类型,默认带有正负号,所以一般关键字可以省略

signed int a ;
//就等同于int a;

unsigned拿int 举例子就是表示一个非负整数,此时的关键字unsign不可省略

unsigned int a;

各类型的长度(部分)(单位:字节)各类型的长度(部分)

(3)自定义类型

自定义类型可以分为:数组,结构体-struct,枚举-enum和联合体-union。在这里这些就不展开简述了。

二、变量

1、变量的创建

(1)变量的定义

C语言中把经常变化的值称为变量,不变的量称为常量。是由数据类型和变量名组成的。例如:

data_type name;
int age;//整型变量
char ch;//字符变量

其中data_type就是数据类型,name是变量名。

(2)变量的初始化

在定义变量是给变量赋一个值就成为变量的初始化

int age = 18;
char ch = 'w';

2、变量的分类

(1)全局变量

就是在函数主体外部定义的变量。它的使用范围更广,可以在整个工程中使用。在内存的角度来看,全局变量储存在静态区。

(2)局部变量

在函数内部定义的变量。适用范围具有局限性,只能在自己所在的局部使用。在内存的角度来看局部变量储存在栈区

1	int a = 10;
2	int main(void)
3	{
4	   int a = 6;
5	   {
6	       int a = 4;
7	       	       printf("%d",a);//输出结果为4
8	   }
9	   printf("%d",a);//输出结果为6
10	   return 0;
11	}

上面代码中的全局变量(1所指代码),并未起到作用

int a = 10;
int main(void)
{
   {
       int a = 4;
       printf("%d",a);//输出结果为4
   }
   printf("%d",a);//输出结果为10
   return 0;
}

三、操作符:+、-、*、/、%

1、算数运算符(都是双目运算符)

(1)+和-

+和-是用来完成加法和减法
都是有两个操作数的,位于操作符两端的就是它们的操作数,也叫做双目操作符。
例如

int main(void)
{
    int x = 4 + 22;
    int y = 53 - 33;
    printf("%d %d\n",x, y);
    return 0;
}

输出结果就为26 20.

(2)*和/

用来完成乘法和除法操作

int num1 = 10;
int num2 = 5
printf("%d %d\n",num1 * num2,num1/num2);

输出结果为 50 2
特别要注意的是如果除号两端都为整型,那么结果也是整型。如果希望得到一个浮点型的数,那么两个运算数之间就至少有一个浮点数。例如

float x = 8.0 / 4;
printf("%f\n",x);

输出结果为 2.000000

(3)%(求余运算符)

%表示求模运算,即返回两个整数相除的余弦。这个运算符只能作用于整数,不能用于浮点数。对于负数的求余规则是,结果的正负由第一个运算符正负号决定。

printf("%d\n",11%5);//1
printf("%d\n",11%-5);//1
printf("%d\n",-11%-5);//-1
printf("%d\n",-11%5);//-1

2、赋值运算符:=和复合赋值

在创建好变量时,给一个变量叫做初始化;创建好之后,再给一个值,叫做赋值

(1)连续赋值

int a = 4;
int b = 8;
int c;
b = a + 5;
c = b = a - 3;//从右向左依次赋值

对于变量c的操作就是连续赋值,但是一般代码易读性差,所以建议分开写

//c = b = a - 3还可以写成下面这种方式
b = a - 3;
c = b;

(2)复合赋值

用于对一个数进行自增,自减

int a = 10;
a = a + 3;
a = a -2;

上述代码还可以写成

int a = 10;
a += 3;
a -= 2;

C提供的赋值运算符有:+=, -=, *=, /=, %=,
<<=, >>=, &=, |=, ^=.

3、单目运算符:++、–、+、-

只有一个操作数的运算符被称为单目操作符。

(1)++和–

++是一种自增操作符,又分为前置++和后置++,–是一种自减操作符,分为前置–和后置–。

①前置++
int a = 8;
int b = ++a;
printf("a = %d b = %d\n",a,b);

输出结果11 11
前置++在使用时想到于先给变量加一以后,再进行赋值操作。
(巧计:先加再用)

②后置++
int a = 8;
int b = a++;
printf("a = %d b = %d\n",a, b);

输出结果为11 10
后置++在使用时是先进行赋值运算,然后再给变量加一。
(巧计:先用后加) 前置–和后置–类比

(2)+和-

这里的+和-代表着正负号,都是单目操作符,+对正负值没有影响,是一个完全可以忽略的运算符,而 - 运算符是用来改变一个值的正负号的,负数的前面加上 - 会得到一个正数。

(4)强制类型转换

这是一种特殊的操作符,语法形式很简单。如

int a = 3.14;//这种写法会让编译器报错
int a = (int)3.14;//这种写法是将double类型强制转化为int类型的
                         //但是只是取了整数部分。

这种方式一般不到万不得已是不会使用的,不过有的时候用一下也可以产生奇效。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月三十二号的风情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值