c语言实验报告1.docx
- 文档编号:8988604
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:41
- 大小:137.77KB
c语言实验报告1.docx
《c语言实验报告1.docx》由会员分享,可在线阅读,更多相关《c语言实验报告1.docx(41页珍藏版)》请在冰豆网上搜索。
c语言实验报告1
(此文档为word格式,下载后您可任意编辑修改!
)
实验名称:
熟悉C程序的运行环境
一、实验目的和要求
了解TurboC++3.0的基本操作方法,学会独立使用该系统
编辑、编译、连接和运行一个C程序
通过运行简单的C程序,初步了解C源程序的特点
二、实验内容和原理
1.输入并运行一个简单、正确的程序
#include { printf("Thisisacprogram\n"); } 2.输入一个有错误的程序,修改错误,直到程序能正确运行,分析程序运行结果。 #include {inta,b,sum a=123;b=456; sum=a+b printf("sumis%d\n",sum); } 3.输入并运行一个需要在运行时输入数据的程序,输入数据,观察运行结果。 #include {intmax(intx,inty); inta,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d",c); } intmax(intx,inty) {intz; z=y; if(x>y)z=x; return(z); } 三、实验环境 1.硬件: PC机; 2.软件: Windows操作系统、TurboC++3.0。 四、算法描述及实验步骤 1.内容1 (1)启动TC++3.0,新建一个C文件; (2)输入程序1; (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功,再次保存文件; (5)连接程序、运行程序,观察运行结果。 2.内容2 (1)启动TC++3.0,新建一个C文件; (2)输入程序2; (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序,观察运行结果。 3.内容3 (1)启动TC++3.0,新建一个C文件; (2)输入程序2; (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入数据,观察运行结果。 五、调试过程 1.输入后,按Alt+F9编译,出现如下信息: 成功编译。 2.输入后,按Alt+F9编译,出现如下信息: 经分析是由于inta,b,sum与sum=a+b俩句未加;导致。 3.输入后,按Alt+F9编译,出现如下信息: 经分析是由于inta,b,c句未加;导致。 修改后编译结果如下: 六、实验结果 1. 2. 3.输入123,654运行结果如下: 输入1989,1988运行结果如下: 七、总结 经过本次上机实验,我基本了解TurboC++3.0的操作方法,学会在该系统上编辑、编译、连接和运行一个C程序。 同时也明白在编译过程中应留心一些细节问题(如一个语句结束要加“;”),也学会通过编译错误信息找出错误,并修正错误。 实验名称: 数据类型、函数和表达式 八、实验目的和要求 掌握C语言数据类型,熟悉如何定义整型、字符型和实型变量并赋值 掌握不同类型数据之间赋值的规律 学会使用C的有关算法运算符及表达式,特别是自加(++)和自减(--)运算符的使用 进一步熟悉C程序的编辑、编译、连接和运行的过程 九、实验内容和原理 2.输入并运行下面程序,分析运行结果。 #include {charc1,c2; c1='a'; c2='b'; printf("%c%c",c1,c2) } 3.输入并运行下面程序,分析运行结果。 #include {charc1='a',c2='b',c3='c',c4='\101',c5='\116'; printf("a%cb%c\tc%c\tabc\n",c1,c2,c3); printf("\t\b%c%c",c4,c5); } 4.输入并运行下面程序,分析运行结果。 #include {inta,b; unsignedc,d; longe,f; a=100;b=-100; e=50000;f=32767; c=a;d=b; printf("%d,%d\n",a,b); printf("%u,%u\n",a,b); printf("%u,%u\n",c,d); c=a=e;d=b=f; printf("%d,%d\n",a,b); printf("%u,%u\n",c,d); } 5.输入并运行下面程序,分析运行结果。 #include {inti,j,m,n; i=8;j=10; m=++i;n=j++; printf("%d,%d,%d,%d",i,j,m,n); } 一十、实验环境 1.硬件: PC机; 2.软件: Windows操作系统、TurboC++3.0。 一十一、算法描述及实验步骤 (1)启动TC++3.0,新建一个C文件; (2)输入程序; (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序,观察分析运行结果。 一十二、调试过程 1. 经分析错误是由于printf("%c%c",c1,c2)后未加;导致。 修改后运行如下: 2. 成功运行 3. printf("%u,%u\n"a,b);改成printf("%u,%u\n",a,b);成功运行 4. 成功运行。 一十三、实验结果 1. 2. 3. 4. 一十四、总结 通过这次上机实验我掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量并对它们赋值的方法,学会使用C的有关算法运算符及表达式,特别是自加(++)和自减(--)运算符。 并进一步熟悉C程序的编辑,编译,连接和运行的过程。 实验名称: 顺序结构程序设计 一十五、实验目的和要求 掌握赋值语句的使用方法 掌握各种类型数据的输入输出方法,能正确使用各种格式控制符 一十六、实验内容和原理 6.输入并运行下面程序,分析运行结果。 #include {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.; 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,n,p,q); } 7.编程序求一个圆的周长、面积,圆球表面积和圆柱体积。 用scanf输入数据,输出计算结果。 输出时要有文字说明,取小数点后两位数字。 8.编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。 9.(选作)有自学或有兴趣同学可以编写程序判断一个年份是否为闰年。 一十七、实验环境 计算机及TurboC++3.0。 一十八、算法描述及实验步骤 1. (1)启动TC++3.0,新建一个C文件; (2)输入程序1; (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序,观察分析运行结果。 2. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 3. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 一十九、调试过程 1. longm,n后加; printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n,a,b,c1,c2,d,e);少了” 无错误,成功运行。 2. 经分析为定义常量时使用=错误导致,修改后成功运行。 3. 无错误,成功运行。 二十、实验结果 1. 2. 输入123,456,结果如下: 输入2,6,结果如下: 3.输入ac结果如下: 二十一、总结 经过本次上机实验,我已基本掌握赋值语句的使用方法,也掌握各种类型数据的输入输出方法,能正确使用各种格式转换符,同时更进一步了解C程序的运行环境。 附录: 2. #definepi3. #include { floatr,"); scanf("%f,%f",&r,&",result); result=pi*r*r; printf("circlemianji=%6.2f\n",result); result=4*pi*r*r; printf("ballbiaomianji=%6.2f\n",result); result=4*pi*r*r*r3; printf("balltiji=%6.2f\n",result); result=pi*r*r*",result); } 3. #include { charc1,c2; printf("Pleaseinputtwochar: \n"); c1=getchar(); c2=getchar(); printf("Putcharresult: \n"); putchar(c1); putchar(c2); printf("\nPrintfresult: \n"); printf("%c\n",c1); printf("%c\n",c2); } 实验四: 逻辑结构程序设计 二十二、实验目的和要求 了解C语言表示逻辑量的方法 正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句 结合程序掌握一些简单算法,并学习调试程序 二十三、实验内容和原理 1.有一函数: x (x<1) y=2x-1 (1≤x<10) 3x-11 (x≥10) 写一程序,用scanf函数输入x,输出y值。 2.编程实现: 给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。 90分以上为A,81~89分为B,70~79分为C,60~69分为D,60分以下为E。 3.给一个不多于5位的正整数,要求: ①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。 二十四、实验环境 1.硬件: PC机; 2.软件: Windows2000、TurboC++3.0。 二十五、算法描述及实验步骤 1. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 2. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 3. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 4. (1)启动TC++3.0,新建一个C文件; (2)输入事先设计好的程序(见附录); (3)保存文件; (4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功; (5)连接程序、运行程序; (6)输入测试数据,检查程序执行结果是否正确。 二十六、调试过程 1.无错误,出现如下信息: 2. 3. 没有给indiv先定义,修改后成功运行。 二十七、实验结果 1.输入0,运行结果如下: 输入5,运行结果如下: 输入13,运行结果如下: 2.输入94,运行结果如下: 输入86,运行结果如下: 输入74,运行结果如下: 输入61,运行结果如下: 输入52,运行结果如下: 输入-70时结果: 3.输入18795运行结果如下 二十八、总结 通过本次上机实验我了解C语言表示逻辑量的方法,能正确使用逻辑运算符和逻辑表达式,基本掌握了if语句和switch语句和一些简单的算法,并大体上学会了调试程序。 附录: 1. #include { inta,b; printf("Pleaseinputa: \n"); scanf("%d",&a); if(a<1) printf("b=%d",a); elseif(1<=a<10) {b=2*a-1; printf("b=%d",b); } elseif(a>=10) {b=3*a-11; printf("b=%d",b); } } 2. #include {floatscore; chargrade; printf("pleaseinputscores: "); scanf("%f",&score); while(score>100||score<0) {printf("\nWrong! "); scanf("%f",&score); } switch((int)(score10)) {case10: case9: grade='A';break; case8: grade='B';break; case7: grade='C';break; case6: grade='D';break; case5: case4: case3: case2: case1: case0: grade='E'; } printf("score: %5.1f,grade: %c\n",score,grade); } 3. #include {longintnum; intindiv,ten,_thousand,place; printf("pleaseinputanumber: "); scanf("%ld",&num); if(num>9999)place=5; elseif(num>999)place=4; elseif(num>99)place=3; elseif(num>9)place=2; elseplace=1; printf("place=%d\n",place); printf("Eachnumber: "); ten_thousand=num10000; thousand=(int)(num-ten_thousand*10000)1000; _thousand*10000-thousand*1000)100; ten=(int)(num-ten_thousand*10000-thousand*1000-_thousand,thousand,,indiv); printf("\nChangednumber: "); printf("%d,%d,%d,%d,%d\n",indiv,ten,_thousand); break; case4: printf("%d,%d,%d,%d",thousand,,indiv); printf("\nChangednumber: "); printf("%d,%d,%d,%d\n",indiv,ten,,indiv); printf("\nChangednumber: "); printf("%d,%d,%d\n",indiv,ten,,indiv); printf("\nChangednumber: "); printf("%d,%d\n",indiv,ten); break; case1: printf("%d",indiv); printf("\nChangednumber: "); printf("%d\n",indiv); break; } } 实验名称: 循环结构程序设计 二十九、实验目的和要求 熟悉掌握用while语句、do-while语句和for语句实现循环的方法 掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等) 进一步学习调试程序 三十、实验内容和原理 1.输入两个正整数m和n,求其最大公约数和最小公倍数。 2.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 3.猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,就只剩一个桃子了。 求第一天共摘多少桃子。 三十一、实验环境 1.硬件: PC机; 2.软件: Windows操作系统、TurboC++3.0。 三十二、算法描述及实验步骤 见附录 三十三、调试过程 1.没有给“P”定义 改为 2.没有加“””和“;” 改为 3.无错误,见附录。 三十四、实验结果 1. 2. 3. 三十五、总结 通过本次上机实验,我基本熟悉掌握while语句,do-while语句 和for语句实循环的方法,掌握在程序设计中用循环的方法实现一些常用算法,并进一步学习调试程序。 但是总是忘记对变量进行定义和添加符号(如“;”)。 附录: 实验1: #include {intp,r,n,m,temp; printf("pleaseinputtwonumbers: "); scanf("%d,%d,",&n,&m); if(n {temp=n; n=m; m=temp; } p=n*m; while(m! =0) {r=n%m; n=m; m=r; } printf("Thebig: %d\n",n); printf("thesmall: %d\n",pn); } 实验2: #include {charc; intletters=0,space=0,digit=0,other=0; printf("pleaseinputaline: \n"); while((c=getchar())! ='\n') {if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c=='') space++; elseif(c>='0'&&c<='9') digit++; else other++; } printf("letter: %d\nspace: %d\ndigit: %d\nother: %d\n",letters,space,digit,other); } 实验3: #include { intday,x1,x2; x1=1; for(day=9;day>0;day--){ x2=(x1+1)*2; x1=x2; printf("total=%d",x2); } 实验名称: 数组 三十六、实验目的和要求 掌握一维数组、二维数组的定义、赋值和输入输出 掌握字符数组和字符串函数的使用 结合程序掌握一些简单算法 三十七、实验内容和原理 1.用选择法对10个整数排序。 10个整数用scanf函数输入。 2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。 如果该数不在数组中,则输出“无此数”。 3.(选做)找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。 也可能没有鞍点。 4.将两个字符串连接起来,不要用strcat函数。 三十八、实验环境 1.硬件: PC机; 2.软件: Windows操作系统、TurboC++3.0。 三十九、算法描述及实验步骤 见附录 四十、调试过程 1.数组符号为“[]”,错写成“{}” 改为 2.经过查找发现是voidmain()误输入为voinmain() 4.忘记添加一对单引号 改为 四十一、实验结果 1. 2. 4. 四十二、总结 通过本次上机实验我大体上掌握了数组的定义,赋值和输入方 法,也掌握了字符数组和字符串函数的使用,并能结合一些简单程序了解与数组有关的算法。 但是刚接触数组对其符号用得不是很应手,还有输入时总出现一些简单错误,所以自己应该多进行上机实验。 附录: 实验1: #include {inti,j,min,temp,a[11]; printf("enterdate: \n"); for(i=1;i<=10;i++) {printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("Theorginalnumbers: \n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for(i=1;i<=9;i++) {min=i; for(j=i+1;j<=10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告