第一周初始C语言笔记

第一讲初始C语言

1.1养成良好的电脑使用习惯

image-20260706151018068

1.2养成良好的工程素养

1.3C语言知识

1.31显示函数(格式化输入函数)“printf”

printf("hello micu");

1.32转义字符

换行"\n"

printf("hello micu\nhell0 xifeng");

image-20260706222856816

读第一个"\"转义序列

printf("hello micu \\n  hell0 xifeng");

image-20260706223018685

字母组成转义序列"\+"

1.33变量和赋值

变量类型

现阶段一般写在"include之后,"int main"之前,变量的声明必须在使用前

整数 int

小数float

变量的运算

加(+),减(-),乘(*),除(/),取余(%)

占位符

下面代码"printf"中看到%表示先占一个位置,到最后在把相应的内容填上

int类型占位符"%d"

    printf("体积=%d",volum);

1.34格式化输入函数"scanf"

scanf("%d", &lenth);

注意C语言是按顺序进行的

1.35注释

  1. //注释//

  2. /注释/

  3. /*

    *Project Name:project1

    *Description:计算长方形的体积

    *Author:zhajichi

    *Date:2026-07-6

    */

/*
  
 *Project Name:project1
  
 *Description:计算长方形的体积
  
 *Author:zhajichi
  
 *Date:2026-07-6
  
 */
#include <stdio.h>//预处理指令之一,包含一些库文件
#include <stdlib.h>
​
/*变量声明*/
int lenth=2;
int width=3;
int high=4;
int volum;
​
​
/*主函数区*/
int main(int argc, char *argv[]) 
{
    printf("请输入物体的长:");//格式化输出函数
    scanf("%d", &lenth);//格式化输入函数
    
    printf("请输入物体的宽:");
    scanf("%d", &width);
    
    printf("请输入物体的高:");
    scanf("%d", &high);
    
    volum=lenth*width*high;//语句
    printf("物体的体积:%d",volum);
    return 0;//返回
}

1.36整体代码结构分

***“scanf”*函数输入时必须严格一一对应,改变变量时一般用&

printf("a=%6.6d\nb=%.6f",a,b);

image-20260706223221311

第二讲表达式和选择语句

2.1表达式

2.2选择语句

“if"后面只能跟一条语句,需要多语句时花括号”{}"括起来 "else"悬空问题,"else"不能单独出现

第三讲循环语句

3.1while语句

3.2do…while语句

先执行,在判断条件

image-20260707161620103

3.3for语句

C99中的for语句表达

for(int i;i>0;i--)

for语句的省略表达

for(;i>0;i--)

3.4break和continue

3.5goto语句

goto b;
a :
printf();
b :   //goto b,就会跳转到这里
printf();
c :
printf();

3.6空语句

第四讲数制与码制和基本数据类型

4.1数制

数制是数学层面

4.2计算机存储体系

4.3码制

码制是将物理实在和数学逻辑联系起来的桥梁

补码

4.4C语言中的基本类型

习惯用char表示,理解四层底层含义

第五讲数组和指针入门

5.1数组

5.11一维数组

5.12二维数组

超出会自动往下

5.13常量数组

5.2指针

每个指针都指向唯一的字节

指针一定要赋初值的

int* p=NULL;

数组名代表数组首地址的指针

第六讲函数和程序结构

6.1函数

交换值函数(交换a和b的值)

指针传递参数

void exchange(int* x,int* y)
{
    int j;
    j=*x;
    *x=*y;
    *y=j;
}
int main()
{
    exchange(&a,&b);
    return 0;
}

找数组中的最大值

int max(int* addr)
{
    int m=0;
    int i=0;
    for(i=0;i<5;i++)
    {
        if(addr[i]>m)m=addr[i];
    }
    return m;
}
​

数组中最大值的地址

int* max(int* addr)
{
    int* m=NULL;
    m=addr;
    int i=0;
    for(i=0;i<5;i++)
    {
        if(addr[i]>(*m))m=addr+i
    }
    return m;
}

6.2递归(套娃)

计算n!

int fun(int n)
{
    if(n<=1)
    return 1;
    else
    return n*fun(n-1);
}

6.3程序结构