实验一C++程序设计基础练习一、实验目的1、学习编写简单的C++程序,并掌握C++程序的基本格式与规范。2、理解C++程序结构的特点。3、学习C++程序基本的输入输出操作。4、学习数据类型常量和变量以及修饰符的使用。5、学习基本的函数定义与调用方法。6、学习作用域运算符的功能与基本使用方法。7、学习内存的动态分配与释放方法。8、学习引用的概念,掌握引用的基本使用方法。二、试验内容(一)程序填空1、输入并运行所给的下述参考程序,并将程序中的注释部分也输入计算机,体会和理解程序的基本格式规范。参考程序1#includeiostream.hintadd(inta,intb);intmain(){intx,y,sum;coutEntertwonumbers:'\n';//在下画线处填上语句,完成用cin读入x和y______cinx;________________ciny;________sum=add(x,y);coutThesumis:sum'\n';return0;}intadd(inta,intb){//在下画线处填上语句,完成计算a与b的和并返回之_intsum;sum=a+b;Return(sum);}2、调试和运行参考程序2和参考程序3,掌握输入输出及其格式控制的基本使用方法。参考程序2#includeiostream.hintmain(){charname[20];cout”Hello,yourname:”;//在下画线处填上语句,完成将字符串输入到数组name中cinname;//在下画线处填上语句,完成将name数组用cout输出Coutname;return0;}参考程序3#includeiostream.hvoidmain(){intx=25;//在画线处填上语句,将变量x的值分别以十六进制、十进制、八进制输出couthexx;coutdecx;coutoctx;}3、调试和运行参考程序4和参考程序5,理解内置函数与函数重载的概念与基本使用方法。参考程序4#includeiostream.hinlineintdoub(intx){//在下画线处填上语句,用于返回x的2倍x=2*x;}intmain(){for(inti=1;i3;i++)couti”doubledis”doub(i)endl;cout”i+2doubledis”doub(i+2)endl;}参考程序5#includeiostream.hintmul(intx,inty)//mul函数1{returnx*y;}intmul(intx,inty,intz)//mul函数2{returnx*y*z;}voidmain(){inta=3,b=4,c=5;//在下画线处填上语句,用于调用mul函数1couta'*'b'='mul(a,b)endl;//在下画线处填上语句,用于调用mul函数2couta'*'b'*'c'='mul(a,b)endl;}4、调试和运行参考程序6和参考程序7,并观察输出结果,体会和理解作用域运算符的概念与基本使用方法。参考程序6#includeiostream.hintavar=10;main(){//在下画线处填上语句,定义局部变量avar并赋予初始值25___________________________coutavarisavarendl;return0;}参考程序7#includeiostream.hintavar;main(){intavar;//在下画线处填上语句,将局部变量avar赋值25avar=25;//在下画线处填上语句,将全局变量avar赋值10::avar=10;//在下画线处填上语句,输出局部变量avar的值coutlocalavaris:avarendl;//在下画线处填上语句,输出全局变量avar的值coutg1obalavaris:::avarendl;return0;}5、调试和运行参考程序8和参考程序9,并观察输出结果,体会和理解内存动态分配的概念与new、delete运算符的基本使用方法。参考程序8#includeiostream.hmain(){int*p;//声明一个整型指针变量p//在下画线处,用new关键字动态分配一个int型存储区,并将首地址赋给p______________*p=10;cout*p;//在下画线处填上语句,用于撤销指针p,释放p指向的存储空间________________return0;}参考程序9#includeiostream.hmain(){int*p;//在画线处填上语句,用new关键字动态分配一个int型存储区,并将首地址赋给p_____________________if(!p){coutallocationfailure\n;return1;}//在下画线处填上语句,将p所指向的存储区赋值20________________cout*p;//在下画线处填上语句,用于撤销指针p,释放p指向的存储空间________________return0;}(二)程序设计题1、从键盘上读入两数,比较两个数的大小,并按从小到大的次序输出。(要求使用变量引用)2、输出1到100的偶数,一行5个。3、给出一个百分制的成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。4、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小数和其下标,并在主函数中打印最小数和下标。5、编写一个C++风格的程序,解决百元问题:将一元人民币兑换成1、2、5分的硬币,有多少种换法?6、编写一个程序,建立一个上sroot()的函数,返回其参数的二次方根。要求使用重载函数,重载3次,让其返回整数、长整数与双精度数的二次方根。7、写C++风格的程序,用二分法求解f(x)=0的根。8、编写一个程序,用动态分配空间的方法计算Fibonacci数列的前20项并存储到动态分配的空间中。第一题第二题第三题第四题第五题第六题第七题