admin 管理员组文章数量: 887021
2024年2月24日发(作者:bootstrap代码)
一、 认识C语言
C语言程序的基本框架结构
#include
main()
{
}
1、 一个c语言必须要有一个main()
2、 main()可以在一个c语言程序当中的任何位置,程序从main()开始也是从main()结束;
3、 在C语言程序中,一条语句以“;”结束,在函数当中语句是按照从上到下的顺序依次执行
4、 main()默认为void(空类型),也就是说不需要返回值。假如说我们在做题过程中遇到
int main(),我们在函数体的末尾需要加上 “return 0;”
#include
int main()
{
语句1;
语句2;
return 0;
}
5、 ”#include”是引用外部文件的关键字。
6、 “stdio.h”是标准输入输出头文件,其中包括了我们之后用到的输入函数(scanf()、getchar())、输出函数(printf()、puchar())等一些函数的定义。
语句1;
语句2;
二、 C语言中变量、常量的定义
1、 概念:简单的来说,(1)变量指在程序运行过程中值可以发生变化的量 ;(2)常量指在程序运行过程中值不能被改变的量
2、 变量的定义,其形式如下:
数据类型 变量名称
3、 用户标识符的命名规则
(1)、不能为系统关键字;
(2)、只能由数字、字母、下划线;
(3)、第一个字符只能是字母或者下划线,不能够位数字。
4、数据类型:我们需要掌握的就是整型、浮点型、字符型三大类型
(1)整型:基本整型(int)、短整型(short)、长整型(long)
(2)浮点型:单精度类型(float)、双精度(double);
(3)字符型:char(也就是ASCII表中存在的字符)
5、常量定义
(1)有名的常量
①局部常量:const 数据类型 常量名=常量值
②全局常量:#define 常量名 常量值
(2)无名的常量,其实就是常量的具体值
①数值常量:
以“0”表示八进制常量;
以“0x”表示十六进制常量;
表示长整型常量时在常量末尾加“l”或“L”;
以指数形式表示常量时,形式如下:men或者mEn,其中m可以是任何非零实数常量,n只能为整数常量。
e) 实数常量表示关键在于小数点“.”,例如“5.0”可以写成“5.”;“0.5”可以写成“.5”
②字符常量:
a) 在表示字符常量需要用单引号(‘’)将单个字符括起来.
b) 在进行字符常量赋值还可以用整数常量赋值,此时的整数常量代表是字符所对应的ASCII值
a)
b)
c)
d)
三、 C语言中的输入输出
1、 printf()输出函数
形式:printf(“输出内容 格式控制符列表”,输出项列表);
(1) 按原样输出的内容是双引号中除“”、、%之外的内容;
(2) 格式控制符:%d(输出引号后面输出项列表中对应顺序的变量值、表达式值、常量值)、%ld(输出长整型值)、%f(输出浮点型数值)、%lf(输出double数值)、%c(输出字符)、%o(输出八进制数值)、%X(输出十六进制值,并且十六进制字母按大写字母输出)、%x(输出十六进制值,并且十六进制字母按小写字母输出)、%u(输出无符号整数)、%e(按照指数输出)
(3) 输出项列表需要注意是有多个输出,输出项需要和前面格式控制符的先后顺序保持一致。例如:printf(“%d%f%c%o”,INT,FLOAT,CHAR);
2、 putchar()字符输出函数
形式:puchar(输出项)
说明:该函数只有一个输出项,用于单个字符输出
3、 scanf()输入函数
scanf(“格式控制符列表”,输入项列表)
(1) 输入项必须是变量并且变量前需要加上“&”
(2) 在格式控制列表中如果除了格式控制符之外还有别的内容在输入时,必须按原样输入相应内容。例如:scanf(“输入a=%d”,&a);假如需要输入a的值为“8”,那么在输入数据时就应该输入“输入a=8<回车>”
(3) 格式控制符列表之间如果没有分隔符,在输入数据时在数据之间输入空格、或者制表符(按tab键);如果说有分隔符,必须输入分隔符。
4、 getchar()字符输入函数
形式:ch=getchar() //ch由用户根据自己需要定义变量
说明:
(1)getchar()它是一个无参函数,在使用的过程当中返回值不能直接保存,需要赋值给一个变量进行保存
(2)getchar()只能输入单个字符
四、 C语言中的运算符及运算符的优先级关系
1、 自增、自减运算
(1) 前置自增、自减运算:相应变量先做增1或者减1运算之后,再去参与别的运算。例如:i=3,b=++i;得到b的值是4。
(2) 后置自增、自减运算: 相应变量先参与别的运算,再做增1或者减1运算。例
如:i=3,b=i++;得到i的值是3。
2、 算术运算:
(1) 运算符有:+、-、*、/、%。
(2) 优先级关系:先乘除(包括%),后加减。同级运算按照从左到右的顺序一次计算。
3、 逻辑运算
(1) 运算符有:!(逻辑非)、&&(逻辑与)、||(逻辑或)。
(2) 优先级关系:!>&&>||。
(3) 逻辑非(!)它是属于单目运算符,只针对单个数进行计算。例如a=3,!a;此运算结果为0。其他属于双目运算,也就是要针对两个数来进行计算。
(4) 参与逻辑运算得到值只有两种:0或者1。
(5) 针对两个变量a、b进行逻辑运算
a值
0
0
非零值
非零值
b值
0
非零值
0
非零值
!a
1
1
0
0
!b
1
0
1
0
a&&b
0
0
0
1
a||b
0
1
1
1
注意:
①对于逻辑与运算,如果说与运算符左边表达式值为0,那么与运算符右边的表达式不执行。例如:int a=0,b=-1;++b&&++a;最后a的值还是0,b的值是0。
②对于逻辑非运算,如果说与运算符左边表达式值为1,那么与运算符右边的表达式不执行。例如:int a=0,b=0;++b||++a;最后a的值还是0,b的值是1。
4、 关系运算
(1) 运算符有:>(大于)、>=(大于等于)、==(等于)、<=(小于等于)、<(小于)。
(2) 优先级关系:各运算符的优先级相同,计算时按照从左到右的顺序依次计算
(3) 关系运算属于双目运算;运算结果只有两种:0或者1,当关系成立或者为真,那么运算结果就为1,反之则为0。
5、 赋值运算
(1) 运算符有:=、+=、-=、*=、/=、%=
(2) 赋值运算的赋值方式:按照从右到左的顺序赋值。
(3) 赋值运算符左边不能够为表达式或者常量。
(4) 对于+=、-=、*=、/=、%=,计算方式如下表
a
2
结果
b
2
a+=b
a=a+b
a=4
a-=b
a=a-b
a=0
a*=b
a=a*b
a=4
a/=b
a=a/b
a=1
a%=b
a=a%b
a=0
6、 逗号运算
(1) 运算符是:,
(2) 运算方式:按照从左到右的顺序进行计算,结果为逗号运算最后一个表达式的值。例如:a=3,b=5;c=(a++,a+b,b-a);此处先做a++结果a=4,然后做a+b,再去做b-a,最后将b-a的值赋值给c,所以最终c的值是1。
7、 七大运算符(加上括号运算)的运算优先级关系:
括号>逻辑非>算术运算>关系运算>逻辑与>逻辑或>赋值运算>逗号运算
8、 条件运算符
(1) 运算符:?:
(2) 形式:表达式1?表达式2:表达式3
(3) 解释:问号前的表达式是条件,冒号两边的表达式是选择表达式,当这个表达式1的值为非零值是执行表达式2,反之则执行表达式3。
五、 选择结构
1、 if选择结构
(1) 形式:①if(条件表达式)语句;②if(条件表达式)语句1;else 语句2;
(2) 条件表达式的值也只两种:条件为真值为1,条件为假值为0;
(3) 条件表达式形式可以是任意的有具体结果的表达式。这里特别需要注意关系运算“==”和赋值运算“=”。
例如:a=2,b=5;if(a==b)printf(“%d”,a);if(a=b)printf(“%d”,a);在此处前一个if中条件表达式是一个关系表达式,是判断a和b是否相等;第二if中条件表达式是一个赋值表达式,是将b的值赋值给a。前一个if语句条件值为0,而面一个条件表达式值为1。
(4) 注意else后不能像if一样直接跟一个条件表达式。如果说else再需要进行条件判断,可以在else后加一个if条件语句。
(5) 在if…else多层嵌套中,需要注意的是if…else配对问题,必须是外层对外层,内层对内层,不能够出现交叉。
if(表达式1)…
if(表达式2)…
if(表达式2)…
else…
else …
else …
(6) If(表达式1)表达式1;else 表达式2;结构相当于条件运算符表达式语句:表达式1?表达式2:表达式3
2、 switch选择结构
(1) 形式:
switch(表达式1)
{
case 常量表达式1:语句1;
case常量表达式2:语句2;
……
default:语句n;
(2) 表达式1:它是用来向switch语句传入一个常量值;
(3) case语句:它是代表选择的情况,选择要执行的内容。在书写case语句需要注意case和常量表达式之间要空格隔开,不可挨着一起写,常量表达所起到的作用是用于与表达式1传入的值进行比较,如果说表较结果相等,那就从本条case开始按照从上到下的执行顺序依次执行,直到执行完选择结构中最后一条语句。
(4) case常量表达式的值不需要按照数字或者字符顺序来写。
(5) default:指case例举之外的常量。它也可以放在siwtch语句中的任何位置。
(6) 如果说多条case执行相同算法,可以将这几个case写在一起,在最后一个case后,写算法表达式。
(7) 当我们在执行完一个case后,想要直接退出swtich语句,则可以在该case语句之后加一个break语句。
3、 循环语句结构
(1) 类型:while循环、do…while循环、for循环
(2) While循环
形式:
While(表达式1)
{
}
语句1;
语句2;
… …
① 当表达式1值为真(“1”)时,执行后面大括内的内容。
② 当表达式1值为假(“0”)时,结束这个循环。
(3) do…while循环
do
{
语句1;
语句2;
… …
}while(表达式1);
① 当表达式1值为真(“1”)时,执行后面大括内的内容。
② 当表达式1值为假(“0”)时,结束这个循环。
③ 该循环不论表达式1如何,循环体当中内容至少会执行1次。
④ 需要注意do…while()后面的分号“;”必须要有。
(4) for循环
for(表达式1;表达式2;表达式3)
{
}
语句1;
语句2;
… …
① 表达式1用于对循环控制变量的初始化,指定循环从什么地方开始执行。
② 表达式2用于控制进行循环的条件,值为1则继续执行循环体,否则结束循环。
③ 表达式3一般用于改变循环控制变量的值。
④ for循环执行顺序
⑤ for循环中的三个表达可以没有,但是两个分号必须保留,此时的循环是死循环,需要结束循环的话需要用到break语句。
六、 函数的定义和调用
1、 在C语言当中去定义函数的方法:
数据类型 函数名( 形式参数列表…)
{
}
函数功能的实现语句;
return 返回值;//即需要传回的变量值或者常量值
(1) 数据类型除了基本数据类型外,还可以式void类型等
(2) 函数名命名需遵守标识符的命名规则。
(3) 形式参数:是函数与外界实现信息交换的入口,多个形式参数之间要用逗号隔开
(4) 定义形式参数是:数据类型 形参名。
(5) 当无形式参数列表时叫做无参函数。
2、 函数的调用
(1) 调用的方式:函数名(实际参数列表…);
(2) 实际参数(简称实参),即指向形式参数传递的一个具体值的参数。
(3) 在调用函数时,可以实际参数可以是一个具体值,也可以是变量名。
(4) 书写函数调用声明时,可以有如下两种形式
函数类型 函数名(数据类型 形参名,数据类型 形参名…);
函数类型 函数名(数据类型 ,数据类型 …);
版权声明:本文标题:中职C语言知识梳理 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708772331h530976.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论