实验一 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 Node
{
int data;
Node *next;
} *LinkList;
建立单链表函数的原型为:
int CreateList(LinkList &L,int n)
其中L为单链表的头指针,创建的链表通过L返回;n为链表中节点的个数。函数中通过new运算符给每个节点分配存储空间,并通过cin输入节点中保存的数据,最后将节点插入到链表末尾。
再编写一个输出链表数据的函数,函数原型为:
int PrintList(LinkList L)
最后编写主函数进行测试。
6.阅读下列程序,指出错误的语句以及出错的原因。然后上机调试改正错误。
(1)
include <iostream.h>
void main()
{
cin>>x;
int y=x*x;
cout<<"y=<<y<<\n";
return 0;
}
(2)
#include <iostream.h>
void main()
{
int a,b;
a=7;
int s=a+b;
cout<<"a+b="<<s<<endl;
}
7.调试下列程序,写出输出结果,并解释输出结果
(1)
#include <iostream.h>
void main()
{
double dd=3.9,de=1.3;
double &rdd=dd,&rde=de;
cout<<rdd+rde<<','<<dd+de<<endl;
rdd=2.6;
cout<<rdd<<','<<dd<<endl;
de=2.5;
cout<<rde<<','<<de<<endl;
}
(2)
#include <iostream.h>
void main()
{
void fun(int ,int &);
int a,b;
fun(2,a);
fun(3,b);
cout<<"a+b="<<a+b<<endl;
}
void fun(int m,int &n)
{
n=m*4;
}
(3)
#include <iostream.h>
int &fun(int);
int aa[5];
void main()
{
int a=5;
for(int i=0;i<5;i++)
fun(i)=a+i;
for(i=0;i<5;i++)
cout<<aa[i]<<" ";
cout<<endl;
}
int &fun(int a)
{
return aa[a];
}
数组全部赋值为1参考答案(非权威,仅仅是我自己的理解,如有错误,请批评指正!)
第一题:
#include <iostream.h>
void main()
{
float x;
cout<<"请输入一个摄氏温度:";
cin>>x;
cout<<"它的华氏温度为:"<<9*x/5+32<<endl;
}
第二题:
#include <iostream.h>
#define N 1
struct student //定义并声明结构变量
{
int number;
char name[20];
char sex[10];
int age;
float score[2];
}stu[N];
void main()
{
cout<<"请输入学号:";
cin>>stu[0].number;
cout<<"请输入姓名:";
cin>>stu[0].name;
cout<<"请输入性别:";
cin>>stu[0].sex;
cout<<"请输入年龄:";
cin>>stu[0].age;
cout<<"请输入A课程成绩:";
cin>>stu[0].score[0];
cout<<"请输入B课程成绩:";
cin>>stu[0].score[1];
cout<<endl;
cout<<endl;
cout<<"你的学号为:"<<stu[0].number<<endl;
cout<<"你的姓名为:"<<stu[0].name<<endl;
cout<<"你的性别为:"<<stu[0].sex<<endl;
cout<<"你的年龄为:"<<stu[0].age<<endl;
cout<<"你的A课成绩为:"<<stu[0].score[0]<<endl;
cout<<"你的B课成绩为:"<<stu[0].score[1]<<endl;
}
第三题:
#include<iostream>
using namespace std;
int MAX(int x,int y) {return x>y?x:y;}
int MAX(int a,int b,int c) {return (a>b?a:(b>c?b:c));}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论