数组7

man (1 系统命令) scanf 可以查看函数具体用法
2 用户命令
3标准库函数
C语言没有输入输出,他用的是标准库中的输入输出
if(0==scanf("%d",&temp))
{
scanf("%*[^ ]%*c")
}
1.scanf返回值,返回正确读入的字符个数,如果用户输入
脏数据,返回0.
for (;i<=16;)
if(data<0)
printf("1")
if(data>0)
printf("0");
data<<=i;
2.输出缓冲区
程序》输出缓冲区》屏幕
清空缓冲区
1.程序结束。
2.输出缓冲区满(也会进行输出)
3.人工刷新(fflush(刷新到哪stdout标准输出设备))
刷新到屏幕。
4.遇到换行符或EOF(文件尾)
stdin 标准输入设备 很少用


3.数组
c语言基本类型。
标量:一个变量附一个值
复合数据类型:聚合标量:一个变量有多个值。
数组,结构体,枚举,联合,四种类型。
3-1.一维数组
数组要求我们的变量为统一的类型。
数组元素---在容器中的东西:类型相同。
float score[50] 1维数组的定义;
定义格式:数据类型 数组名【int】;
通过下标访问数组元素;

下标范围:0~(n-1) 注意:不要越界

数组元素的特性:未赋值的为随机数。
注意: 1.c语言不会对数组下标越界检查
2.使用的时候不要越界,下标越界无意义;

练习:
1.定义一个数组,保存5个学生的成绩。

2.输入一串数字,反向输出打印。


数组元素的习惯用法。
1.清零操作:
for(i=0;i<n;i++)
{a[i]=0;

}
2.输入数据的数组中
for(i=0;i<n;i++)
{scanf("%d",&a[i]);}
3.数组元素的求和
for(i=0;i<n;i++)
{
sum+=a[i];
}
4所有的数组元素都和普通的变量一样使用

int a[5]= {0};
int i=0;

int a[5]={1,2,3,4,5};
int a[5]={1,2,3}//当初始化表达式的常量表达式
小于元素的个数的时候,剩余的元素初始化为零;
int a[5]={0}; //zhengque
a[5]={1,2,3,4,5}; //error
a[]={1,2,3,3,3,4,4,4}; //用初实话元素的个数
当做数组的大小
int a[]; //这种形式的事错误的;


5.指定初始化
int a[30] ={0,0,0,0,0,1,2,3,4...};
int a[30]= {[5]=1,[10]=2,[19]=3};

6.sizeof(shuzu)=sizeof(数组元素)*元素个数
练习:用户输入一个整数,输出这个整数中重复的数字,
以及重复的次数。

4、二维数组。
int a[3][4]; //定义一个二维数组,3行4列
int a[3]={{},{},{},{}};
我们可以吧二维数组看成一个矩阵;
行下标
列下标
下标不要越界,0-n-1
二维数组的初始化:
int a[3][4]={{1,2,3,4},{5,6.7.8}};
//行数少于应有的行数,其他用0填充
(数组为行主序填充)
int a[3][4]={1,2,3,4,5,6,7,8,9,};
把每一行都看成一个一维数组
二维数组指定初始化
int a[4][4]={[0][0]=1,[1][1]=1,[2][2]=1,[3][3]=1};


变长数组:
1.int a[10]; //int a[n];
2.
补充函数:
rand(); 、、man 手册

产生0-RAND_MAX 的随机数
比如产生0到13的随机整数
rand()%13

srand();

与rand成对使用,是用来设置rand的随机序列
通常较大,而且最好是变化的
int time(NULL)=time(0)返回1970-1-1 0:0:0 至今的秒数
通常用法:srand(time(0));

练习:发牌程序。

原文地址:https://www.cnblogs.com/fanhongshuo/p/3886622.html