C语言程序设计课程实验题目.docx

上传人:b****6 文档编号:7495587 上传时间:2023-01-24 格式:DOCX 页数:12 大小:20.10KB
下载 相关 举报
C语言程序设计课程实验题目.docx_第1页
第1页 / 共12页
C语言程序设计课程实验题目.docx_第2页
第2页 / 共12页
C语言程序设计课程实验题目.docx_第3页
第3页 / 共12页
C语言程序设计课程实验题目.docx_第4页
第4页 / 共12页
C语言程序设计课程实验题目.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言程序设计课程实验题目.docx

《C语言程序设计课程实验题目.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程实验题目.docx(12页珍藏版)》请在冰豆网上搜索。

C语言程序设计课程实验题目.docx

C语言程序设计课程实验题目

 

C语言程序设计课程实验题目

(每组实验内容2学时)

 

实验一C语言上机步骤

实验目的:

熟练掌握在TurboC系统上编辑、编译、连接和运行C程序的

方法。

实验内容:

1.启动TurboC系统。

①进入MS-DOS方式。

②CD\TC↙

③TC↙

2.编辑修改源程序。

①按“F3”,然后输入:

exam↙(默认文件名为“NONAME”.C)

②输入下列源程序。

main()

{inta,b,sum;

a=1;b=2;sum=a+b;

printf("sum=%d\n",sum);

}

③源程序存盘。

方法一:

按“F2”键,将以源文件名存盘。

方法二:

选取菜单项“File/WriteTo”,将以新文件名存盘。

3.编译连接程序。

方法一:

编译、连接分步执行。

按“Alt+F9”键,编译生成目标文件“exam.obj”;再按“F9”,连接生成

可执行文件“exam.exe”

方法二:

编译、连接连续执行。

按“F9”键,首先编译生成目标文件“exam.obj”;接着自动连接生成可执

行文件“exam.exe”

4.运行程序。

方法一:

编辑状态下,按“Ctrl+F9”键,此时是编译、连接、运行连续进

行。

方法二:

按“Alt+X”键,然后输入:

exam↙(必须编译、连接成功)。

5.显示运行结果。

 

若按方法一运行程序,按“Alt+F5”键,查看运行结果,按任意键返回到

TurboC编辑状态。

若按方法二运行程序,直接显示结果。

6.退出。

按“Alt+x”键,退出TurboC。

 

实验二运算符和表达式

实验目的:

掌握C语言运算符的优先级和结合方向。

实验内容:

1.若有定义intx,a,b,c,*p=&x;,写出顺序执行下列表达式后x的值,然

后通过程序验证。

要求:

先写出运算结果,然后利用程序验证。

①x=a=b=10

②x=25%(c=3)

③*p+=2+3

④x/=(x+(*p%=2),(a&&5+3))

⑤x*=x+=x-=x

⑥x=((a=4%3,a!

=1),++*p>10)

验证程序:

main()

{intx,a,b,c,*p=&x;x=a=b=10;printf("x=%d\n",x);x=25%(c=3);printf("x=%d\n",x);*p+=2+3;printf("x=%d\n",x);x/=(x+(*p%=2),(a&&5+3));printf("x=%d\n",x);

x*=x+=x-=x;

printf("x=%d\n",x);

x=((a=4%3,a!

=1),++*p>10);

printf("x=%d\n",x);

}

2.若有定义inta=2,b=-3,c=4,*p=&a,*q=&b;,计算下列各表达式的值,

 

然后通过程序验证。

要求:

先写出运算结果,然后利用程序验证。

①a>b&&b>c

②!

(b>c)+(b!

=*p)||(a+b)

③a++-c+*q

④++a-c+++b

⑤b%=c+a-c/7

⑥(float)(a+b)/2+*q

⑦!

(a==b+c)&&(*p-a)

⑧!

c+1+c&&b+c/2

验证程序:

main()

{inta,b,c,*p=&a,*q=&b;a=2;b=-3;c=4;printf("a>b&&b>c=%d\n",a>b&&b>c);a=2;b=-3;c=4;printf("!

(b>c)+(b!

=*p)||(a+b)=%d\n",!

(b>c)+(b!

=*p)||(a+b));a=2;b=-3;c=4;printf("a++-c+*q=%d\n",a++-c+*q);

a=2;b=-3;c=4;printf("++a-c+++b=%d\n",++a-c+++b);a=2;b=-3;c=4;printf("b%%=c+a-c/7=%d\n",b%=c+a-c/7);a=2;b=-3;c=4;printf("(float)(a+b)/2+*q=%f\n",(float)(a+b)/2+*q);a=2;b=-3;c=4;printf("!

(a==b+c)&&(*p-a)=%d\n",!

(a==b+c)&&(*p-a));a=2;b=-3;c=4;

 

printf("!

c+1+c&&b+c/2=%d\n",!

c+1+c&&b+c/2);

}

 

