ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:28.65KB ,
资源ID:1956329      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1956329.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(期末复习C语言知识点归纳.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

期末复习C语言知识点归纳.docx

1、期末复习C语言知识点归纳期末复习C语言知识点归纳一、概述1.一个C语言源程序可以由一个或多个函数组成,有且只有1个main()函数,可以放在程序中的任何位置.2.一个C程序不论有几个函数,都是从main()函数开始执行.3.标识符按照C语言所定义的规则来命名的符号。规则: 由字母、数字、下划线组成,但第一个字符必须是字母或下划线。例如: area、a234、_1234为合法标识符 456P、a-b、a+b为非法标识符注意: 标识符区分大小写。例如: PAGE和page是两个不同的标识符。4.c语言有32个关键字,关键字不能用作用户标识符。5. C源程序文件的扩展名.c。6.VC+6.0下c语言

2、程序的完整实现过程包括4个基本步骤:编辑源程序编译源程序构建(链接)形成可执行文件(.exe)运行可执行文件.二、数据类型、表达式1.c语言中,整型、字符型、实型是最基本的数据类型.2.常量指在程序运行中,其值不能被改变。分为整型常量、实型常量、字符常量、字符串常量。整型常量C语言中主要有十进制、八进制、十六进制等。十进制 例如 12、-3、32767等。八进制 用数字0开头,由0-7这8个数字组成。 例如 010、016为合法八进制数 127、018为非法八进制数十六进制 用数字0和字母x或X开头,用0-9表示前10个数字,字母A-F(可小写)表示后6个数字。 例如 0xAF、0x10、0x

3、34为合法十六进制数 100、ABC、0xAFH为非法十六进制数注意: C语言中只有十进制数可以为负数。实型常量表示方式有两种: 小数形式和指数形式。小数形式 例如: 0.123、.123、123. 都是合法形式。指数形式 例如: 2.3026可用以下任何一种指数表示 0.23026E1、2.3026e0、23.026E-1但下面的指数形式为非法 E3、.5e3.6、2.3e -2(e和-2间有空格)符号常量用符号名来表示一个常量。格式: #define 符号名 常量值例: 已知圆的半径为5.0,计算圆的面积(圆周率取3.14)。#include #define PI 3.14main() d

4、ouble r, s;r=5.0;s=PI*r*r; printf(“s=%fn”,s);C语言中整型常量的3种表示:8进制以0引导,16进制以0x或0X引导,十进制不能以0开头.实型(float或double型)常量在程序中只能用十进制数,不能用其他进制表示。2种表示形式,普通的和指数形式,如3e5或者3E5, 三者不可省略任何一部分.一个字符常量占一个字节存储空间.用单引号限定,如:A0x41 (为转义字符,表示以十六进制数41为ASCII码值的字符,即A的转义字符形式).0 ( 表示空字符,在字符串中用作字符串的结束标志)11.字符串常量用英文双引号括起来.如:”hellon”字符串中的

5、字符个数称为字符串的长度.空字符串长度为0.字符串存储中每个字符占一个字节,字符串结尾自动加一个结束标志符0,所以字符串存储的时候,占用的空间长度要比串的实际长度多1.如: char ch =“Hello”; 实际串的长度为5,但数组空间长度为6。变量指在程序运行过程中其值可以改变的量。变量的命名必须符合标识符的命名规则,且不能和C语言中关键字同名。(例如: main是关键字)例如: a、b、ab为合法变量 define、printf为非法变量注意: ab是一个整体,含义不同于a乘以b。有符号整型变量用英文singned表示,存储时最高一位是符号位,无符号整型变量用英文unsigned表示.字

6、符型变量的数据类型标识符是符号char,每个字符型变量只能存储一个字符.例如: A、c、5都是合法的字符常量。 ”A”、abc都是非法的字符常量。常见的转义字符:n 回车换行 反斜杠 单引号 ”双引号ddd 三位八进制 xhh 二位十六进制0 空值例1: n表示回车换行 表示一个单引号例2: 101表示字符A x41表示字符A字符变量用关键字char定义,可以同时赋初值。例1 定义两个字符变量ch1和ch2。 char ch1,ch2;例2 定义两个字符变量a和b,初值分别为1和2。char a=1, b=2;getchar函数和putchar函数分别用来输入字符和输出字符。字符的输入和输出使

7、用scanf和printf时,格式符均为%c。例1 从键盘上输入一个字符保存在ch中。 char ch;ch=getchar();例2 char c1=A, c2;c2=c1+1; putchar(c2);输出结果是B。例3 输出一个回车换行符。 putchar(n);例: 从键盘上输入一串字符,最后以!为结束标志。分别 统计大写字母,小写字母、数字出现的次数。#includemain()char ch;int n1=0,n2=0,n3=0;printf(“请输入一串字符以!结束:n”); ch=getchar();while(ch!=!) if(ch=A & ch=a & ch=0 & ch

8、,=,=的优先级相同且高于=,!=的优先级.关系运算符的优先级低于算术运算符高于赋值运算符.关系运算符是左结合性.关系表达式的值为真则是1,假为0.逻辑运算符!高于&,和|,高于算术运算符.&和|是左结合的,!是右结合的.注意&及|运算的短路现象。& 的短路运算:(表达式1)& (表达式2),若(表达式1)的值为0,则表达式2将不被计算,整个&的结果为0。| 的短路运算:(表达式1)| (表达式2),若(表达式1)的值为1,则表达式2将不被计算,整个|的结果为1。数学关系式0x10在C语言中的表达:(0x) & (x10) 或0x&x10赋值表达式格式: 变量名=表达式例如: a=10 a=a

9、+1 a=b=7+1为合法表达式a+b=8 a=7+1=b为非法表达式整个表达式的值等于最左边变量的值。例如: a=b=c=8*8 整个表达式最后的值为64复合赋值表达式复合运算符: +=、-=、*=、/=、%=例如: n=n+1表达式可写成n+=1 n=n%3表达式可写成n%=3 n*=m+3表达式可写成n=n*(m+3)例1 假设变量a初值为9,计算下列表达式。 a+=a-=a+a解答:1)计算a+a,结果为18,a值未变。2)计算a-=18,即a=a-18,结果为-9,a值变为-9。3)计算a+=-9,即a=a+(-9),结果为-18,a值变为-18。整个表达式最后结果为-18,a最后值

