实验一 C++基础练习(附答案).doc_第1页
实验一 C++基础练习(附答案).doc_第2页
实验一 C++基础练习(附答案).doc_第3页
实验一 C++基础练习(附答案).doc_第4页
实验一 C++基础练习(附答案).doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 C+基础练习实验目的和要求 1掌握C+程序的基本格式与规范,学会编写简单的C+程序。 2理解C+程序结构的特点。 3熟悉C+程序基本的输入输出操作。 4掌握C+数据类型常量和变量以及修饰符的使用方法。 5掌握函数定义、函数调用和函数说明的方法。 6熟悉作用域运算符的功能和基本使用方法。 7掌握C+内存的动态分配与释放方法。 8理解引用的概念,掌握引用的使用方法。实验内容 1编写一个程序,从键盘上输入摄氏温度,通过转换输出华氏温度,转换公式为。例如,输入摄氏温度为10时,输出华氏温度为50;输入摄氏温度为37时,输出华氏温度为98.6。要求输入输出时有提示。 2定义一个结构体数据类型用于保存自己的个人信息,例如可以包含姓名、性别、年龄、几门课程的成绩等(根据自己的需要定义成员)。在程序中输入个人信息,然后按一定的格式输出个人信息。要求输入输出时有提示。3编写函数求2个和3个正整数中的最大值,并在主函数中进行调用验证。要求:(1)利用函数重载实现;(2)用参数带默认值的函数实现。 4编写一个程序,动态定义一个整型数组(数组的大小通过键盘输入),给数组元素赋值。求数组所有元素的和,求和的结果使用全局变量sum存储,同时对数组中的奇数求和,结果使用局部变量sum存储,将两个结果输出。本题要求体会和理解作用域运算符的概念与基本使用方法,同时掌握动态内存分配和释放。5编写一个函数建立一个单链表。链表结构如下:链表中节点的结构为:typedef struct Nodeint data;Node *next; *LinkList;建立单链表函数的原型为:int CreateList(LinkList &L,int n)其中L为单链表的头指针,创建的链表通过L返回;n为链表中节点的个数。函数中通过new运算符给每个节点分配存储空间,并通过cin输入节点中保存的数据,最后将节点插入到链表末尾。再编写一个输出链表数据的函数,函数原型为:int PrintList(LinkList L)最后编写主函数进行测试。6阅读下列程序,指出错误的语句以及出错的原因。然后上机调试改正错误。(1)include void main()cinx;int y=x*x;couty=yn;return 0;(2)#include void main()int a,b;a=7;int s=a+b;couta+b=sendl;7调试下列程序,写出输出结果,并解释输出结果(1)#include void main()double dd=3.9,de=1.3;double &rdd=dd,&rde=de;coutrdd+rde,dd+deendl;rdd=2.6;coutrdd,ddendl;de=2.5;coutrde,deendl;(2)#include void main()void fun(int ,int &);int a,b;fun(2,a);fun(3,b);couta+b=a+bendl;void fun(int m,int &n)n=m*4;(3)#include int &fun(int);int aa5;void main()int a=5;for(int i=0;i5;i+)fun(i)=a+i;for(i=0;i5;i+)coutaai ;coutendl;int &fun(int a)return aaa;参考答案(非权威,仅仅是我自己的理解,如有错误,请批评指正!)第一题:#include void main() float x; coutx; cout它的华氏温度为:9*x/5+32endl;第二题:#include #define N 1struct student /定义并声明结构变量int number;char name20;char sex10;int age;float score2;stuN;void main() coutstu0.number; ; coutstu0.sex; coutstu0.age; coutstu0.score0; coutstu0.score1; coutendl; coutendl; cout你的学号为:stu0.numberendl; cout你的姓名为:endl; cout你的性别为:stu0.sexendl; cout你的年龄为:stu0.ageendl; cout你的A课成绩为:stu0.score0endl; cout你的B课成绩为:stu0.score1endl; 第三题:#include using namespace std; int MAX(int x,int y)return xy?x:y; int MAX(int a,int b,int c)return (ab?a:(bc?b:c); void main() int x,y,a,b,c; coutx; couty; coutendl; couta; coutb; coutc;coutendl;coutendl; coutMAX(x,y)=MAX(x,y)endl; coutMAX(a,b,c)=MAX(a,b,c)endl;第四题:#includeusing namespace std;int sum=0;void main() int N,sum=0; coutN;int *p = new intN; cout请输入N个整数到数组pN中:endl;for(int i=0;i pi;for(int k=0;kN;k+) :sum += pk;if( pk%2!=0) sum += pk; coutendlendl; cout数组pN的总和为:; cout:sumendl; coutendlendl; cout数组pN的奇数和为:; coutsumendl; delete p;第五题:#include typedef struct Nodeint data;Node *next; *LinkList;LinkList CreateList(LinkList &L,int n)LinkList p = NULL;LinkList temp = NULL; int data; cout 请任意输入n个正整数: data;while (n 0) p = new struct Node; p-data = data; p-next = NULL; if (!L) L = temp = p; else temp-next = p; temp = p; cin data;n-; return L;int PrintList(LinkList L)LinkList p = L; cout 链表的全部数据如下: endl; while (p) cout data next; cout next = NULL; L = L-next; delete p; void main()LinkList L = NULL; L = CreateList(L,3);/输入链表数据 PrintList( L );/输出链表数据 freeLink( L );/释放单链表的头指针第六题:(1)修改前的程序:include /头文件应定义应加上#号void main()cinx;/使用x之前应先申明x的内型int y=x*x;couty=yn;/引号的位置错误,应改为y=,且换行应该使用endlreturn 0; /main函数定义为void类型,因此不应该有返回值,故去掉这句话。修改后的程序:#include void main()int x;cinx;int y=x*x;couty=yendl;(2)修改前的程序:#include void main()int a,b;/整个过程中b都没有赋值,因此a+b为一个不确定的数。a=7;int s=a+b;couta+b=sendl;修改后的程序:#include void main()int a,b;a=7;b=0;int s=a+b;couta+b=sendl;第七题:(1)#include void main()double dd=3.9,de=1.3;/定义两个double类型的数据double &rdd=dd,&rde=de;/分别对dd和de进行引用声明为rdd和rde/由于引用与其所引用的变量的值永远保持相同。故rdd+rde=dd+de=3.9+1.3=5.2/因此输出为:5.2,5.2coutrdd+rde,dd+deendl;rdd=2.6;/rdd=dd被赋值为2.6coutrdd,ddendl;/rdd=dd=2.6因此输出为:2.6,2.6de=2.5;/de=rde被赋值为2.5coutrde,deendl;/de=rde=2.5 因此输出为:2.5,2.5(2)#include void main()void fun(int ,int &);/函数原型说明int a,b;/声明两个int类型的数据a,bfun(2,a);/调用函数fun,使引用变量a=2*4=8fun(3,b);/调用函数fun,使引用变量b=3*4=12couta+b=a+bendl;/输出a+b的值20void fun(int m,int &n)n=m*4;(3)#include int &fun(int);/声明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论