C语言实验与习题final_c语言试卷解析final

其他范文 时间:2020-02-27 02:03:33 收藏本文下载本文
【www.daodoc.com - 其他范文】

C语言实验与习题final由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言试卷解析final”。

一、目录一、二、1.2.三、四、1.2.3.4.5.6.7.8.9.10.11.12.五、1.2.3.六、1.2.3.4.5.6.1)2)

七、目录.............................................................................................................................................................................1 编程环境介绍.............................................................................................................................................................2

前言:..............................................................................................................................................................2 编程环境介绍...................................................................................................................................................2 福建省高等学校计算机应用水平等级考试 二级(C语言)考试大纲.................................................................3 理论习题.....................................................................................................................................................................6

第一章 第二章.................................................................................................................................................6 第三章 数据类型、运算符和表达式.............................................................................................................7 第四章 顺序程序设计...................................................................................................................................10 第五章 选择程序设计...................................................................................................................................11 第六章 循环控制...........................................................................................................................................14 第七章 数组..................................................................................................................................................15 第八章 函数..................................................................................................................................................18 第九章 预处理命令.......................................................................................................................................21 第十章 指针..................................................................................................................................................23 第十一章 结构体与共用体...........................................................................................................................27 第十二章 位运算...........................................................................................................................................30 第十三章 文件...............................................................................................................................................30 实验部分...................................................................................................................................................................32 编程题............................................................................................................................................................32 填空题............................................................................................................................................................40 改错题............................................................................................................................................................47 真题训练(历届试题选编)....................................................................................................................................54 数据类型、运算符与表达式.........................................................................................................................54 分支语句........................................................................................................................................................58 循环................................................................................................................................................................65 数组................................................................................................................................................................72 综合题............................................................................................................................................................79 程序改错........................................................................................................................................................89 要求................................................................................................................................................................89 习题................................................................................................................................................................89 教学大纲...................................................................................................................................错误!未定义书签。

二、编程环境介绍

1.前言:

C是最常见的一种高级程序设计语言,高等院校理工科专业都开设“C程序设计”课程作为程序设计入门语言。为此,福建省高校计算机水平考试委员会将其列入福建省高等院校计算机应用水平等级考试(二级C)考试科目,旨在让学生初步掌握程序设计的方法,为今后学习其他计算机课程打下基础,也为今后工作打下计算机应用基础。

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

2.编程环境介绍

时间:共120分钟。编程环境:Turbo C2.0 常用快捷键:  Alt键+菜单上的红色字母可打开相应的菜单,例如:

Alt+F 打开文件菜单(加载一个已存在的程序、保存程序均在此菜单下)Alt+R 打开运行菜单 

Alt+Tab 切换考试程序与turbo C Alt+Enter 切换turbo C窗口大小 

Alt+F5 查看程序运行结果 F5:全屏/恢复 F6:切换活动窗口

本学期作为非计算机专业学生具体要求

1-9章要求学生掌握理论的基础上自己设计程序 10章以后要求学生理解知识点,能够读懂程序2

三、福建省高等学校计算机应用水平等级考试 二级(C语言)考试大纲

I、考试目的本考试考查考生以下知识与能力: 1.掌握C语言的基本概念和语法知识;

2.了解C语言程序与函数的结构特点,主函数及程序执行流程; 3.正确使用顺序、选择、循环三种结构,具有结构化程序设计的能力; 4.掌握常用算法,能运用算法描述工具——流程图;

5.能使用Turbo C集成开发环境,完成源程序的编写、编译,运行与调试程序; 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.变量的存储类型与变量的初始化(领会):

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

C语言练习题

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

文件包含,无参宏定义。

六.文件

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

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

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

1.用C表达式或函数计算相对应的数学表达式; 2.连加与连乘的计算,级数的计算; 3.冒泡法排序与选择法排序; 4.矩阵的简单运算与显示; 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%;

4.编程题(2小题)20%。

期末复习题集

四、理论习题

1.第一章 第二章

1.C语言的函数体由()括起来。A)

B)

{}

C)

[]

D)

()2.下面叙述错误的是()A)一个C源程序可由一个或多个函数组成 B)构成C语言源程序的基本单位是语句 C)C源程序中大、小写字母是有区别的 D)若一条语句较长,可分写在下一行或多行上

3.下面叙述正确的是()A)每行最多只能写两条语句

B)main()函数必须位于源程序文件的开头

4.C源程序中main()函数的位置()。A)必须位于程序的最前面 B)必须在自定义函数前面

5.结构化程序设计不包括()。A)最优化

B)自顶而下,逐步细化

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

B)

选择结构

C)所有语句都必须以分号;结束 D)

程序中必须含有自定义函数

C)必须在系统库函数后面 D)

可以在自定义函数后面

C)模块化设计 D)

结构化编码

C)

循环结构

D)顺序结构

C语言练习题

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

1.()为非法的字符串常量 A)“056”

B)

„123‟

2.()为正确的用户标识符。A)min-5

B)

max_at 3.以下()是正确的变量名。A)a.bee

B)

-p11 4.以下()是正确的变量名。A)5f

B)

if 5.以下()是正确的常量。A)E-5

B)

1E5.1 6.以下()是不正确的字符串常量。A)'abc'

B)

“12'12” 7.以下()是正确的字符常量。A)“c”

B)

'' 8.char型变量存放的是()。A)ASCII代码值 B)字符本身

9.()为合法的常量。A)5,236

B)

1.23E+8 10.()为正确的字符常量 A)‘84’

B)

‘bcd’

11.若有定义:int b=-15;则()为正确的赋值表达式。A)*b=6

B)

b=*5 12.若有定义:int x=2;则正确的赋值表达式是()。A)a-=(a*3)

B)

double(-a)13.若有定义:float x=2,y; int a=3 ;语句y=1*(x+a)/3;运行后,y的值为(A)2.0

B)

1.666667 14.若有定义:int a,b=5;语句a=(b/2)+b%2;运行后,a的值为()A)3

B)15.下面叙述正确的是()

A)2/3与2%3等价

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

16.若有定义:int a,b=6;语句a=--b;运行后,a、b的值分别是()。A)6 6

