美文网首页
C语言详情

C语言详情

作者: 简洁心飞 | 来源:发表于2019-01-22 16:38 被阅读0次
"数组"
在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
数组中每个元素的数据类型必须相同、数组是一个整体,它的内存是连续的
int a[4];  //创建数组并分配内存空间、4个int类型的内存空间
int a[4] = {20, 345, 700, 22};  //创建数组并数组的初始化
int a[10]={12, 19, 22 , 993, 344};  //可以只给部分数组元素赋值、
当赋值的元素少于数组总体元素的时候,剩余的元素自动初始化为 0
通过下面的形式将数组的所有元素初始化为 0
int nums[10] = {0};
char str[10] = {0};
float scores[10] = {0.0};
 //只能给元素逐个赋值,不能给数组整体赋值  不能写作:int a[10] = 1;
int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; 
如给全部元素赋值,那么在定义数组时可以不给出数组长度
int a[] = {1, 2, 3, 4, 5}; // 等价于 int a[5] = {1, 2, 3, 4, 5};
printf("%-9d %-9d %-9d %-9d\n", a[0], a[1], a[2], a[3] );  
//%9是宽度控制符,输出结果占9个字符的位置,如果输出结果不够9个字符就以空格补足,如果超出9个字符,就按实际字符输出
int a[3][4];  //二维数组定义的一般形式是
 // 二维数组的初始化可以按行分段赋值,也可按行连续赋值
int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} }; 

字符数组实际上是一系列字符的集合,也就是字符串(String)
在C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串
在C语言中,字符串总是以'\0'作为结尾,所以'\0'也被称为字符串结束标志,或者字符串结束符。
char name[]="xin fei";  // 创建字符串、字符串也是数组哦、由" "包围的字符串会自动在末尾添加'\0'


在C语言中,我们使用string.h头文件中的 strlen() 函数来求字符串的长度,它的用法为:
strlen(strname);

#include <string.h>
char name[]="xin fei";
printf("%lu\n", strlen(name));  // 7
字符串的输入
在C语言中,有两个函数可以让用户从键盘上输入字符串,它们分别是:
scanf():通过格式控制符%s输入字符串。除了字符串,scanf() 还能输入其他类型的数据。
gets():直接输入字符串,并且只能输入字符串。

字符串的输出
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
"结构体"
使用结构体(Struct)来存放一组不同类型的数据
struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在学习小组
    float score;  //成绩
};

相关文章

网友评论

      本文标题:C语言详情

      本文链接:https://www.haomeiwen.com/subject/jytrjqtx.html