10、为-18。注意: a=a+1为赋值表达式,而a=a+1; 为赋值语句。自加和自减运算符自加和自减只适用于整型变量.例如: a+和+a等价于a=a+1 b-和-b等价于b=b-1a+和+a的区别:假设a的初值为5表达式a+值为5,最后a值为6。表达式+a值为6,最后a值为6。逗号表达式格式: 表达式1,表达式2,.,表达式n从左至右依次计算每个表达式,最后一个表达式的值即为整个逗号表达式的值。例如: 表达式i=3,+i,i+5最后结果为9,i最后值为4。条件运算由?和:构成,它是根据条件从两个表达式中选择一个进行计算取值的操作,优先级高于赋值运算符,低于算术运算和关系运算.三、输入输出函数数据输

11、出 printf格式: printf(格式符,输出项1,输出项2,.)格式符 功能 %c 输出一个字符 %d 输出十进制整数 %f 输出小数形式浮点数%e 输出指数形式浮点数 %s 输出一个字符串数据宽度说明:1)在%和格式字符之间插入一个整数来指定输出宽度。例如: %4d、%5c2)对于float和double类型的实数,可以用n1.n2形式n1指定输出数据的宽度(包括小数点),n2指定小数点后小数的位数。例如: %12.3f、%12.0f例1 输出整型变量a和b的值,数据宽度均为4。printf(“%4d%4d”,a,b);例2 输出单精度变量k的值,保留2位小数。 printf(“%.2

12、f”,k);数据输入 scanf格式: scanf(格式符,输入项1,输入项2,)格式符 功能%c 输入一个字符%d 输入十进制整数%f 输入单精度数%lf 输入双精度数%s 输入一个字符串例1 从键盘上输入两个整数,保存在变量a和b中。 scanf(“%d%d”,&a,&b);例2 从键盘上输入一个双精度数,保存在变量data中。 scanf(“%lf”,&data);此处两例中&是C语言运算符,表示取变量地址。复合语句格式: 语句1 语句2 . 语句n例1 用复合语句将变量a,b,c依次赋值为最小素数。 a=2; b=3; c=5;例2 用复合语句实现变量a和b的值的交换。k=a; a=b