B)17.若有定义:int i=3,j=6;则表达式(--i)*(j++)的值为()。

C)

C)

3_row

C)

int

C)

f.5

C)

'a12'

C)

“0”

C)

'W'

C)十进制代码值 D)

内码值

C)

‘b_k’

C)

‘165’

C)

b+10=-5

C)a*3)。C)

1.0

C)

0

C)++2与- -3等价D)

++2与3等价

C)

D)

“case”

D)

union

D)

p_11

D)

_f5

D)

32766L

D)

“ ”

D)

“32a”

D)

3.21E-6.5

D)

‘@’

D)

b+=b*3

D)

a*4=3

D)

0

D)

D)

期末复习题集

A)10

B)18.语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。A)3,3,4

B)

4,4,3 19.已知int a='R';则正确的表达式是()。A)a=int(3e2)B)2*a=a++ 20.已知char a='R';则正确的赋值表达式是()。A)a=(a++)%4

B)

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

B)22.若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。A)3,3

B)

4,4 23.设整型变量a为5,使b不为2的表达式是()。A)b=(++a)/3

B)

b=6-(--a)24.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是()。A)f+=g

B)

f-=g+2 25.若有定义:int k,i=2,j=4;则表达式k=(++i)*(j--)的值是()。A)8

B)26.若有定义: int a=3;语句a+=a-=a*a;运行后,a的值为()A)-6

B)

0 27.若有定义:float x=3.5,y=5.5;则表达式()的值为2.A)(int)x+y%7 B)(int)(x+y)%7 28.若有定义:int b=-15;则()为正确的赋值表达式。A)b=*5

B)

*b=6 29.下面叙述正确的是()。A)2/3 与 2.0/3.0 等价 B)(int)2.0/3 与 2/3 等价

30.若有定义int x=1,y=2,n=3;则()为正确的表达式。A)x=y*3,y=(x+n)/y B)(x+y)(y+n)31.若有定义:int x,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为()A)7

B)32.若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为()。A)3.75

B)

3.5 33.若有定义:float x=3.5,y=3.6,则表达式()的值为6。A)(int)x+(int)y B)(int)(x+y)

C)

C)

4,4,4

C)a=a+a=a+3 D)

a%10

C)

a+=256--

C)

C)

4,3

C)

b=a%2

C)

f*=g-6

C)

C)

-12

C)int(x+y)%7 D)

(x+y)%7

C)

b+10=-5

C)++5 与 6 等价 D)

'A'与“A”等价

C)float(y/n)D)

x=ny

C)

C)

C)int(x+y)D)

x+y

D)

D)

3,4,3

D)

a='78'

D)

D)

3,4

D)

b=a/2

D)

f/=g*10

D)

D)

-3

D)

b+=b*3

D)

D)

C语言练习题

34.下面叙述正确的是()。A)(3+9)++是正确的表达式 B)“abc”+”xxx”是正确表达式

C)c语言中整型与字符型变量的混合运算表达式的结果是整型 D)模运算符%两边运算数的数据类型是任意的35.若有定义:int x;char c=‟A‟;则正确的赋值表达式是().说明‘A’的ASCII码的十进制值为65,‘a’的ASCII码的十进制值为97 A)x=c+’ABC’ C)x=c+’CBA’ B)x=c+32

D)

x=’ABC’

36.若有定义:char c1=‟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 37.下面叙述错误的是()。A)算术运算符中只有“*”、“/”优先级高于关系运算符 B)模运算符“%”是C语言基本的算术运算符 C)算术运算符中不包含“=”运算符

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

38.下面叙述正确的是()。A)强制类型转换运算的优先级高于算术运算 B)若a和b是整型变量,(a+b)++是合法的 C)'A'*'B' 是不合法的 D)“A”+“B”是合法的39.下面关于算术运算符的叙述,错误的是()。A)%(模运算符)的运算对象只能为整型量 B)算术运算符的结合方向是“自左至右” C)自加和自减运算符的结合方向是“自右至左” D)其运算对象不包含函数

期末复习题集

3.第四章 顺序程序设计

1.Getchar()函数的功能是获取终端输入的(A)B)一个字符 多个字符)

C)D)

一个整型变量表达式 一个实型变量值

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

3.若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()A)B)

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

5.若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”, x, y, z);运行后的输出结果为()。A)B)

6.若有语句int a;char c;scanf(“%3d%c”,&a,&c);为将整数135赋给a,字符‘6’赋给c,正确的数据输入方式是()。说明:代表换行,_代表空格 A)B)

7.若有定义:int a;则表达式()不能用来判断a值为奇数是“真”,偶数是“假” A)

8.若有定义:int a;且表达式!a的值为0,则表达式()的值为1.A)B)

9.若有定义:int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=a

10.已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()。A)B)

scanf(“%d”,&a);scanf(“%lf”,&a);

C)D)

scanf(“%c”,&a);scanf(“%u”,&a);2

B)

C)

0

D)a= =0 a=0

C)D)

!(a0)a!=0 a%2==1

B)

!(a%2==0)

C)

a%2

D)

!(a%2)135_6_ 135_6

C)D)

1356 1356 123412312 ***41231231231212

C)D)

1234+1234+1234 1234+123+12 scanf(“%8.2f”,&x);scanf(“%4.2f”,&x);

C)D)

scanf(“%f”,&x);scanf(“%1.2f”,&x);printf(“%d*%d=%dn”,a,b,a*b);printf(“a*b=%dn”,a*b);

C)D)

printf(“%d*%d=a*bn”,a,b);printf(“a*b=a*bn”);printf()函数 getchar()函数

C)D)

scanf()函数 putchar()函数

C语言练习题

4.第五章 选择程序设计

1.若有定义:int x=1,y=2,z=3;则表达式()的值为0。A)!((xy || x

D)

x

B)

=

C)

> 3.以下运算符中优先级最高的是()。A)>

B)

||

C)

&& 4.若有定义:int x=3,y=4;则表达式!x||y 的值为()。A)1

B)

0

C)5.若有定义:int i=7,j=8;则表达式 i>=j||i

C)0 B)变量i的值

D)

变量j的值

