欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序设计I期末复习.docx

    • 资源ID:9243441       资源大小:54.50KB        全文页数:20页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计I期末复习.docx

    1、C语言程序设计I期末复习C语言程序设计I期末复习一、复习内容:第1讲 程序设计与C语言C语言的特点;C语言程序的基本结构:头文件、main( )函数、scanf语句、数据处理语句、printf语句、注释等;C程序的运行环境和运行方法。第2讲 数据类型和表达式数据类型:不同性质数据类型需用不同数据类型来表示,int、short、long、char、float、doublet等常用类型占用的内存字节、数据范围(大致)、输出格式等;char与整数的运算、输出格式;浮点型数据的特点,规范化指数形式;sizeof运算符;常量与变量:标识符的概念、种类、命名规则;常量的概念,不同进制的整型常量、符号常量与

    2、常变量,字符常量(格式、转义字符)、字符串常量(格式、存储方式、长度、与字符常量的比较),浮点型常量(指数形式、f后缀);变量的概念,变量名与变量值的比较,变量的定义与初始化;运算符与表达式:单目、双目运算的概念;运算符分类、要点,算术运算符与表达式(重点:/与%),自增、自减运算符与表达式(+、-、前缀与后缀的比较);数据类型的转换(自动转换、强制转换)。第3讲 顺序结构运算符与表达式(续):赋值运算符(一般赋值运算符与复合赋值符)与表达式;逗号运算符与表达式;数学函数的调用;程序结构与语句的分类;顺序结构:算法,传统流程图和N_S流程图,程序的三种基本结构;数据的输入输出:输入输出的概念,

    3、printf(),scanf(),格式控制符,字符符与字符串的输入输出。(注:教材“第2章 算法”熟悉算法思想、流程图基本用法即可,不单独考试)第4讲 选择结构关系运算和逻辑运算:关系运算(运算符,运算结果,表达式,结合性,优先级,运算与反运算);逻辑运算(运算符,操作数,运算结果,表达式,运算规则,结合性,优先级,如何构造表达式,“短路”现象);if语句:一般形式,单分支,双分支,多分支(if.else if .else.和switch);条件运算符与条件表达式:运算符,表达式,执行顺序;switch语句和break语句:格式,break语句作用,执行顺序。第5、6讲 循环结构循环结构:功能

    4、、组成(循环控制部分变量初始化、条件判断、修改变量,循环体),循环结构的流程图;for语句:一般格式,执行过程,基础算法(累加、连乘积、分类统计)等,省略形式;while语句:一般格式,执行过程;do.while语句:一般格式,执行过程;三种循环的比较:dowhile与while的比较,三种循环的比较;不确定次数循环的执行;循环的跳转语句:break语句,continue语句;多重循环:形式,执行过程,使用;循环的应用:迭代法,穷举法,判定素数,求最大公约数,进制转换,Fibonacci数列,译密码等。第7、8讲 数组与字符串数组的概念:一维数组:定义,元素的引用和数组初始化;二维数组:定义,

    5、排列顺序,元素的引用和数组初始化;数组的应用:打擂台算法,直泡排序算法,查找算法等;字符数组:定义、赋值,初始化,元素引用,处理字符串时的不足之处;字符串:字符串常量(概念、构成字符、作用、结束标志、存储字符串的字符数组长度要求、长度),给一维字符数组赋字符串(使用一般数组赋初值方法、给字符数组赋字符串常量,在程序执行过程中赋完所有字符后,再需人为加上串结束标志);字符串的输入输出:使用“%s”格式符一次性输入、输出,gets(),puts();字符串处理函数:求长度函数,字符串连接函数,字符串拷贝函数,比较函数,小大写转换函数;字符串的应用:求串长度程序,字符串复制功能程序,统计字符串中单词

    6、数,字符串比较大小,选择排序算法。第9、10讲 函数函数的基础知识:功能,模块化程序设计思想,有关说明,函数的分类;函数的定义:含义,定义的方法,空函数;函数的调用:调用的一般形式,调用的3种方式,调用过程的数据传递(形参与实参结合),函数调用过程(“值传递”的单方向性),函数的返回值;函数的声明:函数原型,什么情况需要条件,库函数的处理方式,编程时的一般做法;函数的嵌套调用:不允许嵌套定义函数,函数嵌套调用的含义;函数的递归调用:递归调用的含义,递归函数的两个组成部分(递归形式、终止条件),典型用法;数组名作函数参数:数组元素作实参,数组名作函数参数,多维数组名作函数参数;局部变量与全局变量

    7、:作用域的概念,局部变量,全局变量,两者的比较;变量的存储方式与生存期:生存期概念,静态存储方式与动态存储方式,局部变量的存储类型,全局变量作用域的扩展与限制;变量定义与声明的区分;内部函数与外部函数:内部函数的定义与使用,外部函数的定义与使用;函数的应用:能根据要求写出相应函数,包括常用算法用函数实现,例如:求极值、累加与均值、连乘积、冒泡排序、选择排序、素数、最大公约数与最小公倍数、十进制数与n进制数的转换等。第11讲 结构体、共用体和枚举类型结构体:作用,类型的定义,变量的定义,变量的初始化和使用;结构体数组:概念、定义、初始化和使用;共用体类型:定义的一般形式,引用共用体变量的方式;(

    8、不考试)枚举类型:概念,定义格式;(不考试)typedef声明新类型:功能,声明格式,命名一个新的类型名代表结构体类型,命名一个新的类型名代表数组类型。二、需要掌握的常用算法:两个基本类型变量值的交换、求较大值、求较小值,两个字符串值的交换,三个值求极值;循环的应用:累加与均值,连乘积,分类统计;循环、数组与函数的综合:打擂台算法(求极值),冒泡排序,选择排序,求最大公约数与最小公倍数,求素数,十进制数与二进制数的相互转换等;字符串函数的调用与自己编写。此外,还应熟悉函数的调用时值传递方式(值传递的单方向性;数组作参数时,形参值改变对实参的影响),结构化编程的思路(把实现一定功能的代码放在函数

    9、中,main函数应用简洁、明了)。三、样题(与考题无必然联系,仅供参考)单选题:1、C语言中,运算对象必须是整型的运算符是【 】 A. / B. % C. + D. !2、下列标识符中,不合法的是【 】 A. x2 B. sizeof C. _123 D. char23、 若x, i, j和k都是int型变量,则计算表达式x=(i=4, j=16, k=32)后,x的值为【 】A. 4 B. 16 C. 32 D. 52 4、设有数组定义:char a =China; 则数组 a所占的空间为【 】字节A. 4 B. 5 C. 6 D. 7 5、 设d 是double型变量,若要从键盘输入数据给

    10、d,正确的语句是【 】 A. scanf(d); B. scanf( %f, d); C. scanf( %f, &d); D. scanf( %lf, &d);6、以下程序段的输出结果是【 】 int x=3; do printf(%d,x-=2); while(!(-x);A. 1-2 B. 30 C. 1 D. 无输出 7、下列程序段执行之后,输出的结果是【 】 double x=4,y; if (x0) y=0; else if(xb?a+b:a-b 的结果是 _。6、数学式:0x13对应的C语言表达式是_ _。7、一个函数的原型是 void func(int),现要求定义一个函数指针

    11、p指向该函数,那么p的正确定义格式是_ _。写出下列程序的运行结果1、#include int main() char c1,c2; c1=A+8-5; c2=A+8-4; printf(%c,%dn,c1,c2); return 0;已知字母A的ASCII码为65,程序运行后的输出结果是 2、#include int a=5;void fun(int b) int a=10; a+=b; printf(%d,a);int main() int c=20; fun(c); a+=c; printf(%dn,a); return 0;程序运行后的输出结果是 3.#include void bub

    12、bsort(int a,int n) int i,j,temp; for(i=0;in-1;i+) for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; int main() int array=3,15,9,6,12; bubbsort(array,5); for(int i=0;i5;i+) printf(%d ,arrayi); printf(n); return 0;程序运行后的输出结果是 4.#include int main() int f(int); int a=2,i; for(i=0;i3;i+) printf(%dnn,f(a); retu

    13、rn 0;int f(int a) auto int b=0; static int c=3; b=b+1; c=c+1; printf(a=%d, b=%d,c=%dn,a,b,c); return(a+b+c);程序运行后的输出结果是 程序填空以下函数的功能是: 从整型数组a中顺序查找一个整数x,数组a的元素个数为n,如果找到,就返回x在a中的下标,若未找到,则返回-1。 int search(int a,int n, int x) /顺序查找函数 for(int i=0; (1) ;i+) if (ai=x) return (2) ; return -1;编程题:1、课件第3讲 例3 输

    14、入三角形的三边长,求其面积#include #include int main() float a,b,c,s,area; printf(请输入三角形的三边长度:); scanf(%f%f%f,&a, &b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的三边长度:a=%f, b=%f, c=%fn,a,b,c); printf(三角形的面积:area=%fn,area); return 0;2、课件第6讲 循环结(2) 例1#include int main() int sign=-1; double s=0,PI; i

    15、nt i; for (i=1;1.0/i=1e-7;i=i+2) sign=-sign; s=s+1.0/i*sign; PI=s*4; printf(i=%dn,i-2); printf(PI=%10.8fnn,PI); return 0;3、课件第6讲 循环结(2) 例2: 输入一批学生成绩,输出其中的最高分、最低分#include int main() int score,min,max; printf(请输入成绩(0-100),其它成绩结束: ); scanf(%d,&score); max=min=score; /min、max赋初值 while(score=0) & (scorem

    16、ax) max=score; if (scoremin) min=score; printf(请输入成绩(0-100),其它成绩结束: ); scanf(%d,&score); printf(max=%d, min=%dn,max,min); return 0;4、课件 第7讲 数组例5: 已知一个int型数组,数据元素分别为9,8,5,4,2,0。要求按由小到大的顺序,重新排列数组元素#include int main() int a6,i,j,t; printf(input 6 numbers :n); for (i=0;i6;i+) scanf(%d,&ai); printf(n); f

    17、or(j=0;j5;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; printf(the sorted numbers :n); for(i=0;i6;i+) printf(%d ,ai); printf(n); return 0;5、课件 第8讲 数组例6 选择排序#include#includeconst int M=5;/定义常量,下同const int N=30;void SelectSort(char strMN)/对字符串进行选择排序函数 int i,j,k; char tempN;/用于字符串交换时当作中间存放空间 for(i=0;iM-1;i

    18、+) /进行M-1次选择和交换 k=i; /给k赋初值 for(j=i+1;j0) /进行字符串比较 k=j; /记录较小值的位置 /利用字符串拷贝函数交换stri与strk的值 if (i!=k) strcpy(temp,stri); strcpy(stri,strk); strcpy(strk,temp); int main ( ) char sMN; / 定义二维字符数组 int i; printf(请输入%d个字符串:n); for (i=0;iM;i+) gets (si); SelectSort(s); /调用函数进行选择排序 printf(n排序后字符串:n); for (i=0

    19、;iM;i+) puts (si); printf(n); return 0;6、实验_8 2、输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。如下图所示:(提示:在教材的p385-386中有字符和字符串函数,可以直接引用。如isalpha()判断字母函数、isdigit()判断数字函数、isspace()判断空格函数、ispunct()判断标点函数等)#include #include int main() char str201; printf(请输入一个长度不超过的字符串: n); gets(str); int n1,n2,n3,n4; n1=n2=n

    20、3=n4=0; for(int i=0;stri;i+) if (isalpha(stri) n1+; else if (isdigit(stri) n2+; else if (isspace(stri) n3+; else if (ispunct(stri) n4+; printf(该字符串的字母个数:%d,数字个数:%d, 空格个数:%d,标点个数:%dnn,n1,n2,n3,n4); return 0;7、实验_10 1、编程计算数组各元素的平方和,要求如下:(1)void array_input(int array, int n)的功能是:输入整型数组array的各元素值,参数n是数组

    21、元素的个数;(2) int square_sum(int array, int n)的功能是:对整型数组array的各元素的平方求和,参数n是数组元素的个数;(3)主函数的功能:定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果;(4)主函数在前,上述两个函数在后面定义。程序运行如下图所示:#include int main() void array_input(int array,int n); int square_sum(int arrya ,int n); int a6; array_input(

    22、a,6); int array_square_sum=square_sum(a,6); printf(数组a的各元素平方和: %dnn,array_square_sum); return 0;void array_input(int array,int n)/输入数组元素的函数 printf(请输入整型数组的%d个元素:n,n); for(int i=0;in;i+) scanf(%d,&arrayi);int square_sum(int array ,int n)/计算数组元素平方和函数 int i; int sum=0; for(i=0;in;i+) sum=sum+arrayi*arr

    23、ayi; return sum;、定义一个求最大公约数函数int gcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。(编程思路参考第6讲课件例子)。9、定义一个将十进制数转换成十六进制数的函数void dec_to_hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第6讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。程序运行结果图如下:请根据题意及注释,填充程序所缺代码:#include int main() int n,rem; _; / dec_to_hex函

    24、数的声明 printf(Enter n: ); scanf(%d,&n); printf(n十进制数:%d 转换为十六进制数是:,n); _; / dec_to_hex函数的调用 printf(n); return 0;void dec_to_hex (int n) char num20; int rem,i=0; do rem=n%16; /存放余数 n=n/16; if (rem0); for(i=i-1;i=0;i-) printf(%c,numi); printf(n);10、学生有三门课程:语文、数学、英语,3名学生的成绩如下表所示:姓名语文数学英语总分张小山869382李一宁989

    25、2100赵小蕊786290 请先定义一个结构体Student,其成员包括:name(姓名)、chinese(语文)、math(数学)、english(英语)、total(总分),再定义一个Student类型的数组stud3来存放学生资料。现欲先输入学生三门课程成绩,再计算总分,最后输出学生信息,要求用“模块化程序设计”方法来设计程序。请根据题意、注释在代码段1-代码段5中填写程序所缺代码。#include /定义结构体Student,学生姓名不超过10个字符/三门课程成绩均为百分制,只取整数struct Student /代码段1;int main() /定义结构体数组stud3 /对input()、sum()、print()三个函数进行声明 /调用input()、sum()、print()三个函数 /代码段2 return 0;/定义输入n名学生的姓名、三门课程成绩的函数。一个学生数据的输入如下图所示void input(Student s, int n) /代码段3 printf(n);/定义计算n名学生三门课程总分的函数void sum(Student s, int


    注意事项

    本文(C语言程序设计I期末复习.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开