一个格式符对应一个输出表象"":可以放格式符,转义字符(\n···),字符串(直接输出)_输出表象"> 一个格式符对应一个输出表象"":可以放格式符,转义字符(\n···),字符串(直接输出)"> 一个格式符对应一个输出表象"":可以放格式符,转义字符(\n···),字符串(直接输出)">

c语言day4

Matlab使用GitHub的踩坑记录(持续更新) Matlab使用git的踩坑记录前言Matlab设置Git的官方帮助文档系统配置新建Git两种代码管理方式典型源代码管理SVN分布式源代码管理 Git注意:SVN和Git都可以用GitHub创建新的库 前言 作为Git初学者,对Git的代码版本管理非常非常喜欢,给了我极大的安全感。特别是想到之前的几次Matlab、Latex和python的代码莫名其妙被折腾没了又没法找回的悲剧,决定慢慢的走入gi... 阅读详情

 一、输入输出函数

1、输出函数

可以取man手册查看printf函数的原型

man 3 printf

函数原型: int printf(const char *format, ...);

printf("格式符",输出表象); ---->一个格式符对应一个输出表象

"":可以放格式符,转义字符(\n···),字符串(直接输出) 

 

2、输出函数

函数原型: int scanf(const char *format, ...);

scanf("格式符",变量的地址); ---->有几个格式符就要跟几个变量的地址,scanf()的""内一般不放\n &a; ----->取变量的地址 scanf输入结束时,直接按回车 

scanf是一个严格控制格式的函数: 双引号内写了什么,用户终端输入就输入什么

(1)scanf函数获取数据的特点

scanf在获取多个数据时,以空格、tab键和回车作为数据分隔的标志

回车在每一个格式符都获取到数据后,回车作为scanf结束的标志,如果有格式符没有获取到数据,回车作为数据分隔的标志。

(2)scanf吸收垃圾字符的问题

在使用scanf获取字符类型数据时,存在需要吸收垃圾字符的问题

因为空格、tab键和回车都是一个字符,会被%c获取到

(3) 字符类型的输出函数

    char c1 = 'h';
    putchar(c1);  //输出h字符
    putchar(10);  //10是\n的ascii码值,输出换行
    putchar('\n');  //输出字符'\n',就是换行

(4)字符类型的输入函数

    char c1;
    c1 = getchar();
    putchar(c1);  //输出h字符
    putchar(10);  //10是\n的ascii码值,输出换行

二、运算符

1、算数运算符

格式:a#b (#表示运算符) 

+、-、*                                             和数学中的运算完全一致

/                                                        如果a和b都是整形,结果为除法取整数部分的结果只要a和b                                                             中有一个是浮点型,结果为带小数的整除结果(除数不能为0)

%                                                      a和b必须都是整数(除数不能为0)

2、自增自减运算符

++i、i++、--i、i--

++i:获取到的是i自增1后的值,i本身发生改变

i++:获取到的是i自增前的值,i本身也发生了改变

--i:获取到的是i自减1后的值,i本身发生改变

i--:获取到的是i自减前的值,i本身发生改变

(如果运算符在前面就获取运算后的结果,如果运算符在后面就获取运算前的结果。)

3、赋值运算符

a=b; --->将b的值赋值给a

a+=2; --->a=a+2;

a-=2; --->a=a-2;

a*=2; --->a=a*2;

a/=2; --->a=a/2;

a%=2; --->a=a%2;

·····

4、关系运算符

关系运算的结果是一个固定的值,真值/假值,1/0

计算机中非0为真,0为假

0.1(真值)

a>b

a<b

a>=b

a<=b

a!=b    判断a和b不相等

a==b   判断a和b相等,一个=是赋值,两个==是判断

5、条件运算符

是C语言中的唯一一个三目运算符

表达式1?表达式2:表达式3

