C语言专升本辅导(整理).ppt_第1页
C语言专升本辅导(整理).ppt_第2页
C语言专升本辅导(整理).ppt_第3页
C语言专升本辅导(整理).ppt_第4页
C语言专升本辅导(整理).ppt_第5页
免费预览已结束,剩余223页可下载查看

下载本文档

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

文档简介

C语言程序设计,2008年专升本辅导,1.对C语言的语法、语义有较好的理解。2.能熟练地阅读C源程序,并具有初步分析程序的能力。3.初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算法,进而用C语言编写结构良好的面向过程的程序。4.通过上机实验,掌握程序的调试和测试方法。,考试要求,考题类型,选择题(概念、语法等):60%程序阅读题:20%程序设计题(或程序填空):20%,程序设计基础,张杰敏编,高等教育出版社出版C语言程序设计,谭浩强编,清华大学出版社出版,参考用书,第一章C语言概述,C语言发展历史与特点(了解),C程序格式和结构特点(掌握),TC环境下C程序的上机步骤(掌握),结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/*/为注释,不能嵌套不产生编译代码,例:/*Thisisthemain/*ofexample1.1*/*/,编译预处理命令,C程序的上机步骤,程序代码的录入,生成源程序*.c,语法分析查错,翻译生成目标程序*.obj,与其它目标程序或库链接装配,生成可执行程序*.exe,第二章算法,算法的概念(理解)算法的表示方法(了解)组成结构化程序的三种基本结构(理解)结构化程序设计的过程(了解),算法操作步骤,解决:做什么?怎么做?,算法的特点,有穷性确定性可行性/有效性有零个或多个输入有一个或多个输出,有限的操作步骤且每一步均应在合理的时间内完成,无“死循环”,每一步骤通过已经实现的基本运算执行后,在有限次内得到有效的效果,无“死语句”,每一条指令必须有确定的含义,无“二义性”,有多种输入途径可供输入数据,以进行数据处理,有多种输出途径可将运行结果输出,算法的表示方法,自然语言流程图N-S流程图伪代码计算机程序语言,第三章数据类型、运算符与表达式,C语言中数据类型的分类(了解)整型、实型、字符型、字符串常量的表示方法(掌握)符号常量的定义和使用(掌握)变量的定义、初始化(掌握)算术、赋值、复合赋值、自增、自减、逗号运算符及表达式(掌握)各类数值型数据间的混合运算(掌握),预备知识计算机中数的表示及进制转换各种进制之间的转换二进制、八进制、十六进制转换成十进制字节和位内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或1数值的表示方法原码、反码和补码原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1,基本数据类型,常量与变量标识符定义:用来标识变量名、常量名、函数名、数组名、类型名和文件名等的字符序列组成:只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线大小写敏感不能使用关键字长度:TC-最长32个字符;MSC-最长8个字符,字符常量定义:用单引号括起来的单个普通字符或转义字符.,字符常量的值:该字符的ASCII码值,转义字符及其含义:,转义字符:反斜线后面跟一个字符或一个代码值表示,例转义字符举例main()printf(101x42Cn);printf(Isay:Howareyou?n);printf(CProgramn);printf(TurboC);,如A65,a97,048,n10,整型变量占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeof(类型标识符)测量,实型变量float:占4字节,提供7位有效数字double:占8字节,提供16位有效数字,字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算,例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/,例a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G/*s=33+71;*/,没有字符串变量,用字符数组存放,显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变,例main()floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.600000,i=3,精度损失问题,学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型,短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符,第四章数据输入与输出,赋值语句及使用(掌握)字符输入输出(getchar函数和putchar函数)(了解)格式输入输出(scanf函数和printf函数)(掌握),inta=567;printf(“%d”,a);,inta=255;printf(“%x”,a);,inta=65;printf(“%o”,a);,inta=567;printf(“%u”,a);,chara=65;printf(“%c”,a);,printf(“%s”,“ABC”);,floata=567.789;printf(“%e”,a);,floata=567.789;printf(“%f”,a);,floata=567.789;printf(“%g”,a);,printf(“%”);,567,ff,101,567,A,ABC,5.677890e+02,567.789000,567.789,%,说明格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出,例inta=3,b=4;printf(“%d%dn”,a,b);printf(“a=%d,b=%dn”,a,b);输出结果:34a=3,b=4,例main()unsignedintu=65535;printf(”u=%dn,u);输出结果:u=-1,例inta=3,b=4;printf(“%d%dn”,a,b);printf(“a=%d,b=%dn”,a,b);,附加格式说明符(修饰符),例scanf(“%3d%*4d%f”,输入12345678765.43则123k,8765.43f,例scanf(“%2d%*3d%2d”,输入1234567则12a,67b,例scanf(“%3c%2c”,输入abcde则ac1,dc2,附加格式说明符(修饰符),例scanf(“%4d%2d%2d”,输入19991015则1999yy,10mm,15dd,例scanf(“%d:%d:%d”,输入12:30:45则12h,30m,45s,输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符,例scanf(“%d%o%x”,输入123123123输出a=123,b=83,c=291,例scanf(“a=%d,b=%d,c=%d”,输入a=12,b=24,c=36,例scanf(“%d,%d”,charch;scanf(“%d”,执行:123输出:x=123,ch=10,例intx;charch;scanf(“%d”,执行:123输出:x=123,ch=10,例intx;charch;scanf(“%d”,如scanf(“%c%c%c”,若输入abc则ac1,c2,bc3,如scanf(“%d%c%f”,若输入1234a123o.26则1234a,ab,123c,第五/六章C程序流程设计,第五章选择结构关系、逻辑运算符及表达式(掌握)if语句的三种形式(掌握)switch语句及break语句的使用(掌握)要求能编写含有if语句嵌套结构的程序,第六章循环结构while语句及应用(掌握)do-while语句及应用(掌握)for语句及应用(掌握)break语句在循环中的作用(掌握)continue语句在循环中的作用(了解)要求能编写含有二重循环结构的程序。,C语句分类,程序控制语句(9种):,复合语句:用括起来的一组语句一般形式:数据说明部分;执行语句部分;说明:“”后不加分号语法上和单一语句相同复合语句可嵌套,说明:for语句中expr1,expr2,expr3类型任意,都可省略,但分号;不可省无限循环:for(;)for语句可以转换成while结构,expr1;while(expr2)循环体语句;expr3;,例:#includemain()inti=0;for(i=0;i10;i+)putchar(a+i);,结果:abcdefghij,例:#includemain()inti=0;for(;i10;i+)putchar(a+i);,例:#includemain()inti=0;for(;i10;)putchar(a+(i+);,例:#includemain()inti=0;for(;i10;putchar(a+i),i+);,第七章数组,一维数组的定义、初始化及元素引用(掌握)二维数组的定义、初始化及元素引用(掌握)字符数组的定义及使用(掌握)字符串处理函数(了解),一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:数组名下标其中:下标可以是常量或整型表达式,例inti=15;intdatai;(不能用变量定义数组维数),例inta10;printf(“%d”,a);()必须for(j=0;j10;j+)printf(“%dt”,aj);(),例intdata5;data5=10;/C语言对数组不作越界检查,使用时要注意,一维数组的初始化初始化方式,在定义数组时,为数组元素赋初值(在编译阶段使之得到初值),inta5=1,2,3,4,5;等价于:a0=1;a1=2;a2=3;a3=4;a4=5;,说明:数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值,当全部数组元素赋初值时,可不指定数组长度,如inta5=6,2,3;(不用static初值也可为0)等价于:a0=6;a1=2;a2=3;a3=0;a4=0;如inta3=6,2,3,5,1;(),staticinta5;等价于:a0=0;a1=0;a2=0;a3=0;a4=0;,只给部分数组元素赋初值,inta=1,2,3,4,5,6;编译系统根据初值个数确定数组维数,二维数组元素的引用形式:数组名下标下标二维数组元素的初始化分行初始化:,按元素排列顺序初始化,字符数组和字符串字符数组定义,字符数组的初始化逐个字符赋值用字符串常量字符数组的引用,例charc10,ch34;,字符串的输入输出逐个字符I/O:%c整个字符串I/O:%s,例用%cmain()charstr5;inti;for(i=0;iname,p-sex,p-age);,用指向结构体的指针作函数参数用结构体变量的成员作参数-值传递用指向结构体变量或数组的指针作参数-地址传递用结构体变量作参数-多值传递,效率低,共用体变量引用引用方式:,例a.i=1;a.ch=a;a.f=1.5;printf(“%d”,a.i);(编译通过,运行结果不对),引用规则不能引用共用体变量,只能引用其成员,共用体变量中起作用的成员是最后一次存放的成员,例unioninti;charch;floatf;a;a=1;(),不能在定义共用体变量时初始化,例unioninti;charch;floatf;a=1,a,1.5;(),可以用一个共用体变量为另一个变量赋值,例floatx;unioninti;charch;floatf;a,b;a.i=1;a.ch=a;a.f=1.5;b=a;()x=a.f;(),用typedef定义类型功能:用自定义名字为已有数据类型命名类型定义简单形式:typedeftypename;,例typedefintINTEGER;,类型定义语句关键字,已有数据类型名,用户定义的类型名,例typedeffloatREAL;,类型定义后,与已有类型一样使用,例INTEGERa,b,c;REALf1,f2;,说明:1.typedef没有创造新数据类型2.typedef是定义类型,不能定义变量3.typedef与define不同,definetypedef预编译时处理编译时处理简单字符置换为已有类型命名,typedef定义类型步骤按定义变量方法先写出定义体如inti;将变量名换成新类型名如intINTEGER;最前面加typedef如typedefintINTEGER;用新类型名定义变量如INTEGERi,j;,类型定义可嵌套,第十二章文件,理解C文件的概念;掌握文件类型指针的概念;掌握文件的打开和关闭(fopen函数和fclose函数);了解文件的字符读写(fgetc函数和fputc函数);掌握文本文件的格式化读写(fscanf函数和fprintf函数)了解二进制文件的数据块读写(fread函数和fwrite函数)了解文件的定位(rewind函数和fseek函数),文件的打开与关闭C文件操作用库函数实现,包含在stdio.h文件使用方式:打开文件-文件读/写-关闭文件系统自动打开和关闭三个标准文件:标准输入-键盘stdin标准输出-显示器s

温馨提示

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

评论

0/150

提交评论