c语言学习笔记Word文件下载.docx
- 文档编号:4462426
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:22
- 大小:23.63KB
c语言学习笔记Word文件下载.docx
《c语言学习笔记Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言学习笔记Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。
3,89,-7
long(长整型)如3l,0L
前面可以加修饰符signed(有符号的)或unsigned(五符号的)
signedint,有符号整形
unsignedint,无符号整形
3、实型:
float:
如3.4f
double:
如4.2,1e2
五、不同类型间数据的混合运算
1、+,-,*,\运算中,只要有一个为float或double,结果为double型
2、int与float或double运算,int、float都转换为double
3、char与int运算,char转换为int
4、char与float或double运算,char转换为double
六、常用ASCII码
‘0’=30H=48,1到9依次+1类推
‘a’=61H=97,b到z依次+1类推
‘A’=41H=65,B到Z依次+1类推
第四章运算符
一、常用运算符
1、算术:
+,-,*,/,%
2、关系:
>
,<
,>
=,<
=,==,!
=
3、逻辑:
!
,&
&
,||
4、赋值:
=,+=,-=,*=,/=,%=
5、逗号运算符:
,
说明:
1、关系和逻辑运算的结果只有两个,要么为真,要么为假
2、C语言中0表示假,非0表示真
3、c语言中将真赋值给其他变量时,其值为1
二、优先级
1、算术>
关系>
逻辑>
赋值>
逗号
2、!
(非)优先于算术
3、*,\,%优先于+,-
4、>
<
>
=,<
=,优先于==,!
5、&
优先于||
6、同级别运算符一般都是自左向右结合
a*b/c*e,等价于((a*b)/c)*e
7、赋值运算符是自右向左结合
a=b=c=1,等价于a=(b=(c=1))
三、自增(++),自减(--)
1、i++,++i独立使用时没有区别,都等价于i=i+1
2、i--,--i独立使用时没有区别,都等价于i=i-1
3、i++,++i在其他语句中使用时是有区别的,
i++,先使用i,再i=i+1
y=x++;
等价于
y=x;
x=x+1;
++i,先i=i+1,再使用i
y=++x;
4、i--,--i的区别等同i++,++i
5、特殊情况1:
0&
i++语句中,i++永运不执行
6、特殊情况2:
++i语句中,++i运不执行
7、特殊情况3:
1||i++语句中,i++永运不执行
8、特殊情况4:
1||++i句中,++i运不执行
9、特殊情况5:
a++,b++,a+b语句中,
先执行a=a+1,再执行b=b+1,最后a+b
四、赋值
1、+=,-=,*=,/=等复合赋值语句的优先级等同于=
2、a+=3+4等价于a+=(3+4)
3、a=b=c=4;
c=4;
b=c;
a=b;
五,逗号运算符
1、运算方向是自左向右
a++,b++,a+b
a++;
b++;
a+b;
2、逗号表达式的结果为最后一个表达式的值
执行x=(3,4,5,6);
后x=6
第五章语句
一、表达式:
通过各种运算符将常量或变量连起来的式子就是表达式
二、表达式后加;
分号,构成语句
三、空语句,只有一个;
分号的语句
四、复合语句,{。
。
},放在一对{}大括号中的若干条语句当作一条语句使用,就是复合语句
while(i<
=100)
{
s=s+i;
i=i+1;
}
第六章输入输出语句
一、printf
格式:
printf(参数1【,参数2,参数3,。
参数n】);
1、参数1必须有
2、参数1的数据类型为字符串型,即用一对“”双引号括起来的字符串
3、字符串中字符有三种
普通字符:
原样输出
转义字符:
可用于输出功能字符
占位符:
用于显示参数2到参数n的值
例题:
1、printf(“Helloworld”);
2、printf(“Helloworld\n”);
3、printf(“a=%d\n”,a);
占位符:
%d:
以十进制显示整形数据
%o:
以八进制显示整形数据
%x,%X:
以十六进制显示整形数据,x表示abcdef用小写显示,X表示abcded大写显示
%u:
以十进制显示无符号整形数据
%c:
显示一个字符
%s:
显示字符串
%f:
以小数形式显示浮点数,可以float类型,也可以是double类型
%e,%E:
以科学计数法形式显示浮点数,e表示科学计数法中e小写显示,E表示科学计数法中的e用大写显示
%g,%G:
选择%f或%e中较短的一种形式显示,当选择%e方式时,g和G的区别同e和E的区别
设置宽度:
m.n
1、%10.2f:
以小数的形式显示一个浮点数,显示总宽度为10(包括整数部分,小数点,小数部分),其中小数位数为2
2、%5d:
显示一个整形数据,总宽度为五位,不足5位时,右对齐,超过5位时全部显示
对齐设置:
-
表示显示数据左对齐
%-10.2f,以小数形式显示一个浮点数,位数不足10位时,左对齐
二、scanf
scanf(参数1,参数2【参数3,参数4,。
参数n】)
1、参数1必须有,类型为字符串
2、字符串中的字符有两种
需要原样输入
用于输入参数2大参数n的值
3、参数2到参数n必须的变量的地址
1、scanf(“%d”,&
a)
2、scanf(“a=%d”,&
输入时,先输入a=,再输入数字
3、scanf(“%2d%2d%2d”,&
a,&
b,&
c)
输入十进制整数
输入八进制整数
输入十六进制整数,x表示abcded用小写,X表示abcdef用大写
输入无符号十进制整数
输入一个字符
输入字符串
输入float类型的浮点数,例如scanf(“%f”,&
f);
(f为float类型)
%lf:
输入double类型的浮点数,例如scanf(“%lf”,&
d);
(d为double类型)
宽度设置:
m
1、scanf(“%2d”,&
a),输入123456,则a=12
预读取:
*
1、scanf(“%2d%*2d%2d”,&
b),输入123456,则a=12,b=56
三、putchar
(输出一个字符)
putchar(参数)
1、参数为字符型数据
2、有且只有一个参数
3、参数可以是字符变量或字符常量(字符常量分为普通字符和转义字符)
4、函数执行一次只能输出一个字符
1、putchar(‘a’);
2、putchar('
\101'
);
3、putchar(‘\x41’);
4、putchar(‘\n’);
5、charc=‘a’;
putchar(c);
6、putchar(0101);
7、putchar(10);
8、putchar(0x30);
四、getchar
(输入一个字符)
chargetchar()
1、无参数
2、返回值为字符型
3、可以输入普通字符,也可以输入控制字符(例如回车、退格、tab等)
4、函数执行一次只能输入一个字符
1、charc=getchar();
如果输入a,则c=‘a’
如果输入回车,则c=‘\n’
第七章选择结构
一、if语句
1、格式1:
if(条件)语句
2、格式2:
if(条件)
语句1
else
语句2
3、格式3:
if(条件1)语句1
elseif(条件2)语句2
elseif(条件3)语句3
elseif(条件n)语句n
4、格式4:
else语句m
备注:
1、条件可以是关系表达式,逻辑表达式,甚至是数值表达式
2、语句可以是一个简单的语句,也可以是一个复合的语句,还可以是另一个if语句(即if语句的嵌套)
3·
、整个if语句可以写在多行上,也可以写在一行上,一般为了可读性,提倡写成锯齿形式
4、语句1,语句n是if的内嵌语句,是if语句的组成部分,且每个语句的后面都有分号
5、语句1,语句n可以是一条独立语句,也可以是一条用花括号括起来的复合语句
6、else不能单独使用,必须配合if,而if可以没有else
7、当if语句嵌套使用时,要注意if与else的配对关系:
else总是与它前面最近的未配对的if配对。
举例:
1、if(x>
0)y=1;
2、if(x>
=60)
{
y=1;
else
y=0;
}
3、if(x>
elseif(x=0)y=0;
elsey=-1;
4、if(x>
79)y="
优"
;
elseif(x>
69)y="
良"
59)y="
中"
=0)y="
差"
二、条件表达式
条件?
表达式1:
表达式2
1、当条件成立时,返回表达式1,否则返回表达式2
2、执行顺序是,先判断条件,条件为真,则返回表达式1的值,否则返回表达式2的值
3、条件运算符优先于赋值运算符,但比逻辑运算符低
举例
1、
max=a||b?
a:
b;
max=(a||b)?
而不是max=a||(b?
)
2、
if(a>
b)
max=a;
max=b;
max=a>
b?
三、switch语句
switch(表达式)
case常量1:
语句1;
break;
case常量2:
语句2;
case常量n:
语句n;
default:
语句n+1;
//可以没有
1、当表达式的值等于常量n时,执行语句n,当所有常量都不等于表达式时,执行default后的语句,如果没有default语句,则不执行。
2、表达式的类型为整型(包括字符型)
3、switch下面的{}花括号是一个复合语句。
4、case后面跟一个常量(或常量表达式),起标号的作用,用来标志一个位置,default也是起标号的作用
5、各个case标号出现的次序不影响执行的结果
6、各个case常量必须互不相同
7、case标号只起标号的作用,并不在此进行条件检查,因此各个case后都有break,否则将从该case开始,一直执行下去
8、当case后的子句多于一条时,可以用花括号括起来,也可以不用,但其中有声明语句时,必须用花括号括起来
9、有些情况下,可以让多个case标号共用一组执行语句。
例如
case1:
case2:
case3:
printf(“123\n“);
10、case后必须是常量,如果case跟变量是错误的
1、已知学生100分制成绩,输出ABCDE等级分
第八章循环结构
一、while
while(条件)
语句
1、当条件为真时,执行语句
2、先判断条件,后执行语句体
3、语句可以是一条语句,也可以用花括号括起来的复合语句
4、当条件不成立时,循环结束
5、while循环多用在循环次数不可知的情况下
1、计算1+2+3+。
+100
2、输出100个*号
二、do。
while
do
语句
while(条件);
1、语句可以是一条语句,也可以是用花括号括起来的复合语句
2、while(条件);
后的分号不能少
3、无论条件成立否,语句至少被执行一次
4、先执行语句,再判断条件,条件成立,继续循环,条件不成立则循环退出
5、该语句适合于先执行一次语句,再判断条件的情况下
1、1+2+3+。
100
2、打印100个*号
三、for循环
for(语句1;
条件;
语句2)
语句3
语句1:
只执行一次,且在整个循环开始前执行,一般用来设置变量初值
条件:
为真时,执行循环,否则结束
语句2:
每次循环执行完后,执行该语句,一般用来使循环变量自增
语句3:
为循环体,可以是独立语句,也可以是用花括号括起来的复合语句
1、与for语句等价的while循环为
语句3;
语句2;
2、语句1,语句2,条件都可以省略,当条件省略时,表示恒为真
3、语句1,语句2可以是一般的语句,也可以是逗号表达式
4、for循环的执行顺序是,
语句1→条件→语句3→语句2→条件→语句3→语句2→条件。
四、循环中的其他语句
1、break:
用在while,dowhile,for,switch中,用于跳出循环或分支语句
2、continue:
用在while,dowhile,for语句中,用于结束本次循环(注意不是结束整个循环),再判断条件,以决定是否要继续循环
第九章数组
一、定义数组
类型符数组名【常量表达式】
1、数组名的命名规则同变量名
2、常量表达式中,可以包含常量和符号常量,但不能包含变量,例如inta【n】是非法的
3、数组下标是从0开始的,例如inta【3】,其成员分别是a【0】、a【1】,a【2】
二、数组的初始化
1、定义时初始化
声明时给全部成员赋初值
inta【10】={1,2,3,4,5,6,7,8,9,0};
赋值后a【10】=1,a【1】=2,。
a【9】=0
声明时给部分成员赋初值
inta【10】={1,2};
赋值后a【0】=1,a【1】=2,a【2】=0,。
部分赋初值时,后面没有初值的成员由系统自动赋值为0
部分赋初值时,花括号内至少要有一个数据,否则是非法的
2、先声明,后赋值
inta【3】;
a【0】=1;
a【1】=2;
a【2】=3;
当数组比较大时也可以用循环赋初值
inta【20】;
for(inti=0;
i<
=19;
i++)
{
a[i]=i;
}
3、当声明时给全部成员赋初值时,可以省略中括号中的数字(即数组个数)
inta【】={0,1,2,3,4,5};
是合法的,
inta【6】={0,1,2,3,4,5};
此时,数组的大小由花括号内的元素个数确定
三、数组的使用
inta【10】;
for(inti=0;
=9;
i++)//赋初值
a【i】=i;
for(i=9;
i>
=0;
i--)//逆序输出
printf(“%6d”,a[i]);
四、二维数组
1、定义
inta【2】【3】;
定义了一个二维数组,一维个数为2,二维个数为3,成员共有6个,分别是
a【0】【0】
a【0】【1】
a【0】【2】
a【1】【0】
a【1】【1】
a【1】【2】
五、字符数组
chara[10];
或者
chara[10]={‘a’,‘b’,‘c’};
当采用第二种方式赋初值时,a【0】=‘a’,a【1】=‘b’,a【2】=‘c’,其余成员的值被系统自动赋值为空字符(即\0,\0的ascii码是0)
六、字符串
在c语言中,是将字符串作为字符数组类处理的
C语言规定,字符串的结束标志是\0
例如字符串“abcd”有4个字符,但在数组中占5个字符,前4个是abcd,第五个是\0
C语言在处理字符串时,碰到\0就认为,字符串结束了,没有碰到\0,不认为结束
1、字符串的定义:
chars【】=“howareyou”;
该字符串共有11个字符,数组的大小为12,第12个字符为\0
2、字符串的输出
charc【】={“Iamastudent”};
printf(“%s\n”,c);
写成
printf(“%s\n”,c【0】);
是错的,%s对应的变量必须是字符数组名
3、字符串的输入
charc【100】;
scanf(“%s“,c);
碰到回车后,输入结束,并在输入的字符后自动加\0
写成
scanf(“%s“,&
c);
是错的,使用字符数组名时,无需再加&
七、常用字符串函数
1、strcpy:
字符串复制
2、strcmp:
字符串比较
3、strlen:
求字符串的长度
4、strlwr:
字符串中所有字符转为小写
5、strupr:
字符串中所有字符转为大写
使用以上函数时,需要添加
#include<
string.h>
第一十章函数
1、c语言是由函数组成的,程序的执行总是从main函数开始,在main函数中结束整个程序的运行
2、从用户角度看,函数可以分为库函数和用户自己定义的函数,如printf等就是库函数,这一章将学习如何自己定义函数
一、定义函数
返回类型函数名(参数列表)
{
函数体
}
1、参数列表可以为空
2、返回类型也可以没有,没有返回类型,则类型为void
intmax(intx,inty)
if(x>
y)
returnx;
returny;
二、函数调用
1、直接调用,例如max(3,4);
2、函数表达式,例如c=2*max(3,4);
3、函数参数,例如printf(“%d”,max(3,4));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 笔记
![提示](https://static.bingdoc.com/images/bang_tan.gif)