关闭

关闭

关闭

封号提示

内容

首页 C语言复习(上).ppt

C语言复习(上).ppt

C语言复习(上).ppt

上传者: 773051289 2012-07-24 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《C语言复习(上)ppt》,可适用于考试题库领域,主题内容包含第章预备知识第章预备知识北京科技大学计算机系C语言程序设计C程序结构C程序结构C程序由函数构成必须有且只能有一个main(主函数)总是从main函数符等。

第章预备知识第章预备知识北京科技大学计算机系C语言程序设计C程序结构C程序结构C程序由函数构成必须有且只能有一个main(主函数)总是从main函数开始执行函数由函数首部和函数体组成函数首部指定函数名、函数参数、类型函数体从{开始到}结束函数内有语句C程序结构(续)C程序结构(续)语句包括说明性语句、可执行语句以表示语句结束注释可以出现在程序的任何位置用*和*括起来必须成对出现书写格式C语言没有行的概念书写格式自由。习惯小写字母缩进格式。基本字符基本字符大写英文字母:ABC……XYZ小写英文字母:abc……xyz数字:……空白符:空格符、换行符、制表符特殊字符:*<>(){}=!#,:‘“|$^~标识符标识符由字母、下划线和数字组成的字符序列用于程序中的变量、符号常量、数组、函数、数据类型等操作对象的名字.系统定义标识符具有固定名字和特定含义的标识符分为关键字和预定义标识符.用户定义标识符用于对用户使用的变量、数组、函数等操作对象进行命名关键字关键字数据类型:int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile存储类别:auto、static、register、extern语句命令字:break、case、continue、default、do、else、for、goto、if、return、switch、while运算符:sizeof预定义标识符预定义标识符系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预备处理命令include、define等对标识符的规定对标识符的规定用户定义标识符必须以字母或下划线“”开头不能含有除字母、数字和下划线“”外的其他字符标识符中大小写字母含义不同关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名预定义标识符允许用户对它们重新定义当重新定义后将改变它们原来的含义C语言的数据类型C语言的数据类型C数据类型整型数据的类型及规定整型数据的类型及规定方括号表示可选项int分配Bytelong分配Byte实型数据的类型及规定实型数据的类型及规定C标准并未具体规定各种实型数据所占字节数也不规定具体小数和指数部分的位数。一般而言小数部分位数多数据表示的有效数字多精度就高而指数部分位数多则表示的数据范围更大。字符型数据字符型数据字符型数据char分配Byte字符型数据是指字母、数字、各种符号等用ASCII值表示的字符例如'a'是一个char类型数据称作字符常量存储:空类型空类型void通常与指针或函数结合使用常量常量在运行程序的过程中值保持不变的量.整型常量十进制:~八进制:~以开头十六进制:~A~Fa~f以x或X开头例如:xxXXFFxa整型常量整型常量整型常量的类型:根据值大小默认类型。整型常量后面加l或L则认为是longint型例如:L、L、l、xl注意:十六进制常量中可以使用大写字母A~F也可以使用小写字母a~f。八进制常量中不能出现数字或例如:、非法实型常量实型常量十进制形式指数形式eeEE指数只能是整数而尾数则可以是整数也可以是小数无论指数或尾数均不能省略例如:e、E、E非法实型常量的类型:默认为double型后面加F(或f)则强调表示该数是float类型例如:f、eF字符型常量字符型常量可视字符常量单引号括起来的单个可视字符例如:'a'、'A'、''、''、''等转义字符常量单引号括起来的与可视字符组合例如:字符串常量字符串常量用双引号括起的一个字符序列例如:"ABC"、""、"a"、"nt""nGoodmorning"字符串常量的长度:所包含的字符个数字符串常量的存储方式:所占存储单元数:串长度+例如:字符串结束标记符号常量符号常量以标识符来代表的常量事先编译预处理命令define定义编译时先由系统替换为它所代表的常量再进行编译例如:#defineLENmain(){floata,ba=**LENb=*LEN*LENprintf("a=f,b=fn",a,b)}编译前系统进行替换符号常量符号常量main(){floata,ba=**b=**printf("a=f,b=fn",a,b)}define是编译预处理命令必须以“#”开头编译预处理命令在第章讨论。替换为变量变量变量的有关概念在程序运行过程中其值改变的数据称为变量变量用标识符表示称为变量名。变量必须“先定义后使用”系统为变量分配存储单元存储变量的值。编写程序时通过变量名来存、取变量值。变量定义变量定义变量定义的一般格式:数据类型说明符变量列表例如:inti,jlongk,mfloatx,ycharch,ch必须使用合法的标识符作变量名不能使用关键字为变量命名变量的初始化:变量的初始化:允许在说明变量的时候对变量赋初值。例如:inta=,b=doublex=,ycharch='a',ch=,ch=''表示定义变量并对变量存储单元赋值。错误的初始化:inta=b,b=floatm=n=运算符和表达式运算符和表达式主要内容:算术运算符和算术表达式赋值运算符和赋值表达式关系运算符和关系表达式逻辑运算符和逻辑表达式位运算符和位运算表达式条件运算符和条件表达式逗号运算符和逗号表达式其他运算符及其运算运算符的有关概念运算符的有关概念作用:对运算对象完成规定的操作运算类型:按运算对象分:单目、双目、三目按功能分:算术、赋值、关系、逻辑条件、逗号、位、其他运算符的优先级和结合性运算符的优先级和结合性优先级指各种运算符号的运算优先顺序例如:算术运算优先于关系运算算术运算中先*后结合性指运算符号和运算对象的结合方向分为:从左向右(左结合)和从右向左(右结合)例如:算术运算符为左结合ab赋值运算符为右结合a=b=(C语言规定见教材P附录B)本章涉及的运算符本章涉及的运算符*===*====|=^=>>=<<=><>=<===!=||!|^~<<>>:,sizeof(数据类型标识符)表达式的有关概念表达式的有关概念什么是表达式由运算符将运算对象连接成的式子它描述了一个具体的求值运算过程。计算表达式的值按照运算符的运算规则求值求值时注意运算符的优先级和结合性表达式值的类型自动转换强制转换运算中数据类型的转换运算中数据类型的转换数据类型的自动转换转换原则:自动将精度低、表示范围小的运算对象类型向精度高、表示范围大的运算对象类型转换例如有定义:intacharch表达式:ach*Lach*赋值运算中的类型转换赋值运算中的类型转换<实型变量>=<整型表达式>小数部分自动补<整型变量>=<实型表达式>自动舍去实型表达式的小数部分(注意不进行四舍五入)<字符变量>=<整型表达式><整型变量>=<长整型表达式>自动截取表达式值的低字节赋值舍去高字节<整型变量>=<字符数据><长整型变量>=<整型表达式>自动给高字节补或补数据类型的强制转换数据类型的强制转换强制转换的一般形式(类型名)表达式例如:(int)('b'*x)(float)a注意:(float)与(float)()不同错误的类型转换:(int)b=ab=int(*a)程序的三种基本结构程序的三种基本结构顺序结构NS结构图流程图选择结构程序的三种基本结构程序的三种基本结构循环结构直到型循环当型循环NS结构图流程图C语言的语句类型C语言的语句类型主要内容:说明性语句表达式语句控制语句复合语句数据输出数据输出主要内容:字符输出函数格式输出函数字符输出函数字符输出函数函数调用的一般形式putchar(ch)功能:在标准输出设备(即显示器屏幕)上输出一个字符。例如:putchar('b')putchar('n')putchar('')putchar(st)格式输出函数格式输出函数函数调用的一般形式printf(格式控制,参数,…,参数n)功能:按格式控制所指定的格式在标准输出设备上输出参数、…、参数n的值。例如有程序段:inta=,b=printf("dddn",a,b,ab)printf("c=dd=dn",a,b,ab)格式控制格式控制用双引号括起的字符串用于指定输出数据的类型、格式、个数包括:普通字符和格式说明符照原样输出printf("c=dd=dn",a,b,ab)格式说明符:指定输出个十进制整型数分别为变量a、b、a+b的值输出格式说明符输出格式说明符在%和格式符之间可以使用附加说明符附加格式说明符附加格式说明符例如:ld输出十进制长整型数mnf右对齐m位域宽n位小数或n个字符mnf左对齐字符输入函数字符输入函数函数调用的一般形式getchar()功能:从标准输入设备(即键盘)上交互输入一个字符。例如:getchar()c=getchar()printf("cn",getchar())说明:说明:getchar是C语言的标准库函数使用时必须加编译预处理命令:#include"stdioh"或#include<stdioh>getchar函数需要交互输入接收到输入字符之后才继续执行程序。连续使用getchar函数时要注意字符的输入形式例如执行如下程序段:charch,chch=getchar()ch=getchar()必须连续输入两个字符中间不能有其他字符格式输入函数格式输入函数函数调用的一般形式scanf(格式控制,地址参数…,地址参数n)功能:按格式控制指定的格式从标准输入设备(即键盘)交互输入数据并依次存放到对应地址参数指定的变量中(即将输入值赋给变量)。例如:scanf("df",a,f)scanf("o,f",b,x)scanf("a=d,b=d",a,b)格式控制格式控制用双引号括起的字符串用于指定输入数据的类型、格式、个数以及输入的形式包括:普通字符和格式说明符照原样输入scanf("a=d,b=d",a,b)格式说明符:指定输入个十进制整型数赋给变量a和b输入格式说明符输入格式说明符在%和格式符之间可以使用附加说明符附加格式说明符附加格式说明符例如:ld、lo输入十进制、八进制长整型数lf、le输入双精度实型数mf输入m位数(域宽)*d忽略输入的一个整型数对float和double型指整数位数小数点小数位数顺序结构程序设计顺序结构程序设计顺序结构程序的一般算法描述可用:变量初始化赋值语句输入函数调用语句注意各个语句的顺序简单分支语句简单分支语句语句一般格式if(表达式)语句功能:计算表达式的值如果是一个非值(即逻辑真)就执行内嵌语句否则(即逻辑假)跳过内嵌语句顺序执行后续语句。简单分支语句的算法:简单分支语句的算法:例如:if(x>)mif(a>b){c=aa=bb=c}双重分支语句双重分支语句语句一般格式if(表达式)语句else语句功能:计算表达式的值如果它的值是一个非值(逻辑真)就执行内嵌语句之后跳过内嵌语句执行后续语句否则跳过内嵌语句执行内嵌语句之后执行后续语句。双重分支语句的算法:双重分支语句的算法:例如:if(x>)melsemif(ch>='a'ch<='z'){ch=chprintf("cn",ch)}elseprintf("cn",ch)多重分支语句多重分支语句语句一般格式if(表达式)语句elseif(表达式)语句……elseif(表达式m)语句melse语句n功能:依次计算并判断表达式i为非时执行后面的语句都为时执行语句n无论执行完那个语句分支都转到后续语句多重分支语句的算法多重分支语句的算法流程图表达式m多重分支语句的算法多重分支语句的算法NS结构图例如:if(a<)x=elseif(a==)x=elsex=switch语句switch语句switch语句的一般形式switch(表达式){case常量表达式:语句序列case常量表达式:语句序列……case常量表达式n:语句序列ndefault:语句序列n}功能:计算表达式的值与常量表达式的值比较等于第i个值时顺序执行语句序列i、i、…、n若与所有常量表达式值都不相等执行语句序列n。switch语句的算法描述switch语句的算法描述NS结构图例如:switch(a){case:printf("")case:printf("#")default:printf("$")}当a等于输出:#$当a等于输出:#$当a是其他值输出:$while循环控制while循环控制语句一般格式while(表达式)语句一般为关系表达式或逻辑表达式也可以是C语言其他类型的合法表达式用来控制循环体是否执行称为内嵌语句可以是基本语句、控制语句也可以是复合语句是循环重复执行的部分功能:功能:计算表达式的值为非(逻辑真)时重复执行内嵌语句每执行一次就判断一次表达式的值直到表达式的值为时结束循环转去执行while后面的语句。循环控制条件循环体dowhile语句dowhile语句语句一般格式do语句while(表达式)功能:先执行内嵌语句(循环体)之后计算表达式的值不为(逻辑真)时再执行循环体并判断条件直到表达式的值为结束循环转去执行while下面的语句。dowhile循环的算法dowhile循环的算法main(){inti=,sum=do{sum=sumii}while(i<=)printf("dn",sum)}NS结构图用dowhile语句求个自然数的和for语句for语句语句一般格式for(表达式表达式表达式)语句功能:计算表达式的值再判断表达式如果其值为非(逻辑真)则执行内嵌语句(循环体)并计算表达式之后再去判断表达式一直到其值为时结束循环执行后续语句。循环初始条件循环控制条件循环体for语句的算法for语句的算法例如:main(){inti,sumsum=for(i=i<=i)sum=sumiprintf("sum=dn",sum)}可部分或全部省略但“”不可省略省略for语句的表达式省略for语句的表达式表达式、、全省略即:for()就等同于:while()会无限循环(死循环)注意:在省略某个表达式时应在适当位置进行循环控制的必要操作以保证循环的正确执行省略表达式和表达式即:for(表达式)就等同于:while(表达式)省略表达式即:for(表达式表达式)就等同于:表达式while(){…表达式}几种循环语句的比较几种循环语句的比较while和dowhile语句的表达式只有一个for语句有三个。while和for先判断循环条件后执行循环体dowhile语句先执行循环体后判断循环条件。while语句多用于循环次数不定的情况dowhile语句多用于至少要运行一次的情况for语句多用于要赋初值或循环次数固定的情况循环结构中的跳转语句循环结构中的跳转语句有如下三种语句实现跳转:continue语句break语句goto语句在循环语句的循环体中使用可以进行循环的流程控制continue语句及应用continue语句及应用功能:中断循环体的本次执行(即跳过循环体中尚未执行的语句)立即开始执行下一次循环。while语句dowhile语句for语句循环中break的应用循环中break的应用功能:利用break语句能够强迫终止本层循环转到后续语句执行。while语句dowhile语句for语句

职业精品

用户评论

0/200
    暂无评论

精彩专题

上传我的资料

热门资料

资料评价:

/66
2下载券 下载 加入VIP, 送下载券

意见
反馈

返回
顶部