逻辑: 如果表达式1成立,执行表达式2,否则执行表达式3

    int i=9,j=4;
    printf("%d\n",i<j?i++:++j);  //5  ++j执行
    printf("%d\n",j==i?j++:--i); //8  --i执行
    printf("%d\n",--i?i>j:j);    //1 ,--i是7 真值表达式成立,执行i>j
    printf("i=%d\n",i);  //7
    printf("j=%d\n",j);  //5

6、逻辑运算符 

逻辑运算的结果是真值/假值, 1/0

&&(逻辑与)

表达式1&&表达式2

两个表达式同时为真,结果为真

||(逻辑或)

表达式1||表达式2

只要有一个表达式为真,结果为真

!(逻辑非)

!表达式

非真即假,非假即真

逻辑运算存在逻辑短路现象:

逻辑与运算时,如果运算符左侧的表达式结果为0,右侧的表达式不会执行

逻辑或运算时,如果运算符左侧的表达式结果为1,右侧的表达式不会执行 

 7、逗号运算符

格式: (表达式1,表达式2,表达式3,表达式4,····表达式n)

执行逻辑: 逗号运算符的每一个表达式都会执行,取最右侧表达式的结果

8、sizeof()运算符

sizeof说是C中的一个关键字也可以,sizeof的使用类似于函数调用的格式

格式: sizeof(数据); --->数据可以是数据类型也可以是变量名也可以是常量

功能: 求()内内容所占的内存大小,以字节为单位

9、位运算符

对二进制位进行运算,bit位如果没有特殊说明,默认从最右侧一位开始是第0位

右移n位,表示除2^n

左移n位,表示乘2^n

>>(右移运算符)

a>>n

a向右移动n个bit位,高位补符号位

<<(左移运算符)

a<<n

a向左移动n个bit位,低位补符号位

^(异或)

a^b

a和b按位异或

(同0异1)

~(取反)

~a

每一个bit位按位取反

&(按位与)

a&b

两个bit位有一个0结果为0

两个都为1结果为1

|(按位或)

a|b

两个bit位只要有一个为1结果为1

两个都是0结果为0

位运算进场用来执行对某一位置0和置1的操作

eg:已知一个数a,想要给a的第13个bit置0,给a的第5个bit置1,要求操作不能修改其他bit位的值