6.若有定义:int x,a;赋值语句a=(x%3= =0)?0:1;与()语句不等价。

A)If(!(x%3= =0))a=1;else a=0;C)If(x%3!=0)a=1;else a=0;B)If(x%3)a=0;else a=1;

D)

If(x%3= =0)a=0;else a=1;7.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式(x=a>b)&&(y=c>d)的值为()。A)0

B)

C)8.若有定义: int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=a

B)

C)9.若有定义:int a=6,b=7,k=0,t=1;语句(k=a

B)

C)

0 10.若有定义:int a=3,b=5,c=8;则表达式!(a-b)||(c-b)的值为()A)1

B)

0

C)11.若有定义:int a;且表达式!a的值为0,则表达式()的值为1。A)a=0 C)!(a0)B)a!=0

D)

a==0 12.以下程序段运行后x的值为()int a=3,b=6,x;x=(a==b)?a++;--b;A)4

B)

C)13.若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为()。if(a

D)

a=2,b=1,c=1

D)!

D)

+

D)

D)

D)

0

D)

0

D)

D)

期末复习题集

14.以下程序段运行后变量a的值为()。int x=6,y=5;int a;a=(--x==y++)?x:y+1;A)0

B)15.C语言对if嵌套语句的规定:else总是与()配对。A)第一个if B)之前最近的且尚未配对的if 16.以下程序段运行时,若从键盘输入5,则运行结果是()。int a,y=10;scanf(“%d”,&a);if(a>10)y=a+6;printf(“%dn”,y+a);A)10

B)17.以下程序的运行结果是()。void main(){int a,b=2,c=6;a=3;if(a>6)a=a+b;else if(a==6)

b=a+c;else

a=b+c;printf(“%dn”,a);} A)8

B)18.以下程序段的运行结果是().int s = 15;switch(s/4){case 1:

printf(“One ”);case 2:

printf(“Two ”);case 3: printf(“Three ”);default:

printf(“Over ”);} A)Three Over

B)

One Over

C)

C)缩进位置相同的if D)

之前最近的if

C)

C)

C)

Two Over

D)

D)

D)

D)

Three

C语言练习题

以下程序段的运行结果是()。int s=15;switch(s/4){default: printf(“Over ”);

case 1:

printf(“One ”);

break;

case 2:

printf(“Two ”);} A)Two

B)

Over Two

C)

Over One

D)

One 19.期末复习题集

5.第六章 循环控制

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

A)在for循环中,不能用break语句跳出循环体

B)For循环的循环体可包含多条语句,但必须用花括号{}括起来 C)For循环是先执行循环体语句,后判断表达式 D)For循环只能用于循环次数已经确定的情况

2.若有定义:int i,x=0;语句for(i=1;i

D)

i=1;for(;i

B)

C)

D)4.若有定义:int i,x;()不是死循环 A)for(i=10;;i--);C)for(x=5;x>0;x--);B)while(x=1);

D)

for(;;i+=2);5.以下程序运行后x的值为()。int i=0,x=2;while(i++

B)

C)

D)6.对于整型变量x,与while(!x)等价的是()。A)while(x!=0)C)while(x!=1)B)while(x==0)

D)

while(~x)7.对于整型变量x和y,语句

for(x=0,y=0;(y!=123)&&(x

)。A)4次

B)

0次

C)

123次

D)8.在c语言中while循环和do--while循环的主要区别是()。A)do--while循环体内可以使用break语句,while循环体内不能使用break语句 B)do--while循环体内可以使用continue语句,while循环体内不能使用continue语句 C)while的循环体至少无条件执行一次,do--while的循环体不是 D)do--while的循环体至少无条件执行一次,while的循环体不是

9.设有整型变量x,下述语句()不会出现死循环。A)for(;;x+=1);

C)while(1){x++;} B)for(;(x=getchar())!='n';);

D)

for(x=10;;x--);

3次

C语言练习题

6.第七章 数组

1.下面叙述错误的是()A)数组中每个元素都属于同一个数据类型 B)C语言数组长度在定义数组时可不作确定 C)C语言数组名称是数组在内存中的首地址

D)C语言规定可逐个引用数组元素但不能一次引用整个数组。

2.()是正确的数组定义。A)int n=5;int arr[n];B)int n;n=5;int arr[n];3.下列数组声明中,正确的是()。A)int a[5]={0};B)int a[]={0 1 2};4.已知 int a[10];则对a数组元素引用不正确的是()。A)a[10]

B)

a[3+5] 5.设有如下数组定义:

char str[8]={ “FuJian”};则分配给数组str的存储空间是()个字节。A)6

B)6.下列数组声明中,正确的是()。A)int a[10];B)int n=10,a[n];7.若有定义:int a[3]={0,1,2};则a[1]的值为()。A)0

B)8.有如下定义

int a[][3]={1,2,3,4,5,6,7,8};则数组a的行数是()。A)2

B)9.若有定义:int a[10],i=2;能正确引用a数组元素的是().A)a[9+i]

B)

a[10] 10.以下数组定义中,正确的是()。A)int a[2][3]={1,2,3,4,5,6,7};B)int a[][]={{1,2,3},{4,5,6},{7,8,9}};C)int a[2][]= {1,2,3,4,5,6};D)int a[][4]= {6};11.以下能对一维数组a进行正确初始化的语句是()。A)int a[5]=(0,0,0,0,0);B)int a[5]=[0];12.以下程序段运行后x的值为()。

C)int arr[10];D)

int N=5,arr[N];

C)int a[5]=0;D)

int a[];

C)

a[10-10]

D)

C)

D)

C)int N=10;int a[N];

D)

int n;scanf(“%d”,&n);int a[n];

C)

D)

C)

D)

C)

a[10-i]

D)

C)int a[5]={1,2,3,4,5,6,7};D)

int a[]={0};

a[5]

无法确定的a(7)

期末复习题集

Int a[8]={1,2,3,4,5,6,7,8},i,x=0;For(i=1;i

x=x+a[i];A)18

B)

C)13.若有定义:int arr[15],n=5;无法正确引用arr数组元素的是()A)arr[n]

B)

arr[0]

C)

