ImageVerifierCode 换一换
格式:DOCX , 页数:135 ,大小:960.06KB ,
资源ID:3999577      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3999577.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实验与习题final.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实验与习题final.docx

1、C语言实验与习题final一、 目录一、 目录 1二、 编程环境介绍 21. 前言: 22. 编程环境介绍 2三、 福建省高等学校计算机应用水平等级考试 二级(C语言)考试大纲 3四、 理论习题 61. 第一章 第二章 62. 第三章 数据类型、运算符和表达式 73. 第四章 顺序程序设计 104. 第五章 选择程序设计 115. 第六章 循环控制 146. 第七章 数组 157. 第八章 函数 188. 第九章 预处理命令 219. 第十章 指针 2310. 第十一章 结构体与共用体 2711. 第十二章 位运算 3012. 第十三章 文件 30五、 实验部分 321. 编程题 322. 填

2、空题 413. 改错题 48六、 真题训练(历届试题选编) 551. 数据类型、运算符与表达式 552. 分支语句 593. 循环 674. 数组 745. 综合题 826. 程序改错 931) 要求 932) 习题 93七、 教学大纲 104二、 编程环境介绍1. 前言:C是最常见的一种高级程序设计语言,高等院校理工科专业都开设“C程序设计”课程作为程序设计入门语言。为此,福建省高校计算机水平考试委员会将其列入福建省高等院校计算机应用水平等级考试(二级C)考试科目,旨在让学生初步掌握程序设计的方法,为今后学习其他计算机课程打下基础,也为今后工作打下计算机应用基础。目前,以Turbo C为平台

3、介绍各种算法、试题解答的书还不多。笔者从2005年担任诚毅学院工科类专业的“C程序设计”课程教学,多年来注意搜集、整理、编写Turbo C有关的算法例题、试题解答,在课堂上进行融通讲解,系统地从数值处理、图形输出、数据处理、过程模拟、算式求值、文件(字符、)指针处理、数字组合、图形设计八个方面详细地介绍算法例题、试题解答程序,着重培养学生分析问题、解决问题、调试纠错的能力,让学生在扩大计算机知识面的同时,提高实际编程能力、操作能力。 编写仓促,错误之处难免,欢迎指正。2. 编程环境介绍时间:共120分钟。编程环境:Turbo C2.0常用快捷键: 使用Alt键菜单上的红色字母可打开相应的菜单,

4、例如:Alt+F 打开文件菜单(加载一个已存在的程序、保存程序均在此菜单下)Alt+R 打开运行菜单 与考试程序的切换,例如:Alt+Tab 切换考试程序与turbo CAlt+Enter 切换turbo C窗口大小 其它常用快捷键,例如:Alt+F5 查看程序运行结果F5:全屏/恢复F6:切换活动窗口本学期作为非计算机专业学生具体要求19章要求学生掌握理论的基础上自己设计程序10章以后要求学生理解知识点,能够读懂程序三、 福建省高等学校计算机应用水平等级考试 二级(C语言)考试大纲I、考试目的本考试考查考生以下知识与能力:1掌握语言的基本概念和语法知识;2了解C语言程序与函数的结构特点,主函

5、数及程序执行流程;3正确使用顺序、选择、循环三种结构,具有结构化程序设计的能力;4掌握常用算法,能运用算法描述工具流程图;5能使用Turbo C集成开发环境,完成源程序的编写、编译,运行与调试程序;6具有综合运用以上知识编写程序,解决计算与数据处理类问题的初步能力。II、考试内容一语言基础1C语言特点(识记);2C语言程序基本组成(识记):C语言程序的结构与主函数,程序的书写格式与规范;3基本数据类型:标识符与基本数据类型(识记),常量与变量(领会),内存的概念(识记);4基本输入、输出函数(领会):格式输入和格式输出函数,非格式化输入、输出函数;5运算符与表达式(简单应用):算术运算,增1与

6、减1运算,关系运算,逻辑运算,条件运算,位运算,赋值运算,类型转换,逗号运算,长度运算符,运算符的优先级与结合性。二程序控制结构1C语言的语句(识记):C语言语句的语法及书写规范;2顺序结构(领会):程序设计的流程图,程序控制结构中的顺序结构,复合语句;3分支结构(简单应用):if结构、if结构的多种形式,switch 结构与多分支结构;4循环结构(综合应用):当型循环,直到型循环,break语句与continue语句。三构造型数据1数组(综合应用):一维数组,字符数组,二维数组;2结构类型:结构类型的概念,结构类型定义及结构变量说明,结构变量的使用(领会),结构变量的初始化,结构数组的初始化

