接上篇C语言入门这一篇就够了(入门篇1)

今天主要讲解基本语法,话不多说,直接上干货。

C语言语法有哪些

  1. 数据类型:C语言有多种数据类型,包括整数类型(如 int、long)、浮点类型(如 float、double)、字符类型(如 char)以及结构体类型等。
  2. 变量和常量:在C语言中,变量用于存储数据,常量用于表示固定的值。变量需要先定义后使用,而常量在程序运行过程中不能被改变。
  3. 运算符:C语言有多种运算符,包括算术运算符(如 +、-、*、/)、比较运算符(如 <、>、==、!=)、逻辑运算符(如 &&、||)以及位运算符等。
  4. 控制结构:C语言提供了多种控制结构,包括顺序结构、选择结构(如 if语句、switch语句)和循环结构(如 for循环、while循环、do-while循环)。
  5. 函数:函数是C语言的基本组成单位,用于封装和复用代码。函数由函数名、参数列表和函数体组成。
  6. 指针:指针是C语言的一个重要概念,它是一个变量,存储的是另一个变量的地址。通过指针可以实现对变量的间接访问。
  7. 预处理器指令:预处理器指令用于在编译之前修改源代码,如 #define、#include 等。
  8. 内存管理:C语言提供了动态内存分配函数(如 malloc()、calloc()、free())用于分配和释放内存。
  9. 错误处理:C语言提供了一些错误处理机制,如errno和perror() 函数。
    重点:掌握这些语法是编写和理解C程序的关键。

C语言语法还有哪些特点?

C语言语法的特点包括:

  1. 简洁紧凑、灵活方便:C语言只有32个关键字和9种控制语句,程序书写自由,主要用小写字母表示。
  2. 运算符丰富:C的运算符包含范围广泛,共有34个运算符。
  3. 数据结构丰富:C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算。
  4. 是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
  5. 语法限制不太严格、程序设计自由度大:一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。

C语言中的变量

先介绍一下8种数据类型

char(1byte)字符型

short(2byte)短整型

long(4byte)长整型

int(4byte)整型

float(4byte)单精度浮点型

double(8byte)双精度浮点型

signed(4byte)有符号

unsigned(4byte)无符号

上面所占空间大小是在32位系统上,不同平台有所不同,具体的使用sizeof计算

C语言变量名的命名规则

标识符命名基本规则

1.由一个或多个字母、数字或下划线组成

2.第一个字符必须是字母或下划线

3.不能与任何关键字相同

一般规则

1.见名知义,采用英文单词组合,不要出现拼音

2.命名的长度应当符合“min-length && max-information”原则

3.尽量避免名字中出现数字编号,如 Value1,Value2 等。

4.C语言严格区分大小写,注意类似x和X

1(数字 1)和 l(小写字母 l)之间,0(数字 0)和 o(小写字母 o)之间的区别

5.宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词。

C语言中的常量

字面常量

字面常量是直接写出的固定值,它包含C语言中可用的数据类型,可分为整型常量,字符常量等。如:9.9,“hello”等就属于这一类常量。

##const修饰的常变量

有的时候我们希望定义这么一种变量:值不能被修改,在整个作用域中都维持原值。为了满足用户需求,C语言标准提供了const关键字。在定义变量的同时,在变量名之前加上const修饰。如下所示:

C语言入门这一篇就够了(入门篇2)_while循环

  • const修饰的常变量,本质上是变量。
  • 但具有常属性,不能被修改。

C语言入门这一篇就够了(入门篇2)_算法_02

关于上述n的使用,需要说明的是:在C99标准之前,数组的大小只能是常量修饰,不支持变长数组。

#define定义的标识符常量

C语言提供了***#define***命令定义标识符常量,该标识符常量在程序中是个定值,通常用于代表数组容量或涉及数学的常量等。如:

C语言入门这一篇就够了(入门篇2)_开发语言_03

如需修改数组大小,只需将SIZE所代表的值修改即可,十分方便。

枚举常量

日常生活中有一些代表实际意义的常量,有这么一个特点:数值较小且为非负整数。如一周有7天等。C语言提供了一种枚举(Enum)类型,能够列出所有可能会用到的取值,并给它们取一个名字。

C语言入门这一篇就够了(入门篇2)_c语言_04