实验三基本输入输出函数

实验目的:

熟练掌握数据的输入输出格式。

实验内容:

 

1.写出下列程序的输出结果。

要求:

先写出输出结果,然后利用程序验证。

#include"stdio.h"

main()

{inta=65,b=67,c=67;

floatx=67.8564,y=-789.124;

charC='A';

longn=1234567;

unsignedu=65535;

putchar(C);

putchar('\t');

putchar(C+32);

putchar(a);

putchar('\n');

printf("%d%d\n",a,b);

printf("%c%c\n",a,b);

printf("%3d%3d\n",a,b);

printf("%f,%f\n",x,y);

printf("%-10f,%-10f\n",x,y);

printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);

printf("%e,%10.2e\n",x,y);

printf("%c,%d,%o,%x\n",c,c,c,c);

printf("%ld,%lo,%lx\n",n,n,n);

printf("%u,%o,%x,%d\n",u,u,u,u);

printf("%s,%5.3s\n","COMPUTER","COMPUTER");

}

2.根据输入,写出下列程序的输出结果。

要求:

先写出输出结果,然后利用程序验证。

#include"stdio.h"

main()

{chara,*p1=&a;intb,*p2=&b;floatc,*p3=&c;a=getchar();

 

putchar(*p1);

putchar('\t');

putchar(a>='a'&&a<='z'?

a-32:

a);

putchar('\n');

getchar();

scanf("%c%d%f",&a,&b,&c);

printf("a=%cb=%dc=%.2f\n",a,b,c);

getchar();

scanf("a=%cb=%dc=%f",p1,p2,p3);

printf("a=%db=%cc=%.2f\n",a,b,c);

}

输入:

a↙

输出:

输入:

b□65□3.1234↙

输出:

输入:

a=b□b=65□c=3.1234↙

输出:

 

实验四分支语句

实验目的:

掌握使用if~else语句和switch~case语句实现分支结构的方

法。

实验内容:

1.求出下面分段函数的值

0x0

y=x0x10

2x1x10

要求:

(1)使用if~else语句

(2)x的值从键盘输入

2.运输公司对用户计算运费。

距离越远,每公里运费越低,标准如下:

s<250km

无折扣

250<=s<500

2%

折扣

500<=s<1000

5%

折扣

1000<=s<2000

8%

折扣

2000<=s<3000

10%

折扣

 

3000<=s15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费计算公式为:

f=p*w*s*(1-d),编写程序计算运费。

要求:

(1)使用switch~case语句。

(2)p、w、s的值从键盘输入。

 

实验五循环语句

实验目的:

掌握使用三种循环语句实现循环结构的方法。

实验内容:

1.猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半另一个,以

后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。

第一天共摘了多少桃子。

要求:

分别用三种语句编写程序。

2.编写程序验证下列结论:

任何一个自然数n的立方都等于n个连续奇数

之和。

例如:

13=1;23=3+5;33=7+9+11。

要求:

程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。

 

实验六编译预处理

实验目的:

掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。

实验内容:

1.试分析以下宏替换后的形式,计算输出结果。

要求:

先计算运行结果,然后利用程序验证。

#include"stdio.h"

#defineCX(y)2.5+y

#definePR(a)printf("%d",(int)(a))

#definePR1(a)PR(a);putchar('\n')

main()

{intx=2;PR1(CX(5)*x);

}

2.通过宏调用方式,求从n个数的最大值。

要求:

数据从键盘输入。

 

实验七一维数组

实验目的:

掌握一维数组的定义、初始化,以及一维数组元素的下标法引

用和指针法引用。

实验内容:

1.数组a中存放10个非0整数,编写程序,将数组a中的所有正数存放

在数组的前面,负数存放在数组的后面。

要求:

(1)数组元素值从键盘输入。

(2)用下标法和指针法两种方法。

2.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。

要求:

(1)数组元素值在程序中初始化。

(2)m的值从键盘输入。

(3)用下标法和指针法两种方法。

 

实验八二维数组

实验目的:

掌握二维数组的定义、初始化,以及二维数组元素的下标法引用和指针法引用。

实验内容:

1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所有学生各科的总计分和平均分。

要求:

(1)成绩在程序中初始化,结果以表格的形式输出。

(2)分别用下标法和指针法实现。

2.将4×4阶矩阵的4个最小值按升序存放在主对角线上。

要求:

(1)矩阵元素从键盘输入。

(2)分别用下标法和指针法实现。

 

实验九字符串

实验目的:

掌握使用下标法和指针法处理字符串。

实验内容:

1.编写程序,将字符串中相同字符的存放在一起,并按ASCII码升序存放。

2.编写程序,统计字符串str中含有子串substr的个数。

实验要求:

(1)字符串从键盘输入。

(2)分别用下标法和指针法实现。

 

实验十函数的定义、调用与参数传递

实验目的:

掌握函数的定义、调用和参数的传递方式。

