当前位置 : 主页 > 编程语言 > 其它开发 >

【理论积累】C语言基础理论知识【第一版】

来源:互联网 收集:自由互联 发布时间:2022-05-30
博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不可少的精神。因此,大家有何建议欢迎在评论区踊跃
博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不可少的精神。因此,大家有何建议欢迎在评论区踊跃发言,你们的支持是我最大的动力,你们敢投,我就敢肝 第一个程序
#include <stdio.h>
int main(){
	printf("Hello World");
} 
变量与常量
  1. 变量类型:整型【int】、字符型【char】、单精度【float】和双精度【double】
  2. 整型变量
    1. 整型的数据在32位操作系统,所占的计算机内存位数为8位
    2. 该类型变量的定义格式如下
int 变量名=初始化值;//定义并初始化整型变量
    1. 在整型定义格式中、变量类型标识符int必须置于变量名之前
    2. 用户定义整型变量时,也可以不用对其进行初始化操作
    3. 当需要定义多个整型变量时,可以用,将各个变量名隔开
int a,b,c;//定义整型类型的数据a,b,c
int m=10,n=10;//定义并初始化整型变量m,n
  1. 字符型:
    1. 通常是用于定义字符型数据的
    2. 该类型的变量不仅可以存储单字符数据,还可以多字符数据或字符串
    3. 用户一般直接使用字符变量标识符char就可以定义字符变量
char变量名='初始化字符';//定义并初始化单个字符
char变量名[10]="初始化字符串";//定义并初始化字符串
    1. 若使用单字符数据对变量进行初始化,一定要用单引号将初始化数据括起来
    2. 使用字符串初始化变量时,必须将变量定义为字符数组,并且用双信号将初始化数据括起来
  1. 单精度
    1. 单精度数据类型用float表示,该类型的数据在32位操作系统中所占的计算机内存位数为16位
    2. 通常情况下,只有在进行科学计算时要使用单精度类型的数据
    3. 用户在程序中,使用单精度变量标识符float定义一个f
float f=1.2545;//定义并初始化单精度变量f
  1. 双精度
    1. 双精度数据类型用double表示
    2. 该类型的数据在32位操作系统中,所占的计算机内存位数为32位
    3. 与单精度类型的数据一样,在进行编程时,若需要进行科学计算或多位小数计算,则需要使用双精度类型的数据
  1. 实际编程中,变量定义应当严格遵循其命名规则
    1. 变量名要有良好的可读性
    2. 长度不宜过长
    3. 用户还可以使用下划线和前缀字符对变量进行标识
    4. 变量命名时,不能使用特殊符号作为变量名的前缀,也不能使用C语言中的关键字作为自定义变量的名称
  1. 局部变量是指在一些程序段中所定义的变量,其作用范围有很大的限制,一般只在一堆大括号之间有作用
    1. 当用户在变量定义的代码段之外调用该变量时,是不允许的
    2. 这也容易导致定义的变量重名或者引用未定义的变量而发生错误
  1. 全局变量:作用域是整个程序
    1. 当程序运行完毕退出时,全局变量才会被自动删除,全局变量的生命周期与程序的生命周期是相同的
    2. 使用全局变量时,需要根据实际情况确定全局变量的作用范围
  1. 使用变量:在程序中,可以使用符号=位已经定义的变量进行赋值操作
  2. 输出变量中的数据【printf语句】输出格式
printf("格式化字符串",变量名);//输出函数printf的原型
  1. 将定义的变量值输出
#include <stdio.h>//包含头文件
main()//主函数开始
{
int score=70;//定义并初始化整型变量
char name[]="学习C语言";//定义并初始化字符数组
float f=12.254545;//定义并初始化单精度变量
double dob;//定义双精度变量
dob=15.526646546542;//初始化双精度变量
printf("输出整型数据:%d\n",score);//输出各个变量值
printf("输出字符串:%s\n",name);
printf("输出单精度数据:%f\n",f);
printf("输出双精度数据:%1f\n",dob);
return 0;//程序正常结束
}
  1. 定义常量:常量是指变量值在初始化后,不能够再进行更改【const】
    1. const的使用方法
const int age=10;//定义并初始化整型常量
const char ch='C';//定义并初始化字符型常量
    1. 实际上,关键字const还可以用于C语言函数及其参数中
C语言运算符
  1. 该运算符使用=进行标识
变量标识符=变量初始化值;//使用赋值运算符初始化变量
  1. 算数运算符
    1. 加法运算符:实现两个数据之间的加法运算操作
数据1+数据2;//加法运算符的使用格式
    1. 在使用格式中,数据1和数据2的类型必须是相同的。否则,必须通过强制类型转换将两个数据的类型转换成相同类型以后,才能够使其计算的结果正确。
    2. 减法运算符:实现两个数据之间的减法运算操作
数据1-数据2;//减法运算符的使用格式
    1. 乘法运算符:实现两个数据的乘法运算
数据1*数据2;//乘法运算符的使用格式
    1. 除法运算符:使用符号/标识,表示计算两个数据之间的商
商=数据1/数据2;//除法运算符使用格式
  1. 逻辑运算符:实现数据间的逻辑运算操作
    1. 逻辑与和逻辑或的运算规则

    1. 逻辑非的运算规则

  1. 关系运算符:两个表达式或者变量进行比较
    1. 大于(>)
    2. 小于(<)
    3. 大于等于(>=)
    4. 小于等于(<=)
    5. 不等于(!=)
    6. 等于(==)
  1. 三目运算符:唯一一个有三个变量同时参与运算的运算符
