C程序设计实验报告答案.docx
- 文档编号:25969325
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:38
- 大小:29.24KB
C程序设计实验报告答案.docx
《C程序设计实验报告答案.docx》由会员分享,可在线阅读,更多相关《C程序设计实验报告答案.docx(38页珍藏版)》请在冰豆网上搜索。
C程序设计实验报告答案
(此文档为word格式,下载后您可任意编辑修改!
)
《C程序设计》
实验报告
班级:
学号:
学期:
学年第二学期
姓名:
《C程序设计》
实验报告
学期:
学年第二学期
教师姓名:
教研室:
软件工程教研室
实验1熟悉C语言程序的运行环境,掌握数据描述
班级
学号
实验室
专业
姓名
成绩评定
所用软件
计算机号
教师签名
1.1实验目的
1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。
2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。
3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。
1.2实验预习
1.熟悉TurboC的启动和退出及TurboC中的编辑、编译、连接和运行命令。
2.了解下列命令及函数:
include 3.熟悉TurboC环境下每个菜单项的功能及相关命令对应的操作。 4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。 int、short(int)、long(int)、unsigned(int)、float、double、char、void 5.各类运算符的优先级和结合规则。 6.常量与变量的区别和联系。 表1-1TurboC主菜单项功能表 菜单项 功能 菜单项 功能 File 文件操作 Project 工程(项目) Edit 编辑操作 Option 选项 Run 运行 Debug 调试 Compile 编译 Breakwatch 中断监视 表1-2TurboC提示行功能表 菜单项 功能 菜单项 功能 F1 帮助 F8 单步执行程序 F5 窗口的缩放 F9 编译连接 F6 窗口的切换 F10 激活主菜单 表1-3TurboC快捷操作表 菜单项 功能 菜单项 功能 Alt+F1 查看最后一次的帮助信息 Ctrl+F1 查看与光标所在位置内容相关的帮助信息 Alt+F3 选择文件装入 Ctrl+F2 取消单步执行 Alt+F5 查看运行结果 Ctrl+F8 设置断点 Alt+X 退出TC Ctrl+F9 编译、连接并运行 4.熟悉TurboC环境下的块操作。 表1-4基本光标命令功能操作表 功能 默认键 功能 默认键 字符左 Ctrl+S或Left 上滚 Ctrl+W 字符右 Ctrl+D或Right 下滚 Ctrl+Z 字左 Ctrl+A 上一页 Ctrl+R或PgUp 字右 Ctrl+F 下一页 Ctrl+C或PgDn 上行 Ctrl+E或Up 下行 Ctrl+X或Down 表1-5快速光标移动命令功能操作表 功能 默认键 功能 默认键 行头 Ctrl+QS或Home 文件头 Ctrl+QR 行尾 Ctrl+QD或End 文件尾 Ctrl+QC 窗口头 Ctrl+QE 块头 Ctrl+QB 窗口底 Ctrl+QX 块尾 Ctrl+QK 上次光标位置 Ctrl+QP 表1-6插入与删除命令功能操作表 功能 默认键 功能 默认键 插入模式 Ctrl+V或Ins 左边字符 Backspace 插入行 Ctrl+N 删除光标处字符 Ctrl+G或Del 删除行 Ctrl+Y 删除光标右边字符 Ctrl+T 删除至行尾 Ctrl+QY 上次光标位置 Ctrl+QP 删除光标 Ctrl+H或 表1-7块操作命令功能操作表 功能 默认键 功能 默认键 标记块首 Ctrl+KB 块取消 Ctrl+KH 标记块尾 Ctrl+KK 块移动 Ctrl+KV 标记单个字 Ctrl+KT 读块 Ctrl+KR 复制块 Ctrl+KC 写块 Ctrl+KW 删除块 Ctrl+KY 表1-8其他命令功能操作表 功能 默认键 功能 默认键 异常结束操作 Ctrl+U或Ctrl+Break 查找 Ctrl+QF 制表 Ctrl+L或Tab 查找并替换 Ctrl+QA 自动缩进 Ctrl+OI 查找标记 Ctrl+QN 定界符配对 Ctrl+Q或Ctrl+Q 退出编辑 Ctrl+KQ 1.3实验任务 1.输入下列程序,记录在Turboc下的操作方法。 #include { printf(“Iamastudent! ”); } 环境的启动操作: 我的电脑—磁盘(各机房磁盘目录有所不同)—TurboC文件夹—tc。 Exe。 程序的编译方法: 快捷键是Alt+F9;菜单操作是Compile—compiletoOBJ 程序的保存方法: 快捷键是F2;菜单操作是File--Save 程序的运行方法: 快捷键是Ctrl+F9;菜单操作是Run 运行结果的查看: 快捷键是Alt+F5;菜单操作是Run—UserScreen 环境的退出操作: 快捷键是Alt+X;菜单操作是File--Quit 2.预测结果并上机验证 人工分析结果 实验运行结果 #include { printf(“************\n”); printf(“Iamastudent! \n”); printf(“************\n”); } ************ Iamastudent! ************ 3.运行程序输入5,-5;预测结果并上机验证 人工分析结果 实验运行结果 #include { inta,b,sum; scanf(“%d,%d”,&a,&b); sum=a+abs(b); printf(“aandbis%d”,sum); } aandbis10 4.现欲将编好的上例程序以文件名my.c保存至当前目录下,请阐述方法;当重新进入TC对其进行简单修改后欲将其另存至C盘SY文件夹下(SY文件夹请自行创建),叙述方法。 File菜单下单击Saveas,输入C: \SY\my.c 5.试编写程序实现下列输出(选做) * ** *** **** main() { printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“****\n”); } 6.预测结果并上机验证 (1)main() { inta,b; a=b=3; printf(“a=%d,b=%d”,a,b); } (2)若将以上程序进行改写,编辑如下: main() { inta,b; a=3; b=3.1; printf(“a=%d,b=%d”,a,b); } 题号 人工分析结果 实验运行结果 (1) a=3,b=3 (2) a=3,b=3 由此知,若赋值号左右数据类型不一致时,c语言将按赋值号左边变量类型为准。 7.若有以下程序段,分析c2的值: 人工分析结果 实验运行结果 intc1=2,c2; c2=1.0c1*c1; 1 若将程序段改为: c2=1c1*c1; 0 分析c2所得结果,其中的关键在于除号两端如果都是整型数据,则所得结果截断取整 8.现有程序如下: main() {inta=7,b=10; a=a+b;b=a-b;a=a-b; printf(“%d,%d\n”,a,b); } 程序运行的功能是: 交换a、b两数的值 注: 可修改a、b两数的值仔细观察。 9.现有程序如下,分析填空: 人工分析结果 实验运行结果 main() {inta=0; a+=(a=8); printf("%d\n",a); } 16 10.现有程序如下,分析填空: 人工分析结果 实验运行结果 main() { inta=2,b=5; intm=3,n; doublec=2.1,d=4.5; n=am+b*c-dm; printf(“%d”,n); } 9 11.现有程序如下,分析填空: 人工分析结果 实验运行结果 main() {intx=1; printf(“%d%d\n”,++x,x++); } 31 12.现有程序如下,分析填空: 人工分析结果 实验运行结果 main() {intx,y,z=0; x=y=1; z+=x+=y; x=z++; y=++x; z=x+++y;printf(“x=%d,y=%d,z=%d”,x,y,z); } x=4,y=3,z=6 实验2顺序结构程序设计与调试 班级 学号 实验室 专业 姓名 成绩评定 所用软件 计算机号 教师签名 2.1实验目的 1.熟悉C语言的表达式语句、空语句和复合语句。 2.熟悉函数调用语句,尤其是各输入输出函数的调用语句。 3.熟悉顺序结构程序中语句的执行过程。 4.熟悉程序的跟踪调试和变量值的监视。 5.能设计简单的顺序结构程序。 2.2实验预习 1.熟悉下列函数: putchar、getchar、printf、scanf 2.了解顺序结构程序的执行过程。 3.了解程序的跟踪调试和变量值的监视并能够熟练操作。 单步跟踪调试(逐条语句跟踪调试): (1)可按功能键F7进行,要监视某变量的值时,就按Ctrl+F7键,然后输入相应的 变量名,就可以在监视消息窗口中查看到该变量的值。 (2)也可逐段运行程序,即每次运行若干条语句。 首先利用Ctrl+F8键在各行光标 处设置若干断点,然后按Ctrl+F9键从程序的第一条语句运行到设置的第一个断 点,再按Ctrl+F9键从设置的第一个断点运行到设置的第二个断点。 4.了解顺序结构程序的一般构成。 2.3实验任务 1.若有程序 main() {inti,j; scanf("i=%d,j=%d",&i,&j); printf("i=%d,j=%d\n",i,j); } 要求给i赋5,给j赋10,则应该从键盘输入i=5,j=10 2.华氏温度,要求输出摄氏温度,公式为: C=。 要求输出结果保留到小数点后两位。 已知程序段中有三处错误,由注释语句**********found**********提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。 错误原因是 正确语句是 #include {floatf,c;clrscr(); **********found (1)********** scanf("%d",f); **********found (2)********** c=59(f-32); **********found(3)********** printf("f=%f,c=%f\n",c,f); } Scanf语句中是地址列表 scanf("%d",&f); 缺少运算符 c=59*(f-32); 输出表列用英文逗号分隔 printf("t=%.2f,f=%.2f\n",c,f); 3.已知程序功能是通过用户输入三角形三边,求取三角形面积。 填空,将程序补充完整。 求取公式为;S=(a+b+c)2area=sqrt(s*(s-a)*(s-b)*(s-c)) 人工填空 上机填空 #include {floata,b,c,s,area; clrscr(); scanf("%f,%f,%f",&a,&b,&c); (2); area=sqrt(3); *库函数sqrt的含义是开平方* printf("area=%f\n",area);} #include S=(a+b+c)2 (s*(s-a)*(s-b)*(s-c)) 4.单步跟踪下面程序的执行,每执行一条语句就查看各变量的值。 运行时输入一个三位的整数。 单步跟踪程序时填写下表,同时分析程序的功能。 #include”stdio.() {intn,x1,x2,x3,y; printf(“pleaseinputnumbern”); scanf(“%3d”,&n); x1=n100; x2=n10%10; x3=n%10; y=x3*100+x2*10+x1; printf(“y=%3d”,y);} n X1 X2 X3 y 123 1 2 3 321 程序的功能是: 将输入的3位整数逆序排列 实验3选择结构程序设计与调试 班级 学号 实验室 专业 姓名 成绩评定 所用软件 计算机号 教师签名 3.1实验目的 1.理解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2.学会正确使用逻辑运算符和逻辑表达式、关系运算符和关系表达式。 3.学会运用逻辑表达式或关系表达式等表达条件。 4.熟练掌握if语句和switch语句。 5.学习跟踪调试程序,针对具体程序组织输入测试数据,观察程序运行能否得到预期 的输出结果。 6.熟悉选择结构程序段中语句的执行过程。 3.2实验预习 1.熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。 2.熟悉下列语句: if、if-else、switch、break。 3.3实验任务 1.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 #include {intx=0; if(x==0)printf("x=%d\n",x); elseprintf("x=%d\n,x+1); } x=0 #include {intx=0;clrscr(); if(x=0)printf("x=%d\n",x); elseprintf("x=%d\n,x+1); } x=1 以上两题告诉了你什么: 1)c中的赋值号与等于运算符应区分。 2)若判断表达式值为0,表示假,执行else分支 2.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 实验告诉我们 main() { inta=4,b=3,c=5,t=0; if(a if(a printf("%d%d%d\n",a,b,c); } 503 分支语句只有1条内嵌语句,与书写方式无关 3.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 实验告诉我们 main() {inta=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); } 0 关系运算符无论有多少,总是一个个运算得结果然后参与下一个运算的。 4.若从键盘输入58,判断以下程序输出的结果。 人工分析结果 实验运行结果 main() {inta; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a); } 585858 5.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 main() {intx=1,a=0,b=0; switch(x) {case0: b++; case1: a++; case2: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } a=2,b=1 6.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 main() {inta=13,b=21,m=0; switch(a%3) {case0: m++;break; case1: m++; switch(b%2) {default: m++; case0: m++;break; } } printf(“m=%d\n”,m); } m=3 7.阅读程序,上机调试并记录程序结果。 人工分析结果 实验运行结果 实验告诉我们 main() {inti=1,j=1,k=2; if((j++||k++)&&i++); printf("%d,%d,%d\n",i,j,k); } 2,2,2 逻辑运算符不是所有的符合都可以参与运算的 8.有一函数 x-1(x<1) y=2(x-1)(1<=x<10) 3x-10(x>=10) 编程求当分别输入x的值为0.3,3.9,11时,y的值。 main() {floatx,y; scanf("%f",&x); if(x<1) y=x-1; elseif(x<10) y=2*(x-1); else y=3*x-10; printf("x=%f,y=%f\n",x,y); } x=0.3时y=-0.7;x=3.9时y=5.8;x=11时y=23 9. main() { charsex;*孩子的性别* charsports;*是否喜欢体育运动* chardiet;*是否有良好的饮食习惯* floatmyHeight,faHeight,moHeight; printf("Areyouaboy(M)oragirl(F)? "); scanf("%c",&sex); printf("Pleaseinputyourfather's",myHeight); } 实验4循环结构程序设计与调试 班级 学号 实验室 专业 姓名 成绩评定 所用软件 计算机号 教师签名 4.1实验目的 1.掌握用while语句、do-while语句和for语句实现循环的方法。 2.理解循环结构程序段中语句的执行过程,进一步练习程序的跟踪调试技术。 3.掌握在程序设计中用循环的方法实现各种算法(如穷举法、迭代、递推等)。 4.理解break语句和continue语句的功能和执行过程。 4.2实验预习 1.熟悉语句: while、do-while、for、break、continue。 2.熟悉三种循环语句之间的关系和区别。 4.3实验任务 1.实验指导书P33上机题1,完成下表: 填空位置 人工填空语句 实验填空语句 (1) 1 1 (2) 0 0 (3) N<=100 N<=100 (4) n-1 n-1 (5) s s 2.实验指导书P33上机题4,分析程序功能。 程序功能是: 以每行8对输出32至255之间的所有数以及所对应的ASCII值。 3.实验指导书P35上机题8。 人工分析结果 实验运行结果 91 91 若将break改为continue,分析程序运行结果: 人工分析结果 实验运行结果 -1 -1 4.输入一串字符串,以字符“#”表示输入结束。 统计其中大写字母与小写字母各出现 了多少次。 main() {charch;intlower,upper; lower=upper=0; while((ch=getchar())! =’#’) {if(ch>=’a’&&ch<=’z’)lower++; elseif(ch>=’A’&&ch<=’Z’)upper++; } printf(“大写字母个数=%d,小写字母个数=%d”,upper,lower); } 5.预测结果并上机验证 人工分析结果 实验运行结果 #include {intx=15; while(x>10&&x<50) {x++; if(x3){x++;break;} elsecontinue; } printf(“%d\n”,x); } 17 17 6.预测结果并上机验证 人工分析结果 实验运行结果 #include {inti=0,a=0; while(i<20) {for(;;) {if((i%10)==0)break; elsei--; } i+=11;a+=i; } printf("%d\n",a); } 32 32 7.编程实现九九乘法表。 main() {inti,j; for(i=1;i<=9;i++) {for(j=1;j<=i;j++) printf(“%d*%d=%d”,j,i,i*j); printf(“\n”); } } 8.求3~150之间的所有素数。 #include {ints=0,i,n,flag;clrscr(); for(i=3;i<=150;i++) {flag=0;*语句功能: (1)* for(n=2; (2);(3))*表达式功能: 判断某个数是否是素数,给出判断区间* if(i%n==0) {flag=1;break;} if(flag==0)s=s+i; } printf("s=%d\n",s);} 填空位置 人工填空语句 实验填空语句 实验运行结果 1 标志清0 2 n<=sqrt(i) n<=sqrt(i) 3 n++ n++ 9.以下程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空补充完整。 main() {inti,j; for(i=0;_______________;i++) {j=i*10+6;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实验 报告 答案