c语言六种基本语句是哪些?

c语言六种基本语句为:1、算术运算符和算术表达式;2、赋值运算符和赋值表达式;3、关系运算符和关系表达式;4、逻辑运算符和逻辑表达式;5、条件运算符和条件表达式;6、逗号运算符和逗号表达式。

c语言六种基本语句是哪些?

c语言六种基本语句为:

一、算术运算符和算术表达式

  1.基本算术运算符

  + (加)、 - (减) 、 * (乘) 、 / (除) 和 % (求余数)

立即学习“C语言免费学习笔记(深入)”;

这五个运算符的优先级为:

             */ %同级,但比+和-高。即先乘除后加减。  

 

两个整数相除,结果为一整数;分子小于分母,结果为零。

 例如:  5/2    结果为 2

               2/5    结果为 0

 

 

这五个运算符的结合性为:自左至右。

例如:10+6- 4*2

第一步先计算10+6,得结果16,第二步计算4*2,得结果8,然后用第一步计算的结果减第二步计算的结果,得结果8。

 

余数计算方法:

 

             5%3   余数是2

            5%8   余数是5

           -5%3  余数是 –2    (注意:符号位取的符号)

      5%-3  余数是 2      (注意:符号位取的符号)

 

  2.算术表达式

         算术表达式是由算术运算符和操作数组成的表达式。表达式的值是一个数值,表达式的类型具体由运算符和操作数确定。

   例如:  5+3*(6-2)    表达式的类型为int 型。

               3+4.0-3/2.0  表达式的类型为double型。

  3.数据类型转换

   通常参与运算的数据类型不完全一致,操作时应先将其转换成相同的数据类型,然后操作。

     2.1强制类型转换,直接将某数据强制转换成指定的数据类型

 

       强制类型转换,变量值本身未变化

           (double)a;         (int)(x+y);注意区别:(int)x+y 先把x的值转换成int型,然后再加y       (float)(5%3)            int  i;        …        i=i+(int)9.801;

       2.2在编译时由编译程序按照一定规则自动完成,不需人为干预

 

       数据参加运算前要进行下列转换:

       char,short→int→float→double

 

       混合运算时数据类型由低级→高级

       unsigned → int → long → double

 

       以上并不意味着unsigned必须到int再到long的依次转换,而是由算式中的最高级进行转换的。

二、赋值运算符和赋值表达式

  1.赋值运算符

      赋值符号:=   将赋值符右边表达式的值赋给赋值符左边的一个变量。

 

赋值运算符的数据类型若不一致,则要进行类型转换。转换方式为:

将实型数据赋给整型变量时,舍弃实数的小数部分。

  如:int i;   i=5.65;  i 的值为 5。

将整型数据赋给实型变量时,数值不变。

 float f  ;  f=23;

(先23→23.00000 再存储在f 中)

  double  d;  d=23;

(先23→23.000000000000000再存储在d中)

将字符数据赋给整型变量时,将字符数据放到整型变量低8位中

          int i;char ch = '0';        i = ch;   // i = 48

将整型变量赋给字符数据时,将整型变量低8位放到字符数据中

        int i = 4656;char ch;        ch = i;   // ch = 48

  2.复合的赋值运算符

     复合的赋值运算符:(共十个)

  += ,  -= ,  *= ,  /=  ,   %= , 

  >= ,  &= ,  ^= ,  |=

 

例如:       

                             a += 3        等价于     a=a+3                    x *= y+8    等价于     x=x*(y+8)                    x %= 3       等价于     x=x%3

由赋值运算符将一个变量和一个表达式连接起来的式子。

         格式为:     

 

 例如:

int x,y,z;      x=y=z=5+6;               int  x=3,y=4;              x*=y+1;                  ( x=等价与  x*(y+1);)              int x;             x='a';

赋值运算符结合率为:“自右而左”。

例如:

                         a=b=c=5       a=(b=(c=5))   a,b,c值都是5            a=5+(c=6)      c值为6, a值为5+6 (即11)            a=(b=4)+(c=6)    b值为4,c值为6,a值为4+6 (即10)            a=(b=10)/(c=2)    a值为5

三、关系运算符和关系表达式

  1.关系运算符

   关系运算符用于两个数值之间的比较运算。C语言提供6种关系运算符:

、>=、  优先级相同高

==、!=  优先级相同低

 

关系运算符的结合率为:“自左而右”。

(即当优先级相同时按自左而右结合a>b>c,当优先级不同时按优先级高低结合a=b+c)

关系运算符、算术运算符和赋值运算符的优先级为:

 

  例如:  1、c>a+b          等效于     c>(a+b)

  2.关系表达式

   由关系运算符和操作数组成的表达式称为关系表达式。

关系表达式的值是一个逻辑型的值,即只有两个值(真和假)。

C语言是用1作为真,用0作为假。但是进行运算时,非0即认为真,0才认为假。而表达式的结果为真时,给出真值1。为假时,给出假值0。

 例1:

有int x=2,y=3,z=5;则:x>y     结果为0。z>=y    结果为1。 z==y    结果为0。

例2: 

