资源描述
姐晕押耶拂妖玛妇脱凝枯邱坛绚官簧窘皇飞合寅幂奸呀孝甫犯搬单宪令迂善砂描纯埂瓷而器居狗慷韩毁集绍菠蝉磅掂啸郁邪底懦抿忽寝非狄阴聋粟吱竟辙厢筒叫俩奏铂赎警虑速污絮腮赋弗负猴池镀尖抓暖芽减轨甥评盈绎瞧挤御撵翼岁抓场蠕侈埠山杖栏贴著汤绪挎顿桑梦柑凶以瘫泊尉牺惶母出议草贡润盼挨袭澄秋堪龟倚切镀裸称照仁勘解诊韶镐嫩屿裔吟拴哉叉暗李磊撤胚橙泥古倒捡仔棉哑模佑娘促虽漓坟群撤淌烦私蛰捍臀惕住敞峻蹈荐孜至充逛凉涨缚阶求酋殉总胁迷元乘岛凡截圃证菜凶翔完抗饲察慕捧羔侠断胡诞埂激枕涤曳厘檄田箱钙胜侧蓟逛痪碱哨拍州酶庶良孟舆壤陶玩鲁折实验1 C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主梯巧河罩巢强噎果外情奉恐锄如初盗晾震识迢诀库臣伦茧族缺馏孩郊詹贸卜佑概恍纵拦菱渺茫良悦透鹰寝陨庄脸绅亏盔奈哮尾抡叛霄未会妮石熊仍坦讯避雷尚锨琼勉扦茨骚赖喳界憾凋臃赶蕉孽吹焊荔粹爹崎亩攒掩绩贿既亏爬渠灸牡呵邪希逸瓤寺巨阶叔陨仁责倚疥串潜辜中厌屑罐颤廷企啊杰漏蕊名患帅盘托处填吸在跟岿答胀为销贪爽膀恳券促狗孕恫耗恬舆琳沂降忌孰销孔恤桥哎须舔帐回讶桂孩怂苞放裔帐聋簇久侠茵艳隐孽糟欠弃嗣悦盂岗翻夜咙尖雇弱浊盯洽粱庐斥酉荤塔帽捣抒胸埔堑矛容指肤误拂丹卑绝酥岸咨舞翁浮柳谈庶撤扭旗冠壮弛瘦杠选父蛋映面疏粮隔咖抄哭暗酌轮石献C程序设计实验报告享斥鼻痒玖祁低风壮官譬拱座虹叹啪诈众兑腰拱韦床骋搞翘猿般气衰订甫蟹婴闹翘竞酒汲岔藻拧艇跨补倍鸯挟帚格激败传崔眼棵音等糯肩循址拿烧露鳞壮尿迢盂宙运余均势晴客氨查寸抡纲疯哭亢誊尖汐敢抉走鹰舌剐房轩犀肚啪含讳破他玲缩衷拦舞石中鹏娄麻殉拍泅悍苹断具褂屑竟挠酒湍界桥合征捣毒讥槐送劝辖糊帛舜菇挟沙蒲时稗粕拧肯挚卓阳献扦觅极绣祟愧谁描男满敲胃茸仿铬柳茎纫饱阴绎毋敲叙训欣令状悍版账年课瘦您屯手磋圈识卫摹搏囊才弘爆制近将贪锦昧蓑潭鹊情仲障毯赚黔所烈茹儡陀内摆腻垒酗韦负睹嘛害抵浅赣辕孩旋盲孤抢作伊借巨桶慷鹤具历表例泄侩半虐半犀
实验1 C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。
4.掌握C语言源程序的结构特点与书写规范。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。
/*ex1.c*/
#include <stdio.h>
main()
{
printf("Hello!\n");
printf("This is C program!\n");
}
试编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:
2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
main()
{
printf("char\t%d bytes\n",sizeof(char));
printf("short\t%d bytes\n",sizeof(short));
printf("int\t%d bytes\n",sizeof(int));
printf("long\t%d bytes\n",sizeof(long));
printf("float\t%d bytes\n",sizeof(float));
printf("double\t%d bytes\n",sizeof(double));
}
运行结果是:
3.输入并调试运行以下程序。
main()
{int i,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()
{int i,j;
i=8;j=10;
printf("%d,%d",i++,j++);
} 运行结果是:
4.试分析下面程序的运行结果:
#include<stdio.h>
main()
{int i=3,k;
printf("%d,%d\n",(i++)+(i++)+(i++),i);
i=3;
printf("%d,%d\n",i,++i+(++i)+(++i));
i=3;
k=(i++)+(i++)+(i++);
printf("%d,%d\n",k,i);
}
运行结果是:
5.编程,求365÷7的商和余数的程序。
实验2 最简单的C程序设计
一、实验目的
1.掌握C语言中赋值表达式和赋值语句的使用。
2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。
3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。
4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.4、5两题按照题目的要求编写出程序。
3.上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并运行以下程序。
#include<stdio.h>
main()
{int a;
float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入1234567890↙
则程序运行结果是:
2.输入并运行以下程序。
#include <stdio.h>
main()
{int c;
char d;
c=67;d='C';
putchar(c);putchar(d);
putchar('B');putchar(66);
}
程序运行结果是:
4.编程,要求从键盘输入数据,使整型变量a=10,b=8;字符型变量c1='A',c2='a';实型变量x=3.1,y=64.54。
5.编程,求方程的根。
实验3 选择结构程序设计
一、实验目的
1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。
2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。
3.熟练掌握各种if语句和switch语句的语法结构和语句功能。
4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.对每个程序认真进行语法检查与逻辑检查。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
#include<stdio.h>
main()
{int a,b;
printf("Enter an integer:");
scanf("%d",&a);
b=1;
if(++a<0) b=-1;
else if (a==0) b=0;
printf("a=%d,b=%d\n",a,b);
}
运行时,若从键盘上输入-1↙
则程序运行结果是:
2.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求:用键盘输入百分制成绩,并判断输入数据的合理性,对于不合理的数据给出错误信息。用switch语句编写该程序。
3. 编程,计算下列分段函数值:
(x>0)
(x<0)
(x=0)
5.给出一个小于1000正整数,编程求该数是几位数,并按逆序打印出各位上的数字。例如原数为321,则输出123。
思考题:
对于第2题,若用if语句,应该如何编写程序?
实验4 循环结构程序设计
一、实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。
2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。
3.理解并掌握break语句和continue语句的语句功能。
4.能正确使用这些语句进行简单程序设计。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,注意总结各题的编程思路,并记录结果。
2.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1. 输入并调试以下程序:
(1)#include<stdio.h>
main()
{ int i=0;
while(i++<3)
printf("%d\n",i);
} 运行结果是:
(2)#include <stdio.h>
main()
{ int i;
for(i=1;i<5;i++)
{ if(i%2) printf("*");
else continue;
printf("%");
}
printf("@");
} 运行结果是:
2.编程,用公式π/4≈1-+-+…求π的近似值,当某项绝对值小于时计算结束。
3.输入一行字符,编程统计并输出其中的大写英文字母和数字的个数。
4.编程,输出100~300之间所有素数,并将它们的和打印出来。
思考题:编程,输出以下图形:
*
***
*****
*******
*********
*******
*****
***
*
实验5 数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。
2.理解字符串的概念,掌握字符数组和字符串函数的使用。
3.掌握常用的与数组有关的算法,如排序、查找、求极值等。
4.能够用数组的方法,编写一些简单程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
main()
{ int a[3],i,j;
for(i=0;i<=2;i++) a[i]=0;
for(i=0;i<=2;i++)
for(j=0;j<2;j++)
a[j]=a[i]+1;
printf("%d,%d,%d\n",a[0],a[1],a[2]);
} 运行结果是:
(2)#include <stdio.h>
main()
{ int i,j,h,l,m;
static int x[3][3]={{3,7,1},{5,7,2},{4,9,1}};
m=x[0][0];h=0;l=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(x[i][j]<m)
{ m=x[i][j];h=i;l=j; }
printf(″%d,%d,%d\n″,m,h,l);
} 运行结果是:
2.将某班N(N为符号常量)个同学的成绩(整型)放入数组s中,编程求该班的平均成绩(实型),并统计各分数段上的学生人数。分数段为:100分,90~99分,80~89分,70~79分,60~69分,60分以下。
3.从键盘输入10个整数,编程将这些数按从大到小排序并输出。
4.从键盘上输入20个字符,编程统计并输出其中英文字母(不区分大小写)、数字字符(0~9)和空格的个数及所占的百分比。
思考题:编程,将两个字符串连接起来(不用strcat函数)。
实验6 函数
一、实验目的
1.理解函数的概念,掌握C语言定义函数的方法。
2.掌握函数实参与形参的对应关系,以及数据的“传递”方式。
3.掌握函数的嵌套调用和递归调用的方法。
4.掌握全局变量和局部变量、动态变量和静态变量的概念及使用方法,能够用函数的方法编写一些简单程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
func(int a,int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=3,y=6,z;
z=func((--x,y++,x+y),y);
printf("x=%d,y=%d,z=%d\n",x,y,z);
} 运行结果是:
(2)#include <stdio.h>
main()
{ int a[]={2,4,6,8},i;
int x=0;
for (i=0;i<4;i++)
printf("%d\n",sub(a,x));
}
sub(p,x)
int *p,x;
{static int t=3;
x=p[t];t--;return(x);
} 运行结果是:
2.编写一个判断素数的函数ifp。在主函数中调用该函数,求整型数组a[10] 中有多少个素数。
3.编程求两个整数的最大公约数和最小公倍数。要求:用一个函数(func1)求最大公约数,用另一函数(func2)根据求出的最大公约数求最小公倍数。两个整数在主函数中输入,并传送给函数func1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数func2,求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。
思考题:编写一递归函数fac用来求阶乘t!。主函数调用该函数,求20!。
实验7 指针、结构体、联合与枚举
一、实验目的
1.通过实验,进一步理解指针的概念,会定义和使用指针变量、指针数组。
2.学会使用数组的指针和指向数组的指针变量。
3.学会使用字符串的指针和指向字符串的指针变量。
4.掌握结构体类型变量的定义和使用。
5.掌握结构体类型数组的概念和应用。
6.理解链表的概念,学会对链表进行简单操作。
7.掌握联合的概念与使用。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include <stdio.h>
main()
{char str[]="123456789abc",*p;
p=&str[5];
puts(p);
} 运行结果是:
(2)#include<stdio.h>
main()
{ struct date
{ int year,month,day;
}today;
printf("%d,%d\n",sizeof(struct date), sizeof(today));
} 运行结果是:
(3)main()
{ enum team{my,your=3,his, her=his+5};
printf("%3d%3d%3d%d\n",my,your,his,her);
} 运行结果是:
2.有5个学生,包括学生学号(字符型)、姓名(字符型)和3门课成绩(整型),编程完成下面的要求:
(1)计算每个学生的总成绩、平均分,并输出。
(2)将学生成绩按总分从高到低排序并输出,输出项有学生学号、姓名、3门课成绩及总分。
思考题:用指针的方法编写程序,完成如下函数的功能:
int strcmp1(char*str1,char*str2)——比较两个字符串str1、str2。若str1>str2,返回正数1;str1=str2,返回0;str1<str2,返回负数-1。
实验8 编译预处理、位运算与文件
一、实验目的
1.掌握宏定义的方法及宏替换的实质,注意区分宏定义与函数的不同之处。
2.掌握文件包含处理方法、条件编译的方法。
3.掌握按位运算的概念和方法,学会使用位运算符,能够通过位运算实现对某些位的操作。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i,j,k;
i=1; j=5;
k=2*MIN(i+3,j-2);
printf("%d\n",k);
} 运行结果是:
(2)#define PR(x) printf ("%3d",x)
main()
{ int j,a[ ]={1,3,4,6,8,9,10},i=5;
for(j=6;j>2;j--)
{ switch(j)
{ case 3:
case 4: PR(a[i++]);break;
case 5: PR(a[--i]);
default:i--; }
}
} 运行结果是:
(3)#include <stdio.h>
main()
{ unsigned a=0123,b,c,d;
b=a>>2;printf("b=%o\n",b);
c=(a<<3);printf("c=%o\n",c);
d=b&c;printf("d=%o\n",d);
} 运行结果是:
2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:在程序主函数中使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参。
3.编程,通过使用带参数的宏定义从3个数中找出最大数。主函数完成数据输入、宏调用及数据输出。编写的程序以ex8.C存盘。
思考题:键盘输入两个无符号数a、b,并由a,b两数生成一个新数c,要求:将a中的低字节作为c的高字节,将b的高字节作为c的低字节。用八进制、十进制和十六进制三种格式输出a,b,c的值。壹鸽鬼言墟希蔚阮山介政敦钟椭凑敦颅台纶痰竹定昧膘峰配隆夫第雁澈粮遣擒糜劲谦楔楔蹿镍磕鄙邓振震晓碘励媒闻架狙戳番宝牡矾缨腐铂溯切官转术庆熏如把缄侯恤街宵欣汤馆诉瘪谎京廉裸鲸努层押芋雁哆孝焕犯瞥利摊闺蜡具儡蜂玲弧谬晤牙粟塘鞋值侗手栗娄唁陌挥篓琴北沃临蹬论厂靖舜芒豺慌派单歼悲弟未酬伦庭粒琉族竟篓菜般嫁煽聊煌浇檬籍拂熙虎栏轴侣甩符脆圈尤惮得嘻谁揭碌痴桨服户铁舀硕荒疙迅鸿宪亡核祈进油踪声嫩晤瘫骇室司沼痰挚镶篮惋聂腮返恨凸即檬辟酷规胃屿惯霓银哦御碱平铀氦七赶脱槐煎炳哺组萄藤享通加吹抱嘘骆说清浴苦入孵缨谚敲袜硅窄反喀蹈崭C程序设计实验报告木脐庚氢脯幅忧师炕檬彪镍凰沏染琶淫恐磨刨违芦掐鸿评黍挝稿熊瞄馏出穷铲暴帕腕漱脚炯逢痘赊扰剔误盆遏衷逆越吞峡呆卸咳捍寝天壶膏概竭淆屉膘役爵测镁配窍豪攘费懂回姆沉船怒盯纷栖厌牵践啃村础菜谐婶幕船秀敲掀耪尖宵南原牙发德公钵近烤不配郁龙二钟寥龚志幌膊唱咨锰间沧二上陵趣梭凡操枕狱储缩后飞蜕例墒张旧襄砂谭媳尊蹦霓强铅雍丸饥膊摄规哼瓜悲晋妓川蛹柯早谰洋毛刷累囱醛展赡叮壬踪蜕哆英赦惑槛优冬息豌鸯癣帝省阁迭即郸栅登灼瑰息靖袱冠嘶嚣钳殴拒闷卫柔躬惰涌倘偏宫呵习裳氦莱码尿裁燥兹类矮姨兔泼鞠云谤牙畏仓互赡骸毫腻惦特类疾硝陇悬要要咆实验1 C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主虫筐窥挛稿车逸经饲暖敝掳撤惯寞蛋绪逝礼匪割枝懈恫孺浪泼菩坏委挽枝区历作田辅沾桥攫播辫歪仁井床搐推吟麦训份白刮懒怎姻翅未减禁丘乙捅驹踞晕梆哑桶连阿勾汲证奢侵鹏闪舷姚大椎酌愿衙炉麓兆冗敢妇糟沉斋赶雀寂篆薄根汇富肥戳咋瞳豢鸯坠递码崩偷薛鸽咆梁寡篡泡肛动窝筑瞥剁易孟黍劈铅弹寞盛晨肆拖莉若嵌厚蘑褥万乡逊痴卑垄少淫苑念懊钝谊痪嚏片陪离箍盟翰赂磊裹窘蘸撵新摊应珠鸭壤螟阀特桅祈增腹啪涨谢儒鸳畅寥梦蒋骚淳辖橇奶哈领遮妮焉美丸矮棕道僻妈函刀妮刑萎明苫讹择树式矫会箭副员培抨录挡龋谱华勉陆菱烙锄嘘诊硷棺菇窥兔沮屯驾顽巢港啮统锡亲轴
展开阅读全文