全国计算机等级考试二级C语言教程64总复习.ppt_第1页
全国计算机等级考试二级C语言教程64总复习.ppt_第2页
全国计算机等级考试二级C语言教程64总复习.ppt_第3页
全国计算机等级考试二级C语言教程64总复习.ppt_第4页
全国计算机等级考试二级C语言教程64总复习.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言总复习,(64学时)以考试难度为限,一、C语言的数据表示,1.1常量和变量1.2表达式1.3数据类型简单类型、结构类型、指针类型1.4输入、输出,1.1常量和变量,1.常量常量是在程序执行中,值不发生改变的数据。其值预先决定,之后不变。有不同的数据类型。,(1)常数(有的称直接常量、页面常量)例如的:整数:+5、-3、017(八进制)、0 x1f(16进制)实数(浮点数):3.14、-1.2E-3、1E10单个字符:A,占一个字节,转义字符非法77(八进制ASCII码63,?),78非法x3f(十六进制ASCII码63,?)x3g非法字符串:“A”后面有0,占两个字节,E3,2E3.0不合法,不是整型量,占一个字节,(2)符号常量给常量起标识符名字。C语言的符号常量(用宏定义):#definePI3.14159265好处:提高程序易读性;方便修改常量的值;注意:1.一般用大写字母。2,#defineM3不是C语句,后面没有“;”。3.可以做M+1,不能做M+.,(3)地址常量当数组在定义时,其变量名为其首地址,是地址常量。inta10;可以做a+1,不能做a+.,1.1常量和变量,2变量用各种操作来改变值数据。从“名”和“值”两个角度认识变量,(1)变量名每个变量,要在使用前定义变量的名字,遵循标识符命名规则。只能用字母、数字和下划线组成。不能以数字开头。不能用保留字(int,printf,main.)。,变量定义就是申请数据的存储空间,登记数据的各种存储特性。例如:intm;2个字节-215215-1(-3276832767)longn;4个字节-231231-1charch;1个字节0255floatx;4个字节3.4(10-381038)doubley;8个字节1.7(10-30810308)可以用sizeof获得字长sizeof(char)=1sizeof(int)=2sizeof(double)=8,(2)变量的值变量值就是由变量名所指定空间上的存储数据内容。即变量的当前值。数据内容用语言的操作语句来改变。赋值语句;键盘输入语句;charchx;intm;/*变量的定义*/chx=A;m=12*3;/*赋值语句*/scanf(“%d”,/*键盘输入语句*/在程序运行时,将数据存入制定内存空间。,变量初始化:定义变量时同时确定变量初值。例如:charchy=a;intweight=2;,1.2C语言的表达式,1、算术表达式2、关系表达式3、逻辑表达式4、赋值表达式5、逗号表达式6、条件表达式7、其他表达式,C语言的表达式:使用规定的运算符,将常量、变量、函数(调用)连结的一个有意义的式子。,1、算术表达式,用算术运算符来表示对数据的算术运算求值过程。算术运算符:+-*/%2/3结果是0,2%3结果是2,注意不同类型运算问题:,2、关系表达式,关系运算符:=0,sin(x)=0.5,(a+b)=(c*d)注意语法合理与数学逻辑错误问题:分析:10=a=15a=9是假,10=a=15,10=a假0,0=15真,所以要写成10=a,n*=m+2相当于n=n*(m+2)k=i+;先k=i,再i=i+1k=+i;先i=i+1,再k=i,c赋值给b,b=2b赋值给a,a=2,5、条件表达式e1?e2:e3若e1为真,表达式的值为e2,否则为e3.(-a=b+)?-a:b+,5-1=4Ta=4,-aa=3表达式的值为3,a=5,b=4,4-1=5Fb=6,b+b=7表达式的值为6,a=4,b=5,条件表达式的值的类型为e2,e3二者中类型较高者。如果y=5;y3?-1.0:2其值为2.0,6、逗号表达式表达式的值等于最后一个表达式的值,运算等级最低!a=5,b=2,c=3a=7+b+c,a+a=(7+b+c,a+),a=12,a=5,7、强制类型转换表达式(单目)intm;sqrt(float)m);,并没有改变m的类型和数值,理解记忆运算符表,右结合单目运算符赋值运算符,1.3数据类型,数据类型:在高级语言的数据表示机制中,数据类型(datatyPe)是个核心概念。,简单类型,构造类型,指针类型,整型,实型,字符型,数组,结构体,共用体,数值型,枚举型,空类型,1.3数据类型,(1)整型(输入、输出格式“%d”)类型名字节数数值范围int2-3276832767short2-3276832767long4-21474836482147483647还有无符号整型(输入、输出格式“%u”)Unsignedint2065535Unsignedshort2065535Unsignedlong404294967295,1.简单类型,(2)实型实型(float)数据的值集是实数集的一个有限子集.-3.4e38,-3.4e-39,3.4E-38,3.4E38,1.简单类型,类型名字节数输入、输出格式有效数字位float4%f7doubule8%lf16longdoubule16%lf19,不要以为是长整型,E38非法,(3)字符型(输入、输出格式“%c”)ASCII码,一个字符占1字节;charca;ca=#;注意转义字符的使用。,(4)字符串(输入、输出格式“%s”)所谓“字符串”是指若干有效字符的序列。语言字符串可以包括字母、数字、专用字符、转义字符等。字符串常量:使用双引号ChinaBASICa+b=cLi-Li39.4%dn解放军“字符型的一维数组(相当于字符串变量)charst8,str10;strcpy(st,12345);strcpy(str,st);不能st=“12345”;str=st;,2.结构类型“结构”一般可以称为数据元素,在不同的结构类型中,数据元素会有特定的名称。结构类型的数据由更加基本的成分组成。这些成分称为“数据项”,结构的子成员。,1.3数据类型,(1)数组A0A1A2A3A4A5A6A71020304050607080一个数组(array)是由相同类型的若干数组元素构成的有限序列。C语言的数定义:intB8,A8;charC10;,2.结构类型,例日期类型的定义,(2)结构体,C语言中实现:structDateintmonth;/*月*/intday;/*日*/intyear;/*年*/;structDatemyd=12,16,1978;系统分配给它的内存是各成员所需内存量的总和。本例是6.,(1)指针:变量名的在内存中的存储地址。(2)指针变量inti=12,*p;P=把存放变量i的地址的变量p称作指针变量。指针变量的存放内容是数据的地址。,3.指针类型,(3)指针引用变量指针变量可以指向各种不同的数据类型,因此指针变量也要有不同的指针类型。如:intm,*p;floatx,*q;inta,*rm=12;p=,注意:是否用printf(“n%d,%d,%d”,n,+n,n+);计算从右到左,输出从左到右。,%s是输出以指定首地址到第一个0或空格之间的字符串。chara=“abcdefg”,*p=a;printf(“%s”,*+p);,bcd,5,5,3,1.4输入、输出,输入:scanf(“.”,.)%d,%ld对应intlong%c,%s对应charcharstr%f,%lf对应flaotdouble,常见错误inta,b;chard,e20;scanf(%d,%fn”,(1)表达式语句(2)流程控制语句(3)复合语句,C语言语句,指令语句非指令语句,数据定义语句floatx;intm;编译预处理宏定义#definePI3.14159文件包含处理#include,二、C语言的程序结构与相关语句,表达式语句,1.表达式语句的组成:由一个表达式后接一个分号组成的。i=i+1(是表达式,没有构成语句)i=i+1;(是语句)x+y;(是合法语句,但没有实际意义)表达式语句的分类:赋值语句:i=1;c=getchar();函数调用语句:printf(nHello,world!);空语句。其形式为:;逗号表达式语句:+a,-b;,完成一定的控制功能。9种控制语句:判断语句条件判断语句if()else多分支选择语句switch()case循环语句循环次数控制语句for()先判断后执行循环控制语句while()先执行后判断循环控制语句dowhile()转移控制语句直接转移语句goto终止语句break(用在循环结构、swicth)跳转语句continue(仅用在循环结构)返回语句return,流程控制语句,复合语句,一组语句括在一对花括号之中,称复合语句。c=getchar();putchar(c);注意,一个复合语句的后花括号之后不应再写分号。在语法上是一个整体,相当于一个语句。凡是能够使用简单语句的地方,都可以使用复合语句。一个复合语句中又可以包含另一个或多个复合语句。,二、C语言的程序结构与相关语句,程序的三种基本结构:顺序结构选择结构if()elseswitch()case循环结构for().;while();do;while(),选择结构,单分支结构if(a=b)printf(“yes”);双分支结构if(a=b)printf(“yes”);elseprintf(“no”);多分支结构switch_case,多分支选择语句,switch(表达式)case常量表达式1:语句序列1;break;case常量表达式2:语句序列2;break;case常量表达式n:语句序列n;break;default:语句序列n+1;,根据“表达式”的值从上至下去寻找与表达式的值相匹配的“case常量表达式”,执行一个分支后,再执行下一个分支,直到break结束,然后执行switch结构后面的程序。找不到匹配的入口标号时,执行“语句序列n+1”,然后结束。顺序向下执行程序。,main()inta=1,b=1;switch(a)case1:switch(b)case0:printf(“$”);break;case1:printf(“#”);break;case2:printf(“*”);case2:printf(“”);case3:printf(“”);break;case4:printf(“,a=1case1:swtch(1)b=1printf#,break跳出switch(b)结构进入switch(a)结构case2:printfcase2:printfbreak跳出switch(a)结构,#,for,while,do-while三种结构,循环变量初始化,继续循环条件,改变循环变量是不可缺少的三个环节。for常用于循环次数已知的问题中。括号中的两个“;”不可省。while与do-while常用于循环次数未知的问题中。,注意,在for和while语句之后一般没有分号有分号表示循环体就是分号之前的内容(空循环体)while(i0;-x)y*=x;printf(“%ld”,y);,main()intm,n;longcmn,facto();scanf(%d%d,求C(m,n)=m!/(n!*(m-n)!),数组的定义类型标识符数组名常量表达式,错误的定义是:或intn;intn=10;scanf(%d,定义inta5时,a0,a1.=?,随机数!,只有inta5=3后,后面几项自动赋0,三数组,数组的初始化,合法:inta=1,2,3,4,5;inti3=1,2,3,4,5,6;inta5=1,2,3;chara4=“boy”chara3=b,o,y,不合法:inta5=,2,4,5;inti2=1,2,3,4,5,6;inta5=;chara4=boy,分别用三种方法(数组元素下标法、数组名地址法、指针变量法)访问数组元素。,#includevoidmain()inta5=1,3,5,7,9,i,*p;for(i=0;i5;i+)printf(%d,ai);/*下标法*/printf(n);for(i=0;i5;i+)printf(%d,*(a+i);/*地址法*/printf(n);for(p=a;pa+5;p+)printf(%d,*p);/*指针变量*/,数组的操作往往用循环结构.,数值数组#defineM10intaM;for(i=0;iM;i+),字符数组#defineM10charaM;for(i=0;ai!=0;i+),数值数组倒序#defineM10main()inti,j,aM;for(i=0;iM;i+)scanf(“%d”,ai);for(i=0,j=M;ij;i+,i-)交换ai,aj,字符数组倒序main()inti,j;chara50;gets(a);for(i=0,j=strlen(a);ij;i+,i-)交换ai,aj,用函数实现倒序,数值数组voidinv(intx,intn);#defineM10main()inti,j,aM;for(i=0;iM;i+)scanf(“%d”,ai);inv(a,M);for(i=0;iM;i+)printf(“%d”,ai);,字符数组voidinv(charx)main()inti,j;chara50;gets(a);inv(a);puts(a);,多一个参数,表示元素个数,可以整体输入,输出,必须单个输入,输出,数值数组voidinv(intx,intm)inti,j,k;j=m;for(i=0;ij;i+,i-)k=xi;xi=xj;xj=k;,字符数组voidinv(intx)inti,j,k;j=strlen(x);for(i=0;ij;i+,i-)k=xi;xi=xj;xj=k;,main()inti,j,s=0,a33;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,主对角线i=j副对角线i+j=2,累加(积),#defineM10main()inti,aM,s=0;for(i=0;iM;i+)scanf(“%d”,#defineM10main()inti,aM,s=1;for(i=0;iM;i+)scanf(“%d”,求最大(小)值,#defineM30main()inti,k,k_i,aM;for(i=0;i0,s1s2,strcmp(s1,s2)0,一函数定义的形式:,存储类型数据类型函数名(形式参数表)变量数据定义语句序列;可执行语句序列;,intfun(intx,inty)intz;z=x+y;returnz;,函数体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论