文档库 最新最全的文档下载
当前位置:文档库 › 第一章实训---表达式、变量和数组

第一章实训---表达式、变量和数组

第一章实训---表达式、变量和数组
第一章实训---表达式、变量和数组

一、上机完成下列习题

1、分别将3,4,15,6赋值给a,b,c,d 四个变量,求d c b

a -+的值。

2、将字符型常量”中国”赋值给x 、x1、x_1、xyz 。

3、将2011年9月6日作为日期型常量赋值给变量today ,并显示变量today 的值。

4、将数学表达式5+3×25÷12转换为vfp 表达式并计算其值。

5、将数学表达式3≥2,1+2≠3分别赋值给a1,a2,并显示变量a1,a2的值。

6、显示所有的内存变量。

7、显示以x 开头的内存变量。

8、删除以a 开头的内存变量,再用显示所有的内存变量,看是否还有a 开头的内存变量。

9、删除变量c,d ,再显示所有的内存变量,看c,d 两变量是否存在。

10、删除所有的内存变量,再查看是否还有用户定义的变量。

11、定义一个一维数组a,数组长度为5,给数组元素a(1)、a(3)赋值0,给a(5)赋值为”人民”,再显示以a 开头的内存变量。(看一个数组中元素的类型是否一样)

12、定义一个二维数组b(2,3),给所有的元素赋值10,给b(2,1)赋值为3,再显示b(4)的值,想一想b(4)相当于二维数组中的哪一个元素?

13、先计算下列表达式的值,再上机验证

(1)、3+74%2^3 该表达式的值为__________。

(2)、”ab□□”-“cd□”+”ef”该表达式的值为__________。

(3)、{^2011/09/10}-{^2010/09/10} 该表达式的值为__________。

(4)、”10”>”9” OR “vfp” $ “Visual FoxPro” AND NOT “职业教育”=”职业”该表达式的值为__________。

(5)、”12”+”34”=”46”OR “abcd”>”abCD”该表达式的值为__________。

C语言程序设计实验答案数组、指针与字符串

实验06 数组、指针与字符串(4学时) (第6章数组、指针与字符串) 一、实验目的 二、实验任务 6_1(习题6-25)编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵。 6_2(习题6-26)使用动态内存分配生成动态数组来重新完成上题(n阶方阵),使用指针实现函数的功能。 6_3 编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 6_4 使用string类声明字符串对象,重新实现上一小题。 6_5(习题6-27)声明一个Employee类。 其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性,实现并测试这个类。 6_6(习题6-27)声明包含5个元素的对象数组,每个元素都是Employee 类型的对象。 6_7 修改实验4中的people(人员)类。 具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”声明为一个“日期”类内嵌子对象。 用成员函数实现对人员信息的录入和显示。 要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。 在测试程序中声明people类的对象数组,录入数据并显示。

三、实验步骤 1.(编程,习题6-25)编写矩阵转置函数,输入参数为3×3整型数组。 使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入输出。程序名:lab6_1.cpp。 参考运行结果: ★程序及运行结果: //lab6_1.cpp #include using namespace std; void move(int matrix[][3]){ int temp; for(int i=0;i<3;i++) for(int j=0;j>mat[i][j]; } cout<<"\n输入的3×3矩阵为:"<

变量运算符和表达式

一、【必做题】 1.下列哪些变量名是合法的?Ab?1, @abc , lname, _int, $25, private, ab*5, #abc(知识点:Java标识符命名规范) 2.写出以下表达式的值:(知识点:运算符、表达式) (1)int a = 2, b = 3, c; c = a / b * 8; (2)float a = 3.0F, b; b = a / 0; (3)double a = 3.0, k; Int b = 3, c = 2; k = a / c + b / c; (4)int a = 3, b = 6, c; c = (a++) + (++b) + a * 2 + b * 4; (5)int a = 10, b=3, c; c = ((a % b) == 0) ? ++a * 2:++b * 2; (6)int a = 5,b ; b = 5 << 2; (7)int a = 0, b = 12345, c = 0xffffffff, d, e, f; d = a & b; e = a | b; f = b & c; 3.写出以下程序的运行结果:(知识点:数据类型及分类、数据类型的转换)public class Test { public static void main (String args[]) { float a = 3.25F, b= -2.5F; int c , d; c = (int) (a * b); d = (byte) 386; System.out.println(“c=c” + c); System.out.println(“d=” +d); } } 4.编写一个程序,求圆的面积,圆的半径由命令行参数输入。(知识点:变量和运算符综合应用、命令行参数配置) 注:将命令行参数赋给半径r(double型)使用的语句为: double r = Double.parseDouble(args[0]); 5.华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。(知识点:变量和运算符综合应用)