<表达式1>?<表达式2>:<表达式3>//三目运算符使用格式
    1. 表达式1表示三目运算符的运算条件
    2. 程序将该运算条件的真假,对后面的取值进行选择
    3. 如果表达式1的值为真,则三目运算符的运行结果为表达式2,否则运算结果将为表达式3
  1. 位运算符:针对每个二进制数据位
    1. 按位与(&)
    2. 按位或(|)
    3. 按位异或(^)
    4. 左移(<<)
    5. 右移(>>)
    6. 位运算符具体作用

  1. 单目运算符:该运算符只被用于单个数据的运算,参与运算的数据只有一个
    1. 前置单目运算符是指运算符在数据之前,即使用格式运算符运算数据
    2. 后置单目运算符:常用的前置单目运算符也可以将运算符放到运算数据之后,作为后置单目运算符使用
标准输入/输出
  1. scanf概述
    1. C语言中最为常用的标准输入函数
    2. 主要是从计算机的输入流中获取相应的数据,并将获取到的数据保存在用户指定的变量或者内存中
    3. 用户在使用函数scanf时,需要使用输入控制符控制数据的获取
int scanf(const char *format,ch);//输入函数scanf的使用原型
    1. 当函数调用成功时,将返回获取到数据的个数
    2. 参数format表示了格式控制符,主要用于控制获取数据的类型,当然,该参数也可以是一个格式空支付的组合字符串

    1. 参数ch表示了一个已经定义的变量,即将获取到的数据放到该参数所指向的变量地址中进行保存
  1. 用户可以使用关键字include将指定的头文件包含到程序中,并且标准输入函数scanf定义和实现均包含在头文件stdio.h
#include <stdio.h>//包含相应的头文件
  1. 用户在包含头文件时,若头文件为系统定义的,则需要使用尖括号“<>”将文件名括起来;若头文件为自定义的,则使用双引号将文件名括起来。
  2. printf概述
    1. 参数format表示输出格式控制符,主要是控制输出字符的格式
    2. 参数ch表示将要输出的变量
  1. getchar()
    1. C语言中用于获取单个输入数据的功能的函数
    2. 当用户在程序中输入一串字符时,该函数也只能够获取到输入的第一个字符数据,而后面的字符将被省略
int getchar(void);//获取单个数据
    1. 如果该函数调用成功,则将返回获取到的数据;否则,将返回0
  1. 使用putchar()
    1. 该函数只能够向计算机输出设备输出一个数据,并且该函数也可以在循环结构中使用
int putchar(int c);//输出单个数据
    1. 在该函数,含有一个参数c,表示存放输出数据的变量标识符。如果该函数调用失败,将返回错误标识符EOF
C语言控制结构
  1. if...else结构的运行原理

  1. while循环流程图

  1. do...while循环结构执行流程图

  1. 关键字break常被用于循环功能代码中,其主要作用是调处并终止循环结构的运行
  2. 关键字continue的具体功能比较丰富,即终止用户所指定的本次循环,但不会跳出循环结构,从而可以继续执行下一个循环
  3. switch...case开关结构流程图

  1. 转义字符是指C语言中能够实现特定功能的输出控制字符

  1. 数据类型输出控制符包括格式控制符和格式字符
  2. 常用的格式字符

函数
  1. 函数包括参数和返回值
    1. 参数是用于向函数内部传递数据的
    2. 返回值是将函数处理后的结果传递到函数外部
  1. 函数在定义时,也需要具有一定的定义格式。在定义格式中,包含函数的名称、参数类型、参数个数和函数返回值
返回类型 函数名(参数类型 参数1,参数类型 参数2);//函数定义
  1. 函数返回值和参数类型的具体取值及其意义

  1. 根据函数参数的使用位置不同,其种类有实参和形参两种
    1. 实参是在用户调用函数时,传递给函数的实际参数
    2. 形参则是在函数定义时,所设置的形式参数,该类型的参数并不具有实际意义,只是一个标识
    3. 用户使用函数形参实现自定义函数的定义
void add(int a,int b);//自定义函数
    1. 当然,用户也可以在函数定义时,只使用数据类型作为函数形参
void add(int,int);//使用数据类型作为函数形参
  1. 函数的返回值可以将函数内部的运算结果等变量值传递到函数外部
  2. 函数返回值就是函数内部与外部通信的一个桥梁,而函数参数是函数外部与内部通信的桥梁
  3. 变量的作用域和生存周期是其定义位置所在的一对大括号{}之内
  4. 根据自定义函数的调用位置和调用顺序的不同,其调用方式也会有所不同
  5. 自定义函数的直接调用,优点在于调用简单、方便、直观。但是,在需要多次调用函数实现一个功能的时候,用户就需要显示地多次调用该函数,这种调用方式将容易造成代码量的增加以及程序运行的不可控制性
  6. 函数的递归调用是指在一个自定义函数中再嵌套使用相同函数,以实现循环调用相同函数的功能
在黑夜里梦想着光,心中覆盖悲伤,在悲伤里忍受孤独,空守一丝温暖。 我的泪水是无底深海,对你的爱已无言,相信无尽的力量,那是真爱永在。 我的信仰是无底深海,澎湃着心中火焰,燃烧无尽的力量,那是忠诚永在。
上一篇:Python:conda install 和pip install的区别
下一篇:没有了
网友评论