C语言专升本辅导(整理)

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

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

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

资源描述

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码值转义字符及其含义:转义字符含义\n\v\r\a\‘\ddd\t\b\f\\\“\xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符转义字符:反斜线后面跟一个字符或一个代码值表示例转义字符举例main(){printf(\101\x42C\n);printf(Isay:\Howareyou?\\n);printf(\\CProgram\\\n);printf(Turbo\'C\');}如‘A’——65,‘a’——97,‘0’——48,‘\n’——10整型变量占字节数随机器不同而不同,一般占一个机器字short≤int≤long可用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;*/没有字符串变量,用字符数组存放doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换显式转换(强制转换)一般形式:(类型名)(表达式)例(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函数)(掌握)dx,Xoucse,Efg%%格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身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(“%%”);567ff101567AABC5.677890e+02567.789000567.789%说明格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);输出结果:34a=3,b=4例main(){unsignedintu=65535;printf(”u=%d\n,u);}输出结果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);附加格式说明符(修饰符)例scanf(“%3d%*4d%f”,&k,&f);输入12345678765.43则123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);输入1234567则12a,67b例scanf(“%3c%2c”,&c1,&c2);输入abcde则‘a’c1,‘d’c2附加格式说明符(修饰符)例scanf(“%4d%2d%2d”,&yy,&mm,&dd);输入19991015则1999yy,10mm,15dd例scanf(“%d:%d:%d”,&h,&m,&s);输入12:30:45则12h,30m,45s输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);输入123123123输出a=123,b=83,c=291例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入a=12,b=24,c=36例scanf(“%d,%d”,&a,&b)输入3,4则3a,4b说明:用“%c”格式符时,空格和转义字符作为有效字符输入输入数据时,遇以下情况认为该数据结束:遇空格、TAB、或回车遇宽度结束遇非法输入输入函数留下的“垃圾”:例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);执行:123输出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);执行:123输出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);如scanf(“%c%c%c”,&c1,&c2,&c3);若输入abc则ac1,c2,bc3如scanf(“%d%c%f”,&a,&b,&c);若输入1234a123o.26则1234a,‘a’b,123c第五/六章C程序流程设计第五章选择结构•关系、逻辑运算符及表达式(掌握)•if语句的三种形式(掌握)•switch语句及break语句的使用(掌握)•要求能编写含有if语句嵌套结构的程序第六章循环结构•while语句及应用(掌握)•do-while语句及应用(掌握)•for语句及应用(掌握)•break语句在循环中的作用(掌握)•continue语句在循环中的作用(了解)•要求能编写含有二重循环结构的程序。C语句分类if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循环辅助控制程序控制语句(9种):复合语句:用{…}括起来的一组语句一般形式:{[数据说明部分;]执行语句部分;}说明:“}”后不加分号语法上和单一语句相同复合语句可嵌套说明:for语句中expr1,expr2,expr3类型任意,都可省略,但分号;不可省无限循环:for(;;)for语句可以转换成while结构expr1;while(expr2){循环体语句;expr3;}例用for循环求#includestdio.hmain(){inti,sum=0;for(i=1;i=100;i++)sum+=i;printf(%d,sum);}例:#includestdio.hmain(){inti=0;for(i=0;i10;i++)putchar(‘a’+i);}结果:abcdefghij例:#includestdio.hmain(){inti=0;for(;i10;i++)putchar(‘a’+i);}例:#includestdio.hmain(){inti=0;for(;i10;)putchar(‘a’+(i++));}例:#includestdio.hmain(){inti=0;for(;i10;putchar(‘a’+i),i++);}第七章数组•一维数组的定义、初始化及元素引用(掌握)•二维数组的定义、初始化及元素引用(掌握)•字符数组的定义及使用(掌握)•字符串处理函数(了解)一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:数组名[下标]其中:下标可以是常量或整型表达式例inti=15;intdata[i];(不能用变量定义数组维数)例inta[10];printf(“%d”,a);(

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

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

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

×
保存成功