arr[10+n] 14.C语言中,二维数组元素在内存中的存放顺序是()

A)随机存放 C)由用户自己定义 B)按行存放

D)

按列存放 15.以下程序段的运行结果是()int t[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(“%dn”,t[1][1]);A)4

B)

C)16.以下程序段运行后x的值为()int a[]={1,2,3,4,5,6,7,8};int i,x,*p;x=1;p=&a[1];for(i=0;i

B)

120

C)17.若有定义:int a[3][4]={{1,2},{3,4},{5,6,7}};则a[1][1]的值为()。A)3

B)

C)18.以下程序段运行后s的值是()。int a[3][3]={1,2,3,1,2,3,1,2,3};int i,j,s=0;for(i=0;i

for(j=i;j

s+=a[i][j];A)15

B)

C)19.设有如下程序段:

int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;for(i=0;i

for(j=0;j

s=s+a[i][j];则执行该程序段后,s的值是()。A)0

B)

C)20.若有定义:int i=0,x=0;int a[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为()。for(;i

B)

C)21.以下程序段的运行结果是()char a[]=”abcdef”;

D)

D)

arr[15-n]

D)

D)

D)

D)

D)

D)

C语言练习题

char b[]=”xyz”;strcpy(a,b);printf(“%c”,a[2]);A)22.z

B)

y

C)

b

D)

c 若有定义:char str1[10],str2[10]=”Fujian”;,能将字符串”Fujian”赋给数组str1的正确语句是()A)strcpy(str2,str1);C)B)str1=”Fujian”;

D)

23.以下程序段的运行结果是()char str[]={“FuJian”};printf(“%d”,strlen(str));A)9

B)

C)

24.以下程序段的运行结果是()。char a[]=“abc ”;char b[]=“xyz”;char c[10];strcpy(c,a);strcat(c,b);printf(“%s”,c);A)abc xyz

B)

abc

C)

25.以下程序段运行后a的值为()int a=2;a=strcmp(“mi”,”mi”);A)true

B)

0

C)

26.设有以下变量定义:

char str1[]=“string”,str2[8],*str3,*str4=“string”;()是正确的。A)strcpy(str1,“China”);C)B)str2=“China”;

D)

27.以下程序段运行后屏幕输出为()。char a[]=“abcmis”;printf(“%d”,strlen(a));A)5

B)

C)

28.若有定义:char a[]=“abcdef”;char b[]=“xyz”;则以下程序段运行后屏幕输出为()。strcpy(a,b);printf(“%c”,a[2]);A)c

B)

z

C)

29.若有定义:int a=2;则语句a=strcmp(“mi”,“mi”);运行后a的值为()。A)1

B)

0

C)

strcopy(str1,str2);strcpy(str1,str2);

xyzabc

strcpy(*str3,“China”);strcpy(str4[0],“China”);

D)

D)

xyz

D)

D)

D)

d

D)

期末复习题集

7.第八章 函数

1.以下程序的运行结果是()int a=2,b=3;int min(int a, int b){ int c;c=a

printf(“%d”,min(a,b));} A)2,3

B)

C)2.C语言中,若缺省定义函数返回值类型,则改函数默认返回值类型是()A)double

B)

int

C)3.以下程序的运行结果是()int f(int c){ c+=2;return c;} main(){ int a=2;c=5;a=f(a);printf(“%d %dn”,a,c);} A)4 5

B)4

C)4.C语言中,数组名作为函数调用的实参时,下面叙述正确的是()A)传递给形参的是数组第一个元素的值 B)传递给形参的是数组元素的个数 C)传递给形参的是数组中全部元素的值

D)形参数组中各元素值的改变会使实参数组相对元素的值同时发生变化

5.以下程序的运行结果是()。int fun(int array[3][3]){ int j;for(j=0;j

long5

D)

D)

void

D)4

C语言练习题

for(j=0;j

B)

0 1 2 6.以下程序的运行结果是()int fun(int array[3][3]){ int j;for(j=0;j

B)0 4 7.以下程序运行后屏幕输出为()。

#include int f(int x,int y){

return(x+y);} main(){

int a=2,b=3,c;

c=f(a,b);

printf(“%d+%d=%dn”,a,b,c);} A)0

B)

2+3=0 8.以下程序运行后屏幕输出为()。

#include int a=2,b=3;int max(int a,int b){

int c;

c=a>b?a:b;

return(c);} main(){

int a=4;

C)0 4

C)1 5

C)

3+2=5

D)2 3

D)2 3

D)

2+3=5

期末复习题集

printf(“%d”,max(a,b));} A)2,3

B)9.以下程序的运行结果是()。int fun(int array[4][4]){ int j;

for(j=0;j

printf(“n”);} main(){ int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};

fun(a);} A)2 0 0 5

B)0 0 4 10.设有如下函数定义: int fun(char *str){ char *p=str;

while(*p!= '')p++;

return(p-str);} 则以下语句执行后的输出结果是()。printf(“%dn”,fun(“Student”));A)7

B)11.以下程序运行后屏幕输出为()。

#include void f(int i){

int a=2;

a=i++;

printf(“%d,”,a);} main(){

int a=1,c=3;

f(c);

a=c++;

printf(“%d”,a);} A)4,3

B)

3,3

C)

C)

0 1 2 0

C)

C)

4,5

D)

D)

0 4 5 0

D)

D)

3,5

C语言练习题

8.第九章 预处理命令

1.若有定义:#define F 2+3 ,则表达式F*F的值为()A)17

B)

C)

D)2.下面叙述错误的是()A)B)C)“#define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICE “#include”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令 C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 D)宏定义也是C语句,必须在行末加分号

3.下面叙述正确的是()A)预处理命令也是C语句,必须以分号结束 B)宏展开不占用运行时间,只占用编译时间 C)宏名必须用大写字母表示

D)一个源程序只能有一个预编译处理命令行

4.以下程序运行后,屏幕输出为()。#define MIN(a,b)((a)

z=2*MIN(x,y);

printf(“%d”,z);} A)2

B)

C)

5.若有定义:#define PI 3,则表达式PI*2*2的值为()。A)12

B)

C)

