教辅c语言实验与习题集.docx

上传人:b****3 文档编号:11219153 上传时间:2023-05-29 格式:DOCX 页数:134 大小:906.11KB
下载 相关 举报
教辅c语言实验与习题集.docx_第1页
第1页 / 共134页
教辅c语言实验与习题集.docx_第2页
第2页 / 共134页
教辅c语言实验与习题集.docx_第3页
第3页 / 共134页
教辅c语言实验与习题集.docx_第4页
第4页 / 共134页
教辅c语言实验与习题集.docx_第5页
第5页 / 共134页
教辅c语言实验与习题集.docx_第6页
第6页 / 共134页
教辅c语言实验与习题集.docx_第7页
第7页 / 共134页
教辅c语言实验与习题集.docx_第8页
第8页 / 共134页
教辅c语言实验与习题集.docx_第9页
第9页 / 共134页
教辅c语言实验与习题集.docx_第10页
第10页 / 共134页
教辅c语言实验与习题集.docx_第11页
第11页 / 共134页
教辅c语言实验与习题集.docx_第12页
第12页 / 共134页
教辅c语言实验与习题集.docx_第13页
第13页 / 共134页
教辅c语言实验与习题集.docx_第14页
第14页 / 共134页
教辅c语言实验与习题集.docx_第15页
第15页 / 共134页
教辅c语言实验与习题集.docx_第16页
第16页 / 共134页
教辅c语言实验与习题集.docx_第17页
第17页 / 共134页
教辅c语言实验与习题集.docx_第18页
第18页 / 共134页
教辅c语言实验与习题集.docx_第19页
第19页 / 共134页
教辅c语言实验与习题集.docx_第20页
第20页 / 共134页
亲,该文档总共134页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

教辅c语言实验与习题集.docx

《教辅c语言实验与习题集.docx》由会员分享,可在线阅读,更多相关《教辅c语言实验与习题集.docx(134页珍藏版)》请在冰点文库上搜索。

教辅c语言实验与习题集.docx

教辅c语言实验与习题集

目录

一、前言:

2

二、福建省高等学校计算机应用水平等级考试考试大纲3

三、理论习题6

1.第一章6

2.第二章(略)7

3.第三章数据类型、运算符和表达式7

4.第四章、第五章程序控制结构(分支、循环语句)13

5.第六章数组(数组概念、二维数组、字符数组)19

6.第七章函数24

7.第八章善于利用指针25

8.第九章第十章(结构体、共用体、文件及其他)29

9.宏、预处理命令、位运算及其他31

四、章节编程训练33

1.数据类型、运算符与表达式33

2.分支语句编写程序,使其计算以下分段函数35

3.循环36

4.指针与数组44

五、真题训练56

1.编程题56

2.填空题:

68

3.改错题:

80

一、前言:

C是最常见的一种高级程序设计语言,高等院校理工科专业都开设“C程序设计”课程作为程序设计入门语言。

为此,福建省高校计算机水平考试委员会将其列入福建省高等院校计算机应用水平等级考试(二级C)考试科目,旨在让学生初步掌握程序设计的方法,为今后学习其他计算机课程打下基础,也为今后工作打下计算机应用基础。

目前,以TurboC为平台介绍各种算法、试题解答的书还不多。

笔者从2005年担任诚毅学院工科类专业的“C程序设计”课程教学,多年来注意搜集、整理、编写TurboC有关的算法例题、试题解答,在课堂上进行融通讲解,系统地从数值处理、图形输出、数据处理、过程模拟、算式求值、文件(字符、)指针处理、数字组合、图形设计八个方面详细地介绍算法例题、试题解答程序,着重培养学生分析问题、解决问题、调试纠错的能力,让学生在扩大计算机知识面的同时,提高实际编程能力、操作能力。

本习题册专为非计算机专业学生编写,主要强调学生实际动手编程能力的培养。

本学期要求学生达到以下水平:

1-9章要求学生掌握理论的基础上自己设计程序;

10章以后要求学生理解知识点,能够读懂程序。

编写仓促,错误之处难免,欢迎指正。

二、福建省高等学校计算机应用水平等级考试考试大纲

二级(C语言)

I、考试目的

本考试考查考生以下知识与能力:

1.掌握C语言的基本概念和语法知识;