a&=~(0x1a|=(0x1

按位与运算可以实现对bit位置0的操作

按位或运算可以实现对bit位置1的操作

10、运算符优先级

单算移关与,异或逻条赋

如果不想记优先级顺序,加括号

后缀自增和后缀自减的优先级更高

 

作业:

1、已知变量a,给a的第6个bit位置0,给a的第4个bit位置1,给a的第5个bit位取反(异或)。

 

2、 终端输入学生成绩,判断成绩等级[100,90]A,(90,80]B,(80,70]C,(70,60]D,(60,0]不及格,需要对成绩合理性进行判断,如果成绩大于100或者小于0成绩不合理。

 

1.1什么是Zephyr?与FreeRTOSRT-Thread对比 我自己的项目里,三个系统都用过。这个芯片的原厂BSP哪个OS做得最靠谱?(实测,别看广告)项目核心需求是不是某个OS的“长板”?(别为了10%的功能牺牲90%的稳定性)团队三个月后能不能愉快地维护代码?(开发体验影响长期生产力)最后送一句干货:选型定不下来时,拿一块项目用的开发板,分别用三个OS跑同一个demo(比如按键控制LED+串口打印)。移植过程遇到的问题、代码看起来舒不舒服,你的直觉会告诉你答案。嵌入式没有完美解,只有适合当下的解。选好了,就踏实地写代码; 阅读详情

相关推荐

【数据集5】土地利用类型数量预测数据LUH2

简介土地利用类型数量预测数据LUH2

WW、forever的博客 4466

C语言编程基础 Day4

编写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值,其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)练习:一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g,编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。执行顺序:判断switch后的表达式或变量,和case项进行匹配,如果匹配成功,则执行对应的语句块,否则执行default后面的语句块。录制:华清远见李老师的个人会议室。

wochaonilvlvlvlv的博客 592

我终于停止写 JUnit 了!用 JavaParser + GPT-4 自动生成 90% 覆盖率的单元测试

本文介绍了一种基于JavaParser和GPT-4的智能单元测试生成方案。针对开发者在单元测试编写中面临的繁琐、无聊和硬指标等问题,提出通过AST语法树分析代码结构,提取关键信息后生成精准提示词,再调用GPT-4自动生成高质量的单元测试代码。文章详细阐述了技术原理、实现步骤(包括JavaParser解析、上下文感知提示词构建和GPT-4调用),并展示了该方法能自动识别依赖、Mock对象和覆盖边界条件,显著提升测试效率。同时指出了在复杂数据结构、私有方法测试等方面的局限性,最终强调这种技术组合可以解放开发者,

BUG猿的博客 1092

C语言 Day4 笔记 作业

函数是具有特定功能的独立代码块 有四大基本要素函数名 符合标识符规则 calculateSum参数列表 输入接口,定义接收的数据类型 int a。

gbsns的博客 970

C语言基础day 4 作业

【有道云笔记】day 4.mindmap。

samdududu的博客 246

嵌入式(C语言篇)Day4

运算优先级混淆整型除法导致精度丢失自增自减的副作用短路逻辑影响执行流程越界访问/修改表现:访问/修改下标超出数组长度(如arr[5]对长度为5的数组)。后果:访问越界读取未知内存数据(未定义行为);修改越界可能破坏栈空间或其他数据,导致程序崩溃(如MSVC报错未初始化局部数组:直接使用未初始化的局部数组(如读取arr[0]),其值为随机垃圾值(MSVC中常见0xCC标记),引发不可预测错误。数组优势:随机访问高效(O(1)),适合数据固定的场景。注意事项:下标从0开始,避免越界操作。

h2358129875的博客 970

C语言基础 day4作业

7、给定一个整型变量a,写两段代码,第一个设置a的bit3,第二个清楚a的bit3。答:循环无限次,unsigned int的范围为[0,2^32-1],最小值溢出变为最大值还是正值。4.变量在函数中被声明了,但没有被使用,需要删除多于的变量。6、嵌入式系统中经常要用到无限循环,用C语言编写死循环的代码。1、使用do..while实现,输入账户和密码的三次登录。第一次失败,则提示第一次登录失败,还有2次机会。第二次失败,则提示第2次登录失败,还有1次机会。3、输入一个数,判断是否是完美数?

weixin_49366095的博客 254

【C语言16天强化训练】从基础入门到进阶:Day 4

前言:距离我们学完C语言已经过去一段时间了,在学习了初阶的数据结构之后,博主还要更新的内容就是【C语言16天强化训练】,之前博主更新过一个【C语言刷题12天IO强训】的专栏,那个只是从入门到进阶的IO模式真题的训练。【C语言16天强化训练】既有IO型,也有接口型。和前面一样,今天依然是训练五道选择题和两道编程算法题,希望大家能够有所收获!目录一、五道选择题1.1 题目11.2 题目21.3 题目31.4 题目41.5 题目5二、两道算法题2.1 错误的集合2.1.1 题目理解2.2 密码检查

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 1349

day4C语言基础思维导图

2201_75567432的博客 101

c语言基础day4

c语言基础day4

2301_80853971的博客 563

【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day4

本文通过5道典型选择题和2道编程题,帮助读者巩固C语言核心知识。选择题涵盖循环结构、条件判断、变量作用域等易错点,如for循环初始化陷阱、switch-case的break缺失问题等。编程部分包含力扣645题「错误的集合」(使用标记法找重复数)和牛客网「密码检查」(字符串条件验证)。文中强调调试技巧和边界条件处理,并附完整代码解析。适合有一定基础的开发者查漏补缺,培养严谨的编程思维。

会当凌绝顶,一览众山小 1394

C语言4 DAY

缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入 或者输出的数据,这部分预留的空间叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。

2303_76763383的博客 1761

C语言day4

本文介绍了C语言中的位运算和程序流程控制相关内容。位运算部分详细讲解了左移(<<)和右移(>>)运算符的使用方法,包括无符号数和有符号数的移位操作,并配以图表说明运算过程。流程控制部分阐述了算法的概念、特征和流程图表示方法,重点讲解了程序的三种基本结构:顺序结构、分支结构和循环结构(当型循环和直到型循环)。此外还介绍了C语句的分类和数据的输入输出机制,包括缓冲区的概念、类型及其刷新条件。这些内容为理解C语言的底层运算和程序控制流程提供了基础。

2503_92649149的博客 1921

Day4【C语言

RainLaneX的博客 116

C语言day4

程序从上到下逐行地执行,表达式语句都是顺序执行的。并且上一行对某个变量的修改对下一行会产生影响。

qq_51712982的博客 965

C语言练习day4

遍历数组求最值 输入格式与 / ,% pow函数以及恢复权重 取余数

我要学编程的博客 1140

Day4 C语言与画面显示练习

在两种指令中,为了区别不同的设备,也需要使用设备的号码(称为“port”,意为港口),可以理解为CPU与设备交换信号的行为类似于船舶的出港和进港。调色板(palette):用8bits的颜色名来表示24bits种类的颜色,例如2号(8bits)颜色就是#ff0000(亮红),3号颜色就是#00ff0(亮绿)。在当前的画面模式中,画面上有320*200(=64000)个像素点,假设左上点的坐标为(0,0),则右下角的坐标为(319,199)。CLI屏蔽中断,就是将中断标志置为0的指令,即忽略中断请求;

liuxiangshuai1的博客 1230

C语言回顾笔记day4

C语言中的函数使用练习

weixin_46375885的博客 1371

C语言每日一练——day_4

针对初学者,每日练习几个题,快速上手C语言。第四天。(连续更新中)

2401_88433210的博客 3384

Day4 C语言练习

作业1:练习:商场做活动,一件上衣60元,一条裤子80元,如果买成套,一套衣服120元。要求不要放到编译器中运行,自己手动分析出每条输出语句的结果,分析出结果后,再在编译器中执行验证结果。作业3:使用switch实现简易计算器:例如,输入一个表达式:3+5,程序输出结果为8。作业6:商场折扣计算器。

Hhz2003的博客 473

CH573从入门到精通

CH573是南京沁恒微电子(WCH)推出的一颗32 位 RISC-V 内核、集成 2.4GHz 射频收发器的低功耗蓝牙(BLE)MCU/SoC。它把「MCU + 蓝牙射频 + 常用外设」集成在一颗芯片里,一颗芯片就能完成数据采集、逻辑控制和无线通信,非常适合电池供电的小型物联网节点、可穿戴设备与低成本蓝牙配件。RISC-V 内核:采用沁恒自研的 RISC-V3A 内核,摆脱了对 ARM 内核授权的依赖,是国产芯片自主可控路线的代表之一;蓝牙集成度高。

qq_64312451的博客 291

【大作业-28】基于yolo11的海底生物检测与追踪系统源码+数据集+模型+视频讲解.zip

作品详细介绍请看这里:https://blog.csdn.net/echoson/category_12754211.html

2015-2024年地级市房价商品房均价数据(58同城、安居客).zip

2015-2024年地级市房价商品房均价数据1、时间:2015-2024年2、指标:省份、城市、年份、价格(元/㎡)、趋势3、范围:200+地级市4、来源:58同城、安居客5、用途:房地产市场作为经济的重要组成部分,房价变动与城市经济发展、人口流动、城市化进程等密切相关,可以用来洞察城市经济的增长潜力、产业结构调整和人口流动的趋势。

上一篇: C基础day3
下一篇: C基础day5作业
whennl
博客等级 码龄2年 78粉丝 · 52原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值