文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计实验报告.doc

C语言程序设计实验报告.doc

C语言程序设计实验报告.doc
C语言程序设计实验报告.doc

C语言程序设计实验报告

实验名称计算出1000以内10个素数之和

实验目的

1、熟练掌握if、if…else、if…else if语句和witch 语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。

2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

实验内容

计算并输出1000以内的10个素数以及它们的和。

要求:

在程序内部加必要的注释。

由于偶数不是素数,可以不考虑对偶数的处理。

虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。

输出形式为:素数1+素数2+素数3+…+素数10=总和值。

算法描述流程图

Main函数:

判断素数:

源程序

#include

#include

int sushu(int n)/* 判断素数的函数 */

{

int t,i;

t=sqrt(n);

for(i=2;i1;i-=2)/* x为奇数时,做函数计算 */ {

n=sushu(i); /* 做判断素数的函数调用 */

( 励志天下 )

if(n!=0)/* 对素数的处理 */

{

a[j]=n;/* 把素数由大至小存入数组a[ ]中 */

j++;

if(j<11)

m+=n; /* 统计前10个素数之和 */

}

}

if(j<10)/* 当素数个数小于10个时,结果输出 */

for(i=0;i

{

n=a[i];

printf("%d",n);

printf("+");

}

printf("2=");

printf("%d\n",m+2);

}

else for(i=0;i<10;i++)/* 当素数个数大于等于10个时,结果输出 */

{

n=a[i];

printf("%d",n);

if(i<9)

printf("+");

else

{

printf("=");

printf("%d\n",m);

}

}

}

测试数据

分别输入1000、100、10测试。

运行结果

出现问题及解决方法

当素数个数小于10时的处理不够完善,考虑不够周全。把“+2”的处理做的太勉强。

程序过大,不够精简,无用文字太多。

学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。

编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。

基本功不够,如清屏clrscr等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。

物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板

知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

C上机实验报告实验五

C上机实验报告实验五 This manuscript was revised by the office on December 22, 2012

实验五继承与派生 1.实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 2.实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop 等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。 3.实验内容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(intn)中直接对age赋值时,会出现类似以下的错误提示: errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。 4.思考题 1.如何在已有的类的基础上设计新的类?

C上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。 4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp。 5.在employee.h文件中定义Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示

C程序设计上机实验报告11

C程序设计实验报告 实验名称:指针与字符串学时安排:2课时 实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的 1. 掌握通过指针操作字符串的方法; 二、实验设备介绍 软件需求: Visual C++ 6.0或CFree3.5以上版本 硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 三、实验内容 1.输入一个字符串t和一个正整数m,讲t中从第m个(m小于字符串长度)字符开始的全部字符复制的字符串s中,再输出字符串s。要求用字符指针定义并调用函数strmcpy(s, t, m),它的功能是将字符串t中从第m个字符开始的全部字符复制到字符串s中。示例如下:Input a string: happy new year! Input an integers: 7 Output is: new year! 2. 编写一个函数delchar(s, c),该函数将字符串s中出现的所有c字符删除。自己定义main 函数,并在其中调用delchar(s,c)函数。D此大锅饭 3. 改正程序error08_ 4.cpp中的错误。函数strc的作用是将字符串s连接到t的尾部。在

主函数中输入两个字符串s和t,调用strc完成字符串的连接。输入输出结果如下所示:World! Hello HelloWorld! 要求把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。 注释示例如下: int i; /*循环控制变量不能定义为double类型*/ 4. 编程判断输入的一串字符是否为“回文”,如果是输出“Yes”,否则输出“No”。所谓“回文”,是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 四、程序清单 第一题 #include void strmcpy(char str[],char t[],int m){ int i=0,n; char *s; s=str; for(s+=m-1;*s!=0;s++) { t[i]=*s; i++; } printf("Output is:"); for(n=0;n

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

c上机实验报告