6.若有以下宏定义,#define MOD(x,y)x%y 则执行以下程序段后,z的值是()。int z,a=15,b=100;z=MOD(b,a);A)100

B)

C)

7.以下程序的运行结果是()。#define X a+b main(){ int a=3,b=4,s1;

s1=2*X;

printf(“%dn”,s1);} A)6

B)

C)

D)

D)

不确定

D)

D)

期末复习题集

8.若有定义:

typedef int NUM[100];NUM n;则()语句是正确的。A)n[0]=2;

B)

n=2;

C)

NUM=2;

D)

NUM=n;9.若有定义:

typedef int * INTEGER;INTEGER p;则下面叙述正确的是()。A)p是与INTEGE相同的类型 B)p是一个整型变量

C)程序中可用INTEGER定义int类型指针变量 D)程序中可用INTEGER定义int类型变量

10.以下叙述中,正确的是()。A)“#define PRICE=30”定义了与30等价的符号常量PRICE B)预编译处理命令行都必须以“#”开头 C)宏名只能包含大写字母和数字字符 D)在程序的一行上可以书写几个有效的宏定义

11.以下的叙述中不正确的是()。A)宏展开不占用运行时间,只占用编译时间 B)宏名无类型

C)宏名必须用大写字母表示 D)预处理命令行都必须以#号开始

C语言练习题

9.第十章 指针

1.若有定义:int a=4,*p=&a;,则以下()均表示地址。A)a,p

B)

a,*p

C)

&a,p

D)

&a,*p 2.若有定义:int *p1,*p2;,则不能用于指针变量p1、p2之间的运算符是()。A)+

B)

= 3.执行以下程序段的输出结果是()。

int a=10,*p=&a;

printf(“%d”,++*p);A)10 B)11 4.以下程序段运行后x的值为()int a[]={1,2,3},b[]={4,3,3};int *p,*q;int i,x;p=a;q=b;for(i=0;i

if(*(p+i)= =*(q+i))

x=*(p+i)*2;A)不确定

B)5.以下程序段运行后*(++p)的值为()。

char a[5]=“work”;char *p;p=a;A)'w' B)存放'w'的地址

6.以下程序段运行后*(p+3)的值为()。

char a[]=“good”;char *p;p=a;A)'d' B)'' 7.设有以下语句,则()是对a数组元素的不正确引用,其中0≤i<10。

int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;A)a[p-a]

B)

*(&a[i])8.以下程序段运行结果是()int x[3]={1,2,3};int *p;

C)

= =

C)变量a的地址 D)

变量a的地址 + 1

C)

C)'o'

D)

存放'o'的地址

C)存放'd'的地址 D)

'o'

C)

p[i]

D)

D)

D)

*(*(a+i))

期末复习题集

p=x;for(p++;p

B)3

C)9.以下程序的运行结果是()。main(){int x,y;int *p,*q,*t;x=23;y=45;p=&x;q=&y;t=p;p=q;q=t;printf(“%d,%dn”,x,y);} A)23,23

B)

23,45

C)

45,45 10.下列程序段运行后,()对数组a元素的引用是错误的。(其中0≤i

int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;A)*(p[i]+j)C)*(*(a+i)+j)B)p[i][j]

D)

*(*(p+i)[j])11.若有定义:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];p=a;,()对数组a元素的引用是正确的。A)(**p)[2]

B)

**(p+4)

C)

*(p[2]+3)12.以下程序的运行结果是()main(){ int a[3]={1,2,3};int *num[3];int **p,i;for(i=0;i

B)

num

C)13.以下程序的运行结果是()main(){ char a[]=”137”,*p;for(p=a;p

2

D)

45,23

D)

*(p[4])

D)

&a[0]

C语言练习题

} A)137377

B)14.以下程序段运行后*(p+1)的值为()char a[]=”good”;char *p;p=a;A)‘o’

B)

‘g’

15.设有如下变量定义:

char aa[][3]={'a','b','c','d','e','f'};

char(*p)[3]=aa;则以下程序段的运行结果是()。

p++;

printf(“%c”,**p);A)a

B)

b 16.以下程序段运行后x的值为()。

int a[9]={1,2,3,4,5,6,3,8,9};int *p,*q;int i,x;p=&a[0];

q=&a[8];for(i=0;i

if(*(p+i)==*(q-i))

x=*(p+i)*2;A)2

B)17.下面叙述错误的是()

一个变量的地址称为该变量的指针

任何指针变量都可以与空指针NULL进行比较 可以将一个整数值赋值给指针变量 一个指针变量只能指向同一类型的变量

18.()能正确定义一个指向函数的指针 A)(int *)p()

B)

int *p()19.若函数fun的函数头为:

int fun(int i, int j)且函数指针变量p定义如下:

int(*p)(int i, int j);则要使指针p指向函数fun的赋值语句是()。A)p=*fun;

B)

p=fun;20.C语言的基本数据类型包括()。A)整型、实型、逻辑型

C)

13737

C)

不确定

C)

c

C)

C)

int(*p())

C)

p=fun(i,j);

B)

整型、实型、字符型

D)

137

D)

a[1]的地址

D)

d

D)

不确定

D)

int(*p)()

D)

p=&fun;

期末复习题集

C)21.整型、实型、空类型

D)

整型、字符型、指针型

对于基类型相同的两个指针变量之间,不能进行的运算是()。A)

B)

22.设有如下函数定义: int fun(char *str){ char *p=str;

while(*p!= '')p++;

return(p-str);} 则以下语句执行后的输出结果是()。printf(“%dn”,fun(“Student”));A)7

B)

23.以下程序段运行后x的值为()。

int a[]={1,2,3,4,5,6,7,8};int i,x,*p;x=1;p=&a[2];for(i=0;i

B)

=

C)

+

C)

C)

120

D)

D)

D)

C语言练习题

10.第十一章 结构体与共用体

1.若有定义: struct data { char a;

float b[3];

long c;}d1;则变量d1的长度是()。

A)4

B)2.若有定义 struct teacher { int num;char name[10];char sex;int age;}t1={2001,”Li Ming”,’M’,35};则下列()对结构变量引用是正确的。A)t1.name[0] B)t1->name[0] 3.下列程序段运行后,表达式()的值为3。struct point { int x;int y;}*p;struct point a[3]={1,2,3,4,5,6};p=a;A)*(p+2)