若  a=3,b=2,c=1     f=a>b>c     f=?

四、逻辑运算符和逻辑表达式

  1.逻辑运算符

   

  2.逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的式子。

运算结果为:“真”或“假”值。

系统在运算时以非0即为真,以0为假。

 

 

例如:  4  && 0 || 2   的值为1

                 5  && !0     的值为1

 

例如:

                   (a>b)&&(x>y)           可以写成  a>b&&x>y              (a==b)||(x==y)          可以写成    a==b||x==y              (!a)||(a>b)             可以写成   !a||a>b              5>3&&2||8<4-!0          的值为     1              'c'&&'d'              的值为      1

 

#include int main(){    int a = 10;    int b = 10;    if (++a > 100 || ++b >0)    {    }    printf("a = %d, b = %dn", a, b);     a = 10;    b = 10;    if (++a > 100 && ++b >0)    {    }    printf("a = %d, b = %dn", a, b);    return 0;}

五、条件运算符和条件表达式

  1.条件运算符

   条件运算符:  ? : 它是唯一的一个三目运算符

  2.条件表达式

    条件表达式的一般格式为:表达式1  ?  表达式2  :    表达式3       

运算过程:表达式1的结果为真(非0)时,表达式2的计算结果作为条件表达式的值;否则,取表达式3的计算结果为条件表达式的值。

 

如: a>b?a:b  

 

条件运算符的优先级低于逻辑、关系、算术运算符高于赋值运算符。

如: a>b?a:b+1     相当于     (a>b)?a:(b+1)  

六、逗号运算符和逗号表达式

逗号运算符:  ,

格式: 表达式1, 表达式2, 表达式3, LL, 表达式n

优先级: 最低

从左向右计算每个表达式的值,逗号表达式的值为表达式n的值。

例如:

                     y=(x=3,5+6,x+5) 逗号表达式的值为?

相关学习推荐:C视频教程

以上就是c语言六种基本语句是哪些?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1434301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
c语言用什么函数来比较字符串大小?
上一篇 2025年12月17日 09:51:02
c语言中的标识符只能由三种字符组成,它们是什么?
下一篇 2025年12月17日 09:51:24

