实验三 顺序及选择结构程序设计
- 格式:doc
- 大小:98.00 KB
- 文档页数:8
实验1、C语言编程环境和运行C程序的方法一、实验目的1、熟悉Visual C++6.0集成开发环境的使用方法;2、熟悉C语言程序从编辑、编译、连接到最后运行得到结果的全过程及每一步骤的作用;3、了解C语言程序的结构特征与书写规则,能够编写简单的C程序;4、初步理解程序调试的思想,能找出并改正C程序中的典型语法错误。
二、实验内容1、熟悉上机环境⑴参照教材附录A(P370~376)或实验指导书前言中的内容,熟悉VC++6.0集成环境,重点是其中常用菜单、工具按钮的功能;⑵在D盘建立一个自己的工作文件夹,文件夹以班名+学号后两位+姓名来命名(例如:动漫班75号张三的工作文件夹命名为dm75zhangsan 注意:文件夹及文件的命名尽量不要用汉字!);⑶参照教材第1章中的3个例题的源代码,在自己的工作文件夹中分别创建并运行三个C源程序,初步熟悉C 程序的结构特点和运行方式。
注意:①每个例题对应一个C源程序(新建C源文件时,文件时务必要加扩展名.c);②一个源程序成功运行后,要关闭工作区后再新建下一个例题的源程序(否则会出错);2、编程参照教材例题1.1编写一个程序实现分两行输出自己的姓名及联系电话。
3、程序改错调试以下给定程序的功能是在屏幕上显示“Welcome to Y ou!”,其中存在3处语法错误,请根据编译给出的出错提示,依次指出错误所在行并进行修改,调试程序使其能运行得到正确结果。
#include<stdio.h>mian() //1{printf(Welcome to You!\n") //2}三、实验要求1、将每次实验所编辑的C 源程序调试通过后分别保存在D 盘上自己的文件夹中(备查!)及自己的U 盘中;2、对调试过程中出现的问题和解决方法进行必要的记录,并予以简要分析四、实验小结1、结合本次实验,简述C 程序从编写到最终运行的一般过程,并简要说明其中每个步骤的作用及其生成的文件类型。
实验3 结构化程序设计初步1.实验目的(1)掌握C++赋值语句与输入输出语句的使用方法,区别C语言的输入输出语句(2)掌握关系运算符、逻辑运算符与条件运算符的运算规则并能熟练计算由这些运算符构成的表达式(3)深入掌握C++各种流程控制语句(选择语句、循环语句和跳转语句)的要点和使用方法(4)能够灵活地运用C++各种语句进行综合程序设计2.实验内容2.1程序分析题。
分析下面程序的运行结果,上机运行程序,观察其输出结果与你的分析结果是否相同?(1)有如下程序,从键盘输入123456.78↙后,变量c1、c2、a、b的值分别是多少?#include <iostream.h>void main( ){char c1,c2;int a;float b;cin>>c1>>c2>>a>>b;cout<<c1<<" "<<c2<<" "<<a<<" "<<b<<'\n';}(2)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<a<<endl;cout<<setprecision(9)<<a<<endl;cout<<setprecision(6)<<a<<endl;cout<<setiosflags(ios::fixed)<<a<<endl;cout<<setiosflags(ios::fixed)<<setprecision(8)<<a<<endl;}(3)#include <iostream.h>#include <iomanip.h>void main( ){double a=123.456789012345;cout<<setiosflags(ios::scientific)<<a<<endl;cout<<setiosflags(ios::scientific)<<setprecision(4)<<a<<endl;}#include <iomanip.h>void main( ){int b=123456;cout<<b<<endl;cout<<hex<<b<<endl;cout<<setiosflags(ios::uppercase)<<b<<endl;cout<<dec<<setw(10)<<b<<','<<b<<endl;cout<<setfill('*')<<setw(10)<<b<<endl;cout<<setiosflags(ios::showpos)<<b<<endl;}(5)有如下程序,从键盘输入86 24 75↙后,程序的输出结果为多少,为什么?#include <iostream.h>void main( ){int a,b,c;cin>>a>>oct>>b>>hex>>c;cout<<a<<" "<<b<<" "<<c<<endl;}(6)#include <iostream.h>#include <iomanip.h>void main( ){short a=-1;cout<<dec<<a<<" "<<oct<<a<<" "<<hex<<a<<endl;}(7)#include <stdio.h>void main( ){int a=-1;printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",a,a,a,a);}(8)以下程序中,为了给整型变量k1,k3赋值为10,给k2,k4赋值为20,如何输入数据?#include <stdio.h>void main( ){int k1,k2,k3,k4;scanf("%d%d",&k1,&k2);scanf("%d,%d",&k3,&k4);printf("k1=%d,k2=%d,k3=%d,k4=%d\n",k1,k2,k3,k4);}void main( ){int a=3,b=4,c=5,d=6,e,f;e=a>b&&(c=8);cout<<c<<" "<<e<<endl;f=a<b&&(e=c<d);cout<<e<<" "<<f<<endl;f=a<b||(d>0?d++:d--);cout<<d<<" "<<f<<endl;}(10)#include <iostream.h>void main( ){int x,y,z,w;z=(x=-1)?(y=-1,y+=x+5):(x=7,y=9);w=y*'a'/4;cout<<x<<" "<<y<<" "<<z<<" "<<w<<endl;}(11)#include <iostream.h>void main( ){int a=5,b=7,c=3,t;if(a= -1) cout<<"Yes"<<endl;else cout<<"No"<<endl;if(a>b) { t=a;a=b;b=t; }if(a>c) { t=a;a=c;c=t; }if(b>c) { t=b;b=c;c=t; }cout<<a<<" "<<b<<" "<<c<<endl;}解析:a被赋值为-1,输出YESIf语句成立则执行,不成立则不执行分析只有b>c成立,=后面的值赋给左边的,顺序从左到右(12)#include <iostream.h>void main( ){ char c='3';switch(c-'1'){case 0:case 1:cout<<c+1<<endl;case 2:cout<<c+2<<" "<<char(c+2)<<endl;default:cout<<c+3<<" "<<char(c+3)<<endl;}}‘3’是字符型,ASCLL码为051,执行Switch时,根据switch表达式的值找到与之匹配的case子句,就从此子句开始执行下去,不再进行判断(13)#include <iostream.h>void main( ){int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1: cout<<"+";break;case 2: cout<<"-";break;}case 0:switch(c==5){case 0: cout<<"*";break;case 1: cout<<"/";break;default: cout<<"#";break;}default: cout<<"$";}cout<<"\n";}a>0是真,值为1,执行case1,继续下面,b<0是假,不执行其中的case1.case2c==5是真,值为1,执行case1,输出/,其后有break,被中断不再执行分句里其下的命令,default: cout<<"$"前面没有break,则输出$(14)#include <iostream.h>void main( ){int a=10,b=0;do{a+=2;b+=a;cout<<"a="<<a<<",b="<<b<<endl;if(b>20) break;}while(a!=14);}(15)#include <iostream.h>void main( ){int i,j;for(i=10;i<20;i++){for(j=2;j<=i/2;j++)if(i%j==0) break;if(j>i/2)cout<<i<<" ";}cout<<endl;}(16)#include <iostream.h>void main( ){int i,j,m=0;for(i=0;i<5;i++)for(j=0;j<5;j++)if(j>=i) m++;cout<<m<<endl;}(17)#include <iostream.h>void main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){ if(j>i) break;cout<<i<<"*"<<j<<"="<<i*j<<" ";}cout<<endl;}}(18)#include <iostream.h>void main( ){int i=1,sum=0;while(i<=100){if(i%2==0){ i++; continue;}sum+=i;i++;}cout<<sum<<endl;}2.2编程题(1)编写程序从键盘输入一个大写字母,将其转换为小写字母并输出。
《C语言程序设计实验》指导书以下是为大家整理的《c语言程序设计实验》指导书的相关范文,本文关键词为c语言程序设计实验,指导书,c语言程序设计实验,简明版,中北,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
《c语言程序设计实验》指导书(简明版)中北大学软件学院20XX年10月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉c编译环境、简单c程序结构及书写方式、以及c程序的编辑、编译、连接、运行、调试的步骤;2、掌握c语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握c语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握c语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和n-s 图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单c程序的结构、书写格式以及上机过程;#includeintmain(){printf(\return0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
实验报告课程名称程序设计语言C/C++实验项目顺序结构,选择结构编程与调试一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种数据类型的输入输出的方法,能正确使用各种格式转换符。
3.掌握选择结构程序设计的方法和用用关系表达式、逻辑表达式表示选择结构的条件。
二、实验内容1.调试关于各种格式转换符的正确使用方法的程序并验证结果的正确性。
2.编写并调试简单的关于数据类型输入输出的程序。
3.编写并调试运行关于if语句和switch语句使用的程序。
三、实验步骤及结果分析1.从键盘输入两个整数,求两数之和并输出。
#include <stdio.h>int main ( ){int a,b,c;printf("请输入两个整数:\n");scanf("%d,%d",&a,&b);c=a+b;printf("两数之和为:%d\n",c);return 0;}2.从键盘输入园的半径r,求园的周长C、面积S并输出。
#include <stdio.h>int main( ){float pai=3.14159;float r,C,S;printf("Please enter the radius of the circle:");scanf("%f",&r);C=2*pai*r;S=pai*r*r;printf("The circumference of the circle C is %.2f\n",C); printf("The area of the circle is %.2f\n",S);return 0;}3.从键盘输入一个小写字母,要求输出其对应的大写字母。
#include <stdio.h>int main (){char c1,c2;c1=getchar();c2=c1-32;putchar(c2);printf("\n");return 0;}4.输入圆锥的底面圆的半径和高,求圆锥的表面积和体积。
程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。
2.掌握赋值语句的特点、功能。
3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
4.掌握编写程序和调试程序的方法。
二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。
#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。
(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。
合肥师范学院实验报告册2013 / 201 学年第1 学期系别计算机科学与技术系实验课程高级语言程序设计专业班级姓名学号指导教师《高级语言程序设计》实验 班级: 学号: 姓名:-1-实验一 ——VC 工作环境及顺序结构程序设计一、实验目的1. 熟悉VC++的运行环境,掌握运行一个C 程序的基本步骤,包括编辑、编译、连接和运行;2. 理解顺序结构程序方式;3. 了解常用数据类型的输入输出方法;4. 了解C 程序的基本框架,能编写简单的C 程序,了解程序调试;二、实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。
1. 输入并运行一个简单、正确的程序。
输入编程示例 “Hello ,World !”程序,即: # inc lude “stdio.h” int main(void) {printf("Hello ,World !\n"); return 0; }1) 参考实验指导书P223~P233,学习C 程序的编辑、编译、运行,熟悉VC++6.0的基本界面操作。
2) 修改本例,使用printf ()输出自己的个性化签名,保存到文件ex1_1.c 中。
2. 程序改错题:# include stdio.h int mian(void) {printf( Welcome to You! \n" ) return 0;1) 分析本程序段中哪些地方存在错误?请标记出来,并给出修改意见。
2) 输入上面程序(或打开error1_2.c ),学习程序调试。
3. 程序阅读题:1) 请分析下面程序(ex1_3.c )运行结果是什么? # include <stdio.h> int main(void){ char c1,c2 ; c1=97; c2=98; printf( "c1=%c,c2=%c \n", c1, c2 ); printf( "c1=%d,c2=%d \n", c1, c2 ); return 0; } 运行结果是: 2) 若将程序第4,5行改为c1=197;c2=198;运行结果又如何?并简单分析。
《Visual C#程序设计》课程上机实验报告专业 _________________班级学号________________姓名 ______________指导教师 ______________学期_______________________南京工业大学测绘学院上机守则1.学生必须按指导教师安排的上机实验时间进入机房上机,未经许可,不得带外人进入机房。
2.进入机房时必须穿上鞋套,否则不得进入机房。
3.认真填写上机情况登记表,若遇计算机有异常情况,应先向老师汇报,不得擅自处理。
4.遵守计算机操作规程,即开机时先开显示器再开主机;结束时须关闭计算机,关机时先通过Windows功能关闭系统,主机电源指示灯灭了以后再关闭显示器。
5.禁止上机时玩游戏或从事与上机实验无关的内容。
6.保持机房安静和整洁,不得携带食品、饮料进入机房,严禁随地吐痰、乱扔垃圾或杂物,禁止吸烟、大声喧哗或闲聊。
7.爱护机房设施,严禁更改设置参数、添加口令或删除非本人文件。
对于导致计算机不能正常工作、影响他人上机者,将取消其上机资格。
8.严禁私自拆卸配件或将室内物品带出室外。
一经发现,除要求按价赔偿外,将通报批评和取消其上机资格,情节严重者交有关行政部门和司法部门处理。
上机实验注意事项1、上机实验前必须阅读有关教材及本上机实验指导书,初步了解上机实验内容要求与步骤。
2、严格遵守上机守则,严禁大声喧哗或玩游戏。
3、认真填上机实验记录,不可潦草,填写内容包括上机实验时间、地点、实验主要内容、步骤及完成成果说明等。
4、独立完成上机实验内容,实事求是,严禁抄袭他人作业。
若有弄虚作假现象,该课程成绩按不及格处理。
5、实验结束时,应向指导教师提交上机实验报告和有关成果,符合要求并经允许,方可关机和离开机房。
6、按时上机,不准迟到、早退、旷课,有事须预先履行请假手续,征得指导教师同意后方可离开。
上机实验一、熟悉Visual C#开发环境一、实验目的熟悉Visual C#集成开发环境,了解Visual C#控制台应用程序和窗体应用程序的编写过程。
实验三-选择结构程序设计实验目的:通过编写选择结构程序,掌握选择结构的使用方法和程序设计思路。
实验材料:计算机,编程软件(如C++、Python等),实验指导书。
实验一:利用选择结构判断某数的正负实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量num,用于存储输入的数字。
步骤三:使用输入函数,要求用户输入一个数字,并将其赋值给num。
步骤四:使用选择结构,判断num的正负情况。
如果num大于0,则输出"该数为正数"。
如果num小于0,则输出"该数为负数"。
如果num等于0,则输出"该数为零"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的数字进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入数字的正负情况,并输出相应结果。
实验二:利用选择结构判断某年是否是闰年实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量year,用于存储输入的年份。
步骤三:使用输入函数,要求用户输入一个年份,并将其赋值给year。
步骤四:使用选择结构,判断year是否是闰年。
如果year能够整除4且不能整除100,或者能够整除400,则输出"该年是闰年"。
否则输出"该年不是闰年"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的年份进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入年份是否是闰年,并输出相应结果。
实验三:利用选择结构计算学生成绩等级实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个浮点型变量score,用于存储输入的学生成绩。
步骤三:使用输入函数,要求用户输入一个学生成绩,并将其赋值给score。
步骤四:使用选择结构,根据score的值计算学生的等级。
实验三 选择结构程序设计一:目的要求1.熟悉用关系运行与逻辑运行符的应用;2.掌握if 语句与switch 语句的使用;3.上机前按实验要求预习编写出完整的程序,才允许上机。
二:实验内容与步骤1、从键盘输入一个年份,判断其是不是闰年;2、从键盘输入a 、b 、c 三个数,并求出方程02=++c bx ax 的解,要求考虑有两个不等实根、两个相等实根、两个虚根的情况,要根据a 、b 、c 的不同值,给出不同结果的提示。
1.#include <stdio.h>int main(){int year,leap;printf("enter year:"); scanf("%d",&year);if (year%4==0)if(year%100==0)if(year%400==0) leap=1;else leap=0;else leap=1;else leap=0;if (leap) printf("%d is ",year);else printf("%d is not ",year);printf("a leap year.\n");return 0;}2#include <stdio.h>#include <math.h>int main(){double a,b,c,disc,x1,x2,realpart, imagpart;scanf("%lf,%lf,%lf",&a,&b,&c);printf("The equation ");if(fabs(a)<=1e-6)printf("is not a quadratic\n");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%8.4f\n", -b/(2*a));elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("has distinct real roots:%8.4fand %8.4f\n",x1,x2);}else{ realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(" has complex roots:\n");printf("%8.4f+%8.4fi\n”,realpart,imagpart);printf("%8.4f-%8.4fi\”, realpart,imagpart);}}return 0;}。
班级:学号:姓名:成绩:实验三选择结构程序设计【实验目的】1.正确书写关系表达式。
2.掌握if语句的各种格式以及嵌套使用。
3.掌握switch语句的使用。
4.能正确调用c语言提供的数学库函数。
【实验内容】一、改错题1.输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter。
#include<iostream.h>Void main(){int a,b,c,area, perimeter;printf(”Enter 3sides of triangle:\n”);scanf(“%d%d%d”,&a,&b,&c);if(a+b>c||a+c>b||c+b>a){s=1/2(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;printf(“area=%d\tperimeter=%d\n”area,perimteer);elseprintf(”These sides do not correspond to a valid triangle.\n”);}运行结果1:Enter 3 sides of the triangle:5 5 3Area=7.15454 perimeter=13运行结果2:Enter 3 sides of the triangle:1 4 1These sides do not correspond to a valid triangle.二、程序填空题输入a,b,c三个数,求解方程ax2+bx+c=0。
#include<stdio.h>#include<math.h>Void main(){double a,b,c,delta,x1,x2,p,q;scanf(“%lf%lf%lf”,&a,&b,&c);if(a==0){If( ______________)printf(”只有一个根x=\n”,-c/b);else if(____________)printf(”方程的解是全体实数.\n”);else printf(”方程无解.\n”);}else__________________;if(_________________){printf(”有两个不同的实根:\n”);x1=(-b+sqrt(delta))/(2*a);x1=(-b-sqrt(delta))/(2*a);printf(“x1=%f\nx2=%f\n”,x1,x2);}else if(_____________){printf(”有两个相同的实根:”);printf(”x1,x2=%f\n”, -b/(2*a))}else{p=-b/(2*a);q=(-delta)*(2*a)printf(”有两个不同的虚根:”);printf(“x1=%f+%fi\n”,p,q);printf(“,x2=%f-%fi\n”,p,q”);}}}运行结果1:0 0 0方程的解是全体实数.运行结果2:0 0 2方程无解.运行结果3:0 2 3只有一个根x=-1.5运行结果4:1 2 1有两个相同的实根.x1=x2=-1运行结果5:1 5 6有两个不同的实根.运行结果6:1 -2 5有两个不同的虚根:X1=1=2i,x2=1-2i三、编程题(1)输入一个整数,判断它的奇偶性后输出。
第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。
示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。
要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。
《计算机基础与程序设计》实验指导书实验教学目标:本课程实验教学的目标在于使学生能够掌握算法的基本概念,并根据算法编制程序,掌握调试程序的基本技巧,初步了解软件开发所要经历的阶段,为学生从事计算机软件开发和数据处理工作打下坚实的基础。
实验教学要求:要求掌握数据类型的定义和使用;三种结构的程序设计;数组;函数;指针;结构体与共用体;文件操作等。
实验(一)C语言的编程环境(TURBOC 2.O)一、目的和要求1、熟悉C语言运行环境。
2、掌握C语言程序的书写格式和C语言程序的结构。
3、掌握C语言上机步骤,了解运行一个C程序的方法。
4、本实验可在学习完教材第一章后进行。
二、实验内容1. 启动Turbo C如果用户计算机系统已经安装了Turbo C编译系统,则在DOS命令状态下键入命令tc。
进入Turbo C集成环境后,首先在屏幕上显示Turbo C主菜单窗口,如下图所示。
可以看出,在该窗口,有8个菜单条目。
每一个菜单的意义如下:File 处理文件(包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用DOS 。
Edit 建立、编辑源文件。
Run 控制运行程序。
如果程序已经编译连接好,且Debug/Source Debugging以及Option/Compiler/Code generation/OBJ Debug Information开关置为On,则可以用此菜单初始化调试阶段。
Compile 编译并生成目标程序与可执行文件。
Project 允许说明程序中包含哪些文件的管理条目。
Options 可以选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选项)及定义宏;也可以记录Include Output及Library文件目录,保存编译任选项和从配置文件加载任选。
Debug 检查、改变变量的值,查找函数,程序运行时查看调用栈。
选择程序编译时是否在执行行代码中插入调试信息。
《C语言程序设计》实验指导书课程编号:课程名称:C语言程序设计•实验学时:44一、本实验课的性质、任务与tl的本实验课目的是使学生掌握C语言编程的常用方法,熟悉该语言中的语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。
通过学习能够运用c语言中的各个知识点编写能完成一定功能的程序。
训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度决不亚于知识的传授。
把高级语言的学习与程序设计.上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。
二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。
《C语言程序设计》的主要任务是:C语言是一种应用广泛结构化程序设计语言,本课程介绍c语言的基本概念.基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。
三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图, 要求独立完成。
说明:1>实验类型:设计性;2、实验要求:必做。
四、每组人数与实验学时数每组1人,实验学时数44学时。
五、考核方式与评分办法实验总成绩二出勤情况"0%+实验报告*20%+平时*30%+实验表现*40%六、本实验课配套教材或实验指导书谭浩强.C程序设计.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计题解与上机指导.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计试题汇编.北京:清华大学出版社,2006年3月第2版夏宽理.C语言程序设计.北京:中国铁道出版社,2006年2月第1版夏宽理.C语言程序设计上机指导与习题解答.北京:中国铁道出版社,2006年2月第1 版王士元・C高级实用程序设计.北京:清华大学出版社,1996年1月第1版七、实验报告要求在机器上交作业,每次实验成绩分为优、良、及格、不及格,未参加的为0分。
实验三分⽀结构程序设计(设计性实验)安徽⼯程⼤学Python程序设计实验报告班级物流192 姓名许雷雷学号3190505215成绩⽇期 2020.4.8 指导⽼师修宇实验三分⽀结构程序设计(设计性实验)【实验⽬的】(1)学会正确使⽤⽐较运算符与⽐较表达式、逻辑运算符和逻辑表达式(2)熟练⽤if语句设计选择结构程序;【实验条件】PC机或者远程编程环境【实验内容】1、完成三个编程题。
(1)设计⼀个货币转换程序问题描述:参考温度转换实例编制⼀个货币转换程序假定美元/⼈民币汇率为:6.7744 : 1输⼊输出格式例1: 输⼊⼀个美元货币值:$32.3当输⼊美元时,返回“美元转换为⼈民币后是:¥32元”例2: 输⼊⼀个⼈民币货币值:¥10.1 ,当输⼊⼈民币时,返回“⼈民币转换为美元后是:$32美元如下图(2)求解数学表达式的值问题描述从键盘输⼊x的值,根据公式计算并输出x和y的值直接输出y的值,保留⼩数点后两位,不需要额外信息.如下图(3)新版个⼈所得税计算问题描述:请编写⼀个程序,根据⽤户输⼊计算个⼈所得税。
1. ⽤户输⼊是个⼈薪⾦扣险所得。
(1)约定⽤户输⼊为以⼈民币元为单位的零或者正数。
不要增加额外的提⽰信息。
(2)如果⽤户输⼊了负数,提⽰“请输⼊正数!”。
其他错误输⼊可以不予处理。
2. 计算应缴纳的税⾦(保留⼩数点后⼀位)。
我国的个⼈所得税采⽤“超额累进税率”计算⽅法,简化公式如下:缴税 = (个⼈薪⾦扣险所得 – 个税免征额)* 税率其中,个税免征额为5000元,税率根据应纳税额数量⽽不同,如下表所⽰:如下图思考题尝试⽤IDLE 运⾏你的程序,如果⽤户输⼊不符合输⼊格式时,程序会运⾏出现什么情况?1.货币转换:提⽰输⼊错误,请输⼊带有符号的货币值。
2.数学公式求解:提⽰输⼊格式错误。
3.新版个⼈所得税计算:提⽰输⼊⽆意义。
你认为如何从哪⼏⽅⾯修改程序让计算机与⼈的交互更加友好语⾔格式。
《C语言》实验指导书编(全校理工类本科用)2014年2月目录实验一简单C语言程序设计 (1)实验二顺序结构程序设计 (3)实验三选择结构程序设计 (5)实验四循环结构程序设计 (7)实验五数组程序设计 (10)实验六函数程序设计 (13)实验七指针程序设计 (16)实验八结构体程序设计 (17)附录1 C语言上机步骤 (18)实验一简单C语言程序设计实验类型:验证性实验课时: 4 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握所用的C语言环境的基本操作方法。
2.掌握编辑、编译、连接和运行C程序。
3.掌握C程序的数据类型、运算符,表达式。
二、实验内容和要求1.打开C语言环境,编辑如下程序,写出运行结果。
#include <stdio.h>void main(){printf(“Hello World!\n”);}2. 在屏幕上显示下列图形:* * * ** * ** **3.完成习题集中习题一的内容4. 已知三角形的三边长为3,4,5,求三角形周长5 .完成习题集中习题二内容实验二顺序结构程序设计实验类型:验证性实验课时: 2 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握基本输入输出函数、库函数的使用。
2.能够编程实现简单的结构化程序。
二、实验内容和要求1.执行程序,写出运行结果。
#include <stdio.h>void main(){float a = 9.1234567891234567890;double b = 9.1234567891234567890;printf("%f, %lf\n",a,b);printf("%.15f,%.15\n",a,b);};2.运行程序,写出结果。
#include <stdio.h>void main(){float x1;double y1 ;scanf("%f %lf ",&x1,&y1) ;printf("x1=%f,y1=%lf ",x1,y1) ;}程序运行时输入x的值123456789,输入y的值123456789。
实验三顺序及选择结构程序设计一、实验目的1、掌握顺序结构程序的设计方法。
2、掌握赋值语句、注释语句、InputBox()函数、MsgBox语句与函数的使用方法。
3、掌握Print方法、Tab函数、字体类型、打印机输出的使用。
4、掌握简单块If语句、多分支块If语句、行If语句、IIf()函数的使用。
5、掌握情况语句(Select Case)的使用。
二、实验内容要求:实验一、实验二中选做一个,实验三、实验四中选做一个1、实验一。
2、实验二。
3、实验三。
4、实验四。
三、实验指导1、实验一。
用InputBox()函数输入弧度值,将弧度值转换为角度值(度、分、秒)的形式,然后在窗体上打印出来。
【提示】利用InputBox()函数输入弧度值后,首先把弧度值转换为原始角度值,然后取整,结果就为角度值中的度值,然后把原始角度值减去度值,把结果转化为分值,采用类似思维即可求出结果。
【参考代码】Private Sub Cmd1_Click()Dim s As Single, a As Integer, b As Integer, c As IntegerConst pi As Single = 3.14159s = Val(InputBox("请输入弧度值:"))s = s * 180 / pia = Int(s)s = s - as = s * 60b = Int(s)s = s - bc = s * 60Print "对应的角度值为:"; a & "度" & b & "分" & c & "秒。
"End Sub程序运行界面如图4.1所示。
图4.1程序运行界面2、实验二。
所谓“水仙花数”是指一个三位数,其各位数的立方和等于该数,如:153=13+53+33利用InputBox()函数输入一个三位的整数,判断其是否为水仙花数。
【提示】利用InputBox()函数输入一个三位的整数赋值给一个变量,分别求出其百位、十位、个位数字,之后进行判断(用块IF语句),所以代码应该写在命令按钮的单击事件中,在取三位数的个位、十位、百位时,可以使用整除法(bw = n \ 100),也可以使用取整法(bw = Int(n / 100))来编写。
【参考代码】Private Sub Cmd1_Click()Dim n As Integer, gw As Integer, sw As Integer, bw As Integern = InputBox("请输入一个三位数:")bw = n \ 100sw = (n - bw * 100) \ 10gw = n - bw * 100 - sw * 10If gw ^ 3 + sw ^ 3 + bw ^ 3 = n ThenPrint n; "是水仙花数。
"ElsePrint n; "不是水仙花数。
"End IfEnd Sub程序运行界面如图4.2所示:图4.2 程序运行界面3、实验三。
编写程序,为航空公司计算票价的优惠率,假设优惠率规定如下:①在旅游旺季7~9月份,如果订票数超过20张,票价优惠15%;20张以下,优惠5%。
②在旅游淡季1~5月份、10月份和十一月份,如果订票数超过20张,票价优惠30%;20张以下,优惠20%。
③其它情况一律优惠10%。
根据月份和订票张数决定票价的优惠率。
【提示】本例有两重条件,所以用嵌套实现,首先判断月份,在月份确定的情况下判断订票张数,代码应该写在命令按钮的单击事件中。
【参考代码】Private Sub Cmd1_Click()Dim m As Integer, n As Integer, r As Integerm = Val(Text1.Text)n = Val(Text2.Text)Select Case mCase 7 To 9If n < 20 Then r = 5 Else r = 15Case Is < 5, 10, 11If n < 20 Then r = 20 Else r = 30Case Elser = 10End SelectLabel4.Caption = "所订机票的优惠率为:" & r & "%"End Sub运行界面如图4.3所示。
图4.3 程序运行界面4、实验四。
编写程序,在窗体上添加两个框架(Frame)控件,在其中各自添加2个两个单选按钮,标题属性如下,根据选中情况在文本框内显示结果。
【提示】单选按钮是否被选中的状态用Value来表示,当单选按钮被选中用语句:单选按钮. Value=True来表示,可以使用各种选择语句来实现。
【参考代码】Private Sub Cmd1_Click()'方法1,用并行ElseIf语句。
If Opt1.V alue = True And Opt3.Value = True ThenText1.Text = "我是" & Opt1.Caption & Opt3.CaptionElseIf Opt1.Value = True And Opt4.Value = True ThenText1.Text = "我是" & Opt1.Caption & Opt4.CaptionElseIf Opt2.Value = True And Opt3.Value = True ThenText1.Text = "我是" & Opt2.Caption & Opt3.CaptionElseIf Opt2.Value = True And Opt4.Value = True ThenText1.Text = "我是" & Opt2.Caption & Opt4.CaptionEnd IfEnd Sub本题也可以使用其它选择语句来实现,如:'方法2,用块If语句嵌套块If语句。
If Opt1.V alue = True ThenIf Opt3.V alue = True ThenText1.Text = "我是" & Opt1.Caption & Opt3.CaptionElseText1.Text = "我是" & Opt1.Caption & Opt4.CaptionEnd IfElseIf Opt3.V alue = True ThenText1.Text = "我是" & Opt2.Caption & Opt3.CaptionElseText1.Text = "我是" & Opt2.Caption & Opt4.CaptionEnd IfEnd If图4.4 程序运行界面常见算法:C语言求最小公倍数和最大公约数三种算法最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:①a%b得余数c②若c=0,则b即为两数的最大公约数③若c≠0,则a=b,b=c,再回去执行①例如求27和15的最大公约数过程为:27÷15余1215÷12余312÷3余0因此,3即为最大公约数[cpp]view plaincopy1.#include<stdio.h>2.void main() /* 辗转相除法求最大公约数 */3.{4.int m, n, a, b, t, c;5. printf("Input two integer numbers:\n");6. scanf("%d%d", &a, &b);7. m=a; n=b;8.while(b!=0) /* 余数不为0,继续相除,直到余数为0 */9. { c=a%b; a=b; b=c;}10. printf("The largest common divisor:%d\n", a);11. printf("The least common multiple:%d\n", m*n/a);12.}⑵相减法有两整数a和b:①若a>b,则a=a-b②若a<b,则b=b-a③若a=b,则a(或b)即为两数的最大公约数④若a≠b,则再回去执行①例如求27和15的最大公约数过程为:27-15=12( 15>12 ) 15-12=3( 12>3 )12-3=9( 9>3 ) 9-3=6( 6>3 )6-3=3( 3==3 )因此,3即为最大公约数[cpp]view plaincopy1.#include<stdio.h>2.void main ( ) /* 相减法求最大公约数 */3.{4.int m, n, a, b, c;5.printf("Input two integer numbers:\n");6. scanf ("%d,%d", &a, &b);m=a; n=b;7./* a, b不相等,大数减小数,直到相等为止。
*/8.while ( a!=b)9.if (a>b) a=a-b;10.else b=b-a;11. printf("The largest common divisor:%d\n", a);12. printf("The least common multiple:%d\n", m*n/a);13.}⑶穷举法有两整数a和b:① i=1②若a,b能同时被i整除,则t=i③ i++④若 i <= a(或b),则再回去执行②⑤若 i > a(或b),则t即为最大公约数,结束改进:① i= a(或b)②若a,b能同时被i整除,则i即为最大公约数,结束③ i--,再回去执行②有两整数a和b:① i=1②若a,b能同时被i整除,则t=i③ i++④若 i <= a(或b),则再回去执行②⑤若 i > a(或b),则t即为最大公约数,结束改进:① i= a(或b)②若a,b能同时被i整除,则i即为最大公约数,结束③ i--,再回去执行②1.#include<stdio.h>2.void main () /* 穷举法求最大公约数 */3.{4.int m, n, a, b, i, t;5. printf("Input two integer numbers:\n");6. scanf ("%d,%d", &a, &b);m=a; n=b;7.for (i=1; i<= a; i++)8.if ( a%i == 0 && b%i ==0 ) t=i;9. printf("The largest common divisor:%d\n", t);10. printf("The least common multiple:%d\n", m*n/t);11.}12./* 改进后的13. for (t= a; t>0; t-- )14. if ( a%t == 0 && b%t ==0 ) break;15.*/[cpp]view plaincopy1.//穷举法求最小公倍数2.for (i= a; ; i++ )3.if ( i % a == 0 && i % b ==0 ) break;4. printf("The least common multiple:%d\n", i )5.6.//多个数的最大公约数和最小公倍数7.for (i= a; i>0; i-- )8.if (a%i==0&&b%i==0&&c%i==0) break;9. printf("The largest common divisor:%d\n", i);10.for (i= a; ; i++ )11.if (i%a==0&&i%b==0&&i% c==0) break;12. printf("The least common multiple:%d\n", i )。