怎么做几个版面的网站,做行政关注什么类型的网站,wordpress验证码查看,设计需要的软件目录
I. 基本数据类型
II. 复杂的输出和输入语句编写
III. 运算符与表达式
III.I 算术运算符
III.II 关系运算符
III.III 逻辑运算符
III.IV 位运算符
III.V 三目运算符
III.VI 逗号运算符 高质量博主#xff0c;点个关注不迷路#x1f338;#x1f338;#x1f3…目录
I. 基本数据类型
II. 复杂的输出和输入语句编写
III. 运算符与表达式
III.I 算术运算符
III.II 关系运算符
III.III 逻辑运算符
III.IV 位运算符
III.V 三目运算符
III.VI 逗号运算符 高质量博主点个关注不迷路 I. 基本数据类型
书接上回我们在上一篇笔记中提到了变量的概念在C语言中变量有不同的种类对应着不同的数据类型我们先看最常用的一种基本数据类型整型数据在C语言中用关键字 int 来声明或定义。
#includestdio.hint main(){int a 3;return 0;
}
上面这段代码定义了一个整型的变量a它的值为3。
那么除了整型外C语言中还有一些其他的基本数据类型它们是
标识符类型输入 / 输出所占字节char字符数据类型%c1short短整型%hd2int整型%d4long长整型%ld4long long更长的整形%lld8float单精度浮点数%f4double双精度浮点数%f输入时使用%lf8
注意上表的第三列给出了在输入和输出不同类型的变量时在scanf()和printf()函数中使用的标识符我们回忆上节课的内容可以把这部分和之前的内容联系起来。
#includestdio.hint main(){short a0 3; // 短整型 int a 3; // 整型 long b 4; // 长整型 double c 1.1; // 双精度浮点数型 float d 1.2; // 单精度浮点数型 char e c; // 字符型 printf(%hd\n,a0);printf(%d\n,a);printf(%ld\n,b);printf(%lf\n,c);printf(%f\n,d);printf(%c\n,e); return 0;
}
最后补充一句这部分讲的是C语言中的基本数据类型所谓基本是相对于一些非基本类型而言的而非基本的数据类型会在 后面 的笔记中进行讲解这里只需要简单了解一下 C语言中有非基本类型指针类型、枚举类型、结构体类型、数组类型、联合类型 II. 复杂的输出和输入语句编写
这部分本来应该放在上一篇笔记但上一篇笔记的内容实在太多因此放在本篇中做一个简单的插曲这里讲一下复杂的输出语句要怎么编写。
在上一节中我们讲到C语言使用函数printf()来实现输出的操作
printf( );
而且我们也讲了输出一句话只需要把内容放在双引号之间即可输出变量只需要在前面的双引号之间加入% 变量标识符而后写一个逗号后面跟上变量名即可。
那么如何实现输出的过程中既有我们想要输出的语句又有变量呢假如我们有两个变量aba的值是1b的值是3我们想要输出, a的值是1b的值是3 这句话要怎么输出呢我们看一下代码
#includestdio.hint main(){int a 1;int b 3;printf(a的值为%d, b的值为%d,a,b);return 0;
}
我们如何理解这种输出呢下面的内容请一定认真阅读因为很多新手一直到学完C语言都没明白复杂输出的逻辑下面我们讲解一下其中的逻辑 “% 变量标识符”这个整体代替了我们的变量因此我们如果既想要输出特定的语句又想在内部穿插变量只需要把这个整体放在想要代替的位置而后在引号后加逗号放上变量即可。而如果出现了多个% 变量标识符的整体那么后面依次要放上多个变量并且用逗号连接且次序要与前面引号中的整体的次序一致。 那么同理如果想要在输入的过程中一次性输入多个变量我们举一反三不难得出
#includestdio.hint main(){int a 1;int b 3;scanf(%d %d,a,b);return 0;
}
而后依次输入a和b即可。 III. 运算符与表达式
最后我们聊一聊C语言中的运算符和表达式这部分的内容对于初学者不是很好懂但是我们尽量以简单的方式呈现出来。 所谓运算符就是指做某种特定运算的 符号例如在小学数学中我们学过的加法运算那么它的运算符就是 。常看我的文章的朋友可能知道对一个陌生的名词最好的理解方式就是将它的定义做语法分析像这段定义语法分析后我们不难得出运算符就是某个符号只不过这个符号代表了某种运算 表达式是由变量/常量与运算符连接得到的式子往往用来实现某个具体的需求。 例如我现在要计算两个整型变量a和b的和并把这个和赋值给变量c那么代码应该是
#includestdio.hint main(){int a 1;int b 3;int c a b;return 0;
}
除了加法运算符在C语言中还有一些其他的运算符
III.I 算术运算符
在C语言中有以下五种基本的算术运算符: 加法: a b c; 减法: a - b c; 乘法: a * b c; 除法: a / b c; 取余: a % b c; 这五种基本的算术运算符中我们重点看一下最后两种运算符即除法和取余操作:
请看下面这段代码:
#includestdio.hint main(){int a 3;int b 2;int c a / b;printf(%d,c);return 0;
}
新手可以先运行一下上面的代码看看结果与自己预料的是否一致。 在数学中3 / 2 1.5那么这里为什么是1呢我们需要深入了解一下C语言的整数除法机制 当两个整型变量做除法时除法的结果是一个整数该整数是原本的结果向下取整得到的整数所谓向下取整是指x ∈ [n,n1], n是正整数那么向下取整的x n例如x 1.9向下取整就是1。 那如果我们想要得到真实的运算结果或者说精确度更高的结果应该怎么做呢其实也很简单我们只需要把参与运算的数字的类型改成浮点数类型即可什么是浮点数类型可以看本文上面的部分。代码实现
#includestdio.hint main(){float a 3;float b 2;float c a / b;printf(%f,c);return 0;
}
运行结果 之后是取余运算%这个运算符在数学中并没有是程序语言中特有的一类运算符它指的是两个数相除的余数例如
#includestdio.hint main(){int a 5;int b 3;int c a % b;printf(%d,c);return 0;
}
它的结果是5除以3的余数那么就是2 上面五种算数运算符可以组合成更为复杂的计算符以下面三种常用的为例
1️⃣ 运算符
这个运算符表示变量加一的操作例如a 就相当于a a 1。但是a 与 a 并不一样怎么理解呢我们先看下面一段代码
#includestdio.hint main(){int a 3;int b 3;int c a;printf(a得到的结果c %d此时a %d\n,c,a);c b;printf(a得到的结果c %d此时a %d,c,a);return 0;
}
假设a 与 a是一样的那么运行的结果a肯定是4那么两个c的值也应该是一样的但我们运行上面的代码可以看到 有点神奇对不对居然得到了不一样的c其实这是因为 a 这句代码在执行时会首先用a原先的值参与运算在运算结束之后再把a的值自增1 而 a在执行时会首先把a的值自增1再参与运算 因此在a 时会把a原来的值赋值给cc就是3而a则把a先自增而后c就是自增后的a 4。
2️⃣ --运算符
--运算符完全等效即a -- 等价于a a - 1且 --a和a-- 的执行次序也是不同的。(同)
3️⃣ 运算符
运算符是这么理解的
a 3等价于a a 3即相当于是升级版的只不过这次可以指定自增的量可以自增任意大小的数字。 III.II 关系运算符
关系运算符即 表示大于 表示大于等于 表示小于 表示小于等于 ! 用于测试“不相等” 用于测试“相等” 用于赋值 注意上面所有的关系运算符得到的结果只有0或1什么意思呢我们举个例子
#includestdio.hint main(){int a 3;int b 3;int c a b;printf(c %d\n,c);int d a b;printf(d %d,d);return 0;
}
运行之后得到 为什么是这样呢我们分析代码 c的值是a b的结果a b表示a和b是否相等那么很显然在这个例子中a和b的值相同所以a确实和b相等于是相当于这句话是对的所以当关系运算符参与运算时如果关系比较的结果是对的那么这个运算得到的结果就是1反之是0。因此d的结果是a b 但是a不大于b所以d 0。 上面这段话一定要看懂后面学if等等需要用到这里的知识。当然学过其他编程语言的会发现别的语言可能关系运算得到的结果是一个布尔值但其实C语言是没有布尔值的只有0和非0这部分放在后面细聊。 III.III 逻辑运算符 逻辑与 理解为 a b 就是a 和 b同时成立才会得到1否则为0 || 逻辑或 理解为 a || b 就是a 和 b只要有一个成立就得到1否则为0 逻辑非 III.IV 位运算符
位运算符先不着急我们在后续的笔记中对此会详细的介绍先挖坑 III.V 三目运算符 exp1 exp2 : exp3 三目运算符做一个简单的了解即可
假设我们有这样一句代码
#includestdio.hint main(){int a 1;int b 2int c (a b)? a : b;return 0;
}
它的意思就是c的值是 a b是否为真如果为真那么就取后面的第一个式子的结果a给c否则取后面第二个 值即b给c。 III.VI 逗号运算符
最后拓展一下逗号运算符没错逗号也是一个运算符
#includestdio.hint main(){int a 1;int b 2;int c (a,b);printf(%d,c);return 0;
}
运行结果 为什么呢很简单 逗号运算符的结果取得是最后一个逗号后的值(a b)于是最后一个逗号后的值就是b。同理如果是(abc)那么最后取得值就是c的值。 到这里我们的C语言学习或编程学习已经基本上站在大门之前了但离入门还有一段距离请继续观看下一篇博客。