2.了解C语言程序与函数的结构特点,主函数及程序执行流程;

3.正确使用顺序、选择、循环三种结构,具有结构化程序设计的能力;

4.掌握常用算法,能运用算法描述工具——流程图;

5.能使用TurboC集成开发环境,完成源程序的编写、编译,运行与调试程序;

6.具有综合运用以上知识编写程序,解决计算与数据处理类问题的初步能力。

II、考试内容

一.C语言基础

1.C语言特点(识记);

2.C语言程序基本组成(识记):

C语言程序的结构与主函数,程序的书写格式与规范;

3.基本数据类型:

标识符与基本数据类型(识记),

常量与变量(领会),

内存的概念(识记);

4.基本输入、输出函数(领会):

格式输入和格式输出函数,

非格式化输入、输出函数;

5.运算符与表达式(简单应用):

算术运算,增1与减1运算,关系运算,逻辑运算,条件运算,

位运算,赋值运算,类型转换,逗号运算,长度运算符,

运算符的优先级与结合性。

二.程序控制结构

1.C语言的语句(识记):

C语言语句的语法及书写规范;

2.顺序结构(领会):

程序设计的流程图,程序控制结构中的顺序结构,复合语句;

3.分支结构(简单应用):

if结构、if结构的多种形式,switch结构与多分支结构;

4.循环结构(综合应用):

当型循环,直到型循环,break语句与continue语句。

三.构造型数据

1.数组(综合应用):

一维数组,字符数组,二维数组;

2.结构类型:

结构类型的概念,结构类型定义及结构变量说明,结构变量的使用(领会),

结构变量的初始化,结构数组的初始化(识记);

3.联合类型(识记):

联合类型的概念,联合类型定义和联合变量说明,联合类型的使用;

4.枚举型(识记):

枚举型的定义和使用枚举型变量;

5.typedef的用途(识记):

使用typedef定义新类型名。

四.指针

1.指针与指针变量(识记):

指针的基本概念,指针变量的定义,指针变量的赋值;

2.指针运算符(领会):

地址运算符与指针运算符、间接寻址;

3.指针与数组(简单应用):

指针与一维数组,移动指针及两指针相减运算,指针比较,

指针与字符串,

指针与二维数组;

4.指针数组与指向指针的指针(识记):

指针数组,定义指针数组,指针数组的应用,

指向指针的指针,定义指向指针的指针变量,指向指针的指针变量的应用;

5.指针与结构(领会):

指向结构变量的指针变量,指向结构数组的指针变量。

五.函数

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.函数之间的数据传递(领会):

函数数据按数值传递,函数数据按地址传递,

利用函数返回值和外部变量进行函数数据传递,结构变量作为函数参数传递;

4.函数的嵌套调用及递归调用(领会):

函数的嵌套调用、函数的递归调用;

5.局部变量与全局变量(识记):

局部变量与全局变量的定义、初始化及作用范围;

6.变量的存储类型与变量的初始化(领会):

局部变量与全局变量的生存期,

静态变量与动态变量的定义、初始化、作用范围及生存期;

7.编译预处理(领会):

文件包含,无参宏定义。

六.文件

1.文件的基本概念,C语言中的两种文件(识记);

2.文件的打开、关闭和文件结束测试,文件的读写,文件的定位(识记)。

七.算法与编程(综合应用)

1.用C表达式或函数计算相对应的数学表达式;

2.连加与连乘的计算,级数的计算;

3.冒泡法排序与选择法排序;

4.矩阵的简单运算与显示;

5.字符串操作;

6.文件编程应用。

八.使用TurboC集成开发环境调试程序

1.源程序的编写、编辑与改错(领会);

2.集成环境下的求助Help(识记);

3.程序的编译与目标代码的生成(识记);

4.程序的调试(综合应用):

单步运行程序,运行到光标处,断点设置,变量内容的跟踪、显示与修改;

5.了解TurboC程序的常见错误提示(识记)。

Ⅲ、考试说明

一.考试形式

采用无纸化上机考试;

考试环境:

WindowsXP简体中文版,

TurboC2.0或以上集成环境(IDE);

考试时间:

90分钟。

  

二.试卷题型结构

  1.选择题(20小题)40%;

  2.程序改错题(2小题)20%;

  3.程序填空题(2小题)20%;

  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)可以在自定义函数后面

