C语言学习笔记-知识点总结上

简介: C语言学习笔记-知识点总结上

前言

很多小伙伴刚开始学习C语言时应该注意以下几点:

1、足够耐心,学习C语言是一个漫长的过程,如果听不懂,一定要不耻下问才会有所收获,不要放弃。

2、学会实践,C语言是一门编程课,需要实操,大家要勤敲代码,并且形成良好的代码风格

3、勤思考,遇到不会的问题要先思考后,再问老师或同学,想想代码语法哪里出错了。

顺序结构

一、标识符

1.定义

许多变量、函数、数组、文件需要起个名字,这个名字就叫标识符。

2.命名规则

要以字符或下划线开头,一般不超过8个字符,而且区分大小写。
如a、Ab123、_1234abc、_acv等。
关键字不能充当标识符,如long,double等。

二、常量

类型 说明举例 占内存字节数 输入/输出控制
整型 56,-67 4B %d
字符型 ‘A’ ‘!’ ‘\0’ 1B %c
字符串 “abc” 字符数+1 %s
小数型 -3.5、0.9 8B %lf
指数型 -3.2e2(表示-320) 1.2E-2(表示0.012) 8B %lf或%le

三、变量

类型 定义 所占字节数 输入格式控制 输出格式控制
整型 int 4B %d %d
无符号整型 unsigned int 4B %u %u
长整型 long 4B %ld %ld
双精度实型 double 8B %lf %lf或%f
单精度实型 float 4B %f %f
字符型 char 1B %c %c

四、相关表达式和运算符

1. 强制类型转换

形式:(类型名)表达式
功能:将一个表达式的值转换为指定的类型

2. 赋值表达式

形式:变量名=表达式
左边是变量名右边是表达式的值,将表达式赋给一个变量,
结合性是自右向左。

3.自加、自减运算符

自加、自减运算符为++和--。
自加(减)运算符在前面的,先增(减)后用.
自加(减)运算符在后面的,则先用后增(减)。

k=3,计算以下赋值表达式后,求x,k和表达式的值。

表达式 x的值 k的值 赋值表达式的值
x=k++ 3 4 3
x=++k 4 4 4
x=k- - 3 2 3
x- -k 2 2 2

4.逗号运算符和表达式

形式:表达式1,表达式2,...,表达式n
 结合方向:自左向右。 

选择结构

一、关系运算符

C语言中有“<”  “<=”  ">"  ">="  "=="  "!="6种关系运算符,
 关系运算符的优先级低于算数运算符,高于赋值运算符。

二、逻辑运算符和表达式

1.逻辑运算符

C语言有“&&”  “||”  “ !”三种逻辑运算符,
“ !”为单目运算符,优先级高于算数运算符,
逻辑与 “&&” 和逻辑或 “ || ”的优先级低于关系运算符高于赋值运算符。

2.逻辑运算符中的短路

当出现 “0&&表达式”的逻辑表达式时,因0与任何表达式的结果均为0,无须计算右边的表达式,这就是逻辑运算中的短路。同样,“1||表达式”也存在短路现象。

三、真与假

C语言中认为非0的值为 “真”,0为 “假”,当条件成立是结果为“ 真 ”,就是1;否则为 “假”,就是0。

四、条件运算符和表达式

1.条件运算符

条件运算符"? :"是三目运算符,需要三个运算对象,
条件运算符的优先级高于赋值运算符,低于关系运算符和算数运算符。

2.条件表达式

条件表达式的一般形式如下:
表达式1?表达式2:表达式3

先算表达式1,表达式1的值非0,求解表达式2,此时表达式2就是整个条件表达式的值,不执行表达式3

否则,计算表达式3的值为整个条件表达式的值,不用计算表达式2

五、if语句形式

if(表达式)
  语句1
else
  语句2

(1) if后的表达式必须用括号括起来

(2)语句可以是由若干条语句构成的复合语句,用一对花括号括起来;还可以是一条空语句,用一个分号 “ ”表示。

(3)当语句2是空语句时,else连同语句2可省略。

(4)语句1和语句2还可以是if语句,即if语句的嵌套。

六、switch语句

switch(表达式)
{
  case 常量表达式1:语句1;
  case 常量表达式2:语句2;
  case 常量表达式n:语句n;
  default:语句;
}

这个switch语句与if语句相似,都是分支语句,判断成立后就跳出判断,若case都不成立则执行default语句。

循环结构

一、while循环结构

while(表达式)
{语句}

while循环是先计算表达式的值,表达式的值为真时执行循环体中的语句。 然后反复执行,每次执行都会判断表达式的值是否为真,表达式的值为假时结束循环,接着执行循环体下面的语句。

二、do…while循环结构

do{
  语句
}while(表达式);

do…while循环是循环的变体。再检查while( )条件是否为真之前,会执行一次do{ }之内的语句,然后在while( )内检查条件是否为真,如果条件为真,重复do while这个循环直到while()语句为假,退出循环,输出结果。

三、for循环结构

for(表达式1:表达式2:表达式3)
{
  语句;
}

执行过程如下:

1)求解表达式1。

2)求解表达式2。若为真,则执行for语句中指定的内嵌语句,然后执行第三步;若表达式2值为假,则结束循环,转到第五步。

3)求解表达式3.

4)转回上面第2步继续执行。

5)循环结束,执行for语句下面的语句。

四、break语句和continue语句

break和continue两大关键词的定义:

1)break的定义:只要循环遇到了break,就停止break接下来的所以循环(break之后的代码也不再执行),之间中之所有循环。

2)continue的定义:只要循环遇到了continue,就会终止本次循环,本次循环continue后面的代码不会执行。

相关文章
|
27天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
3天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
374 16
|
19天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
6天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
23天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2595 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
5天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
183 2
|
3天前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
105 65
|
7天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
333 2
|
23天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1580 17
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码