从零开始一起学C语言(一)---数据类型

这个博客将开始几个系列,都是从零开始一起学,未来会涉及到C语言,STM32,linux系统,驱动,应用,设备树,ARM开发板,QT,网络编程,python web,微信小程序,AI,GPU等。也是我个人近年来的学习路线。这个系列主要是上传自己的学习笔记,各位以后看到感兴趣有需要要源码或者笔记的欢迎留言。

目录

一、计算机以及语言的发展

二、嵌入式的定义以及应用

三、数据类型介绍

四、几个重要的定义

五、运算符

六、类型转换

七、标准输入输出函数


一、计算机以及语言的发展

1、计算机是上个世纪40年代由美国军方发明的,单纯的计算。发展到现在应用于各行各业,体积越来越小,功能越来越强大。

2、语言的发展

1、第一阶段:机器语言,1 0 代表高低电平。没有可阅读性。

2、第二阶段:汇编语言。用指令集代替机器语言,有一定的阅读性。

3、第三阶段:高级语言。

面向过程:c语言,vb等。在汇编基础上进行封装,解决问按步骤分解为一个个函数来实现。c语言特点:可移植性,执行效率高,常用于编写硬件。

面向对象:c++,java等,主要用于上层应用的编写。

二、嵌入式的定义以及应用

嵌入式:专用的微型计算机,由软件和硬件组成。特点:软硬件可裁剪。

应用:军事、医疗、工控、电子消费等等。

三、数据类型介绍

1、数据类型的分类

数据类型:数据在内存中的分类。

数据类型的分类:基本数据类型、构造数据类型、无类型。

2、基本数据类型

整形:c语言中用来描述整数的数据类型。按照存储数据大小可分为短整形(short int)、长整形(long int)、整形(int)。

无符号整形(unsigned int)、有符号整形(signed int)。

字符型:c语言中用来描述字符的数据类型。用char表示。

字符是以ASCII码的形式存储的。 a----ASCII码 97

ASCII码表。

浮点型(实型):c语言中用来描述小数的数据类型。按照精度的大小可分为单精度浮点型(float)、双精度浮点型(double)。最常用的为float型。

3、构造数据类型

在基本数据类型基础上演化而来的。函数、数组、结构体、共用体、(枚举)、(指针)。括起来的表示存在争议,会使用就行。

4、无类型

用void表示,可以理解为无。

5、数据类型的大小

不同的编译环境下数据类型的大小是不固定。

1Byte=8*bit  KB MB GB   (1024)

最常用的32位编译环境下:char—1个字节 short—2个字节 int—4个字节long—4个字节 float—4个字节 double—8个字节。

四、几个重要的定义

1、关键字

关键字:编译器已经规定好其作用,我们按照其规律使用就可以了。

2、标识符

标识符:c语言内部的名字。变量名、数组名、函数名等等

标识符命名规则:由字母、数字、下划线组成,数字不能放最前面,不能和关键字重复。

3、常量和变量

变量:程序运行过程中可以改变的量。使用之前需要定义

int a;//定义一个整形变量a

常量:程序运行过程中不能改变的量。只读不能改变。

4、字符常量

用单引号引起来的单个字符。例: ‘a’  ‘\0’ (空字符)   ‘ ’(空格字符)

5、字符串常量

用双引号引起来的一串字符。例:”abcde” 注意:最后默认加一个’\0’

五、运算符

1、运算符的分类

按照操作数的个数可以分为:

单目运算符:正负号,自加自减运算符。

双目运算符:+ - * / % 等等

三目运算符:条件运算符

2、常用的十大类运算符

2.1、赋值运算符: =

    int a = 6;//把6赋值给整形变量a

2.2、算术运算符:+  -  *  /  %

%(求余运算符):注意,操作数必须为整数。

2.3、关系运算符:>  <  >=  <=  !=

比较两个操作数之间的关系,成立结果为1,不成立为0

2.4、逻辑运算符:&&  ||  !

&&逻辑与:两个操作数同时为真的时候结果为真。

|| 逻辑或:任意一个操作数为真,则结果为真。

! 逻辑非:操作数为假的时候结果为真。

2.5、位运算符: <<  >>  &   |  ^  ~

2.6、复合运算符:+=  -=  *=  /=  &=  |=

int a = 5; a += 3;//a = a + 3;

2.7、自加自减运算符 ++  --

a = 3; b = a++; //b = 3 ; a = 4  –运算符放后边,先赋值后运算

a = 3;b = ++a; // b = 4; a = 4   --运算符放前面,先运算后赋值

2.8、sizeof运算符

求数据类型或则变量的大小。单位为字节

int a = 2;  sizeof(int) ==sizeof(a) == 4

2.9、条件运算符

格式:表达式1?表达式2:表达式3;

判断表达式1的结果,成立运行表达式2,不成立运行表达式3

int a = 3;

a >3?a =4:a=2; //a = 2

2.10、逗号运算符:  分割的作用。

int a,b,c; // 同时定义三个整形变量 a b c

3、运算符优先级问题

运算符优先级表。

括号的优先级最高,遇到优先级不确定的情况加括号。

算术运算符>关系运算符>逻辑运算符

六、类型转换

如果两个不同类型的数据之间进行运算,需要先转换为相同的数据类型,然后进行运算。

1、自动类型转换:编译器自动向高精度类型进行转换。

int + float = double;

2、强制类型转换:人为手动转换数据类型。

格式:(要转换的类型)变量

例1:求浮点型数据的小数部分

float a = 3.14;

a-(int)a

例2:求浮点型数据的整数部分,小数四舍五入。

float a =3.14;

(int)(a+0.5)

七、标准输入输出函数

标准输入:格式 scanf(“类型格式符”,&变量);//手动给变量输入一个值

标准输出:

printf(“输出内容”);//打印输出内容

printf(“类型格式符”,变量);//把变量以类型格式符的方式打印出来。

Printf(“输出内容类型格式符”,变量);

例printf(" 加密%c\n  解密%c\n",x+1,x);

类型格式符:int --%d  char -- %c  float -- %f  double--%lf 

%x—十六进制  等等

%5d—位宽为5,右对齐

%-5d—位宽为5,左对齐

%.3f—保留小数点后三位。

\n  换行符

函数标准格式:

#include <stdio.h>

int main()

{

       return 0;

}

!printf是从右往左算的! 例 printf(“%d %d %d”,a,++a,--a);

先算--a

猜你喜欢

转载自blog.csdn.net/qq_38639426/article/details/88573392