初始C语言(第四课时)

简介: 初始C语言(第四课时)数组:一组同类型元素的组合

一、数组

1.定义:一组同类型元素的组合

 表示方法:

int arr[10]={0,1,2,3,4,5,6,7,8,9};

arr:数组名字     10:数组的元素个数         {存入的数据}


 我们先给出模板:int arr[元素个数]={元素数据};


数组还可以这么定义:

char arr[10]//定义一个字符数组,用来存放字符元素(未初始化)
double arr[]={0,1,2,3,4,5};//定义一个浮点数师数组,元素个数可以不写,会根据存放的数据个数自己生成
int a[10]={0};//初始化一般赋值0,若初始化的数据个数不够元素个数,则后面元素数据自动补0

第三种叫不完全初始化,如:

int a[4]={1,2};//这个数组可以存放四个数据元素,但只给它赋值了1,2;则剩下的自动赋值为0
2.数组的下标

   数组的每个元素都有一个下标,而且下标是从0开始的。

int a[4]={1,3,4,6};
int arr[4] 3 4 6
下标 1 2 3
3.数组的使用

  比如我们要打印该数组中的3元素,就需要找到下标为1

printf("%d",arr[1]);

若需要打印整个数组,则需要用到循环

int i=0;
while(i<4)
{
printf("%d ",arr[i]);
i++;
}

二、操作符

1.算数操作符

+(相加)   -(相减)    *(乘号)    /(除号)     %(取余)

printf("%d",3+5);//打印结果为8
printf("%d",5-3);//打印结果为2
printf("%d",3*5);//结果为15
printf("%d",3/5);//打印结果为0
printf("%d",5/3);//结果为1
printf("%lf",5.0/3);//结果为1.6666
printf("%d",5%3);//结果为2

除号/:若两边都是整数,则结果为整除。若两边最少有一边是写成小数,则结果也会计算到小数部分。


取余(取模)%:用来计算余数。


2.移位操作符

>>   <<


暂且不需要了解


3.位操作符

& ^  |


暂且不需要了解


4.赋值操作符

= +=  -=  *=   /=   &=  ^=   |=   >>=    <<=


5.单目操作符

!  -   +   &   sizeof   ~   --   ++   *    (类型)


1)!  逻辑反操作


 比如a!=5,意思就是a不等于5;表示相反的意思


2)-  负值

int a=-1;
printf("%d\n",-a);//结果为1

3)+  正值    作用一般不大,也不能将负数变为正数

int a=-1;
printf("%d\n",a);//结果为-1
printf("%d\n",+a);//结果为-1

4)&  取地址

(后面介绍)


5)sizeof  操作数的类型长度(以字节为单位)

(后期)


6)~  对一个数的二进制按位取反

(后期)


7)--  前置、后置--     --就是对自身实现一次减法操作

int a=5;
//后置--
printf("%d\n",a--);//先打印a,所以打印结果为5,再让a-1,所以此时a变为4
//前置--
printf("%d\n",--a);//先a-1,所以此时a为4,再打印a,打印结果为4

8)++  前置、后置++    ++就是对自身实现一次减法操作

int a=5;
//后置++
printf("%d\n",a++);//先打印a,所以打印结果为5,再对a+1,所以此时a变为6
//前置++
printf("%d\n",++a);//先a+1,所以此时a为6,再打印a,打印结果为6


9)*  间接访问操作符

(后面介绍)


10)(类型) 强制类型转换

int a=(int)3.14//将3.14强制转换为整形3

日期无法转换


6.关系操作符

>   >=    <    <=   !=   ==1)>

1)> 大于号


2)>=   大于等于


3)<=    小于等于


4)!=    用于测试不相等


5)==    用于测试相等


7.逻辑操作符

    &&    ||


1)&&    逻辑与(并且)    


 a&&b   需要a和b都为真时a&&b才为真


2)||    逻辑或(或者)


a||b    只需要a或b其中一个为真则a||b就为真


用途:用于条件判断,不可以这样子a<=x<=b,只能用||


8.条件操作符(三目操作符)

  exp1?exp2:exp3


解析:如果exp1为真,就执行exp2;若为假,则执行exp3

int a=3;
int b=5;
int max=a>b?a:b;//如果a>b,则最大值为a,否则为b

9.逗号表达式

exp1,xep2,exp3,.....expn

特点:从左向右依次计算,结果为整个表达式的值。

int a=3;
int b=4;
int c=1;
int d=(a=2+c,b=a-1,c=a+b);
//先计算a=2+c,此时a=3,再计算b=a-1,此时b=2,再计算c=a+b,所以此时c=5,所以d=5.

10.下标引用、函数调用和结构成员

[]    ()   .    ->

相关文章
|
编译器 C语言
C语言进阶教程(再论指针和数组(2))
C语言进阶教程(再论指针和数组(2))
61 2
|
C语言
初始C语言(第三课时)
初始C语言(第三课时)语句结构 1.顺序结构
45 0
|
C语言
初始C语言(第五课时)
初始C语言(第五课时)
63 0
|
存储 程序员 C语言
初始C语言——————青铜的进阶之路
初始C语言——————青铜的进阶之路
|
5月前
|
程序员 C语言 C++
【C语言基础】:动态内存管理(含经典笔试题分析)-2
【C语言基础】:动态内存管理(含经典笔试题分析)
|
5月前
|
程序员 编译器 C语言
【C语言基础】:动态内存管理(含经典笔试题分析)-1
【C语言基础】:动态内存管理(含经典笔试题分析)
|
6月前
|
存储 编译器 C语言
【C语言必知必会| 第十篇】指针入门,这一篇就够了
【C语言必知必会| 第十篇】指针入门,这一篇就够了
72 0
|
存储 C语言
C语言实验十一 指针(一)
C语言实验十一 指针(一)
89 0
|
C语言
C语言实验十二 指针(二)
C语言实验十二 指针(二)
58 0
|
编译器 C语言
C语言真的难学嘛?(初始C)
C语言真的难学嘛?(初始C)