一、认识C语言
C语言程序的基本框架结构
#include<stdio.h>
main()
{
语句1;
语句2;
}
1、一个c语言必须要有一个main()
2、main()可以在一个c语言程序当中的任何位置,程序从main()开始也是从main()结束;
3、在C语言程序中,一条语句以“;”结束,在函数当中语句是按照从上到下的顺序依次执行
4、main()默认为void(空类型),也就是说不需要返回值。假如说我们在做题过程中遇到 int main(),我们在函数体的末尾需要加上 “return 0;”
#include<stdio.h>
int main()
{
语句1;
语句2;
return 0;
}
5、 ”#include”是引用外部文件的关键字。
6、“stdio.h”是标准输入输出头文件,其中包括了我们之后用到的输入函数(scanf()、getcha
r())、输出函数(printf()、puchar())等一些函数的定义。
二、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)无名的常量,其实就是常量的具体值
①数值常量:
a)以“0”表示八进制常量;
b)以“0x”表示十六进制常量;
c)表示长整型常量时在常量末尾加“l”或“L”;
d)以指数形式表示常量时,形式如下:men或者mEn,其中m可以是任何非零实数常量,n只能为整数常量。
e)实数常量表示关键在于小数点“.”,例如“5.0”可以写成“5.”;“0.5”可以写成“.5”
②字符常量:
a)在表示字符常量需要用单引号(‘’)将单个字符括起来.
b)在进行字符常量赋值还可以用整数常量赋值,此时的整数常量代表是字符所对应的ASCII值
三、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值 | b值 | !a | !b | a&&b | a||b |
0 | 0 | 1 | 1 | 0 | 0 |
0 | 非零值 | 1 | 0 | 0 | 1 |
非零值 | 0 | 0 | 1 | 0 | 1 |
非零值 | 非零值 | 0 | 0 | 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 | b | a+=b | a-=b | a*=return在c语言中是什么意思b | a/=b | a%=b |
2 | 2 | a=a+b | a=a-b | a=a*b | a=a/b | a=a%b |
结果 | a=4 | a=0 | a=4 | a=1 | 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”)时,执行后面大括内的内容。
2当表达式1值为假(“0”)时,结束这个循环。
(3)do…while循环
do
{
语句1;
语句2;
… …
}while(表达式1);
1当表达式1值为真(“1”)时,执行后面大括内的内容。
2当表达式1值为假(“0”)时,结束这个循环。
3该循环不论表达式1如何,循环体当中内容至少会执行1次。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论