数据类型及语句
1、C语言概述
#include <stdio.h>//std 标准 i输入input o输出output
//标准输入输出头文件
//一个程序唯一的入口 就是main函数 有且仅有一个main
//int 是函数返回值类型
//int argc, char const *argv[] 是函数的形参
int main(int argc, char const *argv[])
{
//任何函数或变量 要使用 必先存在
//printf 将""里面的内容 输出到屏幕
printf("hello world\n");
//返回+结束
return 0;
}
//行注释
/*
块注释 (不要嵌套)
*/
2、数据类型
数据类型的作用就是:合理的利用空间
计算机中数据都是以二进制存储;一位二进制只能存0或1所占空间为 1b(一位)
八位二进制(0000 0000 ~ 1111 1111)所占空间 = 1字节 = 1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
常见数据类型
数据类型 | 说明 | 32位平台字节数 | 64位平台字节数 | 取值范围 |
---|---|---|---|---|
bool | 布尔型 | 1 | 1 | true, false |
char | 字符型 | 1 | 1 | -128 ~ 127 |
unsigned char | 无符号字符型 | 1 | 1 | 0 ~ 255 |
short | 短整型 | 2 | 2 | -32768 ~ 32767 |
unsigned short | 无符号短整型 | 2 | 2 | 0 ~ 65535 |
int | 整型 | 4 | 4 | -2147483648 ~ 2147483647 |
unsigned int | 无符号整型 | 4 | 4 | 0 ~ 4294967295 |
long | 长整型 | 4 | 8 | – |
unsigned long | 无符号长整型 | 4 | 8 | – |
long long | 长整型 | 8 | 8 | - |
float | 单精度浮点型 | 4 | 4 | - |
double | 双精度浮点型数 | 8 | 8 | - |
指针 | - | 4 | 8 | - |
ps:LOL之前出现bug伤害溢出(男枪一枪4294967295伤害) 数据类型类似 int
数据类型print输出形式
默认如果不指定数据为无符号,则数据位有符号类型
有符号 short printf("%hd\n",*);
unsigned short printf("%hu\n",*);
有符号 int printf("%d\n",*);
unsigned int printf("%u\n",*);
有符号 long printf("%ld\n",*);
unsigned long printf("%lud\n",*);
十六进制 printf("%x\n",*);
十进制 printf("%d\n",*);
八进制 printf("%o\n",*);
3、常量和变量
常量
常量是指程序运行期间其数值不发生变化的数据。
C语言的变量也是字面意思,变量名有用户根据其用途任意命名;变量名遵循标识符的起名规则(只能由字母\数字\下划线组成且头一个字母只能是字母或下划线.
变量不能是C的特殊字符)。 常量的值不能被修改,只读;
字符常量
字符常量是指一个单一字符,其表示形式是有两个单引号包括的一个字符 一般使用char类型的变量保存字符常量
使用%c打印输出字符,%d打印输出字符的ASCII码;
字符串常量
字符串常量是指用双引号括起来的一串字符来表示的数据 %s打印字符串
注意:
a 变量
‘a’ 字符
“a” 字符串,字符串有一个结束标志\0
表示符号常量
一般称之为宏定义,就是给一个常量起一个新名字,使用这个名字,相当于使用这个常量,一般使用大写字母表示
#define <标识常量名称> <常量>
例如:#define N 128
变量
变量的定义:让变量存在 系统为变量 开辟空间
变量的声明:告诉编译器 该变量存在 请通过编译 (不开辟空间)
变量的使用:对变量的读/写操作 (操作空间的内容)
变量说明的一般形式是:
<存储类型> <数据类型 > <变量名> ; 如int a;
变量的初始化
变量初始化的一般形式如下:
<存储类型> <数据类型> <变量> = <表达式> ;如:int a = 10;
运算符
算数运算符
±* / % ++ – %:取余,只有整数能够取余
++:自增,增1
–:自减,减1 用法: i++ i-- ++i --i 情况1:++ – 在变量的右边 先使用 后加减 注意:如果 i++ ++i作为一条独立语句存在 他们没有任何区别
关系运算符
;> >= < <= == !=
逻辑运算符
&&与 ||或 !非 逻辑与的短路原则:如果前面的表达式为假,则后面的所有的表达式都不会进行任何操作
逻辑或的短路原则:如果前民的表达式为真,则后面的所有的表达式都不会进行任何操作
位运算符
~ 位逻辑反,原本为1则为0,原本为0,则为1
& 位逻辑与,都为1才为1,如果有有一个为0,则为0
| 位逻辑或,只要有一个为1,就为1,否则为0
^ 位逻辑异或,相同为0,不同为1
>> 右移
<< 左移
赋值运算符
=
赋值运算符为“=”,其运算的一般形式如下:
<左值表达式> = <右值表达式>
将右值赋值给左值,左值必须是变量
逗号运算符(" ,")
逗号运算符是讲很多表达式用逗号隔开,最后用小括号括起来,必须有括号
从左到右依次计算,最后表达式的值,作为整个表达式的值。
但是前边所有的表达式都会被计算。
int a, b, c;
a = 5;
b = 10;
c = (a++,b++,a+b);
条件运算符|三目运算符
条件运算符"? :"是一个三目运算符, 其运算的一般形式是:
<表达式1> ? <表达式2> : <表达式3>
如果表达式1为真,则运行表达式2,表达式3不运行,
如果表达式1为假,则运行表达式3,表达式2不运行
PS:如有错误请及时指正 下期再见