C++第二章实验报告_第1页
C++第二章实验报告_第2页
C++第二章实验报告_第3页
C++第二章实验报告_第4页
C++第二章实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、西安交通大学实验报告一. 实验目的 1.熟悉掌握数据的各种类型。2.学会对常量的声明方法,掌握变量的声明、初始化以及赋值的方法。3.熟练掌握字符型和整型数据的转换,学会查ASCII字符表。4.掌握运算符和表达式。5.掌握运算符的顺序,不同类型数据的混合运算和转换方式。6.学会用C+语言表达简单的信息与进行简单运算。二. 实验内容实验题目一按表2-1定义不同类型的变量,计算并显示不同类型的变量占的字节数。并尝试:与赋不赋值有关吗?将变量改为不同类型的常量呢?如3、3.0、1.0E-4、e、“continue”、ture、false等。 1要点分析关键是使用一个运算符sizeof(),它计算括号中

2、的类型、变量或表达式结果占的字节数。2实验结果/*Bytes of data type*/ /程序注释,计算数据类型所占字节数#includeusing namespace std;int main() double n ; /说明n表示实数 n=sizeof(short int); /计算类型大小,将所占字节数赋值给符号n,短整型 coutshort int nendl; n=sizeof(int); /整型 coutint nendl; n=sizeof(long int); /长整形 coutlong int nendl; n=sizeof(char); /字符串 coutchar ne

3、ndl; n=sizeof(bool); /布尔型 coutbool nendl; n=sizeof(float); /浮点型 coutfloat nendl; n=sizeof(double); /双精度型 coutdouble nendl; return 0;赋变量值/*Bytes of data type*/ /程序注释,计算数据类型所占字节数/#includeusing namespace std;int main()double n,g; /n,g为实数/int b; /b为整型/short int a; /a为短整型/long int c; /c为长整型/char d; /d为字符

4、型/bool e; /e为布尔型/float f; /f为浮点型/ n=sizeof(a); /计算a所占字节数,赋值给符号n,/couta nendl;n=sizeof(b); /计算b所占字节数,赋值给符号n/coutb nendl; n=sizeof(c); /计算c所占字节数,赋值给符号n/coutc nendl; n=sizeof(d); /计算d所占字节数,赋值给符号n/coutd nendl;n=sizeof(e); /计算e所占字节数,赋值给符号n/coute nendl;n=sizeof(f); /计算f所占字节数,赋值给符号n/coutf nendl;n=sizeof(g)

5、; /计算g所占字节数,赋值给符号n/coutg nendl;return 0;赋常量值/*Bytes of data type*/ /程序注释,计算数据类型所占字节数#includeusing namespace std;int main()double n ; /说明n表示实数n=sizeof(3); /计算类型大小,将所占字节数赋值给符号n,短整型coutshort int nendl;n=sizeof(3.0); /整型coutint nendl; n=sizeof(1.0E-4); /长整形coutlong int nendl; n=sizeof(e); /字符串coutchar n

6、endl;n=sizeof(continue); /布尔型coutbool nendl;n=sizeof(true); /浮点型coutfloat nendl;n=sizeof(false); /双精度型coutdouble nendl;return 0;实验题目二编程试求函数 y=sinx2/(1-cosx).当x趋近0时的极限。输入的值逐步变小,不要输入0.1.要点分析关键是数学函数的使用:包含头文件:#include;函数的调用y=sin(x),x是自变量,单位为弧度,结果赋值给y;算式分子中是x的平方。通过每次取X得二分之一,观察自变量不断变小,接近于0时,因变量的取值趋势,并观察出极

7、限值。2.实验结果/*求函数的极限值*/#include#includeusing namespace std;int main()double x,y,z,PI=3.1415926; /定义变量,和对变量的赋值/int i; coutx; for(i=1;i10;i+) /循环语句/z=PI*x/180; /角度转换为弧度/y=sin(z*z)/(1-cos(x);coutyendl;x=x/2; /重新给变量赋值,变为原来变量的二分之一/return 0;实验题目三找零钱。为顾客找零钱时,希望选用的纸币张数最少。例如73元,希望零钱的面值为五十元一张,二十元一张,一元三张。设零钱的面值有五

