不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

时间:2021-10-30 06:02:11

[源码下载]

不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

作者:webabcd

介绍
不可或缺 Windows Native 之 C 语言

  • 运算符
  • 表达式
  • 条件语句
  • 循环语句
  • 转向语句
  • 空语句

示例
1、运算符
cOperator.h

#ifndef _MYHEAD_OPERATOR_
#define _MYHEAD_OPERATOR_ #ifdef __cplusplus
extern "C"
#endif char *demo_cOperator(); #endif

cOperator.c

/*
* 运算符
*/ #include "pch.h"
#include "cOperator.h"
#include "cHelper.h" char *demo_cOperator()
{
// 算数运算符:+, -, *, /, %, ++, --
// 关系运算符:>, <, ==, >=, <=, !=
// 逻辑运算符:&&, ||, !
// 位操作运算符:&, |, ~, ^, <<, >>
// & - 按位与:都是 1 则为 1,其他情况为 0;比如 1001 & 0001 = 0001
// | - 按位或:有一个是 1 则为 1,其他情况为 0;比如 1001 | 0001 = 1001
// ^ - 按位异或:不一样则为 1,一样则为 0;比如 1001 | 0001 = 1000
// ~ - 按位非:~1001 = 0110
// 赋值运算符:=, +=, -=, *=, /=, %=, &=, |=, ^=, >>=, <<=
// 条件运算符:三目运算符 ?:
// 指针运算符:* 用于取内容 & 用于取地址 // i++, i本身加1,表达式i++的值为i加1前的值
// ++i, i本身加1,表达式++i的值为i加1后的值
int i = ;
i++; // 此处 i 的值为 1, i++ 的值为 0
int j = ;
++j; // 此处 j 的值为 1, ++j 的值为 1 // sizeof - 是 C 里面的关键字,而不是函数,其是求字节数运算符 // 计算一个数据类型所占用空间的大小
int intSize = sizeof(short); // 2, 不同平台下 int short long 之类的占用空间可能不一样,用 sizeof 就可以知道其占用空间的大小了 char *str = "abcdefghijklmnopqrstuvwxyz";
int dataSize = sizeof(str); // 4, 这里计算的是 str 指针所占用空间的大小 return str_concat2(int_toString(intSize), int_toString(dataSize));
}

2、表达式,条件语句,循环语句,转向语句,空语句等
cStatement.h

#ifndef _MYHEAD_STATEMENT_
#define _MYHEAD_STATEMENT_ #ifdef __cplusplus
extern "C"
#endif char *demo_cStatement(); #endif

cStatement.c

/*
* 表达式,条件语句,循环语句,控制语句,空语句等
*/ #include "pch.h"
#include "cStatement.h"
#include "cHelper.h" char *demo_cStatement()
{
// 所谓表达式是由运算及运算对象所组成的具有特定含义的式子
// 所谓表达式语句就是由表达式加上分号“;”组成的
// i++, i本身加1,表达式i++的值为i加1前的值
// ++i, i本身加1,表达式++i的值为i加1后的值 // 复合语句(拿大括号括起来)
{
int p1 = ;
int p2 = ;
} // 只有“;”的语句就叫做空语句
while ()
{
; // 这一句就是空语句
}
// 上面的等于下面的
while ()
;
// 上面的等于下面的
while (); // 分支结构的语句(if else)
int a = , b; if (a == ) b = ; // 注意:变量 a 在此之前如果不初始化的话,则这里是无法编译过的,也就是说未赋值的变量不能使用 if (a == )
b = ;
else if (a == )
b = ;
else
b = ; // 分支结构的语句(switch case)
int x = , y;
switch (x)
{
case :
y = ;
break;
case :
y = ;
break;
default:
y = ;
} // 分支结构的语句(?:)
int m, n = ;
m = n == ? : ; // 循环语句(while)
int i = ;
while (i < )
{
i++;
} // 循环语句(do while)
int j = ;
do
{
j++;
}
while (j < ); // 循环语句(for)
for (i = ; i < ; i++)
{
}
for (i = ; i < ; )
{
i++;
}
for (i = , j = ; i < && j < ; i++, j++)
{
i++;
j++;
}
int z = ;
for ( ; z < ; )
{
z++;
} // 转向语句:break - 跳出循环
// 转向语句:continue - 跳过循环体的剩余的语句,直接进入下一次循环判断
// 转向语句:return - 退出函数,并提供返回值
// 转向语句:goto - 跳转至指定的标识符处,并执行其后的语句(需合理使用,比如多层嵌套语句退出时,使用 goto 就是很合理的) int result = ;
myAnchor: // 自定义标识符(标识符加冒号)
if (result == )
{
result = ;
}
if (result == )
{
result = ;
goto myAnchor; // 跳转至指定的标识符处(myAnchor:),并执行其后的语句
} return str_concat2("看代码及注释吧", int_toString(result));
}

