(完整版)实验2基本数据类型与数组
- 格式:doc
- 大小:143.01 KB
- 文档页数:7
实验二 Visual FoxPro数据类型、常量、变量和数组一、实验目的1.熟悉Visual FoxPro的基本数据类型和常量。
2.掌握内存变量的基本操作。
3.了解数组的定义和赋值。
二、实验内容及上机步骤【上机题一】Visual FoxPro的基本数据类型和常量的定义。
【上机步骤】本题考查的知识点是Visual FoxPro的基本数据类型和常量,操作步骤如下:(1)在命令窗口中分别执行如下命令,观察屏幕显示结果:命令屏幕显示结果? [3*5],"常量" 3*5 常量? 3*5 15? 常量找不到变量‘常量’(2)在命令窗口中分别执行如下命令,观察屏幕显示结果:命令屏幕显示结果? "2005/11/17" 2005/11/17? {^2005/11/17} 11/17/05? 2005/11/17 10.72(3)在命令窗口中分别执行如下命令,观察屏幕显示结果命令屏幕显示结果? .T.,.F.,.N.,.Y. .T. .F. .F. .T.? T,F,N,Y 找不到变量’T’【上机题二】内存变量的基本操作。
【上机步骤】本题考查的知识点是内存变量的基本操作,操作步骤如下:(1)内存变量的赋值, 分别执行如下命令A1=3A2=.F.A3={^2005/11/17}STORE " abg" TO B1,B2,B3,B4C1=A1+3*5(2)内存变量的显示, 分别执行如下命令,并观察屏幕显示结果,了解DISPLAY与LIST 命令动词的区别命令命令功能DISPLAY MEMORY 示例:分屏方式显示所有内存变量的内容LIST MEMORY 滚屏方式显示所有内存变量的内容DISPLAY MEMORY LIKE A* 分屏方式显示以字母A开头的所有内存变量的内容LIST MEMORY LIKE ?1 滚屏方式显示第二个字符为1的只有两个字符内存变量的内容(3)内存变量的删除与显示,分别执行如下命令,观察屏幕显示结果,总结命令功能RELEASE B4 && 删除指定内存变量B4DISPLAY MEMORYRELEASE ALL LIKE ?2 && 将所有第二个字符为…2‟的内存变量删除DISPLAY MEMORYRELEASE ALL EXCEPT A* && 删除不以“A”开头的变量DISPLAY MEMORYCLEAR MEMORY && 删除所有内存变量DISPLAY MEMORY命令命令功能RELEASE B4删除指定内存变量B4DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)RELEASE ALL LIKE ?2将所有第二个字符为…2‟的只有两个字符的内存变量删除DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)RELEASE ALL EXCEPT A*删除不以“A”开头的变量DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)CLEAR MEMORY清除内存变量DISPLAY MEMORY显示内存变量(注意观察屏幕显示结果,总结功能)【上机题三】Visual FoxPro数组变量的定义和赋值。
实验2 基本数据类型、运算和表达式一、实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容1. 变量的定义[题目:变量定义,按要求完成程序]下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。
void main(){a=5;b=6;i=3.14; j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i, j);}[具体操作步骤](1)将代码补充完整;(2)VC++上运行通过;2. 赋值表达式与赋值语句[题目:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:void main(){ float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf("%f,%d,%d,%c,%c", a,b,c,d,e);}运行结果为:[提示]赋值语句具有类型转换的功能,但可能会改变数据。
3. 基本运算[题目1119:基本运算,写出程序运行结果] 阅读下面程序,写出运行结果:void main(){ int a, b, c;float d=15, e, f;a=35%7;b=15/10;c=b++;e=15/10;f=d/10;printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f); }运行结果为:。
实验2 基本数据类型、表达式和基本语句实验内容(1 )测试基本数字类型char、int和short之间的转换。
(2 )测试有自增自减运算符号的表达式的结果和运行次序。
(3 )Ex –Prime?输出1 ~100的素字(用for语句编写).(4 )程序Ex -CircleAndBall?设圆半径r?2.5,圆柱h=4,求圆的周长、圆面积?圆球体积圆柱体积。
用cin输入要计算的项目,然后输出计算结果,输入、输出时要有文字提示。
实验准备和说明(1)在学习完第1章的“基本语句”内容之后进行本次实验。
(2)编写本次上机所需要的程序。
实验步骤1.创建工作文件夹打开计算机上,在“D\VisualC??程序\LiMing”文件夹中创建一个新的子文件夹“实验2”。
2.创建应用程序项目Ex –Simple创建应用程序项目Exx–Simple的具体步骤如下。
(1 )启动D\VisualC + +6.0。
(2 )选择“文件” →“新建”菜单命令。
显示出“新建”对话框,切换到“工程”标签页面,在列表框中选定Wiin32ConsoleApplication项。
(3 )在“工程”编辑框中输入控制台应用程序项目名称Ex –Simple,并将项目文件夹定位到“D\VisualC??程序\LiMing实验1”。
(4 )单击“确定”按钮,显示“Win32应用程序向导”对话框。
选中A“H ello,World!”application项。
单击“完成”按钮,系统将显示向导创建的信息,单击“确定”按钮将自动创建此应用程序。
3.修改并添加类型转换的测试代码(1 )展开工作区窗口的ClassView页面的所有结点,单击main结点,在文档窗口中显示main 函数的源代码。
(2)将main函数修改成下列的代码?#include <iostream.h>void main(){char c1,c2,c3;c1=97; c2=98; c3=99;cout<<c1<<”,”<c2<”,”<<c3 <<endl ;}(3)编译运行,看看出现的结果与理解的是否一样?那么,怎样将输出的结果变成数值而不是字符呢?有2种办法?一种是将c1、c 2和c3的变量类型由char变为int或short;另一种是变量类型保持不变,在输出语句中加入类型的强制转换,如?cont<<(short)cl<<”,”<<(short)c2<<”,”<<(short)c3<<endl;想一想除了上述2种办法外,使用数据类型的“自动转化”也可使上述结果显示为数值,那么应如何修改上述代码呢?4.修改并添加复杂表达式的测试代码修改并添加复杂表达式的测试代码的具体步骤如下。
实验二基本数据类型、数组一、.数据类型及相互转化1. .数据类型将该程序代码在机器上运行,并修改相应错误。
2. 数据类型转化按下列要求写出Java语言的语句。
✓定义一个double类型的变量d,并赋初值为2.5。
✓在屏幕上输出显示上面所定义的变量d的值。
✓定义一个字符型一维数组ch,大小为10。
✓定义一个字符串常量s1,赋值‘abc’。
✓定义一个布尔型变量b,赋初值true。
✓在屏幕上输出显示26个大写字母。
✓将代数式s=a2+2ab+b2写成一个赋值表达语句。
✓a,b和c是3个int型变量,用条件表达式写出a>b,c值为a,否则c值为b。
✓用for循环语句实现下述循环:循环变量m为100,每次循环m减10;当m等于50时退出循环,循环体输出m值。
参考答案:3. 思考下列各题的输出情况并上机调试。
问题一、问题二//public class Operators {public static void main (String [] args){ int a = 2;int b = 3;int c = 4;int d = 5;String s ="a";String s2 = "1";prt(""+'a'+a);prt('a'+a+"");prt(a+b+s+c+d);// prt(Integer.parseInt(s)+"");// prt(Integer.parseInt(s2)+"");// prt(String.valueOf(c));}字符串强制转换为整型三部可以的注释掉二、数组1、一维数组的创建、声明、初始化(同教材P23例1-5)将下面代码在机器上调试。
提高:尝试自己给该数组赋初值,并将结果重新输出。
2、二位数组引用(教材P25 例1-6)23、数组操作测试下面程序段查看api 文档http://10.10.25.101/java/docs/api/学习使用arraycopy方法复制数组。
一、实验目的1. 理解数组的概念和特点,掌握数组的定义、声明、初始化和访问方法;2. 掌握一维数组和二维数组的区别和应用场景;3. 学习数组在实际编程中的应用,提高编程能力。
二、实验内容1. 实验一:一维数组的定义、初始化和访问(1)定义一个整型一维数组,包含10个元素;(2)初始化数组,为每个元素赋值;(3)遍历数组,输出每个元素的值;(4)修改数组中某个元素的值;(5)查找数组中特定值的元素索引。
2. 实验二:二维数组的定义、初始化和访问(1)定义一个整型二维数组,包含3行4列;(2)初始化数组,为每个元素赋值;(3)遍历数组,输出每个元素的值;(4)修改数组中某个元素的值;(5)查找数组中特定值的元素索引。
3. 实验三:数组在实际编程中的应用(1)编写一个程序,计算10个整数的平均值;(2)编写一个程序,找出10个整数中的最大值和最小值;(3)编写一个程序,实现冒泡排序算法,对10个整数进行排序;(4)编写一个程序,实现二维数组的转置。
三、实验步骤1. 实验一:(1)定义整型一维数组int arr[10];(2)初始化数组:for(int i=0; i<10; i++) arr[i] = i+1;(3)遍历数组:for(int i=0; i<10; i++) printf("%d ", arr[i]);(4)修改数组中某个元素的值:arr[5] = 100;(5)查找数组中特定值的元素索引:for(int i=0; i<10; i++) if(arr[i] == 5) printf("Index: %d\n", i);2. 实验二:(1)定义整型二维数组int arr[3][4];(2)初始化数组:for(int i=0; i<3; i++) for(int j=0; j<4; j++) arr[i][j] = i4+j+1;(3)遍历数组:for(int i=0; i<3; i++) for(int j=0; j<4; j++) printf("%d ", arr[i][j]);(4)修改数组中某个元素的值:arr[1][2] = 100;(5)查找数组中特定值的元素索引:for(int i=0; i<3; i++) for(int j=0; j<4; j++) if(arr[i][j] == 5) printf("Index: (%d, %d)\n", i, j);3. 实验三:(1)计算10个整数的平均值:int sum = 0, avg; for(int i=0; i<10; i++) sum += arr[i]; avg = sum / 10;(2)找出10个整数中的最大值和最小值:int max = arr[0], min = arr[0];for(int i=1; i<10; i++) if(arr[i] > max) max = arr[i]; if(arr[i] < min) min = arr[i];(3)冒泡排序算法:for(int i=0; i<9; i++) for(int j=0; j<9-i; j++)if(arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; }(4)二维数组转置:int arrT[4][3]; for(int i=0; i<3; i++) for(int j=0;j<4; j++) arrT[j][i] = arr[i][j];四、实验结果与分析1. 实验一和实验二成功完成了数组的定义、初始化、访问和修改,验证了数组的基本操作。
实验二-基本数据类型实验二基本数据类型1.实验目的1、掌握char 型数据和int型数据之间的互相转换,同时了解Unicode字符表;2、掌握从键盘为简单型变量输入数据;3、学习掌握使用数组处理大整型数据的加法。
2.实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。
1)实验1 输出特殊偏旁的汉字package work;public class InputChinese {public static void main(String[] args) {char ch='研',zifu=0;int p=22920,count=5,position=0;System.out.printf("输出%d个石字旁的汉字:\n",count);for(char c=ch;c<=ch+count;c++){position=(int)c;//【代码1】//c进行int型转换数据运算,并将结果赋值给positionSystem.out.printf("%c(%d)",c,position);}System.out.printf("\n输出%d个女字旁的汉字\n",count);for(int n=p;n<=p+count;n++){zifu=(char)n;//【代码2】 //n进行char型转换数据运算,并将结果赋值给zifuSystem.out.printf("%c(%d)",zifu,n);}// TODO Auto-generated method stub}}输出5个石字旁的汉字:研(30740)砕(30741)砖(30742)砗(30743)砘(30744)砙(30745) 输出5个女字旁的汉字妈(22920)妉(22921)妊(22922)妋(22923)妌(22924)妍(22925) 2)实验2 输入、输出学生的基本信息package work;import java.util.Scanner;public class InputMess {public static void main(String[] args) {Scanner reader=new Scanner(System.in);System.out.println("输入姓名(按Enter键确认):");String name=reader.nextLine();//【代码1】//从键盘为name 赋值System.out.println("输入年龄(按Enter键确认):");byte age=reader.nextByte();//【代码2】//从键盘为age赋值System.out.println("输入身高按Enter键确认):");float height=reader.nextFloat();//【代码3】//从键盘为height 赋值System.out.printf("%28s\n","--基本信息--");System.out.printf("%10s%-10s","姓名:",name);System.out.printf("%4s%-4d","年龄:",age);System.out.printf("%4s%-4.2f","身高:",height);}}输入姓名(按Enter键确认):输入年龄(按Enter键确认):19输入身高按Enter键确认):177.5--基本信息--姓名:liu 年龄:19 身高:177.503)实验3 超大整数的加法package work;public class HandleLargeNumber {public static void main(String[] args) {int a[]={0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9}; int b[]={0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9}; int c[]=new int[a.length];int i=0,result=0,k=0;for(i=0;i<a.length;i++){< p="">if(a[i]!=0){k=i;break;}}for(i=k;i<a.length;i++){< p="">System.out.printf("%d",a[i]);}System.out.printf("\n加上:\n");for(i=0;i<b.length;i++){< p="">if(b[i]!=0){k=i;break;}for(i=k;i<b.length;i++){< p=""> System.out.printf("%d",b[i]);}for(i=a.length-1;i>=0;i--){result=a[i]+b[i];if(result>=10){c[i]=result%10;a[i-1]=a[i-1]+1;}elsec[i]=result;}System.out.printf("\n等于:\n");for(i=0;i<c.length;i++){< p="">if(c[i]!=0){k=i;break;}}for(i=k;i<c.length;i++){< p=""> System.out.printf("%d",c[i]);}// TODO Auto-generated method stub } }4)实验4 输出希腊字母表package work; public class GreekAlphabet {public static void main(String[] args) {int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';startPosition = (int)cStart; //cStart做int型转换据运算,并将结果赋值给startPositionendPosition = (int)cEnd; //cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+ startPosition);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';c = (char)i; //i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}// TODO Auto-generated method stub}}希腊字母'α'在unicode表中的顺序位置:945希腊字母表:αβγδεζηθικλμνξοπρ ? στυφχψω2、根据要求完成下列任务。
民族学院实验报告计算机科学系级班指导教师报告人20 年月日成绩课程名称JAVA语言程序设计实验名称实验二基本数据类型与数组实验目的1.掌握基本数据类型及其相互之间的转换2.掌握JAVA中数组的使用实验仪器和器材具有JDK环境的计算机一台实验内容和要求一、输出希腊字母表1.请按模板要求,将【代码】替换为Java程序代码,运行该程序时在命令窗口中输出希腊字母表。
其运行效果如图2.1所示。
图2.1 输出希腊字母表GreekAlphabet.javapublic class GreekAlphabet {public static void main(String[] args) {int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';startPosition=(int)cStart; //cStart做int型数据转换,并将结果赋值给startPosition endPosition=(int)cEnd; //cEnd做int型数据转换,并将结果赋值给EndPositionSystem.out.println("希腊字母\'α\'在Unicode表中的顺序位置:"+(int)cStart);System.out.println("希腊字母表:");for (int i=startPosition;i<=endPosition;i++){char c='\0';cStart=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c);if ((i-startPosition+1)%10==0)System.out.println();}}}2.实验后练习(1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误?答:程序提示的内容为:“可能损失精度”。
实验2:基本数据类型、运算符与表达式实验名称:基本数据类型、运算符与表达式成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握C语言的各种基本数据类型及其定义、赋值方法。
2、掌握不同基本数据类型之间赋值的规律。
3、熟练掌握各种算术运算符的使用。
4、进一步掌握C程序的编辑、编译、连接和运行的过程。
二、实验环境安装了Visual C++ 6.0的计算机系统。
三、实验内容(或实验任务)1、变量定义及赋值,编写程序实现下列功能:(要求文件名:2_1.c)(1)定义三个整型变量,变量名自定。
(2)定义一个单精度浮点型变量和一个双精度浮点型变量,变量名自定。
(3)定义一个字符型变量,变量名自定。
(4)给上述变量赋相应的值。
(5)输出各个变量的值。
注意:变量名要符合C语言标识符的定义规则。
2、编写程序,熟悉整型数据的输入与输出。
(要求文件名:2_2.c)程序功能:从键盘上接收三个整型数据,并按以下方式输出到屏幕上:(1)将三个整数在一行上输出。
(2)将三个整数分三行输出。
3、编写程序,用三种不同的格式来输出一个实型数据。
(要求文件名:2_3.c)。
请认真观察程序的输出结果,仔细体会三种格式输出的不同。
#include <stdio.h>void main(){float a=1234567890.1234567890123456789;double b=1234567890.1234567890123456789;printf(" %f %lf %e\n", a, b, b);}4、编写程序,熟悉实型数据的输入与输出。
从键盘接收一个float型数据和一个double型数据,并分别输出。
(要求文件名:2_4.c)5、编写一个程序,熟悉符号常量的使用。
程序实现的功能为:根据从键盘输入一个数值,求以该值为半径的球的体积。
(要求文件名:2_5.c)评分标准:是否能正确编写C程序以实现各题要求(60分);项目报告中,知识点描述(20分),难点及解决办法或体会(20分)。
实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
回答下列问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。
可以。
(2)整数的占用长度与其数值大小有关吗?答:有。
(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:单引号,换行,水平制表。
(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答:1个字节;4个字节;结束符‘\0’。
(5)整数的存储形式是什么?答:二进制补码。
2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。
回答下列问题:(1)字符数据在内存中是以什么方式存储的?答: ASCII码。
(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能,整数:”%d”,字符:”%c”。
(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)答:ASCII码相差32。
(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?答:’A+1’,’a+1.’(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两个ASCII码绝对值相减,’a’-5,’a’+10.(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?答:”C”字符串,’c’字符,能.3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:(1)写出用符号常量定义PI的格式;#define PI 3.14(2)写出用“常变量”方式定义PI值的语句。
第1篇一、实验目的1. 理解和掌握基本数据类型的概念及特点。
2. 掌握不同数据类型的存储方式和表示方法。
3. 能够根据实际需求选择合适的数据类型。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.8.53. 开发工具:PyCharm三、实验内容1. 基本数据类型实验2. 复杂数据类型实验3. 数据类型转换实验四、实验步骤及结果1. 基本数据类型实验(1)实验目的:了解基本数据类型的概念及特点。
(2)实验步骤:① 定义变量并赋值:a = 10,b = 'hello',c = 3.14② 输出变量的类型:print(type(a)),print(type(b)),print(type(c))(3)实验结果:变量a的类型为int,变量b的类型为str,变量c的类型为float。
2. 复杂数据类型实验(1)实验目的:了解复杂数据类型的概念及特点。
(2)实验步骤:① 定义列表:list1 = [1, 2, 3, 'a', 'b', 'c']② 定义元组:tuple1 = (1, 2, 3, 'a', 'b', 'c')③ 定义字典:dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}④ 定义集合:set1 = {1, 2, 3, 'a', 'b', 'c'}(3)实验结果:列表list1的类型为list,元组tuple1的类型为tuple,字典dict1的类型为dict,集合set1的类型为set。
3. 数据类型转换实验(1)实验目的:掌握不同数据类型之间的转换方法。
(2)实验步骤:① 将字符串转换为整数:str1 = '123',int1 = int(str1)②将整数转换为浮点数:int2 = 10,float1 = float(int2)③ 将浮点数转换为字符串:float2 = 3.14,str2 = str(float2)(3)实验结果:字符串str1转换为整数int1的结果为123,整数int2转换为浮点数float1的结果为10.0,浮点数float2转换为字符串str2的结果为'3.14'。
实验二数据类型、运算符及表达式(4学时)【实验前做的操作】在本人所用计算机的逻辑盘(如D:盘或E:盘)上建立一个以本人姓名为名称的文件夹,然后在此父文件夹下建立子文件夹,名称为“实验二”,用来零时存放实验二需要上交的有关文件。
【实验目的】1、进一步熟悉C程序的集成开发环境 Visual C++。
2、掌握C语言数据类型的概念,熟悉如何定义整型、字符型、实型变量。
3、学会使用C语言的有关算术运算符,能正确地运用它们构成表达式。
4、掌握不同类型数据运算时数据类型的转换规则。
5、了解表达式语句,尤其是赋值语句。
6、熟练掌握利用VC++运行C程序的基本步骤,包括编辑、编译、连接和运行。
7、进一步了解C语言程序的基本框架及结构特点。
8、掌握简单C程序的查错方法。
9、尝试编写简单的C程序。
【实验内容】编程及调试实例2-1:求华氏温度100°F对应的摄氏温度。
计算公式:C=(5/9)(F-32),式中:C表示摄氏温度,F表示华氏温度。
源程序(有错误的程序)#include <stdoi.h>void main( ){intcelsius; fahr;fahr = 100;celsius = 5 * (fahr - 32) / 9;printf("fahr = d, celsius = %d\n", fahr, celsius);}运行结果(改正错误后程序的运行结果)f ahr = 100, celsius = 37(1)按照实验一中介绍的步骤,输入源程序并保存。
(2)实验一中我们使用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。
在工具栏或菜单栏上单击鼠标右键,出现如图2.1所示的整个工具箱,在编译工具条前打上一个“√”,该工具条就显示出来了(如图2.2所示)。
图2.2中,第一个按钮“Compile ”或“Ctrl+F7”表示编译,第二个按钮“Build ”或“F7”表示构件,第四个按钮“Build Execute ”或“Ctrl+F5”表示运行。
实验三数据类型与数组一、实验目的与要求:目的:掌握数据类型与数组的定义、初始化与使用。
要求:1、使用已知给定的数值初始化一个5*5的二维数组。
2、每次打印都应该按照从上到下从左到右的顺序。
3、实验报告给出完整代码。
二、实验内容和原理:1、查看自己名字的UNICODE编码。
2、转置二维矩阵。
三、实验环境:java实验环境jdk windows xp四、实验学时、性质:3学时、验证性五、算法描述及实验步骤1、编写程序将自己姓名的汉字转化为UNICODE编码,并打印。
按要求写代码如下:public class myUnicode{public static void main (String [] args){System.out.println("'李全营'对应的Unicode编码值如下:");System.out.println((int)'李');System.out.println((int)'全');System.out.println((int)'营');}}另存为:Unicode.java编译结果无误,运行结果如下2、用任意的23个整数初始化一个5*5的二维int类型数组,并逐行打印。
3、交换沿对角线上对称的元素,并打印转置后的矩阵。
按要求写代码如下:import static ng.System.*;public class shuzu{public static void main (String [] args){int A[][]={{1,2,3,4,5},{11,22,33,44,55},{111,222,333,444,555},{1111,2222,3333,4444,5555},{11111,22222,33333,0,0}};// //*****************下面输出数组*****************int i,j;out.println("原数组:");for(i=0;i<5;i++)for(j=0;j<5;j++){out.print(A[i][j]);if(j<4) out.print(",");}out.println("");//******************输出转置矩阵************int k;for(i=0;i<5;i++)for(j=0;j<i;j++){if(i!=j){k=A[i][j];A[i][j]=A[j][i];A[j][i]=K;}}out.println("转置后的数组:");for(i=0;i<5;i++)for(j=0;j<5;j++){out.print(A[i][j]);if(j<4) out.print(",");}}}以shuzu.java保存编译,出现如下错误:一看,再看,没错啊,已经定义了,怎么会找不到。
最新《实验二:数组》实验报告实验目的:1. 掌握数组的基本概念和使用方法。
2. 理解数组在内存中的存储方式。
3. 学会使用循环结构对数组进行遍历和操作。
4. 培养解决实际问题时数组应用的能力。
实验环境:- 操作系统:Windows 10- 开发工具:Visual Studio 2019- 编程语言:C++实验内容:1. 创建一个整型数组,包含10个元素,初始化为0到9的整数。
2. 使用循环结构实现数组中所有元素的累加,并输出结果。
3. 编写一个函数,计算数组中所有偶数的和,并返回结果。
4. 实现一个功能,允许用户输入一个整数,将其插入到数组的指定位置。
5. 对数组进行排序,使用冒泡排序算法,并输出排序后的数组。
实验步骤:1. 定义一个整型数组arr[10],并初始化。
2. 使用for循环,遍历数组,计算累加和,并输出。
3. 定义一个函数int calculateEvenSum(int arr[], int size),接收数组和数组大小作为参数,计算偶数和。
4. 实现用户输入功能,通过scanf获取用户输入的整数和指定位置,调用一个函数void insertElement(int arr[], int size, int value, int position)进行插入。
5. 应用冒泡排序算法对数组进行排序,定义一个函数voidbubbleSort(int arr[], int size)实现排序,并输出排序后的结果。
实验结果:1. 初始数组:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。
2. 数组累加和输出:45。
3. 偶数和输出:20。
4. 用户输入插入操作:假设用户输入的值为5,指定位置为3,插入后的数组:{0, 1, 5, 2, 3, 4, 5, 6, 7, 8, 9}。
5. 排序后的数组输出:{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9}。
实验分析:通过本次实验,我们成功实现了数组的基本操作,包括初始化、遍历、插入、计算和排序。
实验2:基本数据类型的使用实验名称:基本数据类型的使用成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。
2、掌握常见格式控制字符对输出结果的控制作用。
3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。
4、进一步熟悉C程序的实现过程。
二、实验内容在Turbo C下完成“源程序清单”中规定的程序题(4个)。
三、实验要求1、实验前认真预习,自行分析4个程序题的结果,体会本次实验的目的并了解实验要求。
实验时仔细对比程序实际运行结果,认真思考并回答实验小结和思考中的问题。
2、在Turbo C下完成“源程序清单”中规定的程序题。
编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。
仔细思考出错原因,并更正之。
3、编制的程序必须保存在D:\用户目录中。
注:用户目录可以用学号或姓名拼音简写。
4、学生可以对实验程序进行修改、补充,以便上机完成自己需要的程序验证和测试。
在完成实验要求的工作外,要学会创造性的工作。
四、实验步骤、过程1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。
(方法、命令与实验1相同)2、启动Turbo C集成开发环境。
(方法与实验1相同)3、完成4个程序题。
(编辑、编译连接、运行程序,步骤与实验1相同)注:(1)仔细观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?程序运行结果有问题吗?(2)经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。
4、退出Turbo C集成开发环境,关机。
五、源程序清单、测试数据、结果。
(注释供阅读、理解程序,上机时不必输入)1、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。
(要求文件名:2_1.c)main(){int x=010,y=10,z=0x10; /* 整型数据表示 */char c1='M',c2='\x4d',c3='\115',c4=77,c; /* 字符型数据表示 *//* 整型数据的输出 */printf("x=%o,y=%d,z=%x\n",x,y,z);/* 数据以原进制输出,注意是否有前导0或0x */ printf("x=%d,y=%d,z=%d\n",x,y,z);/* 数据以10进制输出,换算到10进制,结果对吗? *//* 字符型数据的输出 */printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4);/* 数据以原进制输出,注意是否有前导0或0x */ printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);/* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);/* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 *//* 字符型数据参与算术运算 */c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数/* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */printf("c=%c,c=%d\n",c,c);/* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此! */}参考结果:x=10,y=10,z=10x=8,y=10,z=16c1=M,c2=4d,c3=115,c4=77c1=M,c2=M,c3=M,c4=Mc1=77,c2=77,c3=77,c4=77c=m,c=1092、常见预定义的转义字符对输出的控制作用。
民族学院实验报告
计算机科学系级班指导教师
报告人20 年月日成绩
课程
名称JAVA语言程序设计
实验名称实验二基本数据类型与数组
实验目的1.掌握基本数据类型及其相互之间的转换2.掌握JAVA中数组的使用
实验仪器
和器材
具有JDK环境的计算机一台
实验内容和要求一、输出希腊字母表
1.请按模板要求,将【代码】替换为Java程序代码,运行该程序时在命令窗口中输出希腊字母表。
其运行效果如图
2.1所示。
图2.1 输出希腊字母表
GreekAlphabet.java
public class GreekAlphabet {
public static void main(String[] args) {
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
startPosition=(int)cStart; //cStart做int型数据转换,并将结果赋值给startPosition endPosition=(int)cEnd; //cEnd做int型数据转换,并将结果赋值给EndPosition
System.out.println("希腊字母\'α\'在Unicode表中的顺序位置:"+(int)cStart);
System.out.println("希腊字母表:");
for (int i=startPosition;i<=endPosition;i++){
char c='\0';
cStart=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c);
if ((i-startPosition+1)%10==0)
System.out.println();
}
}
}
2.实验后练习
(1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误?
答:程序提示的内容为:“可能损失精度”。
(2)在应用程序的main方法中增加语句:
float x=0.618;
程序能编译通过吗?
答:不能。
因为可能损失精度。
(3)在应用程序的main方法中增加语句:
byte y=128;
程序能编译通过吗?
答:不能。
如下图,可能会损失精度
(4)在应用程序的main方法中增加语句:
int z=(byte)128;
程序输出的z值是多少?
答:输出的是-128;
二、从键盘输入数据
1.编写一个Java程序,用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。
import java.util.*;
public class A{
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
double a=reader.nextDouble();
double b,c;
b=a*a;
c=b*a;
System.out.printf("%f\n",b);
System.out.printf("%f\n",c);
}
}
2.实验后练习
(1)程序运行时,用户从键盘输入2332,程序提示怎样的信息?
答提示信息如图
(2)程序运行时,用户从键盘输入abc,程序提示怎样的信息?
答 :提示信息如图
三、数组的快速复制
1.请查询Java API中System类中的静态方法arraycopy()的使用方法,并编写一个程序。
要求:
➢建立一个一维整型数组,用于存放本班学生的Java成绩。
该数组的元素值为60-100的随机值,每行显示10个元素值;
➢调用arraycopy()方法进行复制,并显示其值;
➢修改复制前的数组,并显示其值;
➢再显示复制的数组,并显示其值
实验结果一、
三程序如下:
public class Arraycopy{
public static void main(String atgs[]){ int[] a=new int[24];
int[] b=new int[24];
int i;
int grest=0;
System.out.printf(" a数组:\n");
for( i=0;i<24;i++){
grest=60+(int)(Math.random()*41);
a[i]=grest;
System.out.printf("%5d",a[i]);
if((i+1)%10==0){
System.out.printf("\n");
}
}
System.out.printf("\n");
System.arraycopy(a,0,b,0,24);
System.out.printf(" b数组:\n");
for(int j=0;j<24;j++){
System.out.printf("%5d",b[j]);
if((j+1)%10==0){
System.out.printf("\n");
}
}
a=b;
System.out.printf(" b2数组:\n");
for(int j=0;j<24;j++){。