首页 c语言学习笔记

c语言学习笔记

举报
开通vip

c语言学习笔记c语言学习笔记第一章基础―、函数是C语言的基本单位,一个程序有一个或多个函数组成,且必须包含main函数(有且只有一个)二、程序总是从main函数开始执行三、c语言的3种基本结构是顺序结构、选择结构、循环结构四、//表示单行注释五、/**/表示块注释第二章常量定义:其值不能被改变的量叫常量一、整形常量例如:100,十进制数100-16,十进制数-1607,八进制数7-036,八进制数-36,等价于十进制数-300x19,十六进制数19,等价于十进制数25-0x2f,十六进制数-2f,等价于十进制数-47二、实型常量...

c语言学习笔记
c语言学习笔记第一章基础―、函数是C语言的基本单位,一个程序有一个或多个函数组成,且必须包含main函数(有且只有一个)二、程序总是从main函数开始执行三、c语言的3种基本结构是顺序结构、选择结构、循环结构四、// 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示单行注释五、/**/表示块注释第二章常量定义:其值不能被改变的量叫常量一、整形常量例如:100,十进制数100-16,十进制数-1607,八进制数7-036,八进制数-36,等价于十进制数-300x19,十六进制数19,等价于十进制数25-0x2f,十六进制数-2f,等价于十进制数-47二、实型常量例如:3.5,double型常量2e3,double型常量-2e-1,double型常量double型常量,等于6.0.3double型常量,等于0.62.5ffloat型常量三、字符常量1、普通字符:用‘’单撇号括起来的一个字符,如‘a',92、转义字符:以\开头的字符,如\n,换行\t,tab键\\,单斜杠\\61,61是八进制数,等于十进制数49,即字符‘1'\x62,62是十六进制数,等于十进制98,既字符‘b'四、字符串常量用“”双撇号括起来的若干字符例如:“abc”,“”,“a”五、符号常量用#define指令指定的常量例如:#definePI3.1415827第三章变量一、必须先定义(声明),后使用二、必须是一个合法的标识符三、一个合法的标识符必须满足以下3个条件1、只由字母、数字、_(下划线)三种字符组成2、首字符不能是数字3、不能与c语言的保留字冲突,如void,int等都是保留字四、数据类型1字符型:char如‘a',‘\101',‘\x41,\n'2、整型:short(短整型)如:2,3,-5int(整型)如:3,89,-7long(长整型)如引,0L前面可以加修饰符signed(有符号的)或unsigned(五符号的)例如:signedint,有符号整形unsignedint,无符号整形3、实型:float:如3.4fdouble:如4.2,1e2五、不同类型间数据的混合运算1、+,-,*,'运算中,只要有一个为float或double,结果为double型2、int与float或double运算,int、float都转换为double3、char与int运算,char转换为int4、char与float或double运算,char转换为double六、常用ASCII码‘0'=30H=48,1到9依次+1类推‘a'=61H=97小到z依次+1类推A'=41H=65川到乙依次+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)*e7、赋值运算符是自右向左结合例如:a=b=c=1,等价于a=(b=(c=1))三、自增(++),自减(--)1、i++,++i独立使用时没有区别,都等价于i二i+12、i--,--i独立使用时没有区别,都等价于i=i-13、i++,++i在其他语句中使用时是有区别的,i++,先使用i,再i=i+1例如:y=x++;等价于y=x;x=x+1;++i,先i二i+1,再使用i例如:y=++x;等价于x=x+1;y=x;4、i--,--i的区别等同i++,++i5、特殊情况1:0&&i++语句中,i++永运不执行6、特殊情况2:0&&++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;等价于Iwww9HX胆【(9、S、寸d)HX8-f-q+e【++q【++e扫皐»q+e、++q、++e二惹9叵w皿眠叵归M凹n蛊常财・旧-qHe-oHq寸Ho【(【U篆…d篆、CN篆、】I篆)tu=d44UEIS?fKW亠肯+丄=+SHS0-)(oothvcqzm二惹HS«H-wg-fr朋粗-K亠)友—W栏、亠。。。)、Is,s园HSS朋0-fS■园HSKH,川H■聚【吕器凶*ZM说明:1、参数1必须有2、参数1的数据类型为字符串型,即用一对“”双引号括起来的字符串3、字符串中字符有三种普通字符:原样输出转义字符:可用于输出功能字符占位符:用于显示参数2到参数n的值例题:1、printf(“Helloworld”);2、printf(“Helloworld\n”);3、printf(“a=%d\n”,a);占位符:%d:以十进制显示整形数据%。:以八进制显示整形数据%x,%X:以十六进制显示整形数据,x表示abcdef用小写显示,X表示abcded大写显示%口:以十进制显示无符号整形数据%c:显示一个字符%s:显示字符串%f:以小数形式显示浮点数,可以float类型,也可以是double%e,%E:以科学计数法形式显示浮点数,e表示科学计数法中e小写显示,E表示科学计数法中的e用大写显示%g,%G:选择%f或%。中较短的一种形式显示,当选择%。方式时,g和G的区别同e和E的区别设置宽度:m.n例如:1、%10.2f:以小数的形式显示一个浮点数,显示总宽度为10(包括整数部分,小数点,小数部分),其中小数位数为22、%5d:显示一个整形数据,总宽度为五位,不足5位时,右对齐,超过5位时全部显示对齐设置:-表示显示数据左对齐例如:%-10.2f,以小数形式显示一个浮点数,位数不足10位时,左对齐二、seanf格式:seanf(参数1,参数2【参数3,参数4,。。。。。。参数n】)说明:1、参数1必须有,类型为字符串2、字符串中的字符有两种普通字符:需要原样输入占位符:用于输入参数2大参数n的值3、参数2到参数n必须的变量的地址例题:1、seanf(“%d”,&a)2、seanf(“a=%d”,&a)输入时,先输入a=,再输入数字3、seanf(“%2d%2d%2d”,&a,&b,&e)占位符:%d:输入十进制整数%o:输入八进制整数%x,%X:输入十六进制整数,x表示abeded用小写,X表示abedef用大写%u:输入无符号十进制整数%e:输入一个字符%s:输入字符串%f:输入float类型的浮点数,例如scanf(“%f”,&f);(f为float类型)%lf:输入double类型的浮点数,例如seanf(“%lf”,&d);(d为double类型)宽度设置:m例如:1、scanf(“%2d”,&a),输入123456,则a=12预读取:*例如:1、scanf(“%2d%*2d%2d”,&a,&b),输入123456,贝0a=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'第七章选择结构―、讦语句1、格式1:if(条件)语句2、格式2:f(条件)语句1else语句23、格式3:if(条件1)语句1elsef(条件2)语句2elsef(条件3)语句3elsef(条件n)语句n4、格式4:if(条件1)语句1elsef(条件2)语句2elsef(条件3)语句3o。。elsef(条件n)语句nelse语句m备注:1、条件可以是关系表达式,逻辑表达式,甚至是数值表达式2、语句可以是一个简单的语句,也可以是一个复合的语句,还可以是另一个f语句(即f语句的嵌套)3・、整个if语句可以写在多行上,也可以写在一行上,一般为了可读性,提倡写成锯齿形式4、语句1,语句n是if的内嵌语句,是f语句的组成部分,且每个语句的后面都有分号5、语句1,语句n可以是一条独立语句,也可以是一条用花括号括起来的复合语句6、else不能单独使用,必须配合if,而if可以没有else7、当f语句嵌套使用时,要注意讦与else的配对关系:else总是与它前面最近的未配对的f配对。举例:1、if(x>0)y=1;2、if(x>=60){y=1;}else{y=0;}3、if(x>0)y=1;elseif(x=0)y=0;elsey=-1;4、if(x>79)y二"优";else讦(x>69)y二"良";elseif(x>59)y="中";else讦(x>=0)y="差";二、条件表达式格式:条件?表达式1:表达式2备注:1、当条件成立时,返回表达式1,否则返回表达式22、执行顺序是,先判断条件,条件为真,则返回表达式1的值,否则返回表达式2的值3、条件运算符优先于赋值运算符,但比逻辑运算符低举例1、max=a||b?a:b;等价于max=(a||b)?a:b;而不是max=a||(b?a:b;)2、if(a>b)max=a;elsemax=b;等价于max=a>b?a:b;三、switch语句格式:switch(表达式){case常量1:语句1;break;case常量2:语句2;break;。。。case常量n:语句n;break;default:语句n+1;break;〃可以没有}备注: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“);break;10、case后必须是常量,如果case跟变量是错误的举例1、已知学生100分制成绩,输出ABCDE等级分第八章循环结构—、while格式:while(条件)语句说明:1、当条件为真时,执行语句2、先判断条件,后执行语句体3、语句可以是—条语句,也可以用花括号括起来的复合语句4、当条件不成立时,循环结束5、while循环多用在循环次数不可知的情况下举例:1、计算1+2+3+。。。+1002、输出100个*号二、do。。。while格式:do语句while(条件);说明:1、语句可以是—条语句,也可以是用花括号括起来的复合语句2、while(条件);后的分号不能少3、无论条件成立否,语句至少被执行—次4、先执行语句,再判断条件,条件成立,继续循环,条件不成立则循环退出5、该语句适合于先执行—次语句,再判断条件的情况下举例1、1+2+3+。。。1002、打印100个*号三、for循环格式:for(语句1;条件;语句2)语句3语句1:只执行一次,且在整个循环开始前执行,一般用来设置变量初值条件:为真时,执行循环,否则结束语句2:每次循环执行完后,执行该语句,一般用来使循环变量自增语句3:为循环体,可以是独立语句,也可以是用花括号括起来的复合语句说明:1、与for语句等价的while循环为语句1;while(条件){语句3;语句2;}2、语句1,语句2,条件都可以省略,当条件省略时,表示恒为真3、语句1,语句2可以是一般的语句,也可以是逗号表达式4、for循环的执行顺序是,语句1—条件—语句3—语句2—条件—语句3—语句2—条件。。。。。。IlOOOOOO四、循环中的其他语句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⑼=0声明时给部分成员赋初值inta【10】={1,2};赋值后a【0】=1,a【1】=2,a【2】=0,°°°a⑼=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;i<=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】五、字符数组1、定义chara[10];或者chara[10]={‘a',‘b',‘c'};当采用第二种方式赋初值时,a【0】=‘a',a【1】=‘b',a【2】=‘c',其余成员的值被系统自动赋值为空字符(即\0,\0的ascii码是0)六、字符串在c语言中,是将字符串作为字符数组类处理的C语言规定,字符串的结束标志是\0例如字符串“abed”有4个字符,但在数组中占5个字符,前4个是abed,第五个是\0C语言在处理字符串时,碰到\0就认为,字符串结束了,没有碰到\0,不认为结束1、字符串的定义:chars【】=“howareyou”;该字符串共有11个字符,数组的大小为12,第12个字符为\02、字符串的输出charc【】={“Iamastudent”};printf(“%s\n”,c);写成printf(“%s\n”,c【0】);是错的,%s对应的变量必须是字符数组名3、字符串的输入charc【100】;scanf(“%s“,c);碰到回车后,输入结束,并在输入的字符后自动加\0写成scanf(“%s“,&c);是错的,使用字符数组名时,无需再加&七、常用字符串函数1、strepy:字符串复制2、strcmp:字符串比较3、strlen:求字符串的长度4、strlwr:字符串中所有字符转为小写5、strupr:字符串中所有字符转为大写备注:使用以上函数时,需要添加#include第十章函数1、c语言是由函数组成的,程序的执行总是从main函数开始,在main函数中结束整个程序的运行2、从用户角度看,函数可以分为库函数和用户自己定义的函数,如printf等就是库函数,这一章将学习如何自己定义函数一、定义函数格式:返回类型函数名(参数列表){函数体}说明:1、参数列表可以为空2、返回类型也可以没有,没有返回类型,则类型为void例如:intmax(intx,inty){if(x>y)returnx;elsereturny;}二、函数调用1、直接调用,例如max(3,4);2、函数表达式,例如c=2*max(3,4);3、函数参数,例如printf(“%d”,max(3,4));
本文档为【c语言学习笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_072127
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:21
分类:
上传时间:2020-05-18
浏览量:0