初识C语言

C语言是一门计算机编程语言,广泛应用于底层开发。C语言跟汉语英语一样,不过他不是人类的语言,而是计算机的语言,在我们刚刚接触到编程的时候可能都会写这样一段代码:

#include<stdio.h>

int main()
{
	printf("Hello World!\n");

	return 0;
}

这就是一段最简单的代码,我们从中可以看出,它有头文件、主函数、库函数、数据类型、关键字等等,那么C语言中具体有哪些语法规则呢?

数据类型

计算机就是用来存储各种各样的数据的,所以首先就要有数据类型的定义

类型符号类型名称类型大小(字节)
char字符型1byte
short短整型2byte
int整型4byte
long长整型(32位)4byte或(64位)8byte
long long更长的整形8byte
float单精度浮点型4byte
double双精度浮点型8byte

以上表中就是C语言中所有的数据类型,我们可以清楚的看到它们的大小,计算机中的存储单元从小到大分别是:bit、byte、kb、mb、gb、tb、pb……
而这些数据类型是用来定义变量、常量或函数的

变量、常量

变量

变量,顾名思义,就是可以随时改变值的一个量,比如数学中的变量x,比如生活中的身高、年龄等等;
定义一个变量很简单:数据类型 变量名称 = 初始值;

int age = 22;
float height = 183.3;
char ch = 'a';

这样一个变量就定义好了,此外变量还分为局部变量和全局变量之分

局部变量:定义在一对大括号中的最前面(C语言语法规定);作用域就是此大括号;生命周期也是此大括号内,结束即消亡;
全局变量:定义在大括号之外的变量;作用域为整个工程;生命周期为整个程序;

当你想在一个工程的不同项引用全局变量时,只需要

extern 类型 名称;

常量

常量,也就是不能随意改变的量,不如你的性别,你的身份证号等等
C语言的常量分别有一下几种:

1、字面常量
2、const修饰的常变量
3、#define定义的标识符常量
4、枚举常量:

其定义形式为:

#define MAX 10000    //标识符常量

enum Sex           //枚举常量
{
	MALE,
	FEMALE,
	SECRET
};

int main()
{
	3.14;          //字面常量
	const float pi = 3.14f;   //const修饰的常变量

	return 0;
}

字符串、转义字符

字符串

说完了数字,一些不能由数字代表的当然是由字符和字符串来进行表示了,字符串的表示形式是用双引号引起来的一串字符,比如:

“hello  world”
“123456”

这里一定要注意一个问题,那就是所有字符串的结束标志都要有一个\0,但是计算字符串长度的时候不会算\0,也不算作字符串的内容,在编写代码的过程中,也应该特别注意这个问题:

char arr[] = "hello";                              //正确
char arr[] = {'h', 'e', 'l', 'l', 'o'};            //错误
char arr[] = {'h', 'e', 'l', 'l', 'o', '\0'};      //正确

转义字符

转义字符的意思,就是将字符原有的意思进行转换,变成另外一个意思

转义字符释义
\?在书写连续多个问号时使用,防止被解析成三字母词
\’用于表示字符常量’
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行符
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制数字
\xdddd表示2个十六进制数字

选择语句

搞清楚了C语言的类型定义,下面我们来看一下C语言的语法,首先是选择语句,也就是我们常说的if/else语句,语法很简单,判断条件如果为真就执行语句1,否则执行语句2
其流程图为:
在这里插入图片描述
代码形式为:

if (表达式)
{
	……;
}
else (表达式)
{
	……;
}

循环语句

C语言中有三种循环语句的表达方式

while语句
do...while语句
for语句

while语句

while语句是只要条件为真,就会一直循环while语句中的表达式
其流程图为:
在这里插入图片描述
代码表现形式为:

while (循环条件)
{
	……;
}

do…while语句

do…while语句与while语句很相似,唯一的差别是do…while语句先进行了一次循环之后再判断
其代码表现如下:

do
{
	……;
}while (循环条件);

for语句

for语句与其他循环语句也是类似的,不过for语句是将初始化语句、 条件语句、控制语句都合在一起
其流程图:
在这里插入图片描述
其代码表现如下:

for (初始化语句; 条件语句; 控制语句)
{
	……;
}	

数组

数组就是一组相同数据类型的元素的集合,是为了方便数据存储的一种存储形式,其定义如下:

int arr[] = {0, 1, 2, 3};

可以改变数据类型来定义不同数据类型的数组

函数

函数的特点是代码简化,代码复用,其定义为:

数据类型  函数名(传入参数)
{
	……;
}

操作符

1.算术操作符:+ - * / %
2.移位操作符:<< >>
3.位操作符:
操作符名称效果(二进制)
&按位与同1为1,其余为0
^按位或有1为1,其余为0
|按位异或相异为1,相同为0
4.赋值操作符:=  +=  -=  *=  /=  &=  ^=  |=  <<=  >>=
5.单目操作符:
操作符名称
逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
~对一个二进制数按位取反
- -前置、后置- -
++前置、后置++
*解引用操作
(类型)强制类型转换
6.关系操作符:>  >=  <  <=  !=  ==
7.逻辑操作符:&&  ||
8.条件操作符:exp1?exp2:exp3
9.逗号表达式:exp1, exp2, exp3, ……, expn
10.下标引用、函数调用和结构成员:[]  ()  .  ->

常见关键字

typedef

类型重命名,在数据结构中很常见

typedef  类型名  重命名

static

用于修饰变量及函数的

1.静态局部变量:修饰局部变量的,改变其生命周期
2.静态全局变量:修饰全局变量的,改变作用域(链接属性(外->内))
3.静态函数:修饰函数的,改变作用域(链接属性(外->内))

#define定义常量和宏

//define定义标识符常量
#define MAX 1000
//define定义宏,效果同加法函数
#define ADD(x, y) ((x)+(y))

指针

指针可以说是C语言中最为重要的一个内容了,在计算机中,会将内存划分为一个一个小的内存单元,每一个大小为1字节,而为了有效访问到每个内存单元,就给每个内存单元进行了编号,即为内存单元地址;任何一个值都会有相应的存储空间,所以也就会有相应的地址,这个地址也就会指向相应的内存单元,形象化理解即为——指针
下面是一个使用指针的例子:

int a = 10;
int *p;
p = &a;

其中p为一个整型的指针变量,p为变量a的地址,*p指向a的值

结构体

在生活中总会存在一些复杂的对象是C语言不能够定义的,所以这种情况下,C语言提供给了我们使用者自行定义的权利,这就是结构体
比如描述一个学生:有姓名、年龄、性别、学号
其结构体定义就位:

struct Stu
{
	 char name[20];//名字
	 int age;      //年龄
	 char sex[5];  //性别
 	 char id[15]   //学号
};

结构体初始化:

struct Stu s = {"张三", 20, "男", "20180606"};
//.访问结构体成员
s.name, s.age, s.sex, s.id
//->访问结构体成员
struct Stu *p = &s;
p->name, p->age, p->sex, p->id

以上为C语言基本的一些语法结构和规则

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值