零基础学编程(5)——函数、数组、操作符

声明在前

图中用于展示程序代码的软件是Visual Studio 2019 社区版,在微软官网即可下载,本人目前是大四,非计算机专业学生,零基础学编程系列为本人自学笔记及心得,文章中如有错误,欢迎各位批评指正,希望与大家一起学习进步。

1.函数

分为库函数和自定义函数
函数特点:简化代码,代码复用

例:简单的加法函数

int ADD(int x,int y)//定义在main函数之前
{
    int z=x+y;
    return z;
}

int main()
{
    int a=1;
    int b=2;
    sum=ADD(a,b);//直接引用
    printf("%d\n",sum);
    return 0;
}

2.数组

数组:一组相同数据类型元素的集合

int b[]={1,2,3};
int a[4]={0};//即{0,0,0,0,}
int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数数字的数组
printf("%d\n",arr[4]);//打印的是数组中下标为4的数据,即5

在内存名为arr的空间中,每个数据都有对应的下标,下标从0开始;数组元素个数为常量,不能为变量;
数据:1,2,3,4,5,6,7,8,9,10
下标:0,1,2,3,4,5,6,7,8,9

int i=0;
while(i<10)//将数组中所有数据都打印出来
{
    printf("%d\n",arr[i]);
    i++;
}

3.操作符

(1)算术操作符:+ - * / %
int a=5/2;//输出商,输出2
int b=5%2;//取模,取余,输出1
(2)移(2进制)位操作符:>> <<
int a=1;
int b=a<<1;//即a的二进制表示左移一位,输出2;
int c=a<<2;//即a的二进制表示左移两位,输出4;

整型数值1占4个字符,即32bit位;
原数:00000000 00000000 00000000 00000001 =1
左移:00000000 00000000 00000000 00000010 =12^1=2
两位:00000000 00000000 00000000 00000100 =1
2^2=4

注:若移位操作后并未重新赋值给a,则a值不变,仍为1

(3)(2进制)位操作符:& ^ |

——> &:按位与(两同为真,则为真)

int a=3;
int b=5;
int c=a&b;
printf("%d\n",c);//c为1

a:0 1 1
b:1 0 1
c:0 0 1

——> |:按位或(其一为真,则为真)

int a=3;
int b=5;
int c=a|b;
printf("%d\n",c);//c为7

a:0 1 1
b:1 0 1
c:1 1 1

——> ^:按位异或(两者相同,则为假;两者相异,则为真)

int a=3;
int b=5;
int c=a^b;//不是次方,是异或
printf("%d\n",c);//c为6

a:0 1 1
b:1 0 1
c:1 1 0

(4)赋值操作符: = += -= *= /= &= ^= |= <<= >>=
int a=1;
a=2;//赋值,==为判断

复合赋值符

a=a+1;
a += 1;//二者等价
a=a-1;
a -= 1;//二者等价
a=a&1;
a &= 1;//二者等价
(5)单目操作符

说明:单目操作符(一个操作对象)、双目操作符(两个操作对象,如:a+b)、三目操作符

——> ! 取反

int a=1;
printf("%d\n";a);//输出1
printf("%d\n";!a);//输出0

注:在C语言中,我们用0表示假,用非0表示真
-负值+正值(+一般情况下直接省略)

int a=-2;
int b=+3

——> & 取地址
sizeof 操作数的变量 / 类型长度(以字节为单位)

int a=1;
printf("%d\n",sizeof(a));//变量的括号可省略,类型的括号不可省略
printf("%d\n",sizeof(int));//两者等价
int arr[3]={1,2,3};//数组大小等于每个元素大小*元素个数,
printf("%d\n",sizeof(arr)/sizeof(arr[0]));//可用于计算数组元素个数,等于3

——> ~ 对一个数的二进制按位取反

int a=0;//00000000 00000000 00000000 00000000
int b=~a;//11111111 11111111 11111111 11111111
printf("%d\n",b);//-1

b是有符号的整型,第一位为0表示正数,第一位为1表示负数;
负数在内存中存储的时候,存储的是二进制的补码;使用的,打印的是原码
原码按位取反得到反码,反码+1得到补码
补码:11111111 11111111 11111111 11111111
反码:11111111 11111111 11111111 11111110(反码转换原码,符号不变)
原码:10000000 00000000 00000000 00000001

——> – 前置、后置–
——> ++ 前置、后置++

int a=1;
int b=a++;//后置++,先使用,再++
int b=++a;//前置++,先++,再使用

——> * 间接访问操作符(解引用操作符)
——> (类型) 强制类型转换

int a=(int)3.14;//double——>int 不建议使用
(6)关系操作符 > >= < <= != ==
(7)逻辑操作符 && ||

——> &&:逻辑与

int a=1;//非0为真
int b=2;//0为假
int c=a&&b;//二者为真则为真1,其一为假则为假0

——>||:逻辑或

int a=0;//非0为真
int b=2;//0为假
int c=a&&b;//其一为真则为真1,两者为假则为假0
(8)条件操作符 exp1? exp2:exp3 (三目操作符)
int a=1;
int b=2;
int max=0;
if(a>b?)//max=(a>b?a:b);
    max=a;
else
    max=b;
(9)逗号表达式 exp1,exp2,exp3……exp4
(10)下标引用[ ]、函数调用 ( ) 和结构成员

结构成员:
(1).
表示结构体变量.成员
(2)->
表示结构体指针->成员

至此,本部分结束。因为对编程及计算机语言没有太多的基础,所以写的过于详细,主要作为我个人的学习记录,也希望能帮到跟我一样零基础但是想学习编程的同学。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值