C语言上机试验例题_第1页
C语言上机试验例题_第2页
C语言上机试验例题_第3页
C语言上机试验例题_第4页
C语言上机试验例题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 C 语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解 Dos、 Windows 环境下 C语言的运行环境,了解所用的计算机系统的基本操作方法, 学会独立使用该系统。2、了解在该系统上如何编辑、编译、连接和运行一个C程序。3、通过运行简单的 C 程序,初步了解 C 源程序的特点。4、掌握 C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的 方法,了解以上类型数据输出时所用的格式转换符。5、学会使用 C 的有关算术运算符,以及包含这些运算符的表达式二、实验例题【例 1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the

2、 C language world!Everyone has been waiting for.在 Turbo C 的集成环境下,键入如下源文件。敲 Alt+F 组合键打开 File 菜单, File 菜单中 Write to 或 save as 选项可将默认文件名改为任意文件名。程序如下: main() printf(Hello,World!n); printf(Wolcome to the C language world!n); printf(Everyone has been waiting for.n);然后用 Ctrl+F9 执行,用 Alt+F5 查看结果,即在屏幕上显示题目要求

3、的三行文字。按回车 键重新返回 Turbo C 的编辑环境。注意,在运行程序之前最好先存盘。【例 2】输入并运行程序,写出运行结果。 main()int a,b,sum; a=123;b=456;sum=a+b;printf( “ sum is %dn ”,sum); 运行方法同上,最后结果为: sum is 579 。【例 3】输入并运行程序,写出运行结果。main()int a,b,c;int max(int,int);scanf( “ %d,%d” ,&a,&b);c=max(a,b);printf( “ max=%”d ,c);int max(int x,int y)int z;if

4、(xy) z=x;else z=y;return(z);这个程序的功能是对于任意输入的两个整数, 输出较大的那个数。 所以程序运行之后, 光标 将停留在用户屏幕上,等待用户输入两个整数,比如输入“3, 5”,回车,在用户屏幕上就会输出“ max=5”。【例 4】输入并运行下程序,写出运行结果。mian()char c1 , c2;c1=97;c2=98;printf( “ %c %c” , c1, c2);在此基础上1) 加一个 printf 语句,并运行之。 printf( “ %d,%d” , c1, c2 );2) 再将第二行改为:int c1, c2;再使之运行。3) 再将第三行改为:

5、c1=300; c2=400;再使之运行,分析其运行结果。在该程序中, 说明了字符型数据在特定情况下可作为整型数据处理, 整型数据有时也可以作 为字符型数据处理。【例 5】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的 结果比较对照。main()char c1= a,c2= b,c3= c,c4= 101 ,c5= 116 ;printf( “ a%c b%c tc%ctabcn ”,c1,c2,c3);printf( “ t%c %c ” ,c4,c5); 在该程序中,主要考查对转义字符的掌握情况。【例 6】分析下面程序, 写出运行结果, 再输入计算机运行, 将得到

6、的结果与你分析得到的结果比较 对照。main()int i , j , m , n ;i=8; j=10;m=+i; n=j+;printf( “ %d,%d,%d,%d”,i,j,m,n); 分别作以下改动之后,先分析再运行:1) 将第四行改为:m=i+; n= +j;2) 程序改为:main() int i , j ; i=8; j=10; printf( “%d,%d”, i+, j+);3) 在 2)的基础上,将 printf 语句改为: printf( “%d,%d”, + i, + j );4) 再将 printf 语句改为: printf( “ %d,%d,%d,%d”, i ,

7、j ,i+ , j+);5) 程序改为:main() int i , j , m=0 , n=0 ; i=8; j=10; m+= i +; n -= -j; printf( “ i=%d,j=%d,m=%d,n=%d”,i,j,m,n); 此程序主要考查自加、自减运算符以及复合运算符的用法。三、上机内容C程序的方法与1用 turbo c 输入并运行前面 6 道例题中程序,记下运行结果,熟悉调试 步骤。2参照例题,编写一个 C 程序,输出以下信息:Hello,World !四、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修改程序、 改正错误。实验二 顺序结构与选择结

