
目录
一、数据类型
二、运算符、表达式和语句
三、循环
四、分支和跳转
五、函数
六、数组
七、结构体、联合体
八、指针
九、宏定义
一、数据类型
在C语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型四大类。
基本数据类型分为整型、字符型、浮点型和枚举四类。
分别用字符int、char、float、enum表示。
构造数据类型分为数组类型、结构体类型和共用体类型。
此处重点说明基本数据类型,其他数据类型后续会有提到。
1.整型 int
int a=1; //定义整型数据变量a并将整数1赋值给a
2.字符型 char
char b='x'; //定义字符型变量b并将字符x赋值给b
3.浮点型 float
float c=1.1; //定义浮点型变量c并将浮点数1.1赋值给c
4.枚举型 enum
enum color{red,orange,yellow,green,violet}; //枚举了颜色color所有的可能取值
二、运算符、表达式和语句
1.运算符
运算符按类型可分为算术运算符(+、-、*、/、%)、关系运算符(>、>=、==、!=、<、<=)、逻辑运算符(!、||、&&)、条件运算符、(?:)、赋值运算符(=、+=、-=、=、/=、%=)、逗号运算符(,)、求字节运算符( sizeof );
若按参与运算的对象个数, C 语言运算符可分为单目运算符(如!)、双目运算符(如+、-)和三目运算符(如?:)
2.表达式
表达式=变量+关系,下面是代码举例:
int a=1,b=2,c; //赋值表达式
c=a+b; //算术表达式
(a>b)?a:b; //条件表达式
3.语句
此处先讲一下顺序语句和条件语句,其他语句会在后面说明 。
顺序语句,顾名思义,即按照从上到下的顺序执行的语句,是C语言中最基本的语句,便不做过多解释。
此处重点描述下条件语句。
条件语句有两种表达形式,一种是if else语句,另一种是switch语句。
if else代码(防沉迷判断)
int age=18;
if (age<18) printf("NO");
else if (age>=18&&age<60) printf("YES");
else printf("BEYOND");
switch代码(成绩输出)
char grade='A';
switch(grade)
{
case 'A':printf("85-100\n");
case 'B':printf("70-84\n");
case 'C':printf("60-69\n");
case 'D':printf("<60\n");
default:printf("error\n");
}
三、循环
循环语句有三种形式,for循环、while循环和do-while循环。
1.for循环(连点器)
int n=10;
for(int i=0;i
2.while循环
int n=10;
while(n>0)
{
printf("看到这的小可爱最帅/最美!!\n");
n--;
}
3.do-while循环
int n=10;
do
{
printf("此时n的值为%d\n");
n--;
}while(n>0);
4.跳出循环
四、分支和跳转跳出循环的方法有两种,break和continue。
其中break是王者,而continue是青铜,break说让循环停循环就停,循环一句话都不敢说,而continue则是唯唯诺诺,好说好商量的才让循环停一次,之后循环该怎么执行就怎么执行。
1.分支
分支的概念在条件语句中的代码里有用到,即嵌套,不仅条件语句可以嵌套,循环及其他类型语句也可以使用。
代码如下:
int i,j;
for(i=1;i<5;i++)
{
for(j=0;j
2.跳转
C语言中提供了可以随意滥用的goto语句和标记跳转的标号。
示例如下:
int c=1;
if(c)
{
goto start;
}
printf("情况一\n");
start:
printf("情况二\n");
五、函数
函数是将功能语句封装起来的一种方法,分为库函数和自定义函数。
函数的作用是将实现某种功能的代码分装为一种函数保存起来,供以后使用,并且在代码量极大的大型程序中提供了一个方便的函数编写方式。
函数分为有参函数和无参函数,main函数就是典型的无参函数,函数定义方式如下:
//计算三个数字的和
int sum(int n1,int n2,int n3)
{
return n1+n2+n3;
}
六、数组
数组,用于储存一串数据,储存数据的多少由数组长度决定,其中储存的是一组数据类型相同的变量,他的定义语法是:
double a[20]; //定义了一个可以储存20个数据类型相同的数据
上述数组是一个一维数组,当然还有二维数组甚至多维数组,但二维以上数组很少用到,不做过多描述。
二维数组存储的是两组数据,可以代表一个人的两种信息,还可以代表一个二维坐标系,定义代码如下:
int girl[5][4];
girl[0][0] girl[0][1] girl[0][2] girl[0][3]
girl[1][0] girl[1][1] girl[1][2] girl[1][3]
girl[2][0] girl[2][1] girl[2][2] girl[2][3]
girl[3][0] girl[3][1] girl[3][2] girl[3][3]
girl[4][0] girl[4][1] girl[4][2] girl[4][3]
此二维数组代表了二十个女生。
1.结构体
结构体是多种数据类型混合存放在一起的数据类型,需要用户自行定义。
定义形式如下:
struct teacher
{
int no;
char name[20];
char sex[4];
}teacher1,teacher2;
2.联合体
联合体与结构体类似,但联合体的内存单元是共用的,因此联合体也叫共用体。
定义形式如下:
union sample
{
char ch[7];
int i;
float f;
}s;
八、指针
指针是C语言的灵魂,使用指针可以对复杂的数据进行处理,能对计算机的内存分配进行控制,在函数调用中使用指针还可以返回多个值。
要学习指针,首先要了解的是地址。
地址即数据存放的内存单元,获取数据的地址需要用到取地址符&。
指针就是改变数据内容和地址的指向关系的一种工具 ,指针变量的定义如下:
int *p;//定义一个指针变量p,指向整型变量
对指针进行赋值的方法和运算
int i,*p1,*p2;
p1=&i;
p2=p1;
指针的用法有很多,需要我们继续的深刻学习,以后有新的感悟,我会继续更新。
宏定义是C语言预处理命令的一种。
所谓宏定义,就是用一个标识符来表示一个字符串,如果后面出现了该标识符,那么就替换成指定的字符串。
宏定义的一般形式为:
#define Led1 PAin(1)
宏定义只是为了简化代码编写的一种手段,不影响表达式的计算。
以上便是我对C语言的学习总结,希望对大家有所帮助。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)