OK
[源码下载]

不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等的更多相关文章

  1. 不可或缺 Windows Native &lpar;2&rpar; - C 语言&colon; 常量,变量,基本数据类型

    [源码下载] 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 常量 变量 基本 ...

  2. 不可或缺 Windows Native &lpar;4&rpar; - C 语言&colon; 预处理命令,输入,输出

    [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

  3. 不可或缺 Windows Native &lpar;7&rpar; - C 语言&colon; 指针

    [源码下载] 不可或缺 Windows Native (7) - C 语言: 指针 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 指针 示例cPointer.h #i ...

  4. 不可或缺 Windows Native &lpar;1&rpar; - C 语言&colon; hello c

    [源码下载] 不可或缺 Windows Native (1) - C 语言: hello c 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 在 Windows Sto ...

  5. 不可或缺 Windows Native &lpar;5&rpar; - C 语言&colon; 数组

    [源码下载] 不可或缺 Windows Native (5) - C 语言: 数组 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 数组 示例cArray.h #ifn ...

  6. 不可或缺 Windows Native &lpar;6&rpar; - C 语言&colon; 函数

    [源码下载] 不可或缺 Windows Native (6) - C 语言: 函数 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 函数 示例cFunction.h # ...

  7. 不可或缺 Windows Native &lpar;8&rpar; - C 语言&colon; 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  8. 不可或缺 Windows Native &lpar;9&rpar; - C 语言&colon; 动态分配内存,链表,位域

    [源码下载] 不可或缺 Windows Native (9) - C 语言: 动态分配内存,链表,位域 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 动态分配内存 链 ...

  9. 不可或缺 Windows Native &lpar;10&rpar; - C 语言&colon; 文件

    [源码下载] 不可或缺 Windows Native (10) - C 语言: 文件 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 文件 示例cFile.h #ifn ...

随机推荐

  1. Vim升华之树形目录插件NERDTree安装图解

    来源:CSDN 作者:mybelief321 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.他说是一个插件叫NERDTree,安装执行后的效果 ...

  2. C&num;读取XML文件的基类实现

    刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node ...

  3. LED子系统剖析

    写之前,先看一张图: 上次说了LED驱动程序,Linux自身也携带了LED驱动,且是脱离平台的,即LED子系统.操作起来十分简单.但是它的实质却不是那么容易,研究了一个晚上,终于明白了其中一个文件的功 ...

  4. Qt中sleep&lpar;&rpar;的实现(耳目一新的两种方法)

    在Qt中并没有Sleep函数可以调用,在程序编写时往往需要休眠几秒,这里举出两个方法,不知道是否啥不良隐患没~~ 方法一: class SleeperThread : public QThread{p ...

  5. JavaScript正则表达式的坑很深

    Javascript的正则表达式,不能不说方便,简简单单“//”就可以声明一个RegExp对象,配合编辑器的颜色渲染,实在让人舒心.但过于方便的东西,必然也会有一些瑕疵需要我们去注意. 首先要说的是使 ...

  6. RPC服务和HTTP服务

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  7. 虚拟机——虚拟机VMware Workstation 的&period;vmdk格式与VirtualBox 的&period;vdi格式相互转换

    啦啦啦~~~ 由于现在Vmware Workstation的越来越普及,让很多小伙伴不知道怎么把以前用的VirtualBox虚拟机vdi格式转换成vmdk格式,下面我们就来转换一下吧... 第一步:找 ...

  8. SolrCloud的搭建与稳定性测试

    转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html 一.集群搭建 1. zookeeper搭建(版本:3.4) 1.1 zoo.cfg配置文件: ...

  9. js节点的类型

    1. dom>documentElement>body>tagname 2.我们常用的节点标签. 元素节点(标签) 文本节点 属性节点(标签里的属性) 3.document有个属性n ...

  10. easyui中对数据的判断来显示,formatter控制

    需求效果图:(把编辑按钮根据信息是否发布,来选择显示与不显示,已发布的不能够进行编辑所以不显示) 上图中的flag为发布标识,flag值1为已发布,值2为未发布 思路:第一想到的是给这个button按 ...