13、; b=k;不带参数的宏#definePI3.14159意思是用符号常量PI(宏名)代替3.14159(宏体),注意:宏定义不是c语句,后面不加分号.带参数的宏.#definem(x)x*x*x*x意思是m(x)代替x的4次方,x不用定义,可以在使用中换成需要的字母.带参数的宏的展开,如:#definem(x)x*x*x*xprintf(%d, m(1+1);m(1+1)的宏展开式为: 1+1*1+1*1+1*1+1 计算结果为5再如:#definem(x) (x)*(x)*(x)*(x)printf(%d, m(1+1);m(1+1)的宏展开式为: (1+1)*(1+1)*(1+1)*(1+

14、1) 计算结果为16include命令是编译预处理的文件包含命令,形式为了#include或者#include文件名,调用标准函数中的输入输出函数,#include stdio.h,如果调用数学函数(如 sqrt函数、fabs函数等),则应加上#include math.h 或者#include 四、分支结构关系运算符、=、=6 aA 5结果均为真,值为1例2 6!=6 D=d 9F 结果均为假,值为0逻辑运算符&(与) |(或) !(非)优先级: 非运算与运算或运算非运算规则操作数 结果真 假假 真与运算规则操作数1 操作数2 结果真 真 真真 假 假假 真 假假 假 假或运算规则操作数1

15、操作数2 结果真 真 真真 假 真假 真 真假 假 假例1 若变量a值为10,变量b值为16,计算表达式。 ab | asqrt(b) & b=16 最后结果为真,表达式的值为1if语句的一般形式:单分支结构:if(表达式)语句若表达式为真,则执行语句;否则if语句结束。二选一结构:if(表达式)语句组1else语句组2表达式的值非0才执行语句组1,否则执行语句组2.例1从键盘上输入两个整数,输出较大的数。#include main() int x,y; printf(“请输入两个整数:n”);scanf(“%d%d”,&x,&y);if (xy)printf(“%d”,x);elseprin

16、tf(“%d”,y);条件运算符格式: 表达式1? 表达式2: 表达式3若表达式1为真,结果为表达式2;否则为表达式3。例如: x的初值为5,执行以下语句 y=+x6?100:200; 最后y的值为200if语句可嵌套,在花括号里继续使用.多选一结构:if(表达式1)语句组1elseif(表达式2)语句组2elseif(表达式3)语句组3else语句组n例1 根据输入的学生成绩,大于或等于90分为A,60分以下等级为E,其余每10分一个等级。#include main() int g;printf(“请输入一个整数:n”);scanf(“%d”,&g); if (g=90) printf(“A

17、n”); else if(g=80) printf(“Bn”); else if(g=70) printf(“Cn”); else if(g=60) printf(“Dn”); else printf(“En”);switch(表达式)/ switch表达式通常为整型或字符型值case常量1:语句组1 /case后面必须是常量case常量2:语句组2.default:语句组/也可省略该语句可以使用中break来中止后面语句的执行.switch表达式通常为整型或字符型值,case中的常量类型与之对应,case后面的表达式可以是常量或常量表达式,不能为变量表达式.switch语句格式: switc

