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() /*程序入口点*/ { /*起点*/ +; /*叫计算机执行的指令*/ } / ...
随机推荐
- centos7静黙安装Oracle11.2.0软件响应文件oracle_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.i ...
- Java 为什么需要包装类,如何使用包装类?
出处:https://cloud.tencent.com/developer/article/1362754
- centos7编译安装pgbouncer
1.下载pgbouncer程序包和libevent依赖包 wget https://github.com/libevent/libevent/releases/download/release-2.1 ...
- ReplaceGoogleCDN 真的好使
在国内访问 stackoverflow快了很多. 谢谢开发者 https://github.com/justjavac/ReplaceGoogleCDN
- 从Oop-Klass模型看透反射
<红楼梦>第十二回,贾瑞因痴迷王熙凤,被王熙凤折腾的眼看就快不行了.当然这里面是没有多少爱的,完全因王熙凤的美貌而起.就在这时来了一个跛足道人,带来了一面宝镜,说能治好贾瑞的病.当然这可不 ...
- centos7 计划任务简介
概述 就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用.再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个 ...
- postgresql小计
1. postgresql执行结束后,判断结果是否成功,有几种结果 typedef enum { PGRES_EMPTY_QUERY = 0, /* empty query string was ex ...
- mysql统计当前月和近30天每天的数据
1,当前月 SELECT DATE_FORMAT(check_time,'%Y-%m-%d') as time, COUNT(*) FROM dw_rule WHERE check_state = 3 ...
- libevent笔记1:安装及DEMO
本篇简单记录了libevent的安装过程及基础的先进先出管道Demo,其中demo来自这篇博客,安装过程在这篇博客 实验环境 系统:Ubuntu 18.04.3 libevent版本:libevent ...
- Java 通过SFTP上传图片功能
1.需要在pom.xml文件中引用jsch的依赖: <dependency> <groupId>com.jcraft</groupId> <artifactI ...