C实验报告1-10
更新时间:2024-02-27 14:55:01 阅读量: 综合文库 文档下载
实验1熟悉Visual C++6.0环境及运行C程序
一、实验目的
1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。 2.掌握C程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。
4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。
二、实验内容
1.下列程序的功能是:从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。
#include
int a,b,sum; /*定义整型变量a、b、sum */ printf(\ /*输出提示信息*/
scanf(\ /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/ printf(\输出语句*/ }
【使用Visual C++实验步骤】
第1步:进入Visual C++环境后,执行“文件”|“新建”菜单命令。
第2步:在“新建”对话框中切换到“文件”选项卡,然后选择C++ Source File选项。 第3步:在右边的目录文本框中输入准备编辑的源程序文件的存储路径,在“文件”文本框中输入准备编辑的C源程序文件名(如:sy1_1.c)。注意后缀是.c。然后单击“确定”按钮。
第4步:在光标闪烁的程序编辑窗口输入上面C程序(注意:/* */之间的内容为程序注释部分,不执行),程序输入完毕后执行“文件”|“保存”命令,或单击工具栏上的“保存”按钮,也可以用Ctrl+S快捷键来保存文件。
第5步:执行“编译”|“编译”菜单命令,或单击工具栏上的“编译”按钮,也可以按Ctrl+F7组合键,开始编译。观察调试信息窗口输出编译的信息,如果有错,则修改后再编译,直至编译信息为:“0 error(s),0 warning(s)”,表示编译成功。
第6步:按F7键或单击
,生成应用程序的菜单命令EXE文件(如sy1_1.exe)。
第7步:运行程序观察结果。执行“编译”|“执行”,或单击工具栏上的“执行”按钮,也可以使用Ctrl+F5快捷键。
2. 改错题
(1)下列程序的功能为:计算x*y的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名sy1_2.c保存。
#include
{ int x=2;y=3;a
A=x*y
print ('a=%d\printf(\; }
(2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy1_3.c保存。
#include
int a ,b , max;
Scanf(\ /*从键盘输入两个整数分别赋予变量a和b */
Max=a;
If (max
}
3.程序填空题
(1)从键盘输入两个整数,输出这两个整数的和。根据注释信息填写完整程序,以实现其功能。以文件名sy1_4.c保存。
#include
/* 定义整型变量x,y,total*/
printf(\ /*输出提示信息 */ /*由键盘输入两个数分别赋予x和y*/ total=x+y; /*赋值语句 */
printf(\ /* 输出两个整数的和 */ }
(2)从键盘输入两个整数,输出这两个整数的差。根据注释信息填写完整程序,以实现其功能。程序以文件名sy1_5.c保存。
main() {
int a,b,m; printf(\
scanf(\
_________________ /*赋值语句,将a和b的差值赋给m */ _________________ /* 输出a 和b差的结果值后换行 */ }
4.编程题 (1)编程序,运行后输出如下信息:“Better City,Better Life!”。程序以文件名sy1_6.c保存。
(2)编程序,从键盘输入3个整数,输出它们的平方和。程序以文件名sy1_7.c保存。
实验2 数据类型、运算符和表达式
一、实验目的
1.理解C语言中各种数据类型的意义,掌握各种数据类型的定义方法。 2.掌握C语言常量、变量的定义与使用。 3.掌握C语言数据类型及运算符的使用规则。
二、实验内容
1.改错题
(1)下列程序的功能为:已知圆锥半径r和高h,计算圆锥体积v。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_1.c保存。计算圆锥体积的公式为:
#include stdio.h main();
{ floatr=10,h=5;
v=1/3*3.14159*r^2*h; printf(\%d\\n\}
(2)下列程序的功能为:通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_2.c保存。
#include
printf(\最终状态下的x:%d y: %d/n\}
2.程序填空题
(1)计算当x=4时,公式y?1?x3x2?4x?10×2x2的值。补充完善程序,以实现其
功能。程序以文件名sy2_3.c保存。
#include
main() {
float x=4.0,y;
printf(\}
(2) 下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)补充完善程序,以实现其功能。程序以文件名sy2_4.c保存。
#include
{
int a,b,c,;
printf(\scanf(\; ; ; ;
printf(\}
3.编程题
(1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。程序以文件名sy2_5.c保存。
(2)从键盘输入3个整数,输出它们的平均值与积。程序以文件名sy2_6.c保存。
实验3 顺序结构程序设计
一、实验目的
1.掌握scanf()、printf()以及其他常用输入、输出函数的使用。 2.掌握格式控制符的使用。
3.掌握顺序结构程序设计的方法。
二、实验内容
1.改错题
(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C= 5(F?32),
9输出取2位小数。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_1.c保存。
#include
float c,f;
printf(\请输入一个华氏温度:\\n\; scanf(\,f); c=(5/9)*(f-32);
printf(\摄氏温度为:%5.2f\\n\;
}
(2)下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_2.c保存。
x?2ab 2(a?b)#include
float x;
scanf(\x=2ab/(a+b)(a+b);
printf(\}
(3)下列程序的功能为:从键盘输入一个小写字母,要求改用大写字母输出。请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_3.c保存。
#include
char c1,c2;
c1=getchar; /* 从键盘输入一个小写字母 */
printf(\ /* 输出该小写字母及其ASCII码值 */ c2=c1+26; /* 转换为大写字母 */
printf(\ /* 输出大写字母及其ASCII码值 */ }
2.程序填空题
(1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。补充完善程序,以实现其功能。程序以文件名sy3_4.c保存。
输入形式enter x,y:2 3.4 输出形式x+y=5.4
#include
int x; float y;
printf(\ \;
}
(2) 下列程序的功能为:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。(周长l=2?r,圆面积s=?r,圆球表面积sq=4?r,圆球体积vq=
2243?r;圆柱体积vz=?hr2),请补充完善程序,以实现其功能。程序以文件名sy3_5.c3保存。
#include
float pi,h,r,l,s,sq,vq,vz; pi=3.1415926;
printf(\请输入圆半径r,圆柱高h:\\n\; ; l=; s=; sq=; vq=; vz=;
printf(\圆周长为:); printf(\圆面积为:); printf(\圆球表面积为:); printf(\圆球体积为:); printf(\圆柱体积为:);
}
(3) 下列程序的功能为:通过键盘输入两个整数,分别存入变量x、y中,当x 保存。 #include { int x,y,t; printf(\请输入x,y:\\n\; ; if (x printf(\交换后的x:%d y:%d \\n\,x,y); } 3.编程题 (1)编写一个程序实现如下功能:从键盘输入3个字符,然后在屏幕上分3行输出该3个字符。程序以文件名sy3_7.c保存。 (2)编写一个程序实现如下功能:输入一元二次方程ax2+bx+c=0的系数a、b、c,求方程的根。要求:运行该程序时,输入a、b、c的值,分别使b2-4ac的值大于、等于和小于零,观察并分析运行结果。程序以文件名sy3_8.c保存。求根公式如下: 实验4选择结构程序设计 一、实验目的 1.掌握关系运算符和关系表达式的使用方法。 2.掌握逻辑运算符和逻辑表达式的使用方法。 3.掌握if语句、switch语句、条件运算符(?:)的使用方法。 4.掌握选择结构程序的设计技巧。 二、实验内容 1.改错题 (1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_1.c保存。 #include { char ch,c1,c2; printf(\ch=getchar(); if((ch>='a')||(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch='A') c1=ch+25; else if(ch='Z') c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\\n'); } (2)下列程序的功能为:输入3个整数后,输出其中最大值。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_2.c保存。 #include int a,b,c,max; printf (\请输入3个整数:\\n\scanf (\max=a; if (c>b) { if (b>a) max=c;} else {if (c>a) max=b;} printf(\3个数中最大者为:%d\\n\ } (3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_3.c保存。 #include char m; printf(“input the month number:\\n”); scanf (\switch (m) { case 1:printf (“Jan”); case 2:printf (“Feb”); case 3:printf (“Mar”); case 4:printf (“Apr”); } } 2.程序填空题 (1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。 若该字符是数字,输出字符串\ 若该字符是大写字母,输出字符串\若该字符是小写字母,输出字符串\ 若该字符是其他字符,输出字符串\,@,?\ 补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。 #include scanf(_____________________); if(c>='0' &&c<='9') __________________________ else if(________________________) printf(\___________(c>='a' &&c<='z') printf(\_____________________ printf(\,@,?\\n\ } (2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。 #include { int a,b,d; char ch; printf(\ scanf(\ /*输入数学表达式*/ switch(ch) { case '+':d=a+b; printf(\ break; case '-':d=a-b; printf(\ break; case '*':d=a*b; printf(\ break; case '/': if() /*如果除数为0,则显示出错提示信息 */ printf(\ else printf(\ /*强制类型转换*/ break; default: printf(\ } } (3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。 #include \main() {float a,b; printf(\请主持人输入时尚手机的实际价格\\n\ scanf(\ printf(\请观众猜时尚手机的价格\\n\ scanf(\ if() printf(\低了\\n\ if() printf(\猜对了!\\n\ if() printf(\高了\\n\} 3.编程题 printf(\for (i=0;i<8;i++) scanf(\t=*p; for (i=0;;i++) { for (j=i;j<8;j++) if (j==i||*(p+j) if (k!=i) { t=*(p+k); } } for (i=0;i<8;i++) printf(\} (2)下列程序的功能为:将一个整数字符串转换为一个数,如字符串“5489”转换为数字5489。选择填空,使程序实现其功能。程序以文件名sy8_5.c存盘。 #include char s[6]; int n; gets(s); if(*s=='-') n=-chnum(s+1); else n=chnum(s); printf(\ } chnum(char *p) { int num=0,k,len,j; len=strlen(p); for( ;①;p++) { k=②; j=(--len); while(③) {k=k*10;} num=num+k; } return(num); } ①A.*p!='\\0' B. *(++p)!='\\0' C.*(p++)!='\\0' D. len!=0 ②A. *p B. *p+'0' C. *p-'0' D. *p-32 ③A. --j B. j-->0 C. --len D. len-->0 (3)下列程序的功能为:将字符数组a的所有字符传送到字符数组b中,要求每传送三个字符后再存放一个空格,例如字符串a为“abcdef”,则字符串b为“ abc def g”。补充完善程序,以实现其功能。程序以文件名sy8_6.c存盘。 #include { int i,k=0; char a[80],b[80],*p; p=a; gets(p); while(*p) { for(i=1;;p++,k++,i++) { if() {b[k]= ' ';k++;} b[k]=*p; } } b[k]= '\\0'; puts(b); } 3.编程题 (1)输入一个字符串,将其中的数字字符组成一个数字。程序以文件名sy8_7.c存盘。 (2)利用指针作函数参数,设计一函数对字母进行简单加密,把当前的字母变成后面第3个字母,如最后三个字母x、y、z变成字母a、b、c。再设计一函数把加密字符还原。程序以文件名sy8_8.c存盘。 (3)设计一个指针函数,实现将字符串b连接到字符串a的后面。程序以文件名sy8_9.c存盘。 实验9 结构体与链表程序设计 一、实验目的 1.掌握结构体类型变量的定义和使用。 2.掌握结构体类型数组的概念和应用。 3.掌握链表的概念,初步学会对链表进行操作。 二、实验内容 1.改错题 (1)下列程序的功能为:学生姓名(name)和年龄(age)存于结构体数组person中。函数fun的功能是:找出年龄最小的那名学生。纠正程序中存在的错误,以实现其功能。程序以文件名sy9_1.c存盘。 #include { char name[20]; int age; } ; fun(struct stud person[],int n) { int min,i; min=0; for(i=0;i if(person[i] void main() { struct stud a[]={{\int n=4; struct stud minpers; minpers=fun(a,n); printf(\是年龄小者,年龄是:%d\\n\} (2)下列程序的功能为:按学生姓名查询其排名和平均成绩。查询可连续进行,直到输入0 时结束。纠正程序中存在的错误,以实现其功能。程序以文件名sy9_2.c存盘。 #include { int rank; /* 学生排名 */ char name; /* 学生姓名 */ float score; /* 学生成绩 */ }stu[]={ 3,\main() { char str[10]; int i; do { printf(\scanf(\for(i=0;i if( (strcmp(str,stu[i].name)!=0) ) { printf(\ printf(\ %d\\n\ printf(\ continue; } if(i>=NUM) printf(\ } while(strcmp(str,\} (3)下列程序的功能为:建立一个由小到大的单链表。纠正程序中存在的错误,以实现其功能。程序以文件名sy9_3.c存盘。 #include struct Link *next; } ; void InsertList(struct Link *H,int n) { struct Link *p,*q,*s; s=(struct Link *) malloc(sizeof(struct Link)); s->data=n; q=H;p=H->next; while(p&& n>p->data) { q=p;p=p->next; } q->next=s; s->next=q->next; } void main() { int a[]={12,3,45,67,7,65,10,20,35,55}; int i; struct Link *H,*p; H=(struct Link *) malloc(sizeof(struct Link)); H->next=NULL; for(i=0;i<10;i++) InsertList(H,a[i]); p=H->next; while(p) { printf(\ p=p->next; } printf(\} 2.程序填空题 (1)下面程序的功能是:用来统计一个班级(N个学生)的学习成绩,每个学生的信息由键盘输入,存入结构数组s[N]中,对学生的成绩进行优(90~100)、良(80~89)、中(70~79)、及格(60~69)和不及格(<60)的统计,并统计各成绩分数段学生人数。补充完善程序,以实现其功能。程序以文件名sy9_4.c存盘。 #include int score; /* 学生成绩 */ char name[10]; /* 学生姓名 */ } s[N]; void main() { int i, score90, score80, score70, score60, score_failed; for(i=0; i scanf(\ /* 输入N个学生成绩、姓名,存入数组s中 */ score90=0; score80=0; score70=0; score60=0; score_failed=0; for(i=0; i case 9:score90++; break; case 8:score80++; break; case 7:score70++; break; case 6:score60++; break; : score_failed++; } } printf(\优:%d良:%d 中:%d 及格:%d 不及格:%d\\n\score_faileD.; }
正在阅读:
C实验报告1-1002-27
2012-2014年1季度江苏省烘炉、熔炉及电炉制造行业经营状况分析季报12-22
2012年煤矿企业党代会工作报告10-08
第十九课《死海不死》06-17
爆破作业人员培训考核考试试题及参考答案04-11
“十三五”重点项目-蕨菜种植加工建设项目商业计划书11-05
2015云南省造价员考试历年真题及答案最新考试试题库(完整版)09-01
申报省部级优质工程书面汇报材料-北京中石化昌平会议中心工程04-28
电子技术实验10-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实验
- 报告
- 10