B)

p[2].x 4.若有定义: struct teacher { int num;

char sex;int age;}teacher1;则下面叙述错误的是()。A)num、sex、age都是结构变量teacher1的成员 B)struct是结构类型的关键字 C)teahcer1是结构类型名

D)struct teacher是用户定义的结构类型

5.设有以下定义语句:

C)

C)t1->name D)

t1.name

C)

p[1].x

D)

D)

p[3].x

期末复习题集

struct student { int num;

char name[10];

float score;} wang,zhang;则不正确的叙述是()。A)B)C)D)struct是结构体类型的关键字 zhang是结构体变量名 wang是结构体类型名

num,name,score都是结构体类型student的成员名

6.设有以下定义语句: struct student { int num;

char name[10];

float score;} wang,zhang;则变量wang所占的内存字节数是()。A)14

B)7.若有定义: struct teacher {int num;char name[10];char sex;int age;float score;}teacher1;则变量teacher1所占用的内存字节数是()。A)5

B)8.以下程序段的运行结果是()union { int num1;int num2;}s;s.num1=20;s.num2=30;printf(“%d”,s.num1);A)2030

B)9.若有定义: union u_type { int x;float y[3];char z;C)

C)

C)

D)

D)

D)

C语言练习题

}a;则变量a的长度是()A)

10.对枚举类型进行定义,不正确的是()。A)B)

11.若有定义:enum day{sun,mon,tue,wed,thu,fri,sat};,则枚举常量sun,mon的值分别为(); enum b{1, 2, 3};enum a{A, B, C};

C)D)

enum c{D=3, E, F};enum d{X=0, Y=5, Z=9};12

B)

C)

D)A)0

B)

C)

12.若有定义:enum num{a1,a2=3,a3,a4=10};,则枚举常量a2、a3的值分别为()。A)3 4

B)

C)

13.若有定义: char ch;int j,k;enum day{sun,mon,tue,wed,thu,fri,sat};int s[sat];则()对下列语句是否复合语法规则的判断是正确的。sun=0;/*语句1*/ j=mon+tue;/*语句2*/ if(a[mon]>0)j++;/*语句3*/ A)语句1、2、3均错误

C)B)语句1错误,语句2和语句3正确

D)

14.()是关于C语言数据类型的正确叙述。A)不允许使用空类型 C)B)枚举类型不是基本类型

D)

15.设有如下定义语句: union u_type

{ int i;

double x;

float f;

};struct str_type

{ char str[100];

union u_type u[2];

};则语句“printf(“%d”, sizeof(struct str_type));”的输出结果是()。A)100

B)

116

C)

D)

D)

语句2正确,语句1和语句3错误 语句1、2、3均正确

数组不是构造类型

变量使用前应定义相应的数据类型

120

D)

200

期末复习题集

11.第十二章 位运算

1.对于整型变量x,与while(!x)等价的是()。A)while(x==0)C)while(x!=1)B)while(x!=0)

D)

while(~x)2.在对于无符号数的位运算中,操作数右移一位相当于()。A)操作数除以2 C)操作数除以4 B)操作数乘以2

D)

操作数乘以4 3.若有定义:int a=20,b=28,c;则执行语句c=(a^b)

B)

C)

12.第十三章 文件

1.若当前工作目录下有一文本文件test.txt,其内容为“cprogram”(不包含引号),则以下程序段的运行结果是()FILE *fp;char *str;if((fp=fopen(“test.txt”,”r”)!=NULL)printf(“%s”,str);fclose(fp);A)cpro

B)

gram

C)

cprog 2.下面程序运行后,文件d_f.dat的内容是()main(){ FILE *fp;int i=10,j=20;fp=fopen(“d_f.dat”,”w”);fprintf(fp,”%d ”,i);fclose(fp);fp=fopen(“d_f.dat”,”a”);fprintf(“%d”,j);fclose(fp);} A)20 10

B)

C)3.()不是文件读库函数 A)fgetc()

B)

fputs()

C)

fscanf()4.下面程序运行后,屏幕显示write ok!,则下面叙述正确的是()。main(){ FILE *fp;

D)

D)

ogram

D)20

D)

fread()

C语言练习题

fp=fopen(“data.txt”,”wt”);if(fp!=NULL){ fprintf(fp,”%sn”,”File write succeed!n”);fclose(fp);printf(“write ok!n”);} } A)当前工作目录的data.txt文件已经关闭 B)当前工作目录下找不到data.txt文件

C)当前工作目录下存在data.txt文件,其中的内容是“write ok!” D)当前工作目录的data.txt文件已经打开

5.以下程序的功能是()。#include main(){ FILE *fp;

long int n;

fp=fopen(“wj.txt”,“rb”);

fseek(fp,0,SEEK_END);

n=ftell(fp);

fclose(fp);

printf(“%ld”,n);} A)计算文件wj.txt的起始地址 B)计算文件wj.txt的终止地址 C)计算文件wj.txt内容的字节数 D)将文件指针定位到文件末尾

期末复习题集

6.标准函数fgets(s, n, f)的功能是()。A)B)C)D)

从文件f中读取长度为n的字符串存入指针s所指的内存 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 从文件f中读取n个字符串存入指针s所指的内存 从文件f中读取长度为n-1的字符串存入指针s所指的内存

五、实验部分

1.编程题

#include #include double func(double x){ /**/

return(3*x*sin(x)+tan(x))/(1.5+fabs(x));

/**/ } void main(){

clrscr();

printf(“func(0.26)= %6.3lfn”, func(0.26));

printf(“func(5.00)= %6.3lfn”, func(5.00));

printf(“func(8.50)= %6.3lfn”, func(8.50));

getch();}

#include

C语言练习题