5.main()函数的位置()

A)必须位于用户自定义函数的前面

B)必须位于程序文件的最前面

C)可位于用户字定义函数之前,也可位于用户自定义函数之后

D)必须位于用户自定义函数的后面

6.结构化程序设计不包括()。

A)最优化

B)自顶而下,逐步细化

C)模块化设计

结构化编程

7.()是结构化程序设计应遵循的原则

A)根据需要可使用嵌套基本控制结构表示程序逻辑

B)应使用顺序、选择、循环三种基本控制结构表示程序逻辑

C)选用的控制结构可有多个入口和一个出口

D)为提高程序效率,应尽量使用goto语句

8.描述一个算法可以有不同的方式常见的有()

A)机器语言、汇编语言和高级语言

B)自然语言、流程图和伪代码

C)高级语言、字软语言和伪代码

D)汇编语言、高级语言和低级语言

9.下列叙述正确的是()

A)花括号“{}“只能用作函数体的定界符

B)注释部分可在C源程序单独占一行,也可以跟在一行语句后面

C)分号是C语句之间的分隔符,并不调试一条语句的结束

D)函数是C源程序的基本单位,所有函数名都可以由用户命名

10.下面叙述错误的是()

A)语句是构成C语言源程序的基本单位

B)所有语句都必须以分号“;”结束

C)C语言源程序必须包含一个main()函数

D)注释部分在程序编译和运行时不起作用

11.能将C源程序转换为目标程序的软件是()

A)编译程序

B)汇编程序

C)解释程序

D)编辑程序

12.下面叙述中,()不是结构化程序设计中的三种基本结构之一。

A)数据结构

B)选择结构

C)循环结构

D)顺序结构

2.第二章(略)

3.第三章数据类型、运算符和表达式

1.()为合法的常量。

A)5,236

B)1.23E+8

C)‘b_k’

D)3.21E-6.5

2.下列合法的浮点数的是()

A).66

B)123

C)2E0.5

D)E2

3.下列()是不正确的常量形式;

A)‘x5’

B)1.6E6

C)1E-2

D)“\0”

4.()为正确的用户标识符。

A)min-5

B)max_at

C)3_row

D)union

5.下列()是不合法的用户标识符

A)Div

B)_f6

C)_num

D)5x

6.合法的用户标识符是()

A)0.6f

B)_struct

C)for

D)5d

7.正确的常量是()

A)‘a3’

B)“\0”

C)1E6.1

D)E-3

8.整型常量没有()形式

A)十六进制

B)十进制

C)二进制

D)八进制

9.不合法的长整型常量是()

A)1E10

B)0L

C)6246245

D)(Long)6246245

10.以下()是正确的变量名。

A)a.bee

B)-p11

C)int

D)p_11

11.以下()是正确的变量名。

A)5f

B)if

C)f.5

D)_f5

12.以下()是正确的常量。

A)E-5

B)1E5.1

C)'a12'

D)32766L

13.以下()是不正确的字符串常量。

A)'abc'

B)"12'12"

C)"0"

D)""

14.以下()是正确的字符常量。

A)"c"

B)'\\'

C)'W'

D)"\32a"

15.()为非法的字符串常量

A)“056”

B)‘123’

C)““

D)“case”

16.下列不合法的字符常量是()

A)‘\\’

B)“a”

C)‘\t’

D)‘\n’

17.char型变量存放的是()。

A)ASCII代码值

B)字符本身

C)十进制代码值

D)内码值

18.()为正确的字符常量

A)‘\084’

B)‘bcd’

C)‘165’

D)‘@’

19.()运算符不能用于非整型数据运算

A)/

B)%

C)*

D)++

20.下列运算符中,优先级最高的是()

A)!

=

B)&&

C)+

D)++

21.若有定义:

intb=-15;则()为正确的赋值表达式。

A)*b=6

B)b=*5

C)b+10=-5

D)b+=b*3

22.若有定义:

floatx=2,y;inta=3;语句y=1*(x+a)/3;运行后,y的值为()。

A)2.0

B)1.666667

C)1.0

D)0

23.若有定义:

inta,b=5;语句a=(b/2)+b%2;运行后,a的值为()

A)3

B)4

C)0

D)2

24.若已经定义:

inti,j,k;doublex;则下列表达式中语法正确的是()

