C语言的基础语法和数据类型


💻 I. C 语言基础语法结构

一个最小的 C 语言程序通常包含以下部分:

1. 基本程序结构

#include <stdio.h> // 预处理器指令:包含标准输入/输出库 (Standard I/O)

// 主函数:程序执行的起点
int main() {
    // 语句:代码执行的动作
    printf("Hello, World!\n"); 
    
    // 返回值:0 表示程序成功执行
    return 0; 
}
  • #include <stdio.h> (预处理器指令): 包含标准输入/输出头文件,这是使用 printfscanf 等函数所必需的。
  • main() 函数: 每个 C 程序必须有一个 main 函数作为执行的起点。
  • 分号 ;: C 语言中的每个语句都必须以分号结束。
  • 注释:
    • 单行注释:// 这是一个注释 (C99 标准引入)
    • 多行注释:/* 这是一个跨越多行的注释 */

2. 变量和常量

  • 变量 (Variable): 必须先声明类型,然后才能使用。
    int age = 30; // 声明一个整数变量并初始化
    double salary; // 声明一个双精度浮点数变量
    salary = 50000.50; // 赋值
    
  • 常量 (Constant):
    • const 关键字: 定义不可修改的变量。
      const double PI = 3.14159;
      
    • #define 预处理宏: 定义符号常量(C 语言中常用)。
      #define MAX_SIZE 100 
      

3. 输入/输出 (I/O)

C 语言主要使用 <stdio.h> 中的函数进行格式化输入输出。

  • 输出 (printf): 使用格式化字符串和格式化符。
    int count = 10;
    // %d 是格式化符,表示打印一个十进制整数
    printf("计数是:%d\n", count); 
    
  • 输入 (scanf): 用于从标准输入读取数据。注意:需要使用 & 符号获取变量的地址。
    int input_value;
    // &input_value 提供了存储输入数据的内存地址
    scanf("%d", &input_value);
    
常用格式化符描述
%d打印/读取十进制整数 (int)
%f打印/读取浮点数 (float)
%lf打印/读取双精度浮点数 (double)
%c打印/读取字符 (char)
%s打印/读取字符串 (char 数组)

4. 控制流语句

语句作用
if/else条件判断。
switch多重条件选择。
for 循环循环固定次数。
while 循环当条件为真时重复执行。
do-while 循环至少执行一次,然后检查条件。
break / continue控制循环流程。

5. 函数 (Functions)

用于组织和重用代码。C 语言要求函数在调用之前必须先声明(函数原型)。

// 函数原型(声明)
int add(int a, int b); 

int main() {
    int result = add(5, 3); // 函数调用
    return 0;
}

// 函数定义
int add(int a, int b) {
    return a + b;
}

💾 II. C 语言核心数据类型

C 语言的数据类型分类为:基本类型派生类型枚举类型void 类型

1. 基本(Built-in)数据类型

类型描述典型大小(字节)值范围
char字符类型,也用于存储小整数。1至少 -127 到 127
int最常用的整数类型。4 (通常)依赖于系统
short短整数,不小于 16 位。2 (通常)至少 -32767 到 32767
long长整数,不小于 32 位。4 或 8依赖于系统
long long扩展长整数 (C99 标准引入),至少 64 位。8 (通常)极大范围
float单精度浮点数。41.2×10−381.2 \times 10^{-38}1.2×10383.4×10383.4 \times 10^{38}3.4×1038
double双精度浮点数(默认)。82.3×10−3082.3 \times 10^{-308}2.3×103081.7×103081.7 \times 10^{308}1.7×10308
_Bool布尔类型 (C99 引入,通常包含 <stdbool.h> 后使用 bool)。1truefalse

2. 修饰符(Modifiers)

可以与整数类型(char, short, int, long)配合使用:

  • signed: 有符号,可以存储正数、负数和零(默认)。
    • signed int
  • unsigned: 无符号,只能存储正数和零。
    • unsigned int

3. 派生数据类型 (Derived Data Types)

类型描述示例
数组 (Arrays)存储同类型元素的固定大小的集合。int numbers[5];
指针 (Pointers)存储变量的内存地址。int *ptr = &age;
结构体 (Structs)将不同类型的数据组合在一起的自定义数据类型。struct Person { int age; char name[20]; };
联合体 (Unions)允许多个成员共享同一块内存空间,通常只使用其中一个成员。union Data { int i; float f; };

4. 字符串类型

C 语言没有内置的 String 类型。字符串是以空字符 \0 结尾的 char 数组:

char greeting[] = "Hello"; 
// 实际存储为: 'H', 'e', 'l', 'l', 'o', '\0'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值