C语言程序设计基础知识期末复习

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

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

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

资源描述

C语言程序设计基础知识期末复习一、C语言与算法1.程序:一组计算机能识别和执行的指令。2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。3.C语言程序的结构特点:(1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义(2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。(3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作)(4).程序总是从main函数开始执行(5).C程序对计算机的操作由C语句完成(6.)数据声明和语句最后必须有分号(7.)C语言本身不提供输入输出语句(8.)程序应当包含注释,增加可读性4、算法(1)算法+数据结构=程序(2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构(3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。流程线不要忘记画箭头,否则难以判定各框的执行次序。算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。二、顺序结构设计5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定:(1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线(2)长度:在TC中最多允许32个字符,建议不要超过8个如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。(3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。programto__tofile_2ab1_c3为合法标识符非法字符举例:yes?(含有不合法字符“?”)123(第一个字符不能为数字)goto(标识符中不允许有空格)a_80%(出现非法字符“%”)if与关键字相同)6、常量与变量注意:以下变量定义形式是错误的inta,intb;inta;b;(1)整型常量·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2·八进制整型:以数字0开头的数字串,能出现数字0~7如:011(十进制9),0111(十进制73)·十六进制整型:以0x开头的,能出现数字0~9,字母a~f或A~F如:0x11(十进制17),0xa5(十进制165)(2)整型变量基本类型int(3)浮点型·浮点型常量十进制小数形式:由数字与小数点组成(必须有小数点)。如1.23,-123.,0.0123,.0,0.指数形式,如123e3或123E3都代表123×103注意字母e或E之前必须有数字,后面必须是整数E-5,.1234e1.2,6.5E为非法的浮点型常量·浮点型变量floatdouble(4)字符型1)字符常量:分为两类·用单撇号括起来的一个字符如:’a’,’9’,’’(空格)是合法字符常量”a”,’99’是非法字符常量·转义字符:以\(反斜杠)开头的特殊形式的字符。如:’\n’,’\r’,’\123’,’\x3b’2)字符变量:char,占1个字节空间,只能存放一个字符。存储特点:在字符变量中实际上存储的是字符的ASCII码,其存储形式与整数的存储形式相同。注意:I.字符数据与整型数据可相互赋值,直接运算。II.大小写字母转换小写字母减32得到相应的大写字母,如:‘a’-32得到‘A’大写字母加32得到相应的小写字母如:‘B’+32得到‘b’(5)字符串常量定义:用一对双撇号(””)括起来的字符序列。如:”hello””Mary””\\aaa\’\n”存储:每个字符串尾自动加一个‘\0’作为字符串结束标志(6)变量赋初值格式:类型说明符变量1=常数1[,变量2=常数2[,···]];intx=1,y=1,z=1;intx=y=z=1;(语法错误)7、算数运算符和算术表达式(1)运算符的注意事项·除法运算符“/”进行求商运算。对于不同类型的运算对象,除法表达式计算结果的类型也会不同。如果x,y是整型,则结果为整型,小数部分被略去。如果x,y其中一个为浮点型量,则结果为浮点型。·“%”是求余运算。a%b计算a除以b后的余数,也是a模b的值。它要求两个运算对象必须是整型,其结果也是整型量。(2)书写算术表达式的注意事项·将方括号改成圆括号,即算术表达式内所有的括号均为圆括号,*(乘法)不能省略·其中π为非字母字符,要用浮点型常量代替·其中不能出现分数,改用除法运算符,圆括号不能缺少(3)算数运算符的优先级优先级:高-----*/%-----+-低注意:可以用()来改变运算的顺序.(2)(3)(4)8、自增、自减运算符后缀i++(i--)先使用i的值,再使i的值加(减)1前缀++i(--i)先使i的值加(减)1,再使用i的值自增、自减运算只能用于变量,不能用于常量和表达式。自增、自减运算符高于基本算术运算符。9、赋值运算符(1)简单赋值运算符运算符:=表达式格式:变量=表达式·赋值运算符左边必须是变量而不能是表达式;·赋值表达式的值是赋值号左边变量被赋值后的值;(2)算术运算符“+—*/%”和赋值运算符“=”结合起来,形成复合赋值运算符。+=:加赋值运算符;如a+=3,等价于a=a+3-=、*=、/=、%=与此类似·复合运算符在书写时,两个运算符之间不能有空格。·复合运算符右边的表达式计算完成后才参与复合赋值运算;10、当表达式中的数据类型不同时,要进行类型转换。转换方式自动(隐式)转换:系统自动把数据由低级类型向高级转换。强制转换:将表达式的运算结果强制转换成指定的数据类型。自动转换规则强制转换格式:(目标类型名)(表达式)double←long←unsigned←int↑↑float高←低charshort逗号运算符与逗号表达式:运算优先级最低为15级求解过程先求表达式1的值,再求表达式2的值,···,直至求出表达式n的值。整个表达式的值为表达式n的值。x=5*8,6+9先把x赋值为40,表达式的值为1511、字符数据的简单输入和输出(1)putchar函数(字符输出函数)形式:putchar(c)·c可以是字符常量、字符变量或整型变量。putchar(100);·用putchar函数也可输出转义字符。putchar(‘\n’);/*输出一个换行符*/putchar(‘\\’);/*输出一个反斜杠\*/·该函数包含在stdio.h库中,因此应在使用该函数的程序开头加入:#includestdio.h(2)getchar作用:从终端(如键盘)输入一个字符。形式:getchar()无参数说明:该函数只能接收一个字符,其函数值可以赋给一个字符变量或整型变量,也可作为表达式的一部分,该函数包含在stdio.h中。(3)格式输出函数格式:printf(格式控制,输出表列)格式控制是用双撇号括起来的字符串,也称“转换控制字符串”,包括2种信息。1)格式说明:%[附加格式字符]格式字符将输出列表中的数据转换为指定格式输出。2)普通字符:原样输出。输出表列:需要输出的数据列表,彼此间用逗号分隔。它可是任意合法的表达式。printf(a+b=%5.2f,c)(4)格式字符1)d格式符,用来输出十进制整数%d按整型数据的实际长度输出。%mdm代表某个数字,指定输出数据的最小宽度。若数据的位数小于m,则左侧补空格(右对齐),若大于m则按实际位数输出。%-md与%md类似,只是左对齐2)c格式符:用来输出一个字符%c%mc%-mc3)f格式符:用来以十进制小数形式输出实数(float,double)%m.nf输出数据最小占m列,其中包括n位小数和1位小数点,右对齐(小数点也算占一列)%-m.nf与上面类似,只是左对齐4)S格式符:用来输出一个字符串%s按字符串原长输出%ms输出字符串最小占m列,右对齐,左补空格%-ms输出字符串最小占m列,左对齐,右补空格%m.ns字符串占m列,但只取左端n个字符,右对齐%-m.ns字符串占m列,但只取左端n个字符,左对齐使用说明:1)格式控制中的格式说明符,必须按从左到右的顺序,与输出表中的每个数据一一对应,否则出错。printf(“f=%d,i=%f\n”,5.6,3);显示:f=1717986918,i=0.0000002)格式字符紧跟在“%”后面就作为格式字符,否则将作为普通字符使用(原样输出)。printf(”c=%c,f=%ff\n“,‘a’,1.5);其中的第一个c和f,第三个f,都是普通字符。(5)scanf函数scanf(格式控制字符串,地址列表)格式控制与printf函数类似。地址列表是由若干个地址组成的表列(以逗号隔开),可以是变量的地址,或字符串的首地址。scanf(“%d%d%d”,&a,&b,&c);1)格式符中无普通字符时,可用空格、Tab键、回车键作分隔符。最后的回车键代表输入结束2)用c格式符输入字符时,空格、回车、转义字符等均为有效字符。例:chara,b,c;scanf(%c%c%c,&a,&b,&c);正确的输入方法:键入ABC则a=‘A’,b=‘B’,c=‘C’若键入:ABC则a=‘A’,b=‘’(空格),c=‘B’若键入ABC未送,系统已经认为输入结束了则:a=‘A’,b=‘\n’(换行符),c=‘B’若不同类型输入则综合上述规则3)在格式控制中除格式说明符外若还有其它字符,则应按顺序原样输入。4)可以指定输入数据所占列数,系统自动按它截取所需数据。5)%后的“*”附加说明符,用来表示跳过相应的数据。如:scanf(“%2d%*3d%2d”,&a,&b);输入1234567则将12↔a,67↔b,345被跳过6)输入数据时不能规定精度。如:scanf(“%7.2f”,&a);错误7)double类型的变量输入时,要用%lf%le(必须记住!!!)如:doublex;scanf(“%lf”,&x);三、选择结构程序设计1、if语句实现选择if(表达式)语句1表达式可以是关系表达式、逻辑表达式、数值表达式else语句2最常用的3种if语句形式:(1)if(表达式)语句1(没有else子句)(2).if(表达式)语句1(3)else语句2(有else子句)(4)if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3┆elseif(表达式m)语句melse语句m+1(在else部分又嵌套了多层的if语句)说明:(1)整个if语句可写在多行上,也可写在一行上,但都是一个整体,属于同一个语句(2)“语句1”…“语句m”是if中的内嵌语句内嵌语句也可以是一个if语句(3)“语句1”…“语句m”可以是简单的语句,也可以是复合语句2、关系运算符(1)关系运算符:用来对两个数值进行比较的比较运算符C语言提供6种关系运算符:①<(小于)②<=(小于或等于)③>(大于)④>=(大于或等于)优先级高⑤==(等于)⑥!=(不等于)优先级低(2)关系表达式用关系运算符将两个数值或数值表达式连接起来的式子,关系表达式的值是一个逻辑值,即“真”或“假”,在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”3、逻辑运算符与逻辑表达式3种逻辑运算符:&&(逻辑与)||(逻辑或)!(逻辑非)判断年龄在13至17岁之内?age=13&&age=17逻辑运算符的优先次序!→&&→||(!为三者中最高)逻辑表达式的值应该是逻辑量“真”或“假”编译系统在表示逻辑运算结果时以数值1代表“真”,以

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

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

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

×
保存成功