A)j+=(k=4)*j

B)x%5

C)i=k+2j

D)j+2=k

25.若已定义:

intn=10,i=4;则赋值运算n%=i+1执行后,n的值是()。

A)1

B)0

C)2

D)3

26.若已定义intk=5;floatd=3.5;则表达式d+k%3/2的值为()

A)4.5

B)3.5

C)4

D)5.5

27.下面叙述正确的是()

A)2/3与2%3等价

B)5/(int)4.0与5/4等价

C)++2与--3等价

D)++2与3等价

28.若有定义:

inta,b=6;语句a=--b;运行后,a、b的值分别是()。

A)66

B)56

C)55

D)65

29.若有定义:

inti=3,j=6;则表达式(--i)*(j++)的值为()。

A)10

B)18

C)15

D)12

30.若已经定义:

inti=5,j;则语句j=(++i)+(i--);运行后的j的值为()

A)11

B)9

C)10

D)12

31.若已经定义:

intx,y,z;则()是不正确。

A)x=y+=10*x;

B)x=10,y=6;

C)x=2.5;

D)z=y+x=30

32.若已经定义:

doublex;下列可以用于求x的绝对值的数学函数是()

A)fabs(x)

B)sqrt(x)

C)abs(x)

D)labs(x)

33.已知inta='R';则正确的表达式是()。

A)a=int(3e2)

B)2*a=a++

C)a=a+a=a+3

D)a%10

34.已知chara='R';则正确的赋值表达式是()。

A)a=(a++)%4

B)a+2=3

C)a+=256--

D)a='\078'

35.语句a=(3/4)+3%2;运行后,a的值为()。

A)0

B)1

C)2

D)3

36.设整型变量a为5,使b不为2的表达式是()。

A)b=(++a)/3

B)b=6-(--a)

C)b=a%2

D)b=a/2

37.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是()。

A)f+=g

B)f-=g+2

C)f*=g-6

D)f/=g*10

38.若有定义:

intk,i=2,j=4;则表达式k=(++i)*(j--)的值是()。

A)8

B)12

C)6

D)9

39.若有定义:

inta=3;语句a+=a-=a*a;运行后,a的值为()

A)-6

B)0

C)-12

D)-3

40.若有定义:

intb=-15;则()为正确的赋值表达式。

A)b=*5

B)*b=6

C)b+10=-5

D)b+=b*3

41.下面叙述正确的是()。

A)2/3与2.0/3.0等价

B)(int)2.0/3与2/3等价

C)++5与6等价

D)'A'与"A"等价

42.若有定义intx=1,y=2,n=3;则()为正确的表达式。

A)x=y*3,y=(x+n)/y

B)(x+y)(y+n)

C)float(y/n)

D)x=ny

43.若有定义:

floatx=3.5;intz=8;则表达式x+z%3/4的值为()。

A)3.75

B)3.5

C)3

D)4

44.若有定义:

floatx=3.5,y=3.6,则表达式()的值为6。

A)(int)x+(int)y

B)(int)(x+y)

C)int(x+y)

D)x+y

45.下面叙述正确的是()。

A)(3+9)++是正确的表达式

B)“abc”+”xxx”是正确表达式

C)c语言中整型与字符型变量的混合运算表达式的结果是整型

D)模运算符%两边运算数的数据类型是任意的

46.下列四个运算符,按优先级别由高到低排列的是()

A)!

、%、=、==

B)%、!

、==、=

C)!

、%、==、=

D)!

、=、%、==

47.若已定义:

intx=3,y=2;则下列不正确的赋值表达式是()

A)x-=x+=y;

B)x=y+2

C)x-y=1;

D)x=2,y=2;

48.若有定义:

intx;charc=’A’;则正确的赋值表达式是().说明‘A’的ASCII码的十进制值为65,‘a’的ASCII码的十进制值为97

A)x=c+’ABC’

B)x=c+32

C)x=c+’CBA’

D)x=’ABC’

49.若有定义:

charc1=’A’,c2=’B’;语句printf(“%d+%d=%d”,c1,c2,c1+c2);运行后的结果为()。

说明:

‘A’的ASCII码的十进制值为65

A)65+65=AB

B)A+B=131

C)65+66=131

D)A+B=AB

50.下面叙述错误的是()。

A)算术运算符中只有“*”、“/”优先级高于关系运算符

