您当前的位置:首页 > 养生 > 内容

如何给一个数组赋初值?C语言怎样给字符数组赋值

本文目录

  • 如何给一个数组赋初值
  • C语言怎样给字符数组赋值
  • 怎么给数组中的数据赋值
  • c#中如何给数组赋值
  • 给数组赋值有几种方式啊
  • 数组给数组赋值问题
  • 数组如何给数组赋值
  • 数组的赋值方法

如何给一个数组赋初值

字符串数组定义赋值:

char c={’c’, ’ h ’, ’i’, ’n’, ’a’ , ’\0’ }

整数数组定义赋值:

int a={1,2,3,4,5};

int a;

      for(int i=0;i《5;i++)

       a[i]=i;

定义float数组并赋值:

float b={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}

扩展资料:

数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。  这些无序排列的同类数据元素的集合称为数组。

声明固定大小的数组:

有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:

1,建立公用数组,在模块的声明段用 Public语句声明数组。

2,建立模块级数组,在模块的声明段用 Private语句声明数组。

3,建立局部数组,在过程中用 Private语句声明数组。

参考资料来源:百度百科-数组

C语言怎样给字符数组赋值

1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。

例子:

char a;

char ch=’a’;

for( i=0;i《10;i++ )

a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值

char *p;

for( p=a; p《a+10; p++ )

*p=ch++; //通过指针对数组相应元素赋

2、字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值。

例子:

char a;

strcpy( a, “abcdefgh“);

sprintf(a, “%s“, “abcdefgh“);

扩展资料:

C语言给字符数组赋值的优点:

1、简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2、运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

参考资料:百度百科 C语言基础语句

怎么给数组中的数据赋值

有两种方法可以实现。为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。int a = {1,2,3,4}, b;1、 通过数组遍历,逐个赋值。定义循环变量int i;for(i = 0; i 《 4; i ++)b[i] = a[i];该程序功能为遍历数组a,逐个赋值到数组b对应元素中。2、 借助内存复制函数memcpy,整体赋值。void *memcpy(void *dst, void *src, size_t size);这个函数的功能为将src上,大小为size字节的数据赋值到dst上。调用该函数时需要引用头文件cstring,即#include 《cstring》赋值数组的代码为memcpy(b,a,sizeof(a));

c#中如何给数组赋值

