(完整版)实验2基本数据类型与数组

合集下载

实验2 VFP数据类型、常量、变量和数组

实验2 VFP数据类型、常量、变量和数组

实验二 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 基本数据类型

实验2 基本数据类型

实验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 基本数据类型、表达式和基本语句

实验2 基本数据类型、表达式和基本语句

实验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、根据要求完成下列任务。

(完整版)实验2基本数据类型与数组

(完整版)实验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基本数据类型、运算符与表达式

实验2基本数据类型、运算符与表达式

实验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分)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

民族学院实验报告
计算机科学系级班指导教师
报告人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++){。

相关文档
最新文档