B)模运算符“%”是C语言基本的算术运算符

C)算术运算符中不包含“=”运算符

D)自加和自减运算符只能用于变量,而不能用于常量或表达式

51.下面关于算术运算符的叙述,错误的是()。

A)%(模运算符)的运算对象只能为整型量

B)算术运算符的结合方向是"自左至右"

C)自加和自减运算符的结合方向是"自右至左"

D)其运算对象不包含函数

52.若已定义:

intx=11;doubley=3.5;则表达式y/2+x%2/2的值是()

A)3.5

B)1.0

C)1.5

D)1.75

53.若已经定义:

intx=2,y;则执行语句y=x%2+(--x);后y的值是()

A)0

B)3

C)1

D)2

54.若已经定义:

doublex=3,y;intz=2;则语句y=(x+z)/2*z;执行后,y的值为()

A)4.0

B)1.0

C)1.25

D)5.0

55.若已经定义:

doublex,y;则下列表达式不能正确计算(x-2)/3*y的是()

A)(x-2)*y*1/3

B)y/3*(x-2)

C)y*(x-2)/3

D)(1/3)*(x-2)*y

56.若已经定义:

doublex=2.5;则求x的平方的正确的函数调用是()

A)sqrt(x)

B)pow(x,2)

C)exp(x)

D)rand(2,x)

57.若已经定义:

doublex;则exp(x)+sqrt(x)/2所表示的数学式是()

58.对应代数表达式3a÷(b+c),C语言的表达式是()

A)3*a\(b+c)

B)3a/(b+c)

C)3*a/b+c

D)3*a/(b+c)

59.若已经定义:

doublea,b,c;下列表达式中与(a-b)*c/2计算结果不相符合的是()。

A)(a-b)*c/2

B)(a-b)*c*1/2

C)c/2*(a-b)

D)(1/2)*(a-b)*c

60.若已经定义:

inta=1,b=2,c=2;则表达式(a+b)/1.0/c的值是()

A)0.0

B)1.0

C)1

D)1.5

61.下面叙述正确的是()。

A)强制类型转换运算的优先级高于算术运算

B)若a和b是整型变量,(a+b)++是合法的

C)'A'*'B'是不合法的

D)"A"+"B"是合法的

62.若已定义:

intx=2,y=4;则表达式(double)x/y+y%x的值是()

A)2

B)2.5

C)0

D)0.5

63.若已经定义:

longinti;charc;doublex;则表达式i*c+(int)x的结果的类型是()

A)longint

B)int

C)double

D)char

64.若已经定义:

intn=2;doublex=2.5;则下列表达式中不符合语法的是()

A)(int)(x/n)

B)(int)x%n

C)(int)(x%n)

D)(int)x/n

65.若已经定义:

inti=2,j=2;floatx=2.5,y=3.5;则表达式(float)(i+j)/2+(int)x%(int)y的值为()

A)4.5

B)4.0

C)3.0

D)3.5

66.若有定义:

floatx=3.5,y=5.5;则表达式()的值为2.

A)(int)x+y%7

B)(int)(x+y)%7

C)int(x+y)%7

D)(x+y)%7

67.若有定义:

intx=2;则正确的赋值表达式是()。

A)a-=(a*3)

B)double(-a)

C)a*3

D)a*4=3

68.若已经定义:

intb=7;floata=2.5,c=4.0;则表达式a+(b/2*(int)(a+c))%4的值是()

A)4.5

B)5.5

C)2.5

D)3.5

69.getchar()函数的功能是获取终端输入的()

A)一个字符

B)多个字符

C)一个整型变量表达式

D)一个实型变量值

70.只能向终端输出一个字符的是().

A)printf()函数

B)getchar()函数

C)scanf()函数

D)putchar()函数

71.若有定义inta=8,b=5;要实现输出形式为:

8*5=40,正确的printf()函数调用语句是()

A)printf(“%d*%d=%d\n”,a,b,a*b);

B)printf(“a*b=%d\n”,a*b);

C)printf(“%d*%d=a*b\n”,a,b);

D)printf(“a*b=a*b\n”);

72.若有定义floatx;要从键盘输入数据6.02赋给x,则应选用()语句。

A)scanf(“%8.2f”,&x);

B)scanf(“%4.2f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

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

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