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

C语言基础(二)

时间:2025-01-11 21:01:51浏览次数:3  
标签:运算 变量 基础 C语言 运算符 整型 数据 赋值

变量初始化

在定义变量的同时使变量初始化,例如:

int a=3;此时,a被初始化为3,比定义变量后再赋值的效率高


各种数据类型间的混合运算

整型(int)、浮点型(float)、字符型(char)之间可以混合运算,在运算时,不同的数据先转换为同一类型,再进行运算,右图为转换时的规则。向左的箭头表示必定的转换,例如字符型和短整型数据必定先转换为整型,而浮点型数据必定转换为double型。纵向的箭头表示当运算对象数据类型不同时的转换方向,例如当int型与double型数据进行运算,先将int型的数据转换为double型,再进行运算,其结果为double型。箭头的方向只表示数据类型级别的高低。


算术运算符

C语言中运算符有以下几类

运算时按优先级进行运算,如同一优先级,运算次序则由结合方向决定,不同的运算符还要求有不同的运算对象个数,单目运算符的优先级都为第二优先级

使用时注意在双目运算符的左右两边各加一个空格

编译器只做数据的类型匹配检查,如除法的右操作数为0时,程序编译并不会报错或警告,但运行时会被强制中止

求余运算必须是整型及整型兼容的数据类型,且求余运算结果的符号由左操作数决定

当需要转换数据类型时,有两种方法:

隐式转换,即在运行中,不同的数据类型按各自数据类型间的混合运算法则进行数据类型转换

显式转换,用(类型)将数据类型转换,例如(int)a将a的数据类型转换为int型

自增、自减运算符

自增分为前置++(++i)和后置++(i++)

二者的区别在于++i是直接将i的值自增1,而i++是先创建一个临时变量,把i现有的值赋值给临时变量,再将i的值自增1

left value 左值(变量)

right value 右值(常量)所有的临时变量都是右值(临时变量也叫匿名变量)

const()将普通的变量变为只读(read-only),此时不可再对该变量赋值


赋值运算符

赋值运算符“=”,作用为将一个数据赋值给一个变量,如a=3,也可以将一个表达式赋值给一个变量

如果运算符两侧的数据类型不一致时,需进行数据类型转换,例如:

将浮点型数据赋值给整型变量时,将会舍弃浮点型数据的小数部分,如int i; i=1.234,i将以整型的形式将1存储在整型变量中

将整型数据赋值给单、双精度变量时,其数值不变,但会以浮点型数据形式存储在浮点型变量中

高位截断:将一个双精度变量赋值给单精度变量时,将截取其小数点后七位有效数字,第八位将四舍五入,将长字节数据赋值给短字节变量时,会造成高位截断

符号位拓展:将字符型数据赋值给整型变量时,如果赋值给无符号整型,则将字符型数据放到无符号整型的低八位,高八位补零;将短字节数据赋值给长字节变量时,会造成符号位拓展

如果赋值给有符号整型,且字符型数据最高位为0时,则将字符型数据放到有符号整型的低八位,高八位补零;当字符型数据最高位为1时,则将字符型数据放到有符号整型的低八位,再将高八位补1


逗号运算符

逗号运算符在运算符中的优先级最低,它可以将两个不同的表达式连接起来,顺序求值

例如:3+5,2+6;

求解过程为从左到右顺序求值


1、给某定圆的半径,求圆的周长和面积;

2、给定两个2位数,将第一个数个位作为新数的千位,将第二个数个位作为新数的百位,将第二个数的十位作为新数的十位,将第一个数的十位作为新数的个位,打印该新数。

1

2

标签:运算,变量,基础,C语言,运算符,整型,数据,赋值
From: https://blog.csdn.net/2301_80729373/article/details/145014433

相关文章

  • 让 LLM 来评判 | 基础概念
    基础概念这是让LLM来评判系列文章的第一篇,敬请关注系列文章:基础概念选择LLM评估模型设计你自己的评估prompt评估你的评估结果奖励模型相关内容技巧与提示什么是评估模型?评估模型(Judgemodels)是一种用于评估其他神经网络的神经网络。大多数情况下它们用......
  • C语言基础
    1、运算符:    1、算数运算符:        +    -    *    /(后面不可以除0)    %(不可以对浮点数取余)        ++ --的两种形式:            i++:先用后加         ++......
  • Dreamweaver修改织梦网站源码全攻略:从基础操作到高级定制
    Dreamweaver是一款强大的可视化网页编辑工具,非常适合用来修改基于织梦CMS构建的网站源码。以下是几个实用技巧,帮助开发者更高效地完成这项任务:项目结构理解:熟悉织梦网站的整体目录结构,了解各个文件夹和文件的作用。特别是data、include、templets等关键路径下的内容,对于后续开发......
  • Jmeter 的常用基础配置,看这一篇就够了 ~
    ......
  • 用C语言写一个简单的五子棋游戏,新手刚上路做的第一个小项目
    1/*23451.制作15*15的棋盘,放到二维数组中,制作成一个函数;62.for循环,输入坐标,结构分两部分,第一部分为甲,第二部分为乙7(1)根据坐标,指向棋盘的某个位置,更改常量,并刷新棋盘8(2)判断是否有重复下子,有刷新棋盘,并提示重新下子9(3)根据输入的坐标,判断横竖......
  • 指针(全解)—C语言进阶
    目录字符指针例题指针数组(数组)数组指针再次讨论数组名数组指针来源理解练习:数组传参4.数组参数和指针参数4.1 一维数组传参4.2二维数组传参4.3 一级指针传参4.4 二级指针传参5.函数指针例子函数指针的用法函数指针数组函数指针数组的用法:指向函数指......
  • 【MySQL基础篇重点】十一、事务管理(超级干货,你需要的都在这!)
    文章目录Ⅰ.初识事务1、问题引入2、什么是事务3、为什么会出现事务4、事务的版本支持5、事务的提交方式Ⅱ.事务常见操作方式1、准备工作2、正常情况:证明事务的开始与回滚3、异常情况一:证明未`commit`,客户端崩溃,`MySQL`自动会回滚(隔离级别设置为==读未提交==)4、异常情......
  • 2025毕设ssm计算机基础课程app程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在当今信息化社会,计算机基础课程已成为高等教育不可或缺的一部分。随着信息技术的飞速发展,计算机技术在各个领域的广泛应用,使得计算机基础课程的......
  • P1433 吃奶酪(C语言)
    题目描述房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)点处。输入格式第一行有一个整数,表示奶酪的数量 nn。第 2 到第(n+1) 行,每行两个实数,第 (i+1)(i+1) 行的实数分别表示第 ii 块奶酪的横纵坐标 xi,yi。输出格式......
  • 蓝桥杯单片机基础部分——2、定时器中断
    一、介绍关于蓝桥杯单片机定时器中断部分的一些代码,本期主要讲应用,就是看着题目可以写出相对应的代码,至于原理后面会详细讲,在这了解一下二、中断首先我们先来了解什么是中断,官方给出的是“中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的”,这里相对好理解,就......