多种程序语言下使用数组的不同

C语言

#include<stdio.h>
int main(){
int i,j;
scanf("%d",&i);
int m[i];
  for(j=0;j<i;j++){
    scanf("%d",&m[j]);
}
  for(j=0;j<i;j++){
	printf("%d ",m[j]);
}
	printf("\n");
} 

运行结果:
4
1 2 3 4
1 2 3 4

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
在C语言中使用数组必须先进行定义

C++语言

#include <iostream>
using namespace std;
 
#include <iomanip>
using std::setw;
 
int main ()
{
   int n[ 10 ]; // n 是一个包含 10 个整数的数组
   
   // 初始化数组元素          
   for ( int i = 0; i < 10; i++ )
   {
      n[ i ] = i + 100; // 设置元素 i 为 i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;
   
   // 输出数组中每个元素的值                     
   for ( int j = 0; j < 10; j++ )
   {
      cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
   }
 
   return 0;
}

运行结果:
Element Value
0 100
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109

C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。
如果不是内置类型,则不管其在哪定义,自动调用其默认构造函数为其初始化,若该类无默认构造函数则会报错。
C++规定,在声明和初始化一个二维数组时,如果对二维数组的所有元素都赋值,则第一维(行数)可以省略

JAVA语言

package 数组;
	import java.util.Scanner;
	public class 数组 {
	
		public static void main(String[] args) {
			// TODO Auto-generated method stub
			Scanner input=new Scanner(System.in);
			int[] myList=new int[5];
			System.out.print("Enter the numbers: ");
			for(int i=0;i<myList.length;i++) {
				myList[i]=input.nextInt();
			}
			for(int i=0;i<myList.length;i++) {
				System.out.print(myList[i]+" ");
			}
		  }
		}

运行结果:
Enter the numbers: 2 4 2 52 5
2 4 2 52 5

在Java中,无论使用数组或容器,都有边界检查。如果越界操作就会得到一个RuntimeException异常。
在定义的时候需要new给其分配存储空间。例如:int a[]=new int[10];
JAVA数组的特点:动态数组,具有长度属性length,引用数据类型

JAVA SCRIPT语言

var needX=[1/2,3/5,3/5,1/2];
var	needY=[1/10,1/5,7/20,9/20];
var index=0;
function drawStar( ctx , r , R , circlePoint , rot , style){
	ctx.beginPath();
	for( var i = 0 ; i < 5 ; i ++){

		//确定外圆的点
		ctx.lineTo(Math.cos((18+72*i - rot)/180*Math.PI) * R + circlePoint.x,
					- Math.sin((18+72*i - rot )/180*Math.PI) * R + circlePoint.y);
		//确定内圆的点
		ctx.lineTo(Math.cos((54+72*i - rot)/180*Math.PI) * r + circlePoint.x ,
					- Math.sin((54+72*i - rot )/180*Math.PI) * r + circlePoint.y);
	}
	ctx.closePath();

	ctx.lineWidth = style.lineWidth;
	if(!style.isFill){
		ctx.strokeStyle = style.color;
		ctx.stroke();
	}
	else{
		ctx.fillStyle = style.color;
		ctx.fill();
	}
	
}
for(index=0;index<4;index++){
	ctx.save();
	ctx.translate(canvas.height*needX[index],canvas.height*needY[index]);//平移
	ctx.scale(0.75,0.75);//缩放
	ctx.rotate(Math.PI/8*(index+1));//旋转
	style1.color="yellow";
	drawStar(ctx,r/2,R/2,circlePoint,rot,style1);
	ctx.restore();
}

js中数组定义时无需指定数据类型,数组定义时可以无需指定数组长度,数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)。
js数组灵活性很强,但是安全度大大降低。

Python语言

list1=['physics','chemistry',1997,2000]
listt2=[1,2,3,4,5,6,7]

print"list1[0]",list1[0]
print"list2[1:5]:",list2[1:5]

for each in list2:
  print(each)

运行结果:
在这里插入图片描述
python
1.用list和tuple等数据结构表示数组
  一维数组:list=[1,2,3,4]
  二维数组:list=[[1,2,3],[4,5,6],[7,8,9]]
  对于数值运算来说这种结构显然比较浪费内存和CPU计算时间
2.用array模块:array模块需要加载,而且运用的较少。
通过array函数创建数组(数组中的元素可以不是同一种类型),array.array(‘B’,range(5)) >>array(‘B’,[1,2,3,4,5])
它直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值