实验内容:

1.有两个数组a、b,各有10个元素,分别统计出两个数组对应元素大于

(a[i]>b[i])、等于(a[i]=b[i])和小于(a[i]

要求:

通过函数调用方式,并分别使用数组元素、数组名和指针变量作函数的参数。

2.编写程序,将一个5×5阶矩阵中最大元素放在中心,四个角分别放4个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放)。

要求:

通过函数调用方式,并分别使用数组名和指针变量作函数的参数。

 

实验十一

函数的嵌套调用和递归调用

实验目的:

掌握函数的嵌套调用和递归调用。

实验内容:

1.编写程序,计算下列函数值:

f(x,y)=

s(x)

s(y)

其中,s(n)=

n

p(i)=p

(1)+p

(2)+p(n),p(i)=i!

i1

要求:

(1)为函数p(i)、s(n)、f(x,y)均编写一个用户函数。

(2)x、y由键盘输入。

2.n个人按年龄从小到大站成一排,编号依次为

1到n,年龄都相差2岁,

且第一个人的年龄是

10岁,问第n个的年龄是多大?

要求:

(1)通过函数递归调用方式。

(2)n的值从键盘输入。

 

实验十二变量的作用域与存储类别

实验目的:

掌握全局变量和局部的定义及作用域。

掌握变量的四种存储类

别。

实验内容:

1.输出4×4阶矩阵的最大值、最小值及其下标。

要求:

(1)通过函数调用方式。

(2)使用全局变量。

 

n

 

2.计算:

i1

 

i

1

n

1

106

i!

(精度要求为

n!

 

要求:

(1)通过函数调用方式。

(2)使用静态局部变量。

 

实验十三内部函数和外部函数

实验目的:

掌握内部函数和外部函数的定义及使用方法。

实验内容:

1.已知a、b都为整型数,计算ab。

要求:

(1)a、b值从键盘输入。

(2)主函数和计算ab的函数在不同文件中存放,求ab的函数为内部函数,使用文件包含完成。

2.删除字符串中的指定字符。

要求:

(1)字符串和要删除字符都在主函数中输入,结果在主函数中输出。

(2)主函数和删除字符串指定字符的函数在不同文件中存放,删除字符串指定字符的函数为外部函数,使用工程文件完成。

 

实验十四结构体

实验目的:

掌握结构体类型、结构体类型变量、结构体类型数组和结构类

型指针的定义,掌握结构体类型变量和结构体类型变量成员的使用。

掌握链表的定义及操作。

实验内容:

1.有10名学生,每名学生有语文、数学、外语三门课程的成绩,计算每

名学生的总成绩,然后按总成绩由高到低排序,若总成绩相同,再按外语成绩由

高到低排序。

要求:

(1)利用结构体数组存放数据。

(2)通过函数调用方式。

2.已知链表L1和L2中分别存放一个升序序列,编写程序,将两个链表中的升序合并成一个升序序列存放到链表L1中。

要求:

(1)分别按带头结点和不带头结点处理。

(2)通过函数调用方式。

 

实验十五共用体和枚举

实验目的:

掌握共用体类型、共用体类型变量的定义,以及共用体类型变

 

量成员的使用。

掌握枚举类型、枚举类型变量的定义,以及枚举类型变量的使用。

实验内容:

1.设某公司对所有职工进行计算机能力考核,规定35岁以下的职工进行笔试,成绩记录为百分制,60分以下为不及格;35岁(含35岁)以上的职工进行上级考核,成绩记录为a、b、c(规定为小写字母三种),c为不及格。

编写程序,输入10个职工的考核结果,输入及格编号、姓名和成绩。

要求:

用结构体和共用体类型数据来处理职工数据。

2.输入两个整型数,一次求出它们的和、差、积并输出。

要求:

用枚举类型数据来处理和、差、积的判断。

 

实验十六文件

实验目的:

掌握文件的打开、关闭和文件的读写操作。

实验内容:

1.有两个磁盘文件“A”和“B”,各存放一行字母(不多于80个),今要求把两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。

2.有十名学生的数据(包括学号、姓名、和三门课程的成绩)存放在文件

“score.txt”中,编写程序,把有不及格的学生数据存放到文件“bhg.txt”中,成绩都合格的学生数据存放到文件“hg.txt”中。

 

综合实验题目:

(8学时)

1.编写一个小型学生成绩管理系统。

要求:

系统操作通过菜单的形式完成。

包括:

数据的输入、数据输出、数据编辑、数据插入、数据删除、数据查找、数据排序等。

2.编写一个小型文件管理系统。

要求:

系统操作通过菜单的形式完成。

包括:

文件复制、文本文件显示、文件连接、文件目录显示、文件内容比较、文件删除、文本文件字节数统

计内容、文件更名等。

3.编写程序,实现对.DBF文件的访问和建立。

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

当前位置:首页 > 求职职场 > 简历

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

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