c语言课本知识总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章程序设计基本概念重点:◆C程序的结构特点◆上机步骤◆算法的特性◆程序设计的基本结构考点:算法的特性三种基本结构程序结构的特点(着重是函数和语句)1.程序的结构特点:函数:1)程序是由一个或多个函数组成的。函数是程序的基本单位。2)一个程序里面有且只能有一个主函数。程序执行从主函数开始在主函数中结束,其它函数通过嵌套调用得到执行。语句:程序又是由语句组成的。语句是程序的最小单位。注释:注释不能嵌套,开头是/*,结尾*/,*和/之间不能有空格。2.上机步骤:编缉-----编译-------链接------执行.c.obj.exe3.算法的五个特性:1)有穷性2)可行性3)确定性4)有零个或多个输入5)有一个或多个输出4.三种基本结构:1)顺序结构2)判断选择结构3)循环结构第二章c程序设计的初步知识重点:标识符的应用常量变量的表示形式和类型自增自减的运算和表达式赋值运算符、逗号运算符和表达式强制类型转换和隐式转换考点:用户表示符常量和变量的表示形式自增自减运算符和表达式算术运算符和表达式1)标识符只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线。注:1、用户标识符不能使用关键字,如:int等。define、include、printf等是预定义标识符不是关键字可作为用户标识符。2、区分大小写,if是关键字但大写后的If就不再是了。2)常量p9定义:程序运行时其值不能改变的量(即常数)1、符号常量:用标识符代表常量p9定义格式:#define符号常量常量#defined2inta=2;doubleb=2;charc=2;a++;b++;c++;d++;2、整形常量p10①三中表示形式:十进制、八进制、十六进制注:八进制数由数字0开头,后跟数字0~7表示,不能出现8和9。十六进制整数:由0x开头,后跟0~9,a~f(A~F)表示.只有十进制数可以是负数、小数,而八进制和十六进制数只能是正整数!不能是负数也不能是小数。②类型:p11(int、short、long、unsigned)基本整型、长整型占四个字节,短整型占两个字节默认为有符号基本整型,在整常量后加字母l或L,认为它是longint型常量在c语言中,合法的长整型常数是(A)A)0LB)4962710C)0.054838743D)2.1869e103、实型常量p13表示形式:小数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:12.34=1.234×101=123.4×10-1在c语言中可表示为1.234e1或123.4e-1(e或E)e前e后必须有数字,且e后(指数)必须为整数如12.3e3,123E2,1.23e4,e-5,1.2E-3.53)变量:程序中所有的变量都必须先定义后使用变量定义位置:一般放在函数开头(定义部分)变量初始化:定义的同时给变量赋值(赋初值)例:intx=1,y=1,z=1;(√)intx=y=z=1;(×)intx,y,z;x=y=z=1;(√)整型变量:short、int、long、unsigned占字节数随机器不同而不同,一般开辟四个字节整型变量只能存放整型数值例inta=5.5;此时a只能得到5(没语法错误,精度损失)实型变量float:占4字节,提供7位有效数字double:占8字节,提供15~16位有效数字实型变量只能存放实型数值例floata=5;(√)a接收5以后,自动按5.0实数形式存放字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算大写转小写:ch-‘A’+’a’或ch+32小写转大写:ch-‘a’+’A’或ch-324)算术运算符p14“/”两整数相除,结果为整数,有一方是实数形式,结果保留小数“%”求余运算符要求两侧均为整型数据,数值取余,符号与被除数一致例:floati=3;floata=5;intb=5;i%3=a/2=2.5b/2=2b/2.0=2.5例:-5%2=-11%-10=15%1=0-3%-10=-35)运算转换规则:不同类型数据运算时先自动转换成同一类型6)强制类型转换形式:(类型名)(表达式)括号必须括住类型名注:本身类型不变,只是得到个中间值例:x=1.1;y=2.2;则int(x+y)=3(int)x+y=3.2(double)(3/2)=1.0例:x=5.2;y=(int)x/2;x=5.2y=27)赋值表达式p16必须赋给变量“=”左边不可以是常量或表达式++,--也是赋值运算(不能对常量或表达式进行自增自减)例:-a=1.3(-x)++b=-c=3错a=1a+=a-=a+a则a=-2自右向左运算赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型(以接收方为主)p18例:inti;i=2.2;则i只能得到2floata;a=6;则自动转换为6.0存放8)自增、自减运算符p18(注:一定要看书!)++i前置先使i增1再参与运算i++后置先参与运算再使i增1(i在前就先用i++在前就先加)++--不能用于常量和表达式,如5++,(a+b)++,(-i)++++--结合方向:自右向左a=3;b=5;c=(++a)*b;c=20,a=4a=3;b=5;c=(a++)*b;c=15,a=4a=3b=-a--b=-3a=29)逗号运算符表达式1,表达式2,……,表达式n逗号表达式的值:等于表达式n的值自左向右依次进行运算优先级最低与赋值号混合运算时,没括号的情况下先赋值,再逗号例:a=(b=3,++b),a+ba=4b=4表达式值为:8a=b=3,++b,a+ba=3b=4表达式值为:7第三章顺序结构重点:printf和scanf函数的格式输出和输入%d、%md和%c的用法考点:输入输出的格式应用指定宽度的输入和输出注意字符的输入和输出1)赋值语句2)#includestdio.h预处理命令格式:printf(“格式控制串”,输出项表)3)指定宽度4)两个%输出:5)scanf函数的几个知识点scanf(“a=%d,b=%f”,&a,&b);指定输入数据宽度非法输入抑制符“*”1)赋值语句赋值表达式+分号构成语句一定要有分号表达式一定没分号2)#includestdio.h预处理命令(提前告诉系统要调用stdio.h文件里的函数)格式:printf(“格式控制串”,输出项表)输出项必须要有格式控制符控制着才可输出p27例:a=1;b=2;c=3;若printf(“%d,%d”,a,b,c);则只能输出1,2c的值无法输出若printf(“%d,%d,%d”,a,b);则输出1,2,2367460(乱码)双引号中除了格式控制符,其他字符全部原样输出格式控制符控制着后面对应的输出项按指定格式输出例:a=1,b=2;printf(“b=%d,a=%d”,a,b);输出结果:b=1,a=23)指定宽度printf(“%6.4f”,1234.56789);输出结果为:1234.5679先满足小数位数(四舍五入)整数位全输出若整数位数+小数位数+1(小数点)大于要求输出的总位数则自动突破若小于则左补空格4)两个%输出一个%a=3;printf(“%%d”,a);输出结果为:%d5)scanf函数的几个知识点格式:scanf(“格式控制串”,输入项列)特点:“格式控制串”中与printf的“原样输出”对应的有个“原样输入”双引号内除格式控制符,间隔符外,其他字符要按原样输入要输入double型数据,格式控制必须用%lf(或%le)输入分隔符的指定:例:想要给a,b,c分别赋值1,2,3inta,b,c;scanf(“%d%d%d”,&a,&b,&c);不可以直接输入123中间应用分隔符隔开如:123例:要给a输入1,给b输入1.5。scanf(“a=%d,b=%f”,&a,&b);可输入a=1,b=1.5若想输入空格、回车或TAB键这样的分隔符,可在“%d”和“%f”前加这些字符如:a=1,b=1.5(此处为加空格的形式,个数不限,也可加回车,tab)指定输入数据宽度可加一个正整数指定输入数据所占的宽度,系统自动按它截取所需数据。例:inta;floatb;charc[10];scanf(“%2d%3f%4s”,&a,&b,c);输入:123.4abcd时a得到12b得到3.4c得到abcd注:1、不可以对实数指定小数位的宽度。2、当宽度与分隔符同时存在时,优先考虑分隔符,分隔符代表一个数据的结束,也就是说首先要满足在一个数据的情况下,再看宽度大小。例:1、scanf(“%7.2f”,&a);不合法,不能企图用这样的scanf函数并输入1234567而使a的值为12345.672、inta,b,c;scanf(“%3d%3d%3d”,&a,&b,&c);若输入123456789则a=123b=456c=789若输入123456789则a=123b=4c=56若输入123456789则a=12b=3c=456输入数据时,遇以下情况认为该数据结束:1、遇空格、TAB、或回车2、遇宽度结束3、遇非法输入例:scanf(“%d%c%f”,&a,&b,&c);若输入1234a123o.26(把1230.26错打成123o.26认为此数据遇到字母o结束)a=1234b=ac=123抑制符“*”,指定输入项读入后不赋给变量例:scanf(“%2d%*3d%2d”,&a,&b);输入1234567则12a,67b第四章选择结构重点:关系运算符逻辑运算符if结构和switch结构考点:“=”和“==”逻辑运算符短路特性if与else的配对原则switch执行过程1、关系运算符2、逻辑运算符3、if(x)if(!x)4、if~else配对原则5、条件运算符6、switch语句1、关系运算符a=1,b=2,c=3m=abc;2、逻辑运算符的短路特征例a=1;b=2;c=3;d=4;m=1;n=1;(m=ab)&&(n=cd)例a=1;b=1;c=a++||b--;a=2b=13、if(x)if(x!=0)if(!x)if(x==0)4、if~else配对原则:缺省{}时,else总是和它上面离它最近的未配对的if配对例:inta=1,b=2,c=3,m=0,n=0;if(a==b)if(b==c)m++;elsen++;5、条件运算符ab?a:cd?c:dab?a:(cd?c:d)xy?1:1.5当xy,值为1.0;xy,值为1.56、switch语句执行过程1)当执行switch语句时,首先计算紧跟其后一对括号中表达式的值,然后寻找与该值温吻合的case标号。2)如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束。3)如果没有与该值相等的标号,并且存在default标号,则从defautl标号后的语句开始执行,直到switch语句体结束。4)如果没有与该值相等的标号,同时又没有default标号,则跳过switch语句体,去执行switch语句之后的语句。第五章循环结构重点:三种循环语句的应用循环语句的嵌套break和continue★考点:循环语句嵌套执行过程break和continue的异同点1、break语句跳出一层break只能终止并跳出最近一层的结构break只能用于循环语句和switch语句2、continue语句跳出一次只能用于循环语句例:输出a数组中的某些值main(){inti,s=0;for(i=1;i=5;i++){if(i%2==0)break;/*若换成continue*/s=s+i;}printf(“i=%d,s=%d”,i,s);}为break时:i=2,s=1为continue时:i=6,s=9第六章字符型数据重点:字符常量的表示形式getchar和putchar的应用考点:转义字符1、‘A’-------‘\101’(‘\0101’)-------‘\x41’---

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功