1. 数组定义方式c语言
数组的4种声明方式:
1.先声明再初始化
例如:
//1.声明
int[] nums;
//初始化
nums = new int[5];
2.声明并初始化
例如:
//2.声明、初始化
int[] nums = new int[10];
3.创建数组同时赋值
例如:
//3.创建数组同时赋值
String[] names=new String[]{"大名","小米","夏雨荷"};
int[] ages=new int[]{21,22,21,56,13};
for (int i = 0;i < names.length;i++){
System.out.prinrln(names[i]);
}
for (int i = 0;i < ages.length;i++){
System.out.prinrln(ages[i]);
}
4.创建同时赋值,简写,不能写成两条语句
例如:
//4.创建同时赋值,简写,不能写成两条语句
String[] cities = {"上海","北京"};
(1)c语言数组联系方式扩展阅读:
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
2. C语言用结构数组建立5人通讯录,包括姓名地址,电话号且能根据输入的名字查找对应电话
so easy!!
#include<stdio.h>
#include<string.h>
main()
{char student1[20];
struct student
{char name[20];
unsigned long int phone;
char add[100];
};
struct student stud[3]={{"1",1,"1"},{"2",2,"2"},{"3",3,"3"}};
printf("请输入你要找的人:");
scanf("%s",student1);
for(int i=0;i<=4;i++)
{if(strcmp(student1,stud[i].name)==0)
{ printf("姓名:%s\n电话:%d\n地址:%s\n",stud[i].name,stud[i].phone,stud[i].add);
}
}
}
3. c语言数组定义的几种方式
数组的定义
数组就是指用于存储同一类型数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
数组定义的方式
数组定义的方式有四种形式,分别是:
(1)类型名[] 数组名;
(2)类型名[] 数组名 = { 初始值列表 };
(3)类型名[] 数组名 = new 类型名[ 数组大小 ];
(4)类型名[] 数组名 = new 类型名[ 数组大小 ] { 初始值列表 };
数据类型:指的是数组元素的数据类型,常见的有整形、浮点型、与字符型等
数组名:是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同
4. C语言中如何定义数组
数组定义的三种方式
1、第一种
int []a = newint[5];
a[0] = 10;
2、第二种
int []c = newint[]{1,2,3};
3、第三种
int []i ={1,2,3,4};
4、错误的写法
int []i1 = [1,2,3,4];
System.out.println(Arrays.toString(c));
5、总之,具体的元素不能被【】包裹。【】包裹的应该是数组的数量。
(4)c语言数组联系方式扩展阅读
数组的注意事项:
1、 数组中每个元素的数据类型必须相同,对于inta[4];,每个元素都必须为 int。
2、 数组长度 length最好是整数或者常量表达式,
3、 访问数组元素时,下标的取值范围为 0 ≤ index < length,
参考资料
网络-数组
5. c语言,连接2个数组的方法
连接两个数组有点问题,for(x=0;x<6;x++) 数组长度怎么确定array.length 不能用6来表示
可以写个方法,将两数组合并成一个数组
也可以用API函数 memory
6. c语言数组的定义
C语言支持一维数组和多维数组。如果一个数组的所有元素都不是数组,那么该数组称为一维数组。
在C语言中使用数组必须先进行定义,一维数组的定义方式为:类型说明符; 数组名 ;[常量表达式]。
其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符,方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:
int a[10]; /* 说明整型数组a,有10个元素 */
float b[10], c[20]; /* 说明实型数组b,有10个元素,实型数组c,有20个元素 */
char ch[20]; /* 说明字符数组ch,有20个元素 */
对于数组类型说明应注意以下几点:
1、数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2、数组名的书写规则应符合标识符的书写规定。
3、数组名不能与其它变量名相同。例如:
int a;
float a[10];
是错误的。
4、方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0], a[1], a[2], a[3], a[4]。
5、不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:
#define FD 5
// ...
int a[3+2],b[7+FD];
是合法的。但是下述说明方式是错误的。
int n=5;
int a[n];
6、允许在同一个类型说明中,说明多个数组和多个变量。例如:
int a,b,c,d,k1[10],k2[20];
(6)c语言数组联系方式扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
7. c语言指针与数组,怎么联系起来
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。
2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。
3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
8. c语言数组怎么定义
C语言中,同变量一样;数组也必须先定义后使用。
一维数组的定义形式:
类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。
如变量的定义一样,int a ;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。
int a[10]就是定义了一个数组名为a的数组;此数组有10个元素。其中各元素从a[0]到a[9];并没有a[10]元素。下面列举一个。
9. 如何用C语言中的数组编写一个通讯录
写了一个 ,行就支持一下 啊,呵呵呵
#include <stdio.h>
#include <string.h>
struct pep_list{ /*定义一个通讯录结构*/
char name[10];
int age;
char telephone[13];
};
int count=0; /*定义整个人数的全局变量计数*/
int count1=0; /*定义朋友人数的全局变量计数*/
int count2=0; /*定义家人人数的全局变量计数*/
int count3=0; /*定义陌生人数的全局变量计数*/
int c,b,a; /*为46 47 48行的赋值做准备*/
struct pep_list peps[50]; /*定义储存所有人的数组*/
struct pep_list friends[50]; /*定义储存朋友的数组*/
struct pep_list families[50]; /*定义储存家人的数组*/
struct pep_list unknows[50]; /*定义储存陌生人的数组*/
struct pep_list pp[50];
struct pep_list p[50];
void new_pep(struct pep_list peps[]); /*自定义函数*//*总的人数*/
void search_pep(struct pep_list peps[]); /*自定义函数*//*查询*/
void delete_pep(struct pep_list peps[]); /*删除*/
/*显示*/
void xianshi_pep(struct pep_list peps[],struct pep_list friends[],struct pep_list families[],struct pep_list unknows[]);
void xgxx_pep(struct pep_list peps[]);/*重新命名*/
int main(void)
{
int choice,choice1,choice2,choice3,choice4;
printf("\t \t********NOKIA 专用通讯录*********\n");
printf("\n\n");
do
{
printf("\n功能表:\n[1]:新建\n[2]:查询\n[3]:删除\n[4]:显示组员\n[5]:修改信息\n[0]:退出\n");
printf("\n选择你要的功能:\n");
scanf("%d",&choice);
switch(choice)
{ /*新建项*/
case 1:new_pep(peps);
printf("是否需要分组?\n"); /*分组提示*/
printf("\n[1]:是[2]:否");
scanf("%d",&choice3);
switch(choice3)
{
case 1:printf("[1]:朋友[2]:家人[3]:陌生人");
scanf("%d",&choice4);
switch(choice4)
{
case 1:friends[count1]=pp[1];count1++;break; /*将第一个子函数中的信息值赋值给朋友*/
case 2:families[count2]=pp[1];count2++;break; /*将第一个子函数中的信息值赋值给家人*/
case 3:unknows[count3]=pp[1];count3++;break; /*将第一个子函数中的信息值赋值给陌生人*/
}
break; /*注意此处的break一定不能少*/
case 2:break;
}
break; /*注意此处的break一定不能少*/
/*查询项*/
case 2:
search_pep(peps);
printf("还要使用该功能吗?");
printf("\n[1]:继续[2]:退出");
scanf("%d",&choice1);
switch(choice1)
{
case 1:continue;
case 2:goto next;
}
case 3:delete_pep(peps);break;
case 4:xianshi_pep(peps,friends,families,unknows);break;
case 5:xgxx_pep(peps);break;
case 0:break;
}
printf("还要使用该功能吗?");
printf("\n[1]:继续[2]:退出");
scanf("%d",&choice1);
switch(choice1)
{
case 1:continue; /*返回到do句中*/
case 2:goto next;
}
next: /*标签*/
printf("确定退出吗?");
printf("\n[1]:确定[2]继续");
scanf("%d",&choice2);
if(choice2==1)
break;
if(choice2==2)
continue; /*返回到do句中*/
}while(choice!=0);
printf("谢谢使用#NOKIA\n");
getch();
}
/*新建*/
void new_pep(struct pep_list peps[])
{
struct pep_list f;
/*定义一个结构型变量储存输入的名片*/
if(count==50)
{
printf("满员!\n");
return;
}
printf("联系人姓名:");
scanf("%s",f.name);
printf("\n年龄:");
scanf("%d",&f.age);
printf("\n号码:");
scanf("%s",f.telephone);
peps[count]=pp[1]=f; /*将输入的名片赋值给住函数中定义的整体数组*/
/*将输入的名片赋值给住函数中定义的辅助数组,是为59 60 61行做准备*/
count=count+1;
return;
}
/*查找组员*/
void search_pep(struct pep_list peps[])
{ char name[10];
int flag=0,i;
printf("输入姓名:");
scanf("%s",name);
if(count==0)
{
printf("通讯录为空!");
return;
}
for(i=0;i<count;i++)
{
if(strcmp(name,peps[i].name)==0) /*比较*/
flag=1;
break;
}
if(flag)
{
printf("\n姓名:%s",peps[i].name);
printf("\n年龄:%d",peps[i].age);
printf("\n号码:%s",peps[i].telephone);
}
else
printf("无此人!");
return;
}
/*删除组员*/
void delete_pep(struct pep_list peps[])
{
char name[10];
int i,j,choice;
printf("输入你要删除的名片的姓名:");
scanf("%s",name);
if(count==0)
printf("无人!");
else
{
for(i=0;i<count;i++)
{
if(strcmp(name,peps[i].name)==0) /*在名片里找名字*/
{
if(i==count-1) /*当删除最后一项时只需减少位数 不需在从后向前赋值*/
{
count=count-1;
printf("删除成功");
return;
}
for(j=i;j<count;j++)
{
strcpy(peps[j].name,peps[j+1].name); /*后一项的名字附到前一项*/
strcpy(peps[j].telephone,peps[j+1].telephone); /*后一项的号码附到前一项*/
peps[j].age=peps[j+1].age; /*后一项的年龄附到前一项*/
}
printf("\n删除成功");
count=count-1;
printf("\n是否显示所有组员?");
printf("[1]:是[2]:否");
scanf("%d",&choice);
switch(choice)
{
case 1:if(count==0)
printf("\n无人");
for(i=0;i<count;i++)
printf("\n姓名:%s 年龄:%d 号码:%s",peps[i].name,peps[i].age,peps[i].telephone);
break;
case 2:break;
}
break;
}
return;
}
}
if(i==count-1)
{
printf("查无此人");
return;
}
}
/*显示组员*/
void xianshi_pep(struct pep_list peps[],struct pep_list friends[],struct pep_list families[],struct pep_list unknows[])
{
int i,choice;
printf("\n[1]:显示全体组员 [2]:显示分组队员"); /*提示是否显示组员*/
scanf("%d",&choice);
switch(choice)
{
case 1:if(count==0)
printf("无人");
for(i=0;i<count;i++)
{
printf("姓名:%s 年龄:%d 号码:%s\n",peps[i].name,peps[i].age,peps[i].telephone);
}
return;
case 2:
printf("[1]:显示朋友[2]:家人[3]:陌生人");
scanf("%d",&choice);
switch(choice)
{
case 1:if(count1==0)
printf("无人");
for(i=0;i<count1;i++)
/*输出组员*/
printf("姓名:%s 年龄:%d 号码:%s \n",friends[i].name,friends[i].age,friends[i].telephone);break;
case 2:if(count2==0)
printf("无人");
for(i=0;i<count1;i++)
printf("姓名:%s 年龄:%d 号码:%s \n",families[i].name,families[i].age,families[i].telephone);break;
case 3:if(count3==0)
printf("无人");
for(i=0;i<count1;i++)
printf("姓名:%s 年龄:%d 号码:%s \n",unknows[i].name,unknows[i].age,unknows[i].telephone);break;
}
return;
}
}
/*修改信息*/
void xgxx_pep(struct pep_list peps[])
{
char name[10],name2[10],telephone[10];
int i,choice;
if(count==0)
{
printf("无人\n");
return;
}
printf("输入你想改信息人的名字:");
scanf("%s",name);
for(i=0;i<count;i++)
if(strcmp(peps[i].name,name)==0)
{
printf("[1]:修改姓名 [2]:修改号码\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("输入新的名字\n");
scanf("%s",name2);
strcpy(peps[i].name,name2);
break;
case 2:
printf("输入新的号码");
scanf("%s",telephone);
strcpy(peps[i].telephone,telephone);
break;
}
printf("是否显示改过的组员?");
printf("\n[1]:是[2]:否");
scanf("%d",&choice);
switch(choice)
{
case 1:
for(i=0;i<count;i++)
printf("姓名:%s 年龄:%d 号码:%s\n",peps[i].name,peps[i].age,peps[i].telephone);
case 2:break;
}
return;
}
}