吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4022|回复: 71

[C/C++] C语言笔记06_初识函数 数组 操作符

  [复制链接]
雪碧cc 发表于 2022-2-14 16:28 | 显示全部楼层 |阅读模式

C语言笔记06_初识函数 数组 操作符

这只是一篇新手个人学习笔记,其中不可避免出现理解不深不透,仅以督促自身及记录,如有错误,望批评指正!


函数

示例

#include <stdio.h>
int main()
{
 ? ?int num1 = 0;
 ? int num2 = 0;
 ? ?int sum = 0;
 ? ?printf("输入两个操作数:>");
 ? ?scanf("%d %d", &num1, &num2);
 ? ?sum = num1 + num2;
 ? ?printf("sum = %d\n", sum);
 ? ?return 0;
}

上述代码写成函数形式如下

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>


int Add(int x, int y) //定义一个整形 num1传给x 2传给y
{
    int z = 0;
    z = x + y;
    return z;
}


int main()
{

    int num1 = 0;
    int num2 = 0;
    scanf("%d%d", &num1, &num2);
    int sum = Add(num1,num2);

    printf("%d", sum);

    return 0;

}

函数的特点就是简化代码,代码复用。

数组

一种相同类型的元素的集合

int arr[10] = {1,2,3,4,5,6,7,8,9, 10};//定义一个整形数组,最多放10个元素

代码示例

这里F10调试单步往下后 查看监视器可得

image-20220210214111231

打印数组

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。** **数组可以通过下标来访问的。****

int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10};
    char ch[5] = { 'a','b','c' };//不完全初始化,剩下的会默认为0
    //数组使用下标来访问
    int i = 0;
    while (i <10)
    {
        printf("%d", arr[i]);
        i++;

    }

    return 0;
}

image-20220211140325022

操作符

算术操作符

+* - / %**

移位操作符

> <<

位操作符

& ^ |

赋值操作符

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

单目操作符
! ? ? ? ? ? 逻辑反操作
- ? ? ? ? ? 负值
+ ? ? ? ? ? 正值
& ? ? ? ? ? 取地址
sizeof ? ? ?操作数的类型长度(以字节为单位)
~ ? ? ? ? ? 对一个数的二进制按位取反 ? //按(二进制)位取法把所有二进制位中数字,1变成0,0变成1
-- ? ? ? ? ?前置、后置--
++ ? ? ? ? ?前置、后置++
* ? ? ? ? ? 间接访问操作符(解引用操作符)(
类型) ? ? ? 强制类型转换

整数在内存中存储的补码** 整数的二进制表示有3种: **原码 反码 补码

以-1为举例(针对负数)

10000000000000000000000000000001(原码)最高位为1表示是-1

11111111111111111111111111111110(反码)第一位符号位不变

11111111111111111111111111111111(补码)第一位符号位不变

整数的原码 反码 补码都相同


原码** **符号位不变,其他位按位取反

↓↓↓↓

反码** **反码+1

↓↓↓↓

补码

关系操作符
>
>=
<
<=
!= ? 用于测试“不相等”
== ? ? ?用于测试“相等”
逻辑操作符
&& ? ? 逻辑与
|| ? ? 逻辑或
条件操作符
exp1 ? exp2 : exp3
逗号表达式
exp1, exp2, exp3, …expN
下标引用、函数调用和结构成员
[] () . ->

评分

参与人数 17HB +15 THX +6 收起 理由
浅酌◇咖啡 + 1 + 1
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 2
人生无锡 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
agan8888 + 1
瀧tz + 1
ch_1943 + 1
蛋蛋蛋 + 1
ialove + 1
temp + 1 + 1
曦照 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
king51999 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
brswbx201610 + 1
河图 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
PDWORD + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
DavidLiu 发表于 2022-2-15 20:07 | 显示全部楼层

哈哈哈,楼主写的代码我都能看得懂。
有个细节补充一下,对于字符数组的初始化:
char ch[]="abc00"
char ch[5] = { 'a','b','c','0','0' }
它们长度是不一样的。
还有一种比较方便的写法
char* ch="abc00"
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
omgTsQ6917 发表于 2022-2-14 18:49 | 显示全部楼层

感谢大佬的分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
uYtUSF 发表于 2022-2-14 18:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xcCpAtuOdra 发表于 2022-2-14 19:23 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
kZNywIf83 发表于 2022-2-14 20:06 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
sjhvBc 发表于 2022-2-14 20:25 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
wtOEh5 发表于 2022-2-14 20:39 | 显示全部楼层

学习永不停歇
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
rauiM 发表于 2022-2-14 20:59 | 显示全部楼层

前来向大佬学习
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
WOoJhZzI4596 发表于 2022-2-14 21:02 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
XeTI3 发表于 2022-2-14 21:02 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层 10层
46层  
2层  
3层  
4层  
5层  
6层  
7层  
8层  
9层  

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表