int fun(int a[],int n,float *f){

/**/ int i,count=0;

float sum=0;

for(i=0;i

sum+=a[i];

*f=sum/n;

for(i=0;i

if(*f

return count;/**/ }

void main(){

int a[] = {23,40,8,32,18,2,9,16,27};

int i,k = sizeof(a)/sizeof(int);

int count=0;

float aver=0.0;

printf(“Array a:n”);

for(i=0;i

printf(“%d ”,a[i]);

printf(“n”);

count=fun(a,k,&aver);

printf(“aver is %f, count is %dn”,aver,count);

getch();}

#include #include double func(double x){ /**/ return(exp(x)+sin(x-6))/(x*x+1);/**/ } void main(){

clrscr();

期末复习题集

printf(“func(0.26)= %6.3lfn”, func(0.26));

printf(“func(5.00)= %6.3lfn”, func(5.00));

printf(“func(8.50)= %6.3lfn”, func(8.50));

getch();}

#include #include int find(int a[],int n,float x){

/**/ int i,j=0;double min=fabs(a[0]-x);

for(i=0;i

if(min>fabs(a[i]-x)){min=fabs(a[i]-x);j=i;}

return a[j];/**/}

void main(){

int a[] = {23,40,8,32,18,2,9,16,27};

int i,k,n = sizeof(a)/sizeof(int);

float x=20.3;

printf(“Array a:n”);

for(i=0;i

printf(“%d ”,a[i]);

printf(“n”);

k=find(a,n,x);

printf(“It is %dn”,k);

getch();}

#include #include double fun1(float x){ /**/

C语言练习题

if(x

else if(x==3)return x;

else return cos(2*x+1);/**/ }

void main(){

float x;

double y;

clrscr();

printf(“Please input a number:n”);

scanf(“%f”,&x);

y = fun1(x);

printf(“fun1(%.2f)=%.2fn”,x,y);

getch();}

#include #include int fun(int bg,int fn){

/**/ int i,j,k,count=0;

for(i=bg;i

{

k=sqrt(i);

for(j=2;j

if(i%j==0)break;

if(j>k)count++;

}

return count;

/**/ }

void main(){

int count;

count=fun(100,500);

printf(“nThe total of prime is %d”,count);

getch();}

期末复习题集

#include #include double fun1(float x){ /*运行结果与示例不符,若要与示例相同则 1.0/3 改成1/3 */ if(x

void main(){

float x;

double y;

clrscr();

printf(“Please input a number:n”);

scanf(“%f”,&x);

y = fun1(x);

printf(“fun1(%.2f)=%.2fn”,x,y);

getch();}

#include double fun(int n){

/**/ int i,j=1;

double sum=0;

for(i=1;i

{

sum+= 1.0/(i*(2*i+1))*j;

C语言练习题

j*=-1;

}

return sum;/**/ }

void main(){

int n;

printf(“Input n: ”);

scanf(“%d”,&n);

printf(“fun(%d)=%lfn”,n,fun(n));

getch();}

#include #include double fun1(float x){ /**/ if(x

void main(){

float x;

double y;

clrscr();

printf(“Please input a number:n”);

scanf(“%f”,&x);

y = fun1(x);

printf(“fun1(%.2f)=%.2fn”,x,y);

getch();}

期末复习题集

#include #include int bTrue(int a[][4],int n){ /**/ int i,j;

for(i=0;i

{

for(j=0;j

if(a[i][j]!=a[j][i])break;

if(j!=4)break;

}

if(i!=n)return 0;

else return 1;/**/ }

void main(){

int a[4][4],i,j;

int bT;

printf(“Input array a:n”);

for(i=0;i

for(j=0;j

scanf(“%d”,&a[i][j]);

bT = bTrue(a,4);

if(bT == 1)

printf(“Yesn”);

else

printf(“Non”);

getch();}

C语言练习题

#include #include double fun1(float x){ /**/ if(x

else return x-100;/**/ }

void main(){

float x;

double y;

clrscr();

printf(“Please input a number:n”);

scanf(“%f”,&x);

y = fun1(x);

printf(“fun1(%.2f)=%.2fn”,x,y);

getch();}

#include #include int fun(int a[],int n){

/**/ int i,j,sum=0,max;

for(i=0;i

sum+=a[i];

sum/=n;

max=fabs(a[0]-sum);

j=0;

for(i=0;i

if(max

return a[j];/**/ }

void main(){

int a[] = {10,22,8,33,17,5,9,13,27};

期末复习题集

int i,n = sizeof(a)/sizeof(int);

int k;

printf(“Array a:n”);

for(i=0;i

printf(“%d ”,a[i]);

printf(“n”);

k=fun(a,n);

printf(“It is %dn”,k);

getch();}

2.填空题

#include #include void main(){ /**/ int /**/ a,b,temp;

scanf(“%d,%d”,&a,&b);

if(a

{ /**/ temp=a;a=b;b=temp;

/**/

}

while /**/(--a>b)

/**/

{

if(a%3==0)

printf(“ %d ”,a);

}

printf(“n”);

getch();}

C语言练习题

#include double fun(/**/ int n

/**/){

double y = 0.0;

int i,j;

for(i=1;i

{y = y +/**/ 1.0/(8+3*i)

/**/;

}

return(/**/ y /**/);}

void main(){

clrscr();

printf(“fun(7)= %8.3lfn”, fun(7));

getch();}

#include void main(){

int m,n;

for(m=1;/**/ m

/**/ m++)

{ printf(“n”);

for(n=1;n

/**/ n++)

printf(/**/ “ ”

/**/);

for(n=9;n>=m*2-1;n--)

printf(“* ”);

}

getch();}

期末复习题集

#include main(){

void fun(int);

int v=300;

fun(/**/ v

/**/);

getch();}

void fun(int m){

int c1,c2;

for(c1=1;/**/ c1

/**/;c1++)

{ for(c2=1;c2

if(c1*10+c2*20==/**/ m

/**/)

printf(“c1=%d,c2=%dn”,c1,c2);

} }

#include #include void main(){ int num1,num2,ans,flag;char op;clrscr();printf(“Please input an expreion:”);scanf(“%d%c%d”, /**/ &num1,&op,&num2

/**/);flag=0;/**/ switch(op)

/**/

{

case '+': ans=num1+num2;break;

case '-': ans=num1-num2;break;

case '*': ans=num1*num2;break;

case '/': ans=num1/num2;break;

default:

C语言练习题

{ printf(“Error!n”);flag=1;}

}

if /**/(!flag)

/**/

printf(“%d %c %d = %dn”,num1,op,num2,ans);

getch();} #include #include void main(){

char src[40],tag[40];

void ch_pw();

printf(“Please input a string: ”);

gets(src);

strcpy(tag,src);

ch_pw(tag);

printf(“nThe source string: %sn”,src);

printf(“nThe target string: %sn”,tag);

getch();}

void ch_pw(/**/ char str[]

/**/){ char tab[4][2]={{'a','d'},{'s','f'},{'d','a'},{'f','s'}};int j=0,i;while(str[j])

{

for(i=0;i

{

if(str[j]==tab[i][0])

{

/**/ str[j]

/**/=tab[i][1];

break;

}

}

/**/ j++

/**/;

} }

期末复习题集

#include #include void main(){

char str[80];

char c;

int i;

/**/ i=0;

/**/

printf(“nPlease input the string: ”);

while((c=getchar())!='n')

{

if(c>='A'&&c='a'&&c

/**/ str[i++]=c;

/**/

}

str[i]= /**/ '';

/**/

puts(str);

getch();}

#include #include #define N 9

void ivs(int a[ ]){int i,temp;for(i=0;/**/ i

{temp=a[i];

a[i]=a[N-1-i];/**/

a[N-1-i]=temp

/**/;

} }

void main(){int arr[N],i;

printf(“Please input %d numbers:n”,N);

C语言练习题

for(i=0;i

scanf(“%d”, &arr[i]);

ivs(/**/ arr

/**/);

printf(“nInverse order is: n”);

for(i=0;i

printf(“%d ”, arr[i]);

printf(“n”);

getch();}

#include #include void main(){

/**/ char

/**/ str[80];

int i,len, sum=0;

printf(“nPlease input the string: ”);

gets(str);

len = strlen(str);

for(i=0;i

{

if(str[i]>='A'&&str[i]='a'&&str[i]

/**/;

/**/

else

/**/ sum++;

/**/

}

printf(“%dn”,sum);

getch();}

#include #include void main(){

int hcf(int,int);

int a,b,k;

printf(“Enter a b: ”);

期末复习题集

scanf(“%d%d”,&a,&b);

k=hcf(/**/ a,b

/**/);

printf(“H.C.F=%d n”, k);

getch();}

int hcf(int x,int y){

int r;

r=x%y;

while(r!=0)

{ x=y;

y=/**/ r

/**/;

r=x%y;

}

return(/**/ y

/**/);}

#include #include void main(){

char s1[100], s2[100];

int i,len;

printf(“Please input string: n”);

gets(s1);

len = strlen(s1);

for(i=0;i

{

if(s1[i] >= '1' && s1[i]

/**/ s2[i]=s1[i]-1;

/**/

else if(s1[i] == '0')

/**/ s2[i]='9';

/**/

else

s2[i] = s1[i];

}

s2[i] =/**/ ''

/**/;

puts(s2);

getch();

C语言练习题

}

#include #include void sct(char s1[],/**/ char s2[]

/**/){char * p1,*p2;

p1=/**/ s1 /**/;

p2=s2;

while(*p1)

p1++;

while(*p2)

*(p1++)= *(p2++);

}

void main(){

char str1[60]=“Nothing ”, str2[]=“final”;

sct(/**/ str1

/**/ ,str2);

printf(“n%sn”,str1);

getch();} 3.改错题

#include void main(){

int a,b,c;

/**/ float f;/**/

clrscr();

printf(“Please input a b :”);

scanf(“%d%d”,/**/&a,&b/**/);

f=/**/(float)a/b;/**/

c=(int)((f-(int)f)*10);

printf(“n%f

%dn”,f,c);

getch();}

期末复习题集

#include void find(/**/int m /**/){

int a1,a2;

a1=m%10;

a2=m/10;

if(m%3==0 &&(/**/ a1==4 || a2==4 /**/))

printf(“%dn”,m);}

void main(){ int k;

for(k=10;k

/**/ find(k)/**/;

getch();}

#include void main(){ /**/ int a,tag;/**/

int num1=0,num2=0;

clrscr();

printf(“please input numbers :”);

scanf(“%d”,/**/ &a /**/);

tag=a;

while(a)

{ scanf(“%d”,&a);

/**/ if(!a)/**/ continue;

else if(a

else if(a>tag)num2++;

}

printf(“n%d %dn”,num1,num2);

getch();}

#include long int fsum(int n){

C语言练习题

long int k;

if(n==1)

/**/ k=1 /**/;

else

k=n*fsum(n-1);

return(/**/ k /**/);}

void main(){ int i;

long int sum;

sum=0;

for(i=1;i

sum+=fsum(i);

printf(“sum=%ldn”,sum);

getch();}

#include void main(){ int i,a=0;

/**/char c1,c2;/**/

clrscr();

printf(“Enter an 8 bit binary number :”);

c2=getchar();

/**/ for(i=1;i

{ c1=getchar();

a=a*2+c1-'0';

}

/**/ if(c2=='1')/**/ a=(-1)*a;

printf(“n%d n”,a);

getch();}

#include void main(){

int i,n;

期末复习题集

/**/ n = 0;/**/

for(i=10;i

if(i/10==i%10)

{printf(“%5d”,i);

n++;

if(/**/ n%9==0 /**/)

printf(“n”);

}

for(i=100;i

if(/**/ i/100==i%10 /**/)

{printf(“%5d”,i);

n++;

if(n%9==0)

printf(“n”);

}

getch();}

#include void main(){

/**/ int a[10];/**/

int i,j,k,x;

printf(“Enter 10 numbers:”);

scanf(“%d”,/**/ &x /**/);

a[0]=x;

for(k=1;k

{ scanf(“%d”,&x);

for(i=0;i

if(a[i]>x)break;

if(i

for(j=k;j>i;j--)a[j]=a[j-1];

a[i]=x;

}

/**/ for(i=0;i

printf(“%d ”,a[i]);

printf(“n”);

getch();}

下载 C语言实验与习题finalword格式文档
下载 C语言实验与习题final.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文