7、(识记);3联合类型(识记):联合类型的概念,联合类型定义和联合变量说明,联合类型的使用;4枚举型(识记):枚举型的定义和使用枚举型变量;5typedef的用途(识记):使用typedef定义新类型名。四指针1指针与指针变量(识记):指针的基本概念,指针变量的定义,指针变量的赋值;2指针运算符(领会):地址运算符与指针运算符、间接寻址;3指针与数组(简单应用):指针与一维数组,移动指针及两指针相减运算,指针比较,指针与字符串,指针与二维数组;4指针数组与指向指针的指针(识记):指针数组,定义指针数组,指针数组的应用,指向指针的指针,定义指向指针的指针变量,指向指针的指针变量的应用;5指针与结构

8、(领会):指向结构变量的指针变量,指向结构数组的指针变量。五函数1常见的系统库函数(识记):输入、输出函数(stdio.h): printf, scanf, getchar, putchar, puts,gets;字符与字符串函数(string.h):strcpy, strcat, strcmp, strlen;简单数学函数(math.h):sqrt, fabs, sin, cos, exp, log, log10, pow;2用户自定义函数(简单应用):函数定义、调用和说明,函数返回值,函数参数;3函数之间的数据传递(领会):函数数据按数值传递,函数数据按地址传递,利用函数返回值和外部变量进

9、行函数数据传递,结构变量作为函数参数传递;4函数的嵌套调用及递归调用(领会):函数的嵌套调用、函数的递归调用;5局部变量与全局变量(识记):局部变量与全局变量的定义、初始化及作用范围;6变量的存储类型与变量的初始化(领会):局部变量与全局变量的生存期,静态变量与动态变量的定义、初始化、作用范围及生存期;7编译预处理(领会):文件包含,无参宏定义。六文件1文件的基本概念,C语言中的两种文件(识记);2文件的打开、关闭和文件结束测试,文件的读写,文件的定位(识记)。七算法与编程(综合应用)1用C表达式或函数计算相对应的数学表达式;2连加与连乘的计算,级数的计算;3冒泡法排序与选择法排序;4矩阵的简

10、单运算与显示;5字符串操作;6文件编程应用。八使用Turbo C集成开发环境调试程序1源程序的编写、编辑与改错(领会);2集成环境下的求助Help(识记);3程序的编译与目标代码的生成(识记);4程序的调试(综合应用):单步运行程序,运行到光标处,断点设置,变量内容的跟踪、显示与修改;5了解Turbo C程序的常见错误提示(识记)。、考试说明一考试形式采用无纸化上机考试;考试环境: Windows XP 简体中文版, Turbo C 2.0或以上集成环境(IDE);考试时间: 90分钟。二试卷题型结构1选择题(20小题) 40%;2程序改错题(2小题) 20%;3程序填空题(2小题) 20%;

11、4编程题(2小题) 20%。四、 理论习题1. 第一章 第二章1. C语言的函数体由( )括起来。A) B) C) D) ()2. 下面叙述错误的是()A) 一个C源程序可由一个或多个函数组成B) 构成C语言源程序的基本单位是语句C) C源程序中大、小写字母是有区别的D) 若一条语句较长,可分写在下一行或多行上3. 下面叙述正确的是()A) 每行最多只能写两条语句B) main()函数必须位于源程序文件的开头C) 所有语句都必须以分号;结束D) 程序中必须含有自定义函数4. C源程序中main()函数的位置()。A) 必须位于程序的最前面B) 必须在自定义函数前面C) 必须在系统库函数后面D)

12、 可以在自定义函数后面5. 结构化程序设计不包括( )。A) 最优化B) 自顶而下,逐步细化C) 模块化设计D) 结构化编码6. 下面叙述中,( )不是结构化程序设计中的三种基本结构之一。A) 数据结构B) 选择结构C) 循环结构D) 顺序结构2. 第三章 数据类型、运算符和表达式1. ( )为非法的字符串常量A) “056”B) 123C) “ “D) “case”2. ( )为正确的用户标识符。A) min-5B) max_atC) 3_rowD) union3. 以下( )是正确的变量名。A) a.beeB) -p11C) intD) p_114. 以下( )是正确的变量名。A) 5fB