8、构程序设计一、实验目的及要求1 理解 C 语言程序的顺序结构;2 掌握常用的 C语言语句,熟练应用赋值、输入、输出语句;3 了解 C语句表示逻辑量的方法(以 0 代表“假”以 1代表“真”);4 学会正确使用逻辑运算符和逻辑表达式;5 熟练掌握 if 语句和 switch 语句。二、实验内容1、已知圆半径 r= ,圆柱高 h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体 积。2、输入一个华氏温度,要求输出摄氏温度。公式为c=5/9*(f-32) 。3、有 3 个整数 a、 b、 c, 由键盘输入,编程序按从小到大的顺序将它们排序并输出。4、编程序计算下面的函数:e x -1 0x1y=

9、 |x|+2 3 x 4sin(x2)当 x 取其他值时5、输入一个整数 m,判断它能否被 7、11、17 整除,如果能被以上三个数之一整除,则 输出它能被整除的信息,否则输出m不能被 7、 11、17 整除的信息。6、电文加密的算法是:将字母 A变成字母 G,a 变成 g,B变成 H,b 变成 h,依此类推, 并且 U变成 A,V 变成 B,等等。从键盘输入一个电文字符,输出其相应的密码。7、企业发放的奖金根据利润提成。若利润I 10万元,奖金可提 10%;若 10万I 20万时,则低于等于 10万元的部分按 10%提成,高于 10万元部分,可提成 %;若 20 万I40 万时,低于等于 2

10、0 万元的部分仍按上述办法提成,高于 20 万元部分按 5%提成;按类似的 办法,若 40万I 60万元时,高于 40万元部分按 3%提成;若 60万I 100 万元时,高于 60万元的部分按 %提成;若I100 万时,超过 100万元部分按 1%提成。从键盘输入当月利润 I ,求应发奖金总数。三、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修改程序、 改正错误。实验三 循环结构程序设计一、实验目的及要求1熟练掌握 while 、 dowhile 和 for 三种循环语句的应用。2掌握基本的编程算法。二、实验内容1、利用公式sinx=x-x3/3!+x 5/5!-x

11、 7/7!+x 9/9!- +(-1)(n-1) x(2n-1) /(2n-1)!编程计算 sinx 的值。设 x=, n=9。2、编写程序求:10s n!n13、输入 20 个有符号整数,统计正整数、零、负整数的个数。4、输入 m个数,求其最大数、最小数和平均值。5、在 100和 1000之间,有多少个其数字之和等于 9 而且该数可被 5整除的整数 ?6、一位同学问老师和老师夫人的年龄是多少,老师说:“我年龄的平方加上我夫人的 年龄恰好等于 1053,而我夫人年龄的平方加上我的年龄等于873。”试计算老师和其夫人的年龄。7、打印下列图案三、实验结果分析对实验结果进行检验, 如结果出现错误,

12、分析产生错误的原因并修改程序、 改正错误。实验四、数组程序设计一、实验目的及要求1掌握一维、二维数组的定义、赋值和输入输出的方法;2掌握字符数组的使用; 3掌握与数组有关的算法(例如排序算法) 。二、实验内容1、给整型二维数组 b34 输入 12 个数据,计算并输出数组中所有正数之和、所有负 数之和。2、青年歌手参加歌曲大奖赛, 有 10 个评委进行打分, 试编程求这位选手的平均得分 (去 掉一个最高分和一个最低分)。分析:这道题的核心是排序。将评委所打的10 个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分。3、设二维数组 b54 中有鞍点, 即 bij