在使用枚举常量的时候,需要注意以下几点:

  • 不能对枚举常量赋值,只能将它们的值赋给其他的变量。
  • 不能再定义与枚举常量名字相同的变量。
  • 不能用&取得它们的地址。

C语言的运算符和表达式

  1. 算术运算符:用于进行算术运算,包括加(+)、减(-)、乘(*)、除(/)和取模(%)。
  2. 赋值运算符:用于将右侧表达式的值赋给左侧变量。赋值运算符包括等于(=)、加等于(+=)、减等于(-=)、乘等于(*=)和除等于(/=)。
  3. 比较运算符:用于比较两个值的大小关系,包括等于(==)、不等于(!=)、大于(>)、小于(<)和大于等于(>=)小于等于(<=)。
  4. 逻辑运算符:用于进行逻辑运算,包括与(&&)、或(||)和非(!)。

C语言的语句

C语言的语句(Statement)是构成程序的基本单位,用于表达程序的一个操作或动作。C语言的语句包括以下几种类型:

  1. 赋值语句(Assignment Statement):用于给变量赋值,语法为“变量 = 值”。
    例如:int a = 10;
  2. 条件语句(Conditional Statement):用于根据条件执行不同的代码块,语法为“if (条件) { 代码块 }”。
    例如:if (a > b) { printf("a 大于 b"); }
  3. 循环语句(Loop Statement):用于重复执行一段代码,语法为“while (条件) { 代码块 }”。
    例如:while (a < b) { printf("a 小于 b"); }
  4. 跳转语句(Jump Statement):用于控制程序的流程,如无条件跳转、返回函数等。
    例如:goto label; // 无条件跳转到标签位置
    return 0; // 返回函数并返回值0
  5. 表达式语句(Expression Statement):用于计算表达式的值,语法为“表达式;”。
    例如:a++; // 递增变量a的值
  6. 复合语句(Compound Statement):由多个语句组成的语句块,语法为“{ 语句1; 语句2; ... }”。
    例如:{ printf("Hello"); printf("World"); } // 输出"HelloWorld"
  7. 空语句(Null Statement):只有一个分号的语句,表示不执行任何操作。
    例如:; // 空语句

C语言的条件语句

C语言中的条件语句是用于根据条件执行不同代码块的语句。它通常使用if关键字来标识

C语言入门这一篇就够了(入门篇2)_算法_05

其中,条件是一个表达式,其结果为真或假。如果条件的结果为真,则执行if语句后面的代码块;否则,跳过该代码块。

例如,下面的代码使用if语句判断一个数是否大于10:

C语言入门这一篇就够了(入门篇2)_开发语言_06

在上面的代码中,num > 10是一个条件表达式,其结果为真。因此,会执行if语句后面的代码块,输出"num 大于 10"。

除了基本的if语句外,C语言还支持多种条件语句的变体,例如if...else语句、else if语句和switch语句等。这些语句有不懂的可以后台私信我。

C语言循环语句

C语言提供了几种循环语句,包括for循环、while循环和do...while循环。这些循环语句用于重复执行一段代码,直到满足特定的条件。

1.for循环:for循环通常用于需要执行固定次数的循环操作。

C语言入门这一篇就够了(入门篇2)_c语言_07

C语言入门这一篇就够了(入门篇2)_while循环_08

2.while循环:while循环通常用于需要反复执行一段代码,直到满足某个条件。

C语言入门这一篇就够了(入门篇2)_while循环_09

3.do...while循环:do...while循环与while循环类似,但是它会先执行一次循环体,然后再检查条件表达式。

C语言入门这一篇就够了(入门篇2)_开发语言_10

C语言函数

C语言函数是一种可重用的代码块,它可以被程序中的其他部分调用。一个函数可以有输入参数,并且可以返回一个值。

以下是一个简单的C语言函数的示例:

C语言入门这一篇就够了(入门篇2)_算法_11

在这个例子中,add()是一个函数,它接受两个整数作为输入参数,并返回它们的和。在main()函数中,我们声明了一个变量result,然后调用add()函数并将结果存储在result中。最后,我们打印出结果。

注意,在C语言中,函数必须在调用之前声明或定义。在这个例子中,我们在main()函数之前声明了add()函数,然后在main()函数之后定义了它。