13、) ifC) f.5D) _f55. 以下( )是正确的常量。A) E-5B) 1E5.1C) a12D) 32766L6. 以下( )是不正确的字符串常量。A) abcB) 1212C) 0D) 7. 以下( )是正确的字符常量。A) cB) C) WD) 32a8. char型变量存放的是( )。A) ASCII代码值B) 字符本身C) 十进制代码值D) 内码值9. ( )为合法的常量。A) 5,236B) 1.23E+8C) b_kD) 3.21E-6.510. ()为正确的字符常量A) 084B) bcdC) 165D) 11. 若有定义:int b=-15;则()为正确的赋值表达式。

14、A) *b=6B) b=*5C) b+10=-5D) b+=b*312. 若有定义:int x=2;则正确的赋值表达式是( )。A) a-=(a*3)B) double(-a)C) a*3D) a*4=313. 若有定义:float x=2,y; int a=3 ;语句y=1*(x+a)/3;运行后,y的值为( )。A) 20B) 1666667C) 10D) 014. 若有定义:int a,b=5;语句a=(b/2)+b%2;运行后,a的值为( )A) 3B) 4C) 0D) 215. 下面叙述正确的是( )A) 2/3与2%3等价B) 5/(int)4.0与5/4等价C) +2与 3等价D

15、) +2与3等价16. 若有定义:int a,b=6;语句a=-b;运行后,a、b的值分别是()。A) 6 6B) 5 6C) 5 5D) 6 517. 若有定义:int i=3,j=6;则表达式(-i)*(j+)的值为( )。A) 10B) 18C) 15D) 1218. 语句x=(a=3,b=+a);运行后,x、a、b的值依次为( )。A) 3,3,4B) 4,4,3C) 4,4,4D) 3,4,319. 已知int a=R; 则正确的表达式是( )。A) a=int(3e2)B) 2*a=a+C) a=a+a=a+3D) a%1020. 已知char a=R; 则正确的赋值表达式是( )

16、。A) a=(a+)%4B) a+2=3C) a+=256-D) a=07821. 语句a=(3/4)+3%2;运行后,a的值为( )。A) 0B) 1C) 2D) 322. 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( )。A) 3,3B) 4,4C) 4,3D) 3,423. 设整型变量a为5,使b不为2的表达式是( )。A) b=(+a)/3B) b=6-(-a)C) b=a%2D) b=a/224. 设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( )。A) f+=gB) f-=g+2C) f*=g-6D) f/=g*1025. 若有定

17、义:int k,i=2,j=4;则表达式k=(+i)*(j-)的值是( )。A) 8B) 12C) 6D) 926. 若有定义: int a=3;语句a+=a-=a*a;运行后,a的值为()A) 6B) 0C) 12D) 327. 若有定义:float x=3.5,y=5.5;则表达式()的值为2.A) (int)x+y%7B) (int)(x+y)%7C) int(x+y)%7D) (x+y)%728. 若有定义:int b=-15; 则()为正确的赋值表达式。A) b=*5B) *b=6C) b+10=-5D) b+=b*329. 下面叙述正确的是( )。A) 2/3 与 2.0/3.0

18、等价B) (int)2.0/3 与 2/3 等价C) +5 与 6 等价D) A与A等价30. 若有定义int x=1,y=2,n=3;则()为正确的表达式。A) x=y*3,y=(x+n)/yB) (x+y)(y+n)C) float(y/n)D) x=ny31. 若有定义:int x,y,z;语句x=(y=z=3,+y,z+=y);运行后,x的值为()A) 7B) 3C) 8D) 632. 若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为( )。A) 3.75B) 3.5C) 3D) 433. 若有定义:float x=3.5,y=3.6,则表达式()的值

19、为6。A) (int)x+(int)yB) (int)(x+y)C) int(x+y)D) xy34. 下面叙述正确的是()。A) (3+9)+是正确的表达式B) “abc”+”xxx”是正确表达式C) c语言中整型与字符型变量的混合运算表达式的结果是整型D) 模运算符%两边运算数的数据类型是任意的35. 若有定义:int x;char c=A;则正确的赋值表达式是().说明A的ASCII码的十进制值为65,a的ASCII码的十进制值为97A) x=c+ABCB) x=c+32C) x=c+CBAD) x=ABC36. 若有定义:char c1=A,c2=B;语句printf(“%d+%d=%

20、d”,c1,c2,c1+c2); 运行后的结果为()。说明:A的ASCII码的十进制值为65A) 6565ABB) A+B=131C) 65+66=131D) A+B=AB37. 下面叙述错误的是()。A) 算术运算符中只有“*”、“/”优先级高于关系运算符B) 模运算符“%”是C语言基本的算术运算符C) 算术运算符中不包含“=”运算符D) 自加和自减运算符只能用于变量,而不能用于常量或表达式38. 下面叙述正确的是( )。A) 强制类型转换运算的优先级高于算术运算B) 若a和b是整型变量,(a+b)+是合法的C) A*B 是不合法的D) A+B是合法的39. 下面关于算术运算符的叙述,错误的