8、十元、二十元、十元、五元、和一元。请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数,并在程序中出现一个验证结果是否正确的办法。1.要点分析 对于本问题,先看应找多少,然后选择能找的最大面值的纸币及张数,从应找中减去已找,再看能找的最大纸币及张数,直到找完。问题的关键在于取整。而int 即为定义整数,而且是下取整。2、实验结果。/*求纸币张数最少*/#includeusing namespace std;int main()int cash,change50,change20,change10,change5,change1; /定义变量/coutcash;change50=c

9、ash/50; /50元的张数/cash=cash-50*change50; /剩余的钱数/change20=cash/20; /20元的张数/ cash=cash-20*change20;change10=cash/10; /10元的张数/cash=cash-10*change10;change5=cash/5; /5元的张数/cash=cash-5*change5;change1=cash; /1元的张数/coutchange50 change50endl; /输出/ coutchange20 change20endl;coutchange10 change10endl;coutchang

10、e5 change5endl;coutchange1 change1endl;return 0; 实验题目四用户以字符形式输入4个数字字符,将其组成一个4位的整数。例如:用户输入:2 0 1 1,输出结果为:2011。注意,输入的四个数字是字符型,用四个字符型变量存储;而2011是有它们构造出的一个4位整数,用一个整型变量表示。1、要点分析 一个字符型数字的ASCII值跟它的整型相差48,即a=ch-48.并且,将四个数字a,b,c,d组成一个四位数abcd可以表示为:abcd=1000*a+100*b+10*c+d.3、实验结果/*将数字字符组成整数*/#includeusing names

11、pace std;int main()char ch1,ch2,ch3,ch4; /定义变量,字符型/int a,b,c,d,x;coutch1ch2ch3ch4;a=ch1-48; /将字符型转换成整型/b=ch2-48;c=ch3-48;d=ch4-48;x=a*1000+b*100+c*10+d; /将四个数字转换成一个四位数/coutxendl;return 0;实验题目五仿照本章课件例题,任意输入3个小写字母组成的单词,采用凯撒加密方法:每个字母用其后第5个字母代替形成密文,然后输出密文。1、要点分析 一个字母后移几位就是对其ASCII值加几,特别注意的是加过之后的值不能大于122.

12、2、实验结果/*凯撒加密*/#include using namespace std;int main()char ch1,ch2,ch3; /定义字符变量coutch1ch2ch3;if(ch1117) /判断是否超出了可加密范围/ch1=ch1-21; /如果超出可编译范围,使其循环从a开始/elsech1=ch1+5; /后移5位/if(ch2117) /判断是否超出了可加密范围/ch2=ch2-21; /如果超出可编译范围,使其循环从a开始/elsech2=ch2+5; /后移5位/if(ch3117)ch3=ch3-21; /如果超出可编译范围,使其循环从a开始/elsech3=ch

13、3+5; /后移5位/ cout The key is: ch1 ch2 ch3endl;return 0;实验题目六输入一个4位十进制数,求其每位数字的立方之和。例如:输入2456,则输出23+43+53+63=8+64+125+216=413。注意只要求输出红色算式结果。1、要点分析 这道题中要用到求商取整,还要利用立方的表达,即a的立方表示为:a*a*a.2、试验结果/*计算四位数各个数的立方和*/#include using namespace std;int main()int x,y,a,b,c,d; /定义变量类型/coutx;a=x/1000; /最高位的值/x=x-1000*

14、a;b=x/100; /百位的值/x=x-100*b;c=x/10; /十位的值/x=x-10*c;d=x; /个位数/y=a*a*a+b*b*b+c*c*c+d*d*d; /立方和/couta*a*a+b*b*b+c*c*c+d*d*d=yendl;return 0; 实验题目七编写程序计算下列二元一次方程组的根: AX + BY = C DX + EY = F通过键盘输入6个系数,然后计算求解,最后输出方程的根。1.要点分析二元一次方程组的两个根可以用其系数表示为:X=(C*E-B*F)/(A*E-B*D);Y=(A*F-C*D)/(A*E-B*D). 注:若A*E-B*D=0,则存在多组解。2.实验结果/*求二元一次方程组的根*/#include using namespace std;in

温馨提示

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

评论

0/150

提交评论