c语言第1周第1讲

初识c语言

转移序列

转义序列是\ + 字母组成的特殊字符,用于表示无法直接输入的符号:

  • \n:换行(常用)

  • // 输出"hello micu"后换行,再输出"hello may"
    printf("hello micu\nhello may");
    

变量和赋值

变量声明

  • 整数类型:int 变量名;(如 int a;)

  • 小数类型:float 变量名;(如 float b;)

    变量初始化(声明时赋值)

    int a = 1;   // 声明整数a并初始化为1
    float b = 3.14; // 声明小数b并初始化为3.14
    

    变量赋值(声明后修改)

    a = 2;    // 给a赋值为2
    b = 5.6;  // 给b赋值为5.6
    

    注意事项

    变量必须先声明,后使用。

变量的运算

C 语言支持的基础运算(以int a=2, b=3为例):

  • 加:a + b → 结果 5
  • 减:a - b → 结果 - 1
  • 乘:a * b → 结果 6
  • 除:b / a → 结果 1(整数除法会舍去小数)
  • 取余:b % a → 结果 1(取余数)

使用c解决实际问题(示例:计算长方体体积)

// 声明长宽高变量并赋值
int length = 3;
int width = 4;
int high = 5;
int volume;

// 计算体积
volume = length * width * high;

// 输出结果(后续会讲格式化输出)
printf("体积:%d", volume); // %d是int类型的占位符

如何显示变量的数值

通过printf函数 + 占位符实现,常用占位符

  • %d:对应int类型变量

  • %f:对应float类型变量

  • int a = 3;
    float b = 3.14;
    // 输出:a=3
    //      b=3.140000
    printf("a=%d\nb=%f", a, b);
    

如何读入值并赋值给变量

通过scanf函数实现,注意要加&(取变量地址)

示例(完善长方体体积程序,支持用户输入):

int length, width, high, volume;
// 提示用户输入,并读取值
printf("请输入物体的长:");
scanf("%d", &length);

printf("请输入物体的宽:");
scanf("%d", &width);

printf("请输入物体的高:");
scanf("%d", &high);

// 计算+输出
volume = length * width * high;
printf("物体的体积是:%d", volume);

注释

注释是代码的说明,不会被编译执行,分为两种:

  • 单行注释:// 注释内容

  • 多行注释:/* 注释内容 */(可换行)

  • /*
     * Project Name: project1
     * Description: 计算长方体体积
     * Author: may
     * Date: 2025-08-18
     */
    
    // 声明变量
    int a;
    

整体代码结构分析

预处理

通过#开头的指令,调用系统提供的功能:

  • 常用:#include <stdio.h>(引入输入输出函数库,支持printf/scanf)

  • 宏定义:#define 宏名 常量(替换代码中的宏,如#define PI 3.14f)

  • #include <stdio.h>
    #define PI 3.14f // 后续代码中PI会被替换为3.14f
    

变量声明

  • 类型:int(整数)、float(小数)等
  • 命名规则
    只能包含:英文字母、数字、下划线(如temputure_2)
    不能以数字开头(错误:3val;正确:val3)
    不能和关键字重复(如main/int/return)
    区分大小写(May和may是不同变量)
  • 批量声明:多个变量用逗号分隔(如int a, b=2, c…;)

main函数

  • C 程序有且只有一个main函数(程序入口),结构为

  • int main() {
        // 代码逻辑(输入、运算、输出等)
        return 0; // 表示程序正常结束
    }
    

格式化输入/输出

printf(输出)

  • 语法:printf(“格式串”, 参数1, 参数2…);

  • 格式串包含:普通文本 + 占位符 + 转义序列

  • int num = 5;
    float pi = 3.1415;
    // %3d:占3个字符宽度(不足补空格);%.2f:保留2位小数
    printf("num=%3d\npi=%.2f", num, pi);
    

    scanf(输入)

    • 语法:scanf(“格式串”, &参数1, &参数2…);

    • 注意:占位符要和变量类型 / 数量匹配,否则会出错。

    • int a;
      float b;
      // 读取一个整数和一个小数
      scanf("%d%f", &a, &b);
      // 支持带提示文本的格式串(如用户输入"a=10b=3.14")
      scanf("a=%db=%f", &a, &b);
      

运算语句

  • 在main函数中,通过运算语句实现逻辑,如:

  • int r = 2;
    float area = PI * r * r; // 用宏定义计算圆面积***提示用户输入圆的半径,计算体积(应为 “面积”)并显示****
    

随堂练习

提示用户输入两个圆的半径,分别计算面积并显示:

#include <stdio.h>
#define PI 3.14f

int main() {
    float r1, r2, area1, area2;
    printf("请输入第一个圆的半径:");
    scanf("%f", &r1);
    printf("请输入第二个圆的半径:");
    scanf("%f", &r2);
    area1 = PI * r1 * r1;
    area2 = PI * r2 * r2;
    printf("第一个圆面积:%.2f\n第二个圆面积:%.2f", area1, area2);
    return 0;
}

提示用户输入圆的半径,计算体积(应为 “面积”)并显示

#include <stdio.h>
#define PI 3.14f

int main() {
    float r, area;
    printf("请输入圆的半径:");
    scanf("%f", &r);
    area = PI * r * r;
    printf("圆的面积是:%.2f", area);
    return 0;
}