21、是( )。A) %(模运算符)的运算对象只能为整型量B) 算术运算符的结合方向是自左至右C) 自加和自减运算符的结合方向是自右至左D) 其运算对象不包含函数3. 第四章 顺序程序设计 1. Getchar()函数的功能是获取终端输入的( )A) 一个字符B) 多个字符C) 一个整型变量表达式D) 一个实型变量值2. 只能向终端输出一个字符的是().A) printf()函数B) getchar()函数C) scanf()函数D) putchar()函数3. 若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()A) printf(“%d*%d=

22、%dn”,a,b,a*b);B) printf(“a*b=%dn”,a*b);C) printf(“%d*%d=a*bn”,a,b);D) printf(“a*b=a*bn”);4. 若有定义float x;要从键盘输入数据6.02赋给x,则应选用()语句。A) scanf(“%8.2f”,&x);B) scanf(“%4.2f”,&x);C) scanf(“%f”,&x);D) scanf(“%1.2f”,&x);5. 若有定义:int x=1234,y=123,z=12;则语句printf(%4d+%3d+%2d, x, y, z);运行后的输出结果为( )。A) 123412312B)

23、12341234123412341231231231212C) 1234+1234+1234D) 1234+123+126. 若有语句int a;char c;scanf(“%3d%c”,&a,&c);为将整数135赋给a,字符6赋给c,正确的数据输入方式是()。说明:代表换行,_代表空格A) 135_6_B) 135_6C) 1356D) 13567. 若有定义:int a;则表达式()不能用来判断a值为奇数是“真”,偶数是“假”A) a%21B) !(a%2=0)C) a%2D) !(a%2)8. 若有定义:int a;且表达式!a的值为0,则表达式()的值为1.A) a= =0B) a=

24、0C) !(a0)D) a!=09. 若有定义:int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=ab)|(k=cd);运行后,k的值为()。A) 2B) -1C) 0D) 110. 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是( )。A) scanf(%d,&a);B) scanf(%lf,&a);C) scanf(%c,&a);D) scanf(%u,&a);4. 第五章 选择程序设计1. 若有定义:int x=1,y=2,z=3;则表达式( )的值为0。A) !(xy | xzD) xD) !3. 以下运算符中优先级最高的是( )。A

25、) B) |C) &D) +4. 若有定义:int x=3,y=4;则表达式 !x|y 的值为( )。A) 1B) 0C) 3D) 45. 若有定义:int i=7,j=8;则表达式 i=j|ib)&(y=cd) 的值为( )。A) 0B) 1C) 5D) 68. 若有定义: int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=ab)|(t=cd);运行后,k的值为( ).A) 1B) -1C) 2D) 09. 若有定义:int a=6,b=7,k=0,t=1;语句(k=ab)&(t=a=b);运行后,k、t的值分别是()A) 1B) 1C) 0D) 010. 若有定义:int

26、a=3,b=5,c=8;则表达式!(a-b)|(c-b)的值为()A) 1B) 0C) 3D) 211. 若有定义:int a;且表达式!a的值为0,则表达式()的值为1。A) a=0B) a!=0C) !(a0)D) a=012. 以下程序段运行后x的值为( )int a=3,b=6,x;x=(a=b)?a+;-b;A) 4B) 2C) 5D) 613. 若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为( )。if (a10) y=a+6;printf(“%dn”,y+a);A) 10B) 16C) 15D) 1117. 以下程序的运行结果是()。void main()int a,b=2,c=6; a=3; if(a6) a=a+b; else if(a=6) b=a+c; else a=b+c; printf(%dn,a);A) 8B) 9C) 5D) 618. 以下程序段的运行结果是().int s = 15;switch(s/4)case 1: printf(One );case 2: printf(Two );

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1