实验五继承与派生 实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 实验要求 1?定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge (int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2?定义一个基类BaseClass有整型变量Number,构造其派生类 DerivedClass观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight 等成员,Run、Stop 等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车 (bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数 (SeatNun)等属性。从bicycle和motorcar 派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。 实验内容及实验步骤 1?编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge (int n)中直接对age赋值时,会出现类似以下的错误提示: error C2248: ‘age':cannot access private member declared in class C2248: ‘ age' :cannot access privateer declared in class 把Agm改为公 有成员变量后重新编译就可以了。程序名:。 错误代码: #include using namespace std; class Animal

c语言上机实验报告 (2)

c语言上机实验报告 (2) 实验六 姓名班级单周上机的那班学号 一 程序源:#include #include void main() { FILE*fp; fp=fopen("E:\\yxf01.text","w"); if(fp==NULL) { printf("文件打不开"); exit(0); } int a,i; printf("请输入一个尾部为0的整数\n"); scanf("%d",&a); while(a%10!=0) { printf("输入值非法,请从新输入!\n"); scanf("%d",&a); }

fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/1 0,a/10,a/10,a/ 10,a/10,a/10,a/10); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a /10,a/10,a/10,a/ 10,a-8*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10 ,a/10,a/10,a-7*(a /10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a/ 10,a-6*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a- 5*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a-4*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d\n",a,a/10,a/10,a/10,a-3*(a/10)); fprintf(fp,"%d=%d+%d+%d\n",a,a/10,a/10,a-2*(a/10)); fprintf(fp,"%d=%d+%d\n",a,a/10,a-(a/10)); fclose(fp) } 运行结果:

C上机实验报告

实验一 顺序结构程序设计 【实验日期】 年 月 日 【实验目的】 1. 熟悉VC++6.0调试环境,掌握运行一个C 程序的基本步骤。 2. 掌握基本输入、输出函数的使用。 3. 能够编写简单的顺序结构程序,实现简单的数据处理。 4. 掌握C 程序的查错方法。 【实验内容】 调试示例 改正下列程序中的错误,求华氏温度1000F 对应的摄氏温度。计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度。 源程序(有错误的程序) #include “stdoi.h ” void main() { int c;f; f=100; c=5*(f-32)/9; printf(“f=d,c=%d\n ”,f,c); } 运行结果(改正后程序的运行结果) f=100,c=37 调试过程: (1) 输入源程序。 (2) 使用菜单或工具栏来完成编译、连接和运行操作。 (3) 单击编译(Compile )按钮,编译时出现的第一条错误信息是: Cannot open include file:’stdoi.h ’:no such file or directory 通过拖动信息窗口右侧的滚动块或将信息窗口拉大可查看错误信息。双击该错误信息,箭头指向源程序的第一行,因为“stdio.h ”被误写为“stdoi.h ”。改正为“stdio.h ”后,重新编译,新产生的第一9)32(5-?=f c

条错误信息是:‘f’:undeclared identifier 双击该错误信息,箭头指向源程序的第四行,错误信息指出“f”变量没有被定义。仔细观察后,发现“f”前的分号应该为逗号。将“f”前的分号改为逗号后,重新编译,编译正确。 (4) 单击连接(Build)按钮,连接正确。 (5) 单击运行(Build Execute)按钮,运行结果为:f=d,c=100。 结果不符合题目的要求,仔细检查源程序,发现函数printf中“f=d”的“d”应为“%d”。改正后,重新编译、连接和运行,运行结果与题目要求的结果一致。 ●改错题 改正下列程序中的错误,计算x的平方y,并分别以“y=x*x”和“x*x=y”的形式输出x和y的值。 源程序(有错误的程序) /********************found********************/ #include “stdoi.h” void main() { int y,x; printf(“Input x:”); scanf(“%d”,&x); y=x*x; /********************found**********************/ printf(“%d=%d*%d\n”,x); /********************found**********************/ printf(“%d*%d=%d\n”,y); } 运行结果1(改正后程序的运行结果)运行结果2 Input x:5 Input x:4 25=5*5 16=4*4 5*5=25 4*4=16 ●编程题 1、已知某位学生的数学、英语和计算机课程的成绩分别是82分、78分和91分,求该生3门课的平均成绩。 输出示例: Math=82,eng=78,comp=91,average=83

C程序设计上机实验报告完整版

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号: 实验时间:2017年3月6号 任课老师:张锐 C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: ??代码1: 运行结果1: ??程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for循环来进行整除过程的简写。 代码2: ? 运行结果2: ? 程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。 代码3: 运行结果3: 程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算 术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容: (1). 编写程序,实现小写字母转大写。 (2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: ??程序分析1: 所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。 代码2: ?运行结果2: ??程序分析2: 简单的数据运算和格式字符的输出。 代码3: 运行结果3: ??? ?程序分析3: 简单的数据运算实现相应的功能。 代码4: ??运行结果4: ?程序分析4: getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕. ?代码5: ??运行结果5: 程序分析5: 重要的是格式字符的使用,%d(输出十进制整型数)%o(以八进制格式输出整形数)%x(以十六进制格式输出整型数)%f(以带小数点的形式输出浮点数)%c(输出一个字符)%s(输出字符串,直到遇到\0) 五、实验总结 C语言程序设计上机实验报告 实验三 一、实验名称:选择结构程序设计 二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句, 学习调试程序。 三、实验内容: (1). 编写程序,用if 语句编程实现一分段函数的求解。 (2).用if 语句编写程序,求一元二次方程的根。

大一C语言上机实验报告

C语言程序设计实验报告姓名: 班级: 学号: 实验内容: 编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为: 4 2 3 3 9 【提示】巧妙使用/ 和% 两种运算符。 源代码: #include void main() { long int num,a,b,c,d,e; scanf("%ld",&num); a=num/10000; b=num%10000/1000; c=num%1000/100; d=num%100/10; e=num%10; printf("%ld %ld %ld %ld %ld\n",a,b,c,d,e); }

运行结果: 实验内容: 已知三角形三边a,b,c,计算三角形的面积。 注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂 S=1/2*(a+b+c) 源代码: #include #include void main() { double area,s,a,b,c;

scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; if(a>0 && b>0 && c>0) { area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%lf\n",area); } else printf("输入错误,三角形边长不能为负数或0\n"); } 运行结果:

实验内容: 输入圆的半径,计算出圆的周长和面积源代码: #include #include void main() { double r,z,area,pi=3.14159; scanf("%lf",&r); if(r>0)

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

C语言实验报告实验1-1: hello world程序: 源代码: #include main() { printf("hello world!\n"); system("pause"); } 实验1-2: 完成3个数据的输入、求和并输出计算结果的程序:源代码: #include main() { int i,j,k,sum; scanf("%d%d%d",&i,&j,&k); sum=i+j+k; printf("sum=%d",sum); system("pause");

实验1-3: 在屏幕上输出如下图形: A BBB CCCCC 源代码: #include main() { printf(" A\n"); printf(" BBB\n"); printf(" CCCCC\n"); system("pause"); } 实验2-1: 计算由键盘输入的任何两个双精度数据的平均值源代码: #include main() { double a,b;

scanf("%lf%lf",&a,&b); printf("%.1lf\n",(a+b)/2); system("pause"); } 实验2-2: 写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算 源代码: #include main() { float a,b,c,d,e,f,g,x; scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g); x=a + b * (c - d ) / e * f - g; printf("x=%f",x); system("pause"); } 实验2-3: 编写一个C语言程序,测试下列各表达式: i, j i + 1 , j + 1

C语言程序设计实验报告

C语言程序设计实验报告 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。

由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i1;i-=2)/* x为奇数时,做函数计算*/ { n=sushu(i); /* 做判断素数的函数调用*/

( 励志天下) if(n!=0)/* 对素数的处理*/ { a[j]=n;/* 把素数由大至小存入数组a[ ]中*/ j++; if(j<11) m+=n; /* 统计前10个素数之和*/ } } if(j<10)/* 当素数个数小于10个时,结果输出*/ { for(i=0;i { n=a[i]; printf("%d",n); printf("+");

C 上机实验报告 实验六

实验六多态性 1.实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 2.实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 3.(选做)对实验4中的People类重载“==”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现People类对象的赋值操作。 3.实验内容及实验步骤 1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++();Pointoperator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point &operator--();Pointoperator--(int);以实现对Point 类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。

2.编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 4.思考题 1.如何将一个运算符重载为类的成员函数? 函数类型operator运算符(形参表) { 函数体; } 2.如何将一个运算符重载为类的友元函数? friend函数类型operator运算符(形参表) { 函数体; } 3.如何实现运行时刻的多态? 在基类的成员函数前加上virtual,就可以在它的派生类中声明相同名字和类型的成员函数,在运行过程中,系统会自动判断并

C语言实验报告参考答案(原)汇总

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); }

(2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

C上机实验报告实验六

C上机实验报告实验六集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验六 实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 3. (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。 实验内容及实验步骤 1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point& operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.Cpp #include using namespace std; class Point { public: Point(); Point(int x,int y);

C语言实验报告

《程序设计基础》实验报告 姓名郭晟班级17级计算机科学与技术 1班 学号1706011105 实验名称实验1、熟悉实验环境 实验时间2017年10月26日成绩91 实验目的: 1.熟悉C语言运行环境,了解和使用Visual C++ 6.0集成开发环境; 2.熟悉Visual C++ 6.0环境的功能键和常用的功能菜单命令; 3.熟悉C语言程序的书写格式和C语言程序的结构; 4.熟悉C语言的上机步骤,以及编辑、编译和运行一个C程序的方法; 5.熟悉Visual C++ 6.0环境下的程序调试方法。 实验环境: 1.所用操作系统Windows10 2.所用软件Visual c++6.0 实验内容: 1、有以下程序: 完成程序,要求: 依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序 的结构。 2、 1. 编写一个程序,从键盘输入某电视机的价格,再输出该价格打7折后的价格。分析:必须设计一个实型变量接受从键盘输入的值,输入、输出应该有提示。2.输入一个三位数,然后进行个位和百位的置换,如 234 ,转换成432 3.编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。 4.编写一个程序,其功能为:从键盘上输入一个浮点数,然后分别输出该数的整数部分和小数部分。 分析:若输入的浮点数存入fd变量,则可用强制类型转换运算符,将输入的该数 的整数部分取出:zhs=(int)fd; 5. 编程序计算298秒是几分几秒。 提示:设 int x=298; 再定义两个变量存放分(m)、秒(s)值; 则:m=x/60;s=x%60; 请编一个程序,上机调试并运行。 实验过程及结果记录: 1. #include"stdafx.h" #define K 0.7 int main()

C上机实验报告

1. C语言上机实验其开发环境的选择也很重要,虽说名称上是一样,但网上下的还是有很多的版本,有的 下下来就不能正常运行,有的不管怎样都会出现erros (即使是和书上的 一模一样),经过几经尝试终于找到了一个相对其他来说比较正常的TC。 2.应用scanf输入数据时,应在同样的位置上输入同样的字符。 #in clude void mai n(void) { int *p1,*p2,*p,a,b; prin tf("please en ter two in teger nu mbers:\n"); scan f("%d,%d",&a,&b); p仁&a; p2=&b; if(a

下程序: #i nclude #defi ne N 7 void mai n() { int a[N]={20,10,90,59,60,80,70}; int i,j; for(i=0; i #defi ne N 7 void mai n() { int a[N]={20,10,90,59,60,80,70}; int i,j; for(i=0 ;i

C上机实验报告

C上机实验报告 The document was prepared on January 2, 2021

C++程序实验报告 实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序 实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage) 等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram 为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。

3.(选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 实验内容及实验步骤 1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。 程序名:lab4_1.cpp。 源程序 #include using namespace std; enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7}; class CPU {

相关文档