实验一C程序的运行环境和运行一个C程序的方法.docx
- 文档编号:8935608
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:25.31KB
实验一C程序的运行环境和运行一个C程序的方法.docx
《实验一C程序的运行环境和运行一个C程序的方法.docx》由会员分享,可在线阅读,更多相关《实验一C程序的运行环境和运行一个C程序的方法.docx(10页珍藏版)》请在冰豆网上搜索。
实验一C程序的运行环境和运行一个C程序的方法
实验一C程序的运行环境和运行一个C程序的方法
(验证性实验)
一、目的要求
1.了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1.学习从开机开始的操作,包括如何建立子目录、使用操作命令列目录、打印文件内容、删除文件、复制文件等。
2.调用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。
应了解所用的系统是用什么命令进行编译和连接运行的。
编译和连接后所得到的目标程序的后缀是什么形式的?
3.输入并运行教材第一章中例1.2。
4.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。
5.运行一个自己编写的程序。
教材第一章习题1.6,即输入a,b,c三个值,输出其中最大者。
实验二数据类型、运算符和表达式
(验证性实验设计性实验)
一、目的要求
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容
1.输入并运行教材第三章例3.6.即:
main()
{charc1,c2;
c1=97;
c2=98;
printf(“%c%c\n”,c1,c2);
printf(“%d%d\n”,c1,c2);
}
在此基础上
①将第二行改为:
intc1,c2;
再使之运行。
②再将第三行、第四行改为:
c1=300;c2=400;
再使之运行,分析其运行结果。
2.输入并运行教材第三章习题3.6,在上机前先用人工分析程序写出应得结果,上机后将二者对照。
3.输入并运行习题3.10。
即:
main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
分别作以下改动并运行:
①将第4行改为:
m=i++;n=++j;
②程序改为:
main()
{inti,j;
i=8;j=10;
printf(“%d,%d”,i++,j++);
}
③在②的基础上,将printf语句改为:
printf(“%d,%d”,++i,++j);
④再将printf语句改为:
printf(“%d,%d,%d,%d”,i,j,i++,j++);
⑤程序改为:
main()
{inti,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);
}
3.按习题3.7要求编好程序,然后上机输入并运行该程序。
实验三最简单的C程序设计
(验证性实验设计性实验)
一、目的要求
1.掌握C语言中使用最多的一种语句——赋值语句的使用。
2.掌握数据的输入输出的方法,能正确使用各种格式转换符。
二、实验内容
1.输入并运行以下程序:
main()
{inta,b;
floatd,e;
charc1,c2;
doublef,g;
longm,n;
unsignedintp,q;
a=61;b=62;
c1=’a’;c2=’b’;
d=3.56;e=-6.87;
f=3157.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);
printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n”,f,g,m,m,p,q);
}
在此基础上,做以下改动:
1将程序第8-13行改为:
a=61;b=62;
c1=a;c2=b;
f=3157.890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析结果。
2在①的基础上将printf语句改为:
printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n”,a,b,c1,c2,d,e);
printf(“f=%f,g=%f\nm=%ld,n=%ld\np=%d,q=%d\n”,f,g,m,m,p,q);
运行程序。
3将p,q改用%o格式符输出。
4改用scanf函数输入数据而不用赋值语句,scanf函数如下:
scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
输入的数据如下:
61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000
(说明:
lf和ld格式符分别用于输入double型和long型数据)分析运行结果。
5将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果。
2.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和scanf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
实验四选择结构程序设计
(设计性实验)
一、目的要求
1.了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”);
2.学会正确使用逻辑运算符和逻辑表达式;
3.熟练掌握if语句和switch语句。
二、实验内容
先编程序,解决以下问题,然后上机调试运行程序。
1.有一个函数
用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值。
2.给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
3、给一个不多于5位的正整数,要求:
1求出它是几位数;
2分别打印出每一位数字;
3按逆序打印出各位数字,例如原数为321,应输出123。
4.输入四个整数,要求按从大到小顺序输出。
实验五循环控制
(设计性实验)
一、目的要求
1.熟悉用while语句,do-while语句和for语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
二、实验内容
编程序并上机调试运行。
1.输入两个正整数,求其中最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
3.用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
4.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩一个桃子了。
求第一天共摘下多少个桃子。
实验六数组
(设计性实验)
一、目的要求
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的算法(特别是排序算法)。
二、实验内容
编程序并上机调试运行。
1.用选择法对10个整数排序。
10个整数用scanf函数输入。
2.有15个数按大小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则输出“无此数”。
以15个数用赋初值的方法在程序中给出。
要找的数用scanf函数输入。
3.将两个字符串连接起来,不要用strcat函数。
实验七函数
(设计性实验)
一、目的要求
1.掌握定义函数的方法;
2.掌握函数实参与形参的对应关系,以及“值传递”的方式;
3.掌握函数的嵌套调用和递归调用的方法;
4.掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。
二、实验内容
编程序并上机调试运行之。
1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
2.用递归法将一个整数转换成字符串。
例如:
输入483,应输出字符串“483”。
n的位数不确定,可以是任意的整数。
3.求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。
用另一函数根据求出的最大公约数求最小公倍数。
(1)用全局变量的方法。
将两个整数的最大公约数、最小公倍数都设为全局变量。
(2)不用全局变量,两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。
实验八预处理命令
(设计性实验)
一、目的要求
1.掌握宏定义的方法;
2.掌握文件包含处理方法;
3.掌握条件编译的方法。
二、实验内容
编程序并上机调试运行。
1.定义一个带参数的宏,使两个参数的值互换。
在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:
在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个参数。
2.用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如‘a’变成‘b’,…,‘z’变成‘a’。
其它字符不变)。
用#define命令来控制是否要译成密码。
例如:
#defineCHANGE1
则输出密码。
若
#defineCHANGE0
则不译成密码,按原码输出。
用条件编译方法来处理。
实验九指针
(设计性实验)
一、目的要求
1.掌握指针的概念,会定义和使用指针变量;
2.学会使用数组的指针和指向数组的指针变量;
3.学会使用字符串的指针和指向字符串的指针变量;
4.学会使用指向函数的指针变量;
二、实验内容
编程序并上机调试运行程序(都要求用指针处理)。
1.输入三个整数,按由小到大的顺序输出,然后将程序改为:
输入三个字符串,按由小到大顺序输出。
2.将一个3*3的矩阵转置,用一函数实现之。
在主函数中用scanf函数输入以下矩阵元素:
将数组名作为函数实参。
函数调用后在主函数中输出已转置的矩阵。
3.用一个函数实现两个字符串的比较,即自己写一个strcmp函数:
strcmp(s1,s2)
如果s1=s2,则函数返回值为0;如果s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1 两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出。 实验十结构体和共用体 (设计性实验) 一、目的要求 1.掌握结构体类型变量的定义和使用; 2.掌握结构体类型数组的概念和应用; 3.掌握共用体的概念与使用。 二、实验内容 编程序,然后上机调试运行。 1.有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。 要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。 2.输入和运行以下程序: uniondata {inti[2]; floata; longb; charc[4]; }; main() {uniondatau; scanf(“%d,%d”,&u.i[0],&u.i[1]); printf(“i[0]=%d,i[1]=%d\na=%f\nb=%ld\nc[0]=%c,c[1]=%c,c[2]=%c,c[3]=%c\n”,u.i[0],u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]); } 输入两个整数10000、20000给u.i[0]和u.i[1]。 分析运行结果。 然后将scanf语句改为: scanf(“%ld”,&u.b); 输入60000给b。 分析运行结果。 实验十一位运算 (设计性实验) 一、目的要求 1.掌握按位运算的概念和方法,学会使用位运算符; 2.学会通过位运算实现对某些位的操作。 二、实验内容 编写程序,上机调试并运行。 1.编写一程序,检查所用的计算机系统的C编译在执行右移时是按照逻辑右移的原则还是按照算术右移的原则? 如果是逻辑右移,请编一个函数实现算术右移。 如果是算术右移,请编一个函数实现逻辑右移。 2.设计一个函数,使给出一个数的原码,能得到该数的补码,用八进制形式输入和输出。 实验十二文件 (设计性实验) 一、目的要求 1.掌握文件以及缓冲文件系统、文件指针的概念; 2.学会使用文件打开、关闭、读、写等文件操作函数。 3.学会用缓冲文件系统对文件进行简单的操作。 二、实验内容 编写程序并上机调试运行。 1.有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。 2.将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件“stu-sort”中。 3.将上题已排序的学生成绩文件进行插入处理。 插入一个学生的三门课成绩。 程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。 学生的原有数据为: 91101Wang89,98,67.5 91103Li60,80,90 91106Fun75.5,91.5,99 91110Ling100,50,62.5 91113Yuan58,68,71 要插入的学生数据为: 91108Xin90,95,60
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 程序 运行 环境 一个 方法