C语言笔记

C语言学习笔记

一.概述

1. 程序设计语言

1.1 低级语言(面向机器)

低级语言分为机器语言和汇编语言

  • 优点:机器效率高,程序逻辑代码量小
  • 缺点:与人们思考问题和描述问题的方法相距太远,使用反锁,易出差错,要求使用者熟悉计算机内的细节,非专业的普通用户很难对它维护。

1.2 高级语言(面向人类)

优点:屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据明明和容易理解的执行语句。易学、易用、易维护,且基本与机器无关,给编程带来了极大的方便。
C语言学习的框架图


在这里插入图片描述

在这里插入图片描述

每个C程序必须有且仅有个main程序


在这里插入图片描述

在这里插入图片描述
  • main主函数:
  1. 一个程序有且仅有一条main函数语句。
  2. main函数的位置可以随意
  3. 但是执行的时候必须由main函数开始 并由main函数调用结束
  4. 其他函数不可以调用主函数

2. C语言二的基本语法成分

标识符 在程序中用来标识各种程序成分,命名程序中的一些实体。包括三方面:

  • 字母
  • 数字
  • 下划线

注意

  1. 开头:必须是英文字母或下划线
  2. 大小写敏感
  3. 长度:一般同规定标识符的长度<=8
  4. 标识符的选择要有意义
    标识符分为:系统定义标识符、用户定义标识符


    在这里插入图片描述

    关键字:预定义标识符,用户标识符
    9种控制语句:


    在这里插入图片描述

    预定义标识符是:系统标准的库函数
  • 对用户定义标识符的规定:
    1 . 不能含有字母、数字、下划线“”“”外的其他字符
    2 . 必须以字母或下划线‘
    开头
    3 . 标识符中大小写字母含义不同
    4 长度:一般系统固定标识符的长度<=8
    5 标识符的选择要有意义
  • 对标识符的规定:
    1 关键字必须用小写字母,不允许使用关键字为变量、数组、函数等操作对象命名
    2 预定义标识符允许用户对他们进行重新定义,当重新定义后将改变他们原来的含义


    在这里插入图片描述

    在这里插入图片描述

二. 基本数据类型和运算度和表达式

2.1 C语言的基本数据类型

数据:计算机程序加工处理的对象
数据类型:具有相同性质的数据对象的集合
数据类型:

  1. 基本数据类型
  2. 构造类型
  3. 指针类型
  4. 空类型 void


    在这里插入图片描述

2.2 常量

在这里插入图片描述

2.2.1 整型常量:

在这里插入图片描述

2.2.2 实型(浮点型)常量:

在这里插入图片描述
  • 实型常量的类型:
    默认double
    在实型常量后面加字母f或F,认为他是float型

2.2.3 符号常量

符号常量:用标识符(identifier)代表常量
标识符一般用大写字母
是宏定义预处理命令,不是C语句

使用符号常量时要注意:

  1. 一般用大写字母
  2. 用宏定义预处理命令 不是C语句 没有“”;“”
  3. 编译时先由系统替换为他所代表的常量,在进行编译
  4. 虽然用标识符来表示标识,但本质是常量。具有常量值不能改变的性质

2.2.4 字符型常量:

在这里插入图片描述

2.2.5 转义字符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3 变量:

在程序运行过程中其值可以改变的量
先定义和使用
定义格式:
数据类型 变量名

在这里插入图片描述

可以进行一条语句 定义多个变量

在这里插入图片描述

2.4 运算符和表达式

运算符是用来处理数据

在这里插入图片描述

按照功能分为:


在这里插入图片描述

求余运算符

在这里插入图片描述

自增/自减:


在这里插入图片描述

自增/自减运算符注意:
自增、自减运算符只能用于变量,而不能用于常量或表达式
结合方向是自右向左
自增、自减运算符常用语循环语句中,使循环变量自动加1或减1;也用于指针变量,使指针变量指向下一个内存地址
例如:
j=-i++
当i=3时 运算完毕后j=-3 i=4

2.4.2 赋值运算符合赋值表达式

基本的赋值运算符: =
格式: 变脸=表达式
作用:将数据(常量或表达式)赋给一个变量
结合方向: 从右向左,优先级14级
注意’:左侧必须是变量,不能是常量或表达式

  • 转换规则:
    使赋值号右边表达式值自动转换成其左边变量的类型


    在这里插入图片描述

    自右至左
    例如:


    在这里插入图片描述

2.4.3 关系运算符和关系表达式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

优先级


在这里插入图片描述

2.4.4 逻辑运算符和逻辑表达式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.4.5 条件运算符和逗号运算符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5 类型转换

  • 自动类型转换(隐式转换)


    在这里插入图片描述

    在这里插入图片描述
  • 强制类型转换(显式转换)


    在这里插入图片描述

    强制类型转换不改变对改变量说明的类型

第三章 算法和基本程序设计

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自顶向下 模块化 限制使用goto语句


在这里插入图片描述

在这里插入图片描述

3.1 程序的基本结构

在这里插入图片描述
  • 顺序结构


    在这里插入图片描述
  • 选择结构


    在这里插入图片描述
  • 循环结构


    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 数据的输入输出语句

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第四章 选择分支结构程序设计

4.1 if语句

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2 Switch语句

在这里插入图片描述

在这里插入图片描述

第五章 循环结构程序设计

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第六章 指针

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第七章 数组

7.1 一维数组

[图片上传失败...(image-94dc3f-1641127741766)]


在这里插入图片描述

7.2 二维数组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.3 字符数组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.4 指针与一维数组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

关于博客

养成写博客的习惯。

                博客的重要性:

                1、自己写博客,是对所学的知识的总结

                2、写博客可以记录你学习的一个过程和心得,在简历上可以给面试官更多了解你的机会,同时则会增加面试的谈资。

                3、写博客说明你是一个愿意分享的人。

                比较推荐的博客网站:

                CSDN、博客园、51CTO、开源中国、自己搭建(服务器+域名;GitHub博客)

11文件

  • fopen 函数

    fopen (文件名,文件使用方式)

  • FILE *p

    • 定义文件指针
    • r只读
    • w写
    • a追加
    • +组合读写
    • t按文本
  • fclose

  • 文件读写操作

    • fputc()函数

      fp=fopen("file.c","w");
      fputc(ch,fp);
      
    • fputs()函数

      fp=fopen("file.c","w");
      fputs("a string.",fp);
      
    • fprintf()函数

      fprintf(fp,"%d,%d",10,20);
      
      
    • 内容出自网络,整理后发布

你可能感兴趣的:(C语言笔记)