数组对象的常用方法

数组对象的常用方法: 什么叫方法:方法其实就是函数!——只是如果一个函数“隶属于”某个“对象”,则称这个函数为该对象的方法。 function maibao(){ document.write(“啦啦啦,我是卖报的小行家,卖报啦卖报啦。”); } var myDreamGirl = { name: “小花”, age:18, edu :”大学”, sex:”女”, nengli1: function (){ document.write(“洗衣!”); } , nengli2: function (){ document.write(“做饭!”); } , nengli3: maibao }; var v1 = [2, 5, 1, 5]; var v2 = [5, 1, 6, 8]; 从严格的角度来说,数组也是一种对象——甚至字符串也是对象。 v1作为对象,就有属性和方法: 属性: 某数组.length: 表示该数组对象的长度 方法: 某数组.concat(其他数组):将两个数组连接起来成为一个新的“更长”的数组。 var s1 = v1.concat( v2 ); //此时s1是这样一个数组: [2, 5, 1, 5, 5, 1, 6, 8];

某数组.join(“字符串”):将数组中的所有项以指定的字符“串接起来”成为“长的”一个字符串。 var s2 = v1.join(“//”); //结果s2为字符串“2//5//1//5” 某数组.pop(); //将该数组的最后一项“移除”(删除),并返回该项数据,即该数组少了一项 var s3 = v1.pop(); //结果v1只剩这个:[2,5,1]; s3的值是5 某数组.push(新数据项d1); //将新的数据d1添加到该数组的最后位置,即数组多了一项。 var s4 = v1.push( 55 ); //v1此时为:[2,5,1, 55], s4的值为新数组的长度,即4 某数组.shift(); //将该数组的第一项“移除”(删除),并返回该项数据,即该数组少了一项 var s5 = v1.shift(); //结果v1只剩这个:[5, 1,55]; s5的值是2 某数组.unshift(新数据项d1); //将新的数据d1添加到该数组的最前位置,即数组多了一项。 var v6 = v1.unshift( 66 ); //v1此时为:[66, 5, 1, 55],s6的值为新数组的长度,即4 javascript语言是一门基于对象的语言。 字符串对象: var str1 = new String(“abcdefgabc”); //这是一个“字符串对象” var str2 = “abcdefgabc”; //这个字符串跟前面str1几乎没有区别

C++上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对

象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

C语言第三章表达式与运算符笔记

3.1概述 1.C语言表达式:用C语言运算符将常量、变量、函数调用连接起来的有意义的式子。.C语言的表达式为算术表达式、赋值表达式、逗号表达式、条件表达式、关系表达式和逻辑表达式。 2.表达式的值的类型取决于参与运算的数据的类型。 3.关系运算表达式成立,则结果为1,代表“真”,否则结果为0,代表“假”。4.运算符按参与运算的对象个数可以分类:单目运算符、双目运算符和三目运算符。 3.2算术运算符与算术表达式 1.除法运算:当两个操作数都是整型时,除法视为整除,运算结果舍去小数部分,只保留整数部分。 2.取模运算(求余):运算结果为一个整型,这个数是整除运算的余数,符号与被除数符号相同。例如:8%3的结果是3,8%(-5)的结果是3。 3.取负运算(单目运算),即只有一个操作数参与运算。 4.注意:’\%’与’%%’都相同于显示% 5.算术运算符的优先级:括号、函数调用、取负、*/%、+- 6.结合性:从左至右。 3.3其他运算符的应用 3.3.1赋值运算符和赋值表达式 1.一般形式:变量赋值运算符表达式例如:a=5+10 2.赋值表达式的计算过程:首先计算表达式的值,然后将该值赋给左侧的变量。 3.复合的赋值运算:+=,-=,*=,/=,%=等例如:a+=b等价于a=a+b 4.说明:(1)赋值号左边只能是变量,不允许出现常量、函数调用和表达式。 (2)赋值表达式中的“表达式”,又可以是另一个赋值表达式。 (3)当赋值号两边的数据类型不同时,一般由系统自动进行类型转换。

其原则是,赋值号右边的数据类型转换成与左边的变量相同的数据类型。 3.3.2自增自减运算符 1.功能:自增、自减运算符的作用是使变量的值增1或减1。 2.当自增、自减运算符的前置(在变量之前)变量本身先自增(或自减),然后再参与运算; 3.当自增、自减运算符的后置(在变量之后)变量先参与运算,然后变量本身再自增(或自减)。 注:自增、自减运算符只能用于整型变量,不能用于常量或表达式。 4.-i++相当于-(i++) 从右至左的右结合性 5.i+++j相当于(i++)+j 3.3.3条件运算符和条件表达式 1.一般形式:表达式1?表达式2:表达式3 2.条件表达式的执行过程:首先计算表达式1,如果非0(真)则计算表达式2,表达式2的值作为条件表达式的值;如果表达式1的值为0(假),则计算表达式3,表达式3的值作为条件表达式的值。 3.3.4逗号运算符和逗号表达式 1.一般形式:表达式1,表达式2,……,表达式n 2.逗号表达式的计算过程是:先计算表达式1,再计算表达式2,依次计算直到表达式n,表达式n,表达式n的值是整个逗号表达式的值。 3.3.5 sizeof运算符 1.一般形式:sizeof(类型名或变量名) 类型名可以是基本类型名,也可以是其他的构造类型名 2.功能:sizeof运算给出指定类型在内存中所占的字节数。 数学函数 1.fabs(x) 求x的绝对值

第三章 运算符和表达式

第三章运算符和表达式 3.1 运算符和表达式概述 使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。 根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类: (1) 单目(一元)运算符:只连接一个操作数的运算符。 (2) 双目(二元)运算符:带有两个操作数的运算符。 (3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。 C语言中的表达式可以分为三类: (1) 单个常量或者单个变量是最简单的表达式。 (2) 带有运算符的表达式。 (3) 函数调用。 任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符和运算结果是运算的三大要素。 3.2 算术运算符和算术表达式 一、基本算术运算符和简单算术表达式 1. 基本算术运算符 C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。 2. 简单算术表达式 当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。简单算术表达式的基本形式:data1 op data2。data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。 3. 基本算术运算符使用说明 (1) +、-、*,/既可以连接整型数据,也可以连接实型数据。当参与这4个运算符的运算对

实验2基本数据类型与数组(最新整理)

民族学院实验报告 计算机科学 系 级 班 指导教师 报告人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 方法中增加语句:

Access中变量、函数及表达式的含义及应用

作业要求:求Access、变量、函数及表达式的值。 通过立即窗口完成以下各题 1.填写命令的结果 ?7\2 结果为 3 ?7 mod 2 结果为 1 ?5/2<=10 结果为 True ?#2012-03-05# 结果为 2012-03-05 ?"VBA"&"程序设计基础" 结果为 VBA程序设计基础 ?"Access"+"数据库" 结果为 Access数据库 ?"x+y="&3+4 结果为 x+y= 7 a1=#2009-08-01# a2=a1+35 ?a2 结果为 2012-09-05 ?a1-4 结果为 2012-07-28 2.数值处理函数 在立即窗口中输入命令结果功能 ?int(-3.25 -4 返回不大于-3.25的最 大整数 ?sqr(9 3 求平方根 ?sgn(-5 -1 返回正负1或0 ?fix(15.23515 返回15.235的整数部 分

?round(15.345,215.34 使15.345保留2位小 数 ?abs(-5 5 取绝对值 3.常用字符函数 在立即窗口中输入命令结果功能 ?InStr("ABCD","CD" 3 在字符串”ABCD”中找” CD”的位置 c="Beijing 赋值 University" ?Mid(c,4,3 jin 从字符串c的第四位开 始取三位 ?Left(c,7Beijing从字符串c的左边开始 取7位数 ?Right(c,10 University从字符串c的右边开始 取10位数 ?Len(c18字符串c的长度 d=" BA "赋值 ?"V"+Trim(d+"程序"VBA程序删除字符串d两端的空 格

jni中基本类型数组的传递方法(无需拷贝数据)

JNI中基本类型数组的传递方法(无需拷贝数据!!!) 0、先来看一下主要用到哪些函数: C 代码GetIntArrayElements();//貌似得到的是副本,要拷贝数据ReleaseIntArrayElements();//对应上面的函数的释放资源的函数env->GetPrimitiveArrayCritical();//貌似 得到的是指向原数据的指针 env->ReleasePrimitiveArrayCritical();////对应上面的函数 的释放资源的函数 官方文档: https://www.wendangku.net/doc/e69737133.html,/javase/7/docs/technotes/guides/jni/ spec/functions.html#wp17440 JNI函数的中译本(貌似没看到GetPrimitiveArrayCritical()):https://www.wendangku.net/doc/e69737133.html,/qinjuning下面正式开始:1、不知道如 何设置JNI环境的先看这里: https://www.wendangku.net/doc/e69737133.html,/blog/13281362、Java端程序: Java端:

Java代码package tests; import java.util.Arrays; public class TestJNIArray { static{ System.loadLibrary("TestJNIArra y"); } public static native void addOne(int[] ints);//数组元素1 public static native void addOne(double[] ints);//数组元素1,为了测试,C 中循环了5次public static native int[] getNewArray(int size,int initValue);//生成初始值为initValue的数组,数组长度为size public static void main(String[] args) throws InterruptedException { int n=20; final int[] a=new int[n]; for (int i = 0; i < a.length; i ) { a[i]=i; } if(n<50)System.out.println(Arrays.toString(a)); addOne(a); if(n<50)System.out.println(Arrays.toString(a)); final double d[]=new double[n]; for (int i = 0; i < d.length; i ) { d[i]=i; } //addOne(d); if(n<50)System.out.println(Arrays.toString(d)); new Thread(new Runnable() { @Override

JAVA类与对象及数组习题及答案

JAV A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是(D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。

面向对象实验题及答案(全)

实验1 cin、cout及面向过程的编程实验2 引用与函数重载 实验3 类与对象 实验4 静态成员与对象参数 实验5 拷贝构造函数与内存分配 实验6 对象数组与子对象 实验7 含有数组成员的对象与深拷贝实验8 运算符重载(1) 实验9 运算符重载(2) 实验10 继承与派生 实验11 虚函数与类族 实验12 STL

实验1 cin 、cout 及面向过程的编程 1A :显示某个日期是星期几 (1) 输入、输出要求: 输入:3个正整数,依次为年、月、日,比如2049 10 1 输出:按类似“[2049-10-5] is Friday.”的形式输出 示例: (2) 处理方法 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式,其中最著名的是蔡勒(Zeller)公式。即 7)%110)1(26244(-+? ?? ???++-??????+??????+=d m c c y y w 公式中的符号含义: w ——星期几 c ——年份的前两位 y ——年份的后两位 m ——月,3≤m ≤14,某年的1、2月视为上一年的13、14月,比如2003年1月1日要看作2002年的13月1日 d ——日 ??——代表取整,即只要整数部分 %——除法求余数 例如:对于2049年10月1日,计算过程如下: 5 7%547)%284051249(7)%1110)110(2620242044949(==+-++=-+??? ???++?-??????+??????+=w 即2049年10月1日是星期5。如果计算结果是负数,则加7。 1B :格式化输出实数 从键盘读取本金和年利率,求20年中每年末本息合计有多少钱。 输入:用空格分隔的两个数,都可以带小数点 输出:以“钱数(?年后)”的方式显示,以“2格、右对齐”的方式显示年,以“共10格、小数点后取2位、右对齐”的方式显示本息合计的钱数,见示例 示例:本金973.45元、年利率2%的显示结果如下

JS对象创建数组

1 创建对象 Document