㈠ c语言中字符数组与数值型数组在输入输出时有什么区别
以\0结束的字符数组是字符串,输出的时候可以用%s控制输出,别的基本一直,字符数组的每一个字符char类型可以看作小的整型,输入都只能逐个输入,赋值的话字符数组可以用双引号类的一段内容来复制如char a[]="hello,worle!";系统会自动在字符数组末尾添加一个‘\0',表示字符串,数值型数组只能 {12,32,21……}这样
㈡ 简单的编程问题,c语言中,我定义了一个结构体数组,但结构体中的各个元素的类型是不同的,比如一个学生
1.输入完成后进行判断即可,如输入的学号是多少位如果不是12位则返回错误,然后再遍历学号(以字符进行输入)如果字符中不是数字返回错误等,或者以数字进行(格式控制)先判断输入函数返回是否正确
2.你确定是结构体数组而不是链表对吧,那么遍历这个数组与数组中相应元素(结构体)中的对应查询数据比对即可,打到后打印该元素内所有数据
3.删除可以在结构体中设置一个该元素是否被删除的标致,初始为未删除,删除时标记为删除即可,由于是数组,删除数组中元素需要将删除元素之后的所有元素向前移动一位会比较浪费时间
4.人数不确定则可以使用一个计数用来记录当前学生数量多少,如果下一个学生的添加超过了这个数量则动态添加数组长度,即使用动态数组
5.一般来说你输入的数据是存储在内存中的,程序一旦退出后程序所占资源被回收所以数据也就丢失了,为了数据不丢失可以将数据保存到一个能够永久保存数据库的外部存储设备比如保存到硬盘上,简单地说就是保存到文件里,程序启动时从文件里读取数据
一般这样的程序都是使用链表来做
当前使用数组也是可以的
之前我就有用结构体数组做过一个简单的学生管理系统
如果需要写代码的话
我可以有偿代劳
㈢ 009C/C++C语言字符数组和普通数组的区别
实际上,字符数组和普通数组一样,没有本质区别。请大家注意数组类型的含义:数据类型指的是数组所包含的元素的类型,而不是数组名的类型,数组名永远是一个指针,指向第一个元素的地址,即数组首地址。字符数组的每个元素都是char类型,整型数组的每个元素都是int类型。scanf() 和 printf() 函数有一种格式化字符串 %s 可以用来整体输入输出字符数组,但是没有特定的格式支持 int 数组整体数组输出。请看下面的代码:
#include<stdio.h>
intmain(void){
intnum[]={1,2,3,4,5,6,7,8,9,0};
charstr[]="http://see.xidian.e.cn/cpp/";
inti;
// num, str 是地址,由系统分配,与数组本身没有任何关系
printf("num = %d, str = %d\n",num,str);
// num, str 指向数组首地址
printf("&num[0] = %d, &str[0] = %d\n",&num[0],&str[0]);
// num 等价于 &num[0]
if(num==&num[0]){
printf("num = &num[0]\n");
}
// str 等价于 &str[0]
if(str==&str[0]){
printf("str = &str[0]\n");
}
// 要为某个数组元素赋值,必须取该元素的地址
printf("input a number: ");
scanf("%c",&str[0]);
// scanf() 从 stdin 缓冲区读取数据
// fflush() 用来清空缓冲区,让 scanf() 重新从控制台读取
// 关于 fflush() 详细解释请查看:
C语言fflush()
fflush(stdin);
printf("input a char: ");
scanf("%c",&str[0]);
fflush(stdin);
// 使用 scanf() 为数组赋值时
// 可以使用 %s 为字符数组整体赋值
// 但是没有特定的格式化字符串来为 int数组整体赋值,必须一个一个赋值
printf("Input a string: ");
scanf("%s",str);// str为地址,不需加&
fflush(stdin);
printf("Input 10 number: ");// 以空格为间隔
for(i=0;i<10;i++){
scanf("%d",&num[i]);// num[i]为某个元素,必须要加&取得它的地址
}
// 取前5个元素作为示例
printf("The final num[] = %d, %d, %d, %d, %d\n",num[0],num[1],num[2],num[3],num[4]);
printf("The final str[] = %s\n",str);
return0;
}
运行结果:num = 1638176, str = 1638164&num[0] = 1638176, &str [0] = 1638164num = &num[0]str = &str[0]input a number: 5↙input a char: e↙Input a string: C语言中文网↙Input 10 number: 12 34 56 78 90 23 45 78 09 54↙The final num[] = 12, 34, 56, 78, 90The final str[] = C语言中文网再强调一次,数组类型是数组元素的类型,数组名是指向数组首地址的指针,scanf() 的参数列表必须是指针。
㈣ c语言中数组有几种
我们常见的C需要类型数组有:
char:只允许输入字符,
int:是整型变量,输入整数,范围不大,在-32767到32767,
float:输入可以使小数也可以输入整数,在不确定的情况下,就用float,范围还是比较的大,
double:如果说float是四个字节的话,大伯是八个字节。范围比float大好多。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性。
以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。
目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
㈤ C语言的数据类型分为几种
short、int、long、char、float、double
这六个关键字代表C 语言里的六种基本数据类型。
在不同的系统上,这些类型占据的字节长度是不同的:
在32
位的系统上
short
占据的内存大小是2 个byte;
int占据的内存大小是4
个byte;
long占据的内存大小是4
个byte;
float占据的内存大小是4
个byte;
double占据的内存大小是8
个byte;
char占据的内存大小是1
个byte。
具体可以用sizeof测试一下即可。
(5)c语言数组类型不同扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
㈥ 在C语言里面的数据的存储不同类型的数据用同一个数组怎么做
c语言,数据类型的作用反应数据和操作的意义,要更改一段机器码或者二进制的数据,只需要借助指针对数据进行重新的说明即可,比如。
unsignedintui=0x3f8ccccd;//一个无符号整数
floatf=*(float*)&ui;//这样就可以表示成1.1f了
㈦ C语言字符数组和普通数组的区别
字符数组除了可以具有普通数组的所有功能和用法之外,还可以作为字符串使用,可以gets、puts或者scanf、printf使用%s整体输入输出。
㈧ c语言中如何定义行与列数据类型不同的二维数组
这个是不能实现的,所谓数组,就是数据类型相同的一个数据集合,如果要数据类型不同,只能定义在不同的数组中。
㈨ c语言的基本类型数据有哪几种
1、整型int2(或4)同短整型(或长整型)
2、短整型short2-32768~32767
3、长整型long4-2的31次方~2的31次方-1
4、无符号整型unsigned[int]2(或4)同无符号短整型(长整型)
5、无符号短整型unsignedshort20~65535(0~2的16次方-1)
6、无符号长整型unsignedlong40~2的32次方-1
7、单精度实型float4-10的38次方~10的38次方
8、双精度实型double8-10的308次方~10的308次方
9、字符型char1-128~127
(9)c语言数组类型不同扩展阅读
unsignedlong的使用
例:
#include<cstdio>
intmain()
{
unsignedintui=-1;
unsignedlongul=-1;
unsignedlonglongull=-1;
size_tst=-1;
printf("ui=%u,ul=%lu,ull=%llu,st=%zu ",ui,ul,ull,st);
return0;
}