声明数组的同时进行赋值 string languages = { “C#“, “COBOL“, “Java“,“C++“, “Visual Basic“, “Pascal“,“Fortran“, “Lisp“, “J#“};在这个以逗号分隔的列表中,第一项成为数组的第一个元素,第二项成为第二个元素,依此类推。我们使用大括号来定义一个数组字面量。只有在同一个语句中声明并赋值时,代码清单2-30的赋值语法才可用。如果是在声明了之后才进行赋值,则需要使用new关键字和对应的数据类型,如代码清单2-31所示。代码清单2-31 声明之后再进行数组赋值string languages;languages = new string{“C#“, “COBOL“, “Java“,“C++“, “Visual Basic“, “Pascal“,“Fortran“, “Lisp“, “J#“ }; C#还支持将new关键字作为声明语句的一部分使用,所以它允许像代码清单2-32那样的赋值和声明。代码清单2-32 声明的同时使用new进行数组赋值string languages = new string{“C#“, “COBOL“, “Java“,“C++“, “Visual Basic“, “Pascal“,“Fortran“, “Lisp“, “J#“}; 使用new关键字是告诉“运行时”为数据类型分配内存。它指示“运行时”实例化数据类型——本例是一个数组。任何时候将new关键字作为数组赋值的一部分使用,都可以同时在方括号内指定数组的大小。代码清单2-33演示了这个语法。代码清单2-33 使用new关键字进行声明和赋值 string languages = new string{“C#“, “COBOL“, “Java“,“C++“, “Visual Basic“, “Pascal“,“Fortran“, “Lisp“, “J#“};在初始化语句中,数组的大小和大括号中包含的元素数量必须匹配。除此之外,也可以分配一个数组,但不指定它的初始值,如代码清单2-34所示。代码清单2-34 分配数组,但不指定初始值string languages = new string; 分配一个数组但不指定初始值仍然会初始化每个元素。“运行时”会将每个元素初始化为它们的默认值,如下所示:引用类型(比如string)初始化为null;数值类型初始化为零;bool初始化为false;char初始化为\0。其结果就是,在使用之前,不必单独对数组的每个元素进行赋值。在C# 2.0中,可以使用default()运算符来判断一种数据类型的默认值。default()获取一个数据类型作为参数。例如,default(int)会返回0,而default(char)会返回\0。由于数组大小不被作为变量声明的一部分,所以可以在运行时指定数组大小。例如,代码清单2-35根据在Console.ReadLine()调用中由用户指定的大小来创建一个数组。代码清单2-35 在运行时定义数组大小string groceryList;System.Console.Write(“How many items on the list? “);int size = int.Parse(System.Console.ReadLine());groceryList = new string[size];// ...C#采取类似的方式来处理多维数组。要以逗号分隔每一维上的大小。代码清单2-36初始化了一个没有走棋的tic-tac-toe棋盘。代码清单2-36 声明一个二维数组 int[,] cells = int[3,3];还可以像代码清单2-37那样,将一个tic-tac-toe棋盘初始化成特定的棋子布局。初始化一个二维整数数组 int[,] cells = {{1, 0, 2},{1, 2, 0},{1, 2, 1}};初始化采用的模式是一个有3个int类型的元素的数组,每个元素都具有相同的大小。在本例中,这个大小是3。注意,每个int元素的维必须是完全一致的。也就是说,像代码清单2-38那样的声明是无效的。

给数组赋值有几种方式啊

就是for循环没学会吧。那就讲一下for循环和数组应用。就拿你的这个程序举例子好了,定义了一个整型数组a,然后看这段代码:for(i=0;i《3;i++){a[i]=i;}for循环的括号里面有三个东西,for(赋初值;循环条件;步长)赋初值就是给循环变量(相当于一个计数器)赋初值,当然也可以初始化其他的变量。第一个分号后面是循环条件,只有满足循环条件才执行循环体内部的语句,不满足则跳出循环。第二个分号后面是循环变量的自增步长,就是每次循环结束以后,循环变量要增加或减少多少,当然也可以执行其他的运算,按照需求来。运算过程如下:进入for循环后,第一次循环:i=0,给变量i 赋初值为0,然后判断i《3,如果i是小于3的,那么进入循环内部执行for循环里面的语句,即a[i]=i。这里,i是等于0的,那么a[i]就是a,a[i]=i的意思就是a=0,也就是说,给数组a的第一个元素(即下标为0的元素)赋值为0。接着a[i]=i这句执行完了,接着执行的是for循环的步长自增语句,即i++。i++和i=i+1是等价的,所以执行完这句语句以后,i的值从0变成了1。到这里,第一次循环就结束了,现在执行第二次循环。第二次循环:第一次循环结束以后,进入第二次循环之前,先要执行for循环的第一个分号后面的语句,就是循环条件判断。即i《3。在第一次循环结束后,i的值是1,那么1是小于3的,因此符合该条件,开始执行循环体内部的语句a[i]=i,这里,i的值是1,那么a[i]就是a了,也就是数组a的第二个元素(即下标为1的元素),执行完以后,又跳回for循环的第二个分号后面了,执行i++,执行完i++以后,i的值从1变成了2。接着开始第三次循环。如此往复,第三次循环结束以后,i的值变成了3,在执行第四次循环的时候,首先进入for循环的循环条件判断,也就是第一个分号后面的语句,i《3,这个时候i的值是3,3《3是不成立的,因此从这里开始跳出循环,第四次循环也就不执行了。循环结束以后,数组a就变成这样了:a=0,a=1,a=2。而i的值在此时为3。自己一步一步写出来for循环的执行步骤就好了。总结:for(赋初值;循环变量;循环变量自增){循环体;}这句语句的执行顺序是:1.赋初值。2.判断循环条件,若满足条件执行第3步,若不满足条件执行第6步。3.执行循环体语句。4.循环变量自增。5.执行第2步。6.跳出循环。

数组给数组赋值问题

楼主可能把指针和数组名的作用给混淆了! 我看了楼上的解释,很详细,但恐怕楼主既然提出了这样的问题,估计也看不懂上面的解释,或者费解!我给你稍微解释下:首先数组名a和b的值是地址,各表示a,b这两个数组的首地址,而且数组名是一个符号常量,而非变量。因此不能做任何赋值之类的运算。但你程序里的式子a=b,即把b的地址赋予给一个符号常量,而常量是不能在赋值运算符号的左边,既它的值不能被改变,不能被赋值的。综上有,a的值任然没有变,任然是数组a的首地址,所以数出时没有任何内容,而且编译时也不会通过,会提醒你=号的左边有错误!我也理解了楼主的意思,是想通过把b数组的首地址赋予给a然后通过%s数出a数组。这样输出的就是b数组。只是你这里用错了对象,把符号常量a当做变量来赋值了。但你可以把b的首地址赋予给一个指针变量,使指针指向b的首地址,然后输出用%s数出指针就可以数出b了。具体如下:#include 《stdio.h》void main(){ char a,b={“China“}; char *p; p=b; printf(“%s“,p);}这里楼主就要注意p和a的区别,a是存放地址的常量,不能被赋值。p是存放地址的变量,可以被赋值。 另外,要实现楼主上面的目的,把数组b的内容放到数组a中,然后输出数组a的到数组b的内容,可以简单的用一个strcpy函数就行了。程序如下:#include 《string.h》#include 《stdio.h》void main(){ char a,b={“China“}; strcpy(a,b); printf(“%s\n“,a);}这里还是必须注意,strcpy中前一个数组的长度要大于或则等于后面数组的长度,这样在实现赋值的时候能够确保前面的数组容纳下后面数组的所有元素,所以这里把a数组的长度改为6。希望能帮到楼主!

数组如何给数组赋值

你最好能把你的这段的源码打出来给我看或加我百度HI吧,我帮你调试一下,Atn函数能正确计算出来,只要你W数组的定义没问题,是不应该出现你说的问题的,好奇中……,等待……

数组的赋值方法

初始化赋值的一般形式为:static类型说明符数组名[常量表达式]={值,值……值}; 其中static表示是静态存储类型, C语言规定只有静态存储数组和外部存储数组才可作初始化赋值(有关静态存储,外部存储的概念在第五章中介绍)。在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔。例如:static int a={ 0,1,2,3,4,5,6,7,8,9 }; 相当于a=0;a=1...a=9;


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 小青蛙的故事,137 青蛙的故事

下一篇: 可牛影像官方(怎么下载可牛影像)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号