相关推荐

  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • c#文件怎么打开

    打开 C# 文件有三种方法:Visual Studio:启动 Visual Studio,通过“文件”菜单打开 C# 文件。文本编辑器:使用文本编辑器打开 C# 文件,将其视为普通文本。.NET Core 命令行工具:使用 csc.exe 命令行工具编译 C# 文件,生成可执行文件。 如何打开 C#…

    2026年5月10日
    300
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    100
  • 函数指针在 C++ 多态中的作用:揭示多态背后的真相

    函数指针在 C++ 多态中的作用:揭示多态背后的真相 简介 多态是面向对象编程的一项强大功能,它允许对象在运行时以不同的方式表现。C++ 中的多态实现依赖于函数指针。本文将深入探讨函数指针在多态中的作用,并通过一个实战案例展示如何利用它们。 函数指针 立即学习“C++免费学习笔记(深入)”; 函数指…

    2026年5月10日
    000
  • C++框架与Java框架在易用性方面的比较

    c++++ 框架的易用性低于 java 框架,具体原因如下:c++ 框架学习曲线陡峭,需要深入理解 c++ 语言。易出错且调试困难。而 java 框架具有以下易用性优势:学习曲线低,尤其适合 java 初学者。提供丰富的库和工具,简化开发。运行时异常处理,简化异常处理。 C++ 框架与 Java 框…

    2026年5月10日
    000
  • c++中头文件和源文件的区别_c++头文件与源文件作用对比

    头文件声明接口,源文件实现逻辑。头文件含类、函数声明及宏定义,通过#include被多文件共享,用include守卫防重;源文件实现具体功能,编译为目标文件后由链接器合并。声明与实现分离提升模块化与编译效率,模板和内联函数因需编译时可见故常置于头文件,命名空间避免符号冲突,整体结构使项目更清晰易维护…

    2026年5月10日
    000
  • C++ 函数重载在事件驱动的编程中的应用

    在事件驱动的编程中,函数重载可创建具有不同参数签名的相似功能,为单一函数名提供多样化功能。它包含以下优点:代码可读性:使用单一函数名表示相关任务。可维护性:避免重复编写类似逻辑。可重用性:跨项目和应用程序 reutilizar。 C++ 函数重载在事件驱动的编程中的应用 在事件驱动的编程中,函数重载…

    2026年5月10日
    000
  • C++ 函数性能优化对系统稳定性的影响

    标题:C++ 函数性能优化对系统稳定性的影响 简介 函数性能优化是 C++ 程序员提高程序效率的关键技术。本文将探讨函数性能优化对系统稳定性的影响,并提供实战案例来证明这一点。 性能优化对稳定性的作用 立即学习“C++免费学习笔记(深入)”; 函数性能优化不仅可以提升程序速度,还可以提高系统的稳定性…

    2026年5月10日
    000
  • WebAssembly中导入JavaScript函数:无胶水代码集成指南

    本文深入探讨了在WebAssembly模块中直接导入和使用JavaScript函数的机制,特别是当使用Emscripten的STANDALONE_WASM和SIDE_MODULE编译模式时。文章详细分析了TypeError: import object field ‘GOT.mem&#8…

    2026年5月10日
    000
  • C++如何编译和链接_C++从源码到可执行文件的过程解析

    c++kquote>预处理展开宏和头文件,编译生成汇编代码,汇编转为机器码,链接合并目标文件与库生成可执行程序。 当你写完一段C++代码,比如一个简单的hello world程序,最终能运行起来,背后其实经历了一系列步骤:预处理、编译、汇编和链接。这个过程将人类可读的源码转换成机器可以执行的程…

    2026年5月10日
    000
  • c++中sizeof运算符的用法和常见陷阱 _c++ sizeof使用技巧及陷阱解析

    sizeof运算符在编译时计算类型或对象的字节大小,返回size_t类型,常用于获取数据大小、数组元素个数及内存操作;但存在数组传参退化为指针导致失效、对指针无法获知动态内存大小、表达式不求值、结构体因对齐产生填充等常见陷阱;需结合模板、显式传参、对齐控制等方式规避问题,提升代码可移植性和安全性。 …

    2026年5月10日
    000
  • C#如何进行网络编程?Socket与TCP/IP通信编程实例详解

    C#通过Socket类实现TCP通信,首先服务器绑定IP和端口并监听,客户端发起连接,双方通过Send/Receive收发数据,最后关闭连接。 C# 进行网络编程主要依赖于 System.Net 和 System.Net.Sockets 命名空间,其中最核心的是使用 Socket 类实现基于 TCP…

    2026年5月10日
    000
  • C++ 函数递归详解:递归查找列表中的元素

    递归查找列表元素的步骤如下:递归基础条件:如果列表为空,则元素不存在。递归过程:使用递归调用查找列表的剩余部分,并调整返回的索引。检查列表的第一个元素:如果第一个元素与所查找的元素相等,则元素位于索引 0 处。找不到:如果递归和第一个元素检查都没有找到,则元素不存在。 C++ 函数递归详解:递归查找…

    2026年5月10日
    000
  • C++怎么使用C++17的并行算法库_C++ std::execution与多核性能优化

    c++kquote>C++17通过std::execution策略引入并行算法支持,需编译器(如GCC 8+)和线程库(如TBB)配合;提供seq、par、par_unseq三种策略控制执行模式;可用于sort、for_each等算法提升大数据性能,但需避免数据竞争,推荐使用reduce等安全…

    2026年5月10日
    000
  • c++ lambda表达式怎么写 c++匿名函数用法详解

    答案是lambda表达式可简洁定义匿名函数,用于STL算法等场景。其语法包含捕获列表、参数列表、mutable、返回类型和函数体,如[=](int x) { return x > 0; }可值捕获外部变量并用于判断正数。 在C++中,lambda表达式是一种创建匿名函数的简洁方式,常用于需要传…

    2026年5月10日
    200
  • C++框架的Unlicense许可类型简介

    unlicense 许可证类型为免费且宽松,允许用户在不附加任何限制的情况下使用、修改和分发软件。它旨在最大限度地减少限制和允许最大的自由度,具有以下好处:简洁易懂高度开放无保证 C++ 框架的 Unlicense 许可证类型简介 了解 Unlicense Unlicense 是一个自由和宽松的软件…

    2026年5月10日
    000
  • 利用日志记录增强 C++ 函数的调试能力

    如何利用日志记录增强 c++++ 函数的调试能力?使用 glog 库进行日志记录: 安装 glog,并在代码中使用 glog 头文件和 initgooglelogging() 初始化日志记录。添加日志记录语句: 使用 log() 宏在要记录的代码块中添加日志记录语句,以记录函数开始、结束或其他重要事…

    2026年5月10日
    000
  • C++ 函数模板如何使用并在实际场景中应用?

    函数模板允许您定义可以处理不同类型参数的函数的通用版本。语法为:template,其中 t 是类型参数。要使用函数模板,请指定所需的参数类型,例如:max(10, 20)。函数模板在排序等实际应用中很有用,例如:template void sort(t arr[], int size)。它们具有通用…

    2026年5月10日
    000
  • C++ 并发编程中内存访问问题及解决方法?

    在 c++++ 并发编程中,共享内存访问问题包括数据竞争、死锁和饥饿。解决方案有:原子操作:确保对共享数据的访问是原子性的。互斥锁:一次只允许一个线程访问临界区。条件变量:线程等待某个条件满足。读写锁:允许多个线程并发读取,但只能允许一个线程写入。 C++ 并发编程中的内存访问问题及解决方案 在多线…

    2026年5月10日
    000
  • c++如何实现函数的重载_c++函数重载实现方法

    函数重载通过参数列表差异实现,如类型、数量或顺序不同,编译器根据实参选择对应函数,返回类型不同不能单独用于重载。 在C++中,函数重载允许在同一作用域内定义多个同名函数,只要它们的参数列表不同(参数个数、类型或顺序不同),编译器会根据调用时传入的实参来选择匹配的函数。函数重载不能仅通过返回类型的不同…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信