C语言----选择结构(基础篇三)
大家好,忙里抽空更新一下自己的博客,算是自己的一个进步,C语言视频启蒙我早就看完啦,只是觉得这个视频真不错,所以给大家分享一下,同时自己还有很多没有理解透彻,写写博客算是一个笔记更是对自己所学的知识的吸收,废话不多直接开始今天的主题,"C语言的选择结构"
关系运算符
小于:<
大于:>
等于:= =
小于等于:<=
大于等于:>=
不等于:!=
逻辑运算符
非:!
与:&&
或:||
假设x=1,y=2,x1=3,y1=4,那么x>y||x1<y1的结果是真还是假?!(x>y)&&x1<y1呢? 参考答案:真、真
x>y(false) 或 x1<y1(true) 结果为 true
!(x>y)(假取反为真) 并且 x1<y1(true) 结果为 true
简单运算符
=号是最常用的运算符,在数学表达式中a=a+1是错误的,而在计算机中,这表示将a的值加上1再赋给a,如果a原来是5,经过这种运算后,a会变成6。也是就是说=号在计算机中表示“赋值”,它会将右边的“计算结果”装进左边的“变量”。
a=a+1也是经常用的运算符,C语言为了方便,便使用a++这种运算符来计算a=a+1,a--来计算a=a-1。也就是说,++代表变量自身加1,--代表变量自身减1。
运算符优先级
括号 !(非) 算术运算符 关系运算符 &&和|| 赋值运算符(=) |
高 | | | ∨ 低 |
算术运算:*、/ 高于 +、-
关系运算:>、>=、<、<= 高于 = =、!=
逻辑运算:!高于&&高于||
一首记忆诗:
1、括号成员第一
2、全体单目第二
3、乘除余三,加减四
4、移位五,关系六
5、等于(与)不等排第七
6、位与异或和位或
7、"三分天下"八九十
8、逻辑或跟与
9、十二和十一
10、条件高于赋值
11、逗号运算级最低
解释:
1、括号运算符[]() 成员运算符. ->
2、所有的单目运算符比如++、 --、 +(正)、 -(负) 、~(位反)、指针运算*、&、!
3、这个"余"是指取余运算即%
4、移位运算符:<< >> ,关系:> < >= <= 等
5、即= = 和!=
6、这几个都是位运算: 位与&异或^位或|
7、接上一句:它们分别排 7 8 9
8、逻辑运算符:|| 和 &&
9、注意顺序:优先级(||) 底于 优先级(&&)
10、三目运算符(:?)优先级排到13 位只比赋值运算符和","高
11、逗号运算符优先级最低
脱括号:
(a>b) && (x>y) 可化简为:a>b && x>y
(a= =b) || (x= =y) 可化简为a= =b || x= =y
(!a) || (a>b) 可化简为 !a || a>b
if语句
if(表达式)
{
若干语句
…
}
程序1
用户输入2个数,按从大到小的顺序将它输出
/*3_1 if 语句:用户输入两个数字,按从大小的顺序将他们输出在屏幕上*/
#include <stdio.h>
main()
{
int a, b, c; //a b 为比较的数,c为临时交换变量
scanf_s("%d%d", &a, &b); //输入两个数 //下面的作用就是:如果第一个数大于第二个数就交换他们的值
if (a<b) {
c = a;
a = b;
b = c;
};
printf("%d%d\n",a,b); //输出交换后的值 system("pause");
}
变化一:
格式:
if(表达式)一条语句;
注意:
if(a>b)a++;b++;
相当于
if(a>b)
{
a++;
}
b++;
而不是
if(a>b)
{
a++;
b++;
}
变化二(二选一):
格式:
if(表达式)
{
若干语句
…
}
else
{
若干语句
…
}
变化三:
格式:
if(表达式)一条语句; else 一条语句;
程序2
用户输入2个数,按从大到小的顺序将它输出的第二种解法
/* 3_2_ if 用户输入两个数,数字按从大到小的顺序将他们输出屏幕上面*/
#include <stdio.h>
main()
{
int a, b; //定义两个变量从键盘上面接收
scanf_s("%d%d", &a, &b); //输入两个数值
if (a>b) {
printf("%d%d\n", a, b); //按顺序输出
}
else
{
printf("%d%d", b, a); //倒序输出
}; system("pause");
}
单目运算符和双目运算符
当前上面的运算符中,++、--、!都为单目运算符。其实减号运算符也可作单目运算符,它加在表达式(表达式可包括常量、变量)左边,表示取它的相反数。
双目运算符的两边必须都要有表达式
程序3
输入一个整数,打印出它是奇数还是偶数(学习%的使用)
/* 3_3_输入一个数,打印在屏幕上是奇数还是偶数*/
#include <stdio.h>
main()
{
int a;
scanf_s("%d", &a); // " % " :在scanf函数中表示格式控制
if (a% == ) { // " % ":在if语句中表示余数计算
printf("%d是偶数\n", a);
}
else
{
printf("%d是奇数\n", a);
};
system("pause");
}
程序调试技巧
程序调试: VS2015 调试的方式自己百度一下,我对这个工具也是刚刚入门,所以没什么分享给大家,但是总体使用感觉不用不是很舒服,网上那些快捷方式在我的电脑上都没作用,也有可能之前自己用VScode习惯的原因吧。
如果是用的VC6++,可以用下面的方式:
F9:设置断点
F5:运行至断点
F10:单步执行
F11:单步执行至函数内部
在VC中书写程序时如果不小心拼错了某个关键字或漏了什么标点标号等等,这叫语法错误。这时按感叹号时在编辑器的下面会报错,查找错误的方式就是在报错栏中找到带error的行,再双击它,代码栏就会出现一个蓝色箭头指向错误行,再在错误行的附近查找语法错误并修正它。
作业
上机改错题:输入两个数,求出它们之中最小的数输出
#include “stdio.h”
main()
{
int a,b;
/**************found***************/
scanf(“%d%d”,&a,&b);
if(a>b)
{
/**************found***************/
printf(最小的数为%d,a); // 里面没加 " ", 逻辑错误
}
else
{
printf(“最小的数为%d”,b);
}
}
以上红色的部分是错误的!
C语言----选择结构(基础篇三)的更多相关文章
- NIO相关基础篇三
转载请注明原创出处,谢谢! 说在前面 上篇NIO相关基础篇二,主要介绍了文件锁.以及比较关键的Selector,本篇继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型.零拷贝等一些内容, ...
- C语言---选择结构和循环结构
C语言的两种选择语句,1) if语句; 2) switch语句; 在if判断语句中,一般使用关系表达式. 关系运算符: <.<=.>.>=.==.!= 关系表达式:用关系运算符 ...
- day 20 C语言顺序结构基础3
(1).若有定义:int a=100:则语句printf("%d%d%d\n",sizeof("a"),sizeof(a),sizeof(3.14)); 则输出 ...
- docker+k8s基础篇三
Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周 ...
- C语言------选择结构
仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4.小结 1 .实训名称 实训4:选 ...
- Hybrid APP基础篇(三)->Hybrid APP之Native和H5页面交互原理
本文已经不维护,新地址: http://www.cnblogs.com/dailc/p/8097598.html 说明 Hybrid模式原生和H5交互原理 目录 前言 参考来源 前置技术要求 楔子 A ...
- C语言----流程图(基础篇四)
大家晚上好,最近忙每天忙于项目没有时间更新自己的博客,时间就是海绵嘛硬挤挤就是有的,咂看标题" 流程图 ",编程界的一个不可或缺的技能,特别是在做复杂的逻辑的时候要处理好每一步的关 ...
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
- C语言----数据类型(基础篇一)
C语言的入门程序模板 #include <stdio.h> /*使用或者包含系统里面的程序*/ main() /*程序入口点*/ { /*起点*/ +; /*叫计算机执行的指令*/ } / ...
随机推荐
- Linux CentOS 6.5 ifconfig查询不到ip简单解决方法
最近有小伙伴表示在虚拟机中安装CentOS之后使用ifconfig以及ip addr指令无法查询到ip地址, 在此笔者提供一个简单有效的方法; 1. 切换为root用户登录 su root 2.进入配 ...
- 蓝色映象 幻舞少女之剑 BLUE REFLECTION 后感
到底是看片收获多还是游戏收获多?在刷蓝色反射的时候刷了2部番.所以,我到底是为了什么在玩游戏呢? 岸田メル的人设,毋庸置疑,唯美想舔,且总能给人一种绝无杂质,纯洁治愈的感觉,再加上浅野隼人的配乐,恰如 ...
- Alipay支付宝调用错误:Call to undefined function openssl_sign()
打开php.ini,找到这一行 ;extension=php_openssl.dll,将前面的“;”去掉: 重启服务器.
- 新版Notepad++加十六进制查看的插件HexEditor(转载+总结)
用到hex文件查看,老版本的notepad++是可以安装的,新版本的是安装不了,这个差评啊, 但是网上有方法:https://github.com/chcg/NPP_HexEdit/releases下 ...
- opencv4.0.0+cmake编译(含contrib)
https://blog.csdn.net/bobo184/article/details/88749651 前言笔者环境:win10+vs2015+cmake3.8.2 介绍下4.0.0的新特性,沿 ...
- three.js 添加 图形控制界面 gui
需要导入这个js: import { GUI } from '/three.js/jsm/libs/dat.gui.module.js'; 局部代码: var params = { color: 0x ...
- 神经机器翻译(seq2seq RNN)实现详解
http://c.biancheng.net/view/1947.html seq2seq 是一类特殊的 RNN,在机器翻译.文本自动摘要和语音识别中有着成功的应用.本节中,我们将讨论如何实现神经机器 ...
- 2013(1)需求工程, 需求开发, 需求分析, 面向对象需求分析, UML,需求建模
案例一 某软件公司拟为物流企业开发一套库存管理系统,该系统的部分需求陈述如下: (1) 库存管理系统主要包括货物入库管理.货物出库管理.仓库管理.统计报表和系统管理等功能. (2) 库存管理系统的用户 ...
- pytorch指定使用的单个GPU
1.pycharm里直接在代码中加入下面 import os os.environ["CUDA_VISIBLE_DEVICES"] = "2" 2.在终端指定使 ...
- python总结二
1.在命令行:dd是删除光标所在的那一整行 yy是复制光标所在的那一整行 p是将已复制的数据在光标的下一行粘贴 P是将已复制的数据在光标的上一行粘贴 2.在命令行中查找的话 从上往下查找:/ 从下往上 ...