13、元素值在第 i 行中最小, 且在第 j 列中最 大,试编写一程序找出所有的鞍点,并输出其下标值。也可能没有。4、从键盘输入一数, 然后在一个整型一维数组 a20 中,用折半查找法找出该数是数组 中第几个元素的值。如果该数不在数组中,则打印”No found ”。5、编程打印如下图形 :6、有一电文,已按下列规律译成译码:A Z a zB Y b yC X c x即第一个字母变成第 26 个字母,第 i 个字母变成第 (26-i+1) 个字母。非字母字符不变。 编写一个程序将密码译成原文,并输出密码和原文。三、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修改程序、 改

14、正错 误。实验五 函数程序设计一、目的与要求1、掌握 C 语言函数的定义方法、函数的声明及函数的调用方法。2、了解主调函数和被调函数之间的参数传递方式。二、实验内容1、分别编写求圆面积和圆周长的函数,另编写一主函数调用之, 要求主函数能输入多个圆半径,且显示相应的圆面积和周长。2、编写一程序,把 MN矩阵 a 的元素逐列按降序排列。假设 M、N不超过 10。分别编 写求一维数组元素值最大和元素值最小的函数,主函数中初始化一个二维数组 a1010 , 调用定义的两函数输出每行、每列的最大值和最小值。3、编写一判别素数的函数,在主函数中输入一个整数,输出该数是否为素数的信息。4、编写一个将两个字符

15、串连接起来函数 ( 即实现 strcat 函数的功能 ) ,两个字符串由主 函数输入 , 连接后的字符串也由主函数输出。5、编写计算最小公倍数的函数, 试由主函数输入两个正整数 a 和 b 调用之。计算最小 公 倍数的公式为:lcm(u,v)=u*v/gcd(u,v) (u,v 0)其中, gcd(u,v) 是 u、v 的最大公约数。 lcm(u , v)是u、v 的最小公倍数。三、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修改程序、 改正错误。实验六 指针程序设计、目的与要求1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数

16、组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;4、能正确使用指向函数的指针变量;5、了解指向指针的指针的概念及其使用方法。二、实验内容1、编写子函数,对传送过来的三个数按由小到大的顺序排列,并通过形参传回调用函 数。2、编写函数 int find(int *p,int n,int x),在指针 p 所指的数组中查找整型数 x,如果 x 在数组中,则该函数返回 1,否则返回 0。n 为数组的大小。3、(选做)有 n 个整数,使前面各数顺序向后移 m个位置,最后 m个数变成最前 m个 数(如下图所示 ) 。写一函数实现以上功能, 在主函数中输入 n 个整数和输出调整后的 n个整

17、数。4、(选做)在主函数中输入 10 个不等长的字符串。用另一个函数对它们按升序排序, 然后在主函数中输出这 10 个已排序的字符串。5、(选做)用指针型指针对五个字符串进行排序,并将排序后的结果按顺序输出。6、(选做)编写一程序,统计从键盘输入的命令行中第二个参数所包含的英文字符个 数。三、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修改程序、 改正错误。实验七 结构体、共用体程序设计、目的与要求1、掌握结构体类型变量的定义和使用;2、掌握结构体类型数组的概念和使用;4、了解共用体的概念与使用。二、实验内容编程序,然后上机调试运行下列程序。1. 有 10 个学生,

18、每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入 10 个学生数据,要求打印出 3门课总平均成绩,以及最高分的学生的数据 (包括学号、姓名、 3 门课 的成绩、平均分数 ) 。要求用 input 函数输入 10 个学生数据;用 average 函数求总平均分;用 max函数找出 最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。2. 设有两个人员的数据,一个学生,一个教师。学生的数据中包括:学号、姓名、班级,、 教师的数据中包括:工号、姓名、职称。现将两人的数据放在同一表格中,要求输入两人的 数据,再将输入的内容输出。提示:参考教材例( P311)三、实验结果分析对实验结果进行检验, 如结果出现错误, 分析产生错误的原因并修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论