18、h(表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式n-1: 语句n-1 default: 语句n若表达式的值与表达式1相等,则执行语句1;若与表达式2相等,则执行语句2若均不相等则执行语句n。例1 用switch语句重写学生等级程序。#include main() int g;printf(“请输入一个整数:n”); scanf(“%d”,&g); switch(g/10) case 10: printf(“An”); break; case 9: printf(“An”); break;case 8: printf(“Bn”); break

19、; case 7: printf(“Cn”); break; case 6: printf(“Dn”); break;default: printf(“En”);程序中break表示跳过后面的分支。五、循环结构while循环格式: while(表达式) 循环体若表达式为真,则执行循环体。再判断表达式,若仍为真则重复执行循环体直到表达式为假时循环结束。例1 编程计算S=1+2+100。#includemain()intk=1,s=0; while (k=100) s=s+k; k=k+1; printf(“%d”,s);do-while循环格式: do 循环体 while(表达式);先执行循环体

20、,然后判断表达式。若为真则重复执行循环体直到表达式为假时循环结束。例1 用do-while循环计算10!#includemain()int k=1;long s=1;dos=s*k; k+; while (k=10);printf(“%ld”,s);注意:while循环和do-while循环的区别while循环是先判断表达式,因此循环体有可能一次也不执行。do-while循环是先执行一次循环体,再判断表达式,所以不论表达式为真为假,循环体至少要执行一次。for循环格式:for(表达式1;表达式2;表达式3) 循环体先执行表达式1,然后判断表达式2,若为真则执行循环体。然后执行表达式3,再判断表

21、达式2,若仍为真则重复执行循环体直到表达式2为假时结束。例1 用for循环计算S=1+2+100。#includemain()int k,sum=0; for(k=1;k=100;k+)sum=sum+k; printf(“%d”,sum);例2 若一个三位数个位、十位、百位的立方和等于它本身则称这个数为水仙花数。例如153是一个水仙花数。编程输出所有的水仙花数。#includemain()int a,b,c,i; for(i=100;i=999;i+) a=i/100; b=i%100/10; c=i%10; if(a*a*a+b*b*b+c*c*c=i) printf(%dn,i);bre

22、ak语句适用的场合是switch语句中,及循环语句中。用在循环体内表示强行退出循环。例1 计算S=1+2+3+n,直到累加和大于5000为止。#include main() int i,s=0;for(i=1; ;i+) s=s+i;if(s5000)break;printf(“%d”,s);注意: 当有多重循环时,break只能退出最内层循环。continue语句用在循环体中用来跳过本次循环余下的语句,立即开始下一轮循环,整个循环并未结束。例1 写出下列程序运行结果。int i, k=0, s=0;for(i=1;i5) printf(“i=%d,s=%d,k=%dn”,i,s,k);con

23、tinue;k=k+s;printf(“i=%d,s=%d,k=%dn”,i,s,k);运行结果:i=1,s=1,k=1i=2,s=3,k=4i=3,s=6,k=4i=4,s=10,k=4i=5,s=15,k=4六、数组数组是包含多项相同类型数据的一种数据结构,它使用同一个名字命名,再用下标进行分量标识.数组元素的下标从0开始,数组长度为n时,最末元素的下标是n-1.定义一维数组格式: 类型名数组名元素个数例1 定义一个包含4个整数的数组a int a4;例2 定义一个包含3个双精度数的数组b double b3;注意: C语言中数组的下界从0开始计数。例如: a4的4个元素分别为a0、a1、

24、a2、a3数组有一维数组,二维数组,和多维数组.数组中的每一个分量称为一个数组元素。一维数组定义格式数据类型数组名数组长度; /数组长度指数组中可以存放的数据元素的个数,用整数常量表示,也可用代表一个正整数的符号常量表示例如:intarray10;C语言规定只能逐个使用数组元素,而不能一次使用整个数组。数值型一维数组的初始化,用一对大括号将数组的初值括起来。例如:inta6=10,20,30,40,50,60;注意:C语言中,不允许初值个数多于数组定义的长度。inta=10,20,30,40,50,60;给初值的情况下,数组的长度可省略,系统以初值的个数作为数组的长度。对部分元素的初始化,例如

25、:inta6=10,20,30是对前3个元素的赋值.例1 int a3=1, 2, 3;此例中a0值为1、a1值为2、a2值为3例2 int a5=0;此例中数组a的全部元素值均为0例3 int a3=1, 2, 3, 4;此例中由于初值个数多于数组元素个数,所以非法。例4 int a =0, 0, 0, 0;此例中省略数组元素个数,初值为4个0等价于int a4=0;注意: 数组名是一个常量值,不能对它赋值。例如: int a3; a=5; 此语句非法,应改为a0=5;一维数组应用例1 从键盘上输入10个整数,输出最大数和最小数。#includemain()int a10,i,max,min; printf(请输入10个整数:n);for(i=0;i=9;i+)scanf(%d,&ai);max=a0;min=a0;for(i=1;imax) max=ai;if(aimin) min=ai; printf(最大数是%dn,max); printf(最小数是%dn,min);例2 斐波数列的定义如下: 1、1、2、3、5、8、13、编程输出斐波数列的第

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2