首页 > 其他分享 >C语言基础(三)

C语言基础(三)

时间:2024-07-19 16:59:03浏览次数:15  
标签:++ 基础 C语言 运算符 int 操作符 printf 赋值

算数操作符:+、-、*、\、%

        C语言中为了方便运算,提供了一系列操作符(运算符),其中有一组操作符叫:算术操作符。分别是:+ - * / % ,这些操作符都是双目操作符。

*运算符

        用来完成乘法运算。

/运算符

        用来完成除法运算。

        除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。

float x = 6 / 4;   // 输出 1.000000
 int y = 6 / 4;    // 输出 1

在C语言中整数除法的结果,只会返回整数部分,丢弃小数部分。如果想要得到浮点数的结果,两个运算数必须至少有一个是浮点数,这是C语言就会进行浮点数除法。

float x = 6.0 / 4; // 或者写成 6 / 4.0
 printf("%f\n", x); // 输出 1.500000

%运算符

        运算符%表示求模运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。

int x = 6 % 4; // 2

负数求模的规则是,结果的正负号由第一个运算数的正负号决定。

 printf("%d\n", 11 % -5); // 1
 printf("%d\n",-11 % -5); // -1
 printf("%d\n",-11 % 5); // -1

赋值操作符:=和复合赋值

在变量创建的时候给一个初始值叫初始化,在变量创建好后,在给一个值,这叫赋值。

int a = 100;//初始化
a = 200;//赋值,这⾥使⽤的就是赋值操作符

连续赋值

c = b = a+3;//连续赋值,从右向左依次赋值的。

C语言虽然支持这种连续赋值,但是不建议这种写法。

复合赋值符

我们会经常对一个数进行自增、自减的操作符:

int a = 10;
a = a+3;        //等同于 a +=3;
a = a-2;        //等同于 a -=2;

像+= ,-=这样的符号就叫做复合赋值符,类似的还有:

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

单目操作符:++、--、+、-

前置++和后置++

++是一种自增的操作符:分为前置++(++a)后置++(a++)

前置++

int a = 10;
int b = ++a;//++的操作数是a,是放在a的前⾯的,就是前置++
printf("a=%d b=%d\n",a , b);

计算口诀:先+1,后使用;

后置++

int a = 10;
int b = a++;//++的操作数是a,是放在a的后⾯的,就是后置++
printf("a=%d b=%d\n",a , b);

计算口诀:先使用,后+1;

--运算符与++运算符用法一致;

强制类型转换

示例:

int a = 3.14;
//a的是int类型, 3.14是double类型,两边的类型不⼀致,编译器会报警告

为了消除警报,我们可以使用强制类型转换:

int a = (int)3.14;//意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分

强制类型转换不到万不得已尽量不用。

标签:++,基础,C语言,运算符,int,操作符,printf,赋值
From: https://blog.csdn.net/2301_79949064/article/details/140524673

相关文章

  • 【Linux】网络基础_1
    文章目录十、网络基础1.协议OSI七层模型和TCP/IP四层模型网络传输基本流程报文与封装未完待续十、网络基础1.协议“协议”是一种约定。在网络环境下,主机距离过远时,必定会引发新的问题,比如数据可靠性,主机定位问题,数据传输等问题。为了解决这些问题,让这些不同......
  • JAVA基础知识
    注释单行注释//多行注释/**/文档注释(JavaDoc)/**标识符和关键字关键字标识符以字母、$、_开始区分大小写可以中文或拼音(不建议)数据类型强类型语言与弱类型语言Java:强类型变量需要先定义再使用(安全性高速度慢)基本数据类型与引用数据类型基......
  • C语言实现全局变量定义的实验
    constant.h文件内容:staticconstchartest_static_variable='a'; function_module.c文件内容:#ifndef__STDIO_H#define__STDIO_H#include<stdio.h>#endif#ifndef__CONSTANT_H#define__CONSTANT_H#include&quo......
  • MySQL 学习笔记 基础(数据模型,DDL,DML)
    数据模型 SQLSQL通用语法SQL语句可以单行或多行书写,以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。注释:·单行注释:--注释内容或#注释内容(MYSQL特有)·多行注释:/*注释......
  • LLM 大模型学习必知必会:大模型基础知识篇
    魔搭ModelScope开源的LLM模型魔搭ModelScope欢迎各个开源的LLM模型在社区上做开源分享。目前社区上已经承载了来自各个机构贡献的不同系列的LLM模型。并且社区的开发者也在这些模型的基础上,贡献了许多创新应用,并在ModelScope的创空间上进行分享。本专题初步梳......
  • 虚幻引擎 游戏开发基础
    1.Actor和Component在UnrealEngine中,Actor和Component是构建游戏世界的两个基本概念,它们之间有一些重要区别:Actor(角色):Actor是游戏世界中的实体,它可以被放置在场景中,并且可以是可见的或不可见的。每个Actor都有一个Transform(位置、旋转和缩放信息),它定义了Actor......
  • 初阶C语言2
    一、循环语句whilefordowhile1.while循环1.1while循环语法同一件事情需要完成很多次,while语句可以实现循环。while(表达式)    循环语句;1.2while语句中的break和continue①.breakwhile中的break是用于永久终止循环的。②.continuecontinue是用于终止......
  • Android自动化 - 基础总集
    本笔记根据微信读书的:《Android自动化测试实战》简介测试金字塔金字塔模型将测试分为单元(Unit)、服务(Service)和用户界面(UserInterface,UI)这3个层级;在测试发展的历程中,也出现了一些重新定义金字塔层级的测试模型,尽管对分层的具体描述各不相同(有人将这3个层级分别定义为单......
  • 神仙级AI大模型入门教程(非常详细),从零基础入门到精通,从看这篇开始!
    一.初聊大模型1.为什么要学习大模型?在学习大模型之前,你不必担心自己缺乏相关知识或认为这太难。我坚信,只要你有学习的意愿并付出努力,你就能够掌握大模型,并能够用它们完成许多有意义的事情。在这个快速变化的时代,虽然新技术和概念不断涌现,但希望你能静下心来,踏实地学习。一......
  • python 爬虫技术 第02节 基础复习
    Python基础复习Python是一种高级、通用、解释型的编程语言,以其简洁的语法和强大的功能在数据科学、Web开发、自动化脚本编写、机器学习等领域广泛使用。下面是一些Python基础概念的复习:1.数据类型Python支持多种内置数据类型,包括:数字(int,float,complex)字符串......