[c/c++] programming之路(11)、顺序分支
一、模块化设计
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void openbaidu(){
ShellExecuteA(,"open","https://www.baidu.com",,,);
}
void closebaidu(){
system("taskkill /f /im 360se.exe");
}
void clickbaidu(){
/*SetWindowPos
MOUSE_EVENT*/
SetCursorPos(,);//设置鼠标位置
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,,,,);//鼠标左键抬起
//mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
//mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
} //模块化设计:1.打开浏览器(百度) 2.打开网页 3.关闭浏览器
void main(){
while(){
openbaidu();
Sleep();//休眠5秒钟
clickbaidu();
Sleep();
closebaidu();
Sleep();
}
}
二、顺序结构
打开屏幕左上角的计算器,等待2秒,关闭计算器
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void main(){
SetCursorPos(,);
Sleep();
//双击左键
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,,,,);//鼠标左键抬起
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);
mouse_event(MOUSEEVENTF_LEFTUP,,,,);
Sleep();
system("taskkill /f /im calc.exe");
system("pause");
}
三、分支结构
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void main0(){
if(-){//0不执行,非0执行块语句
//0隐藏 1正常 3最大化 6最小化
ShellExecuteA(,"open","http://www.taobao.com",,,);
}
printf("hello taobao");
system("pause");
} void main1(){
int i=;
//每7秒打开百度,每11秒打开淘宝
while(){
if(i%==){
ShellExecuteA(,"open","http://www.baidu.com",,,);
}
if(i%==){
ShellExecuteA(,"open","http://www.taobao.com",,,);
}
if(i%==){
system("taskkill /f /im 360se.exe");
} Sleep();
i++;
printf("第%d秒\n",i);
}
} void main(){
int num;
scanf("%d",&num);
if(num){//判断num是否为0
printf("gogogogo");
}
system("pause");
}
三个数,按从大到小排列
#include<stdio.h>
#include<stdlib.h> void main(){
//从大到小,a最大,c最小
double a,b,c,temp;
//scanf("%f%f%f",&a,&b,&c);
scanf("%lf%lf%lf",&a,&b,&c);//double类型数据,需要用 %lf 格式符
printf("a=%f,b=%f,c=%f",a,b,c);
if(a<b){
temp=a;
a=b;
b=temp;
}
if(a<c){
temp=a;
a=c;
c=temp;
}
if(b<c){
temp=b;
b=c;
c=temp;
}
printf("\n%f,%f,%f",a,b,c);
system("pause");
}
输出绝对值大的数
#include<stdio.h>
#include<stdlib.h> void main(){
int x,y;
unsigned int x1,y1;
scanf("%d%d",&x,&y);
if(x>=){
x1=x;
}else
{
x1=-*x;
}
if(y>=) y1=y;
else
{
y1=-*y;
}
printf("%d",x1>y1?x:y); system("pause");
}
四、逻辑嵌套(求解一元二次方程)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main(){
int a,b,c;
double delt;
printf("请输入a,b,c的值:");
scanf("%d%d%d",&a,&b,&c);
printf("%d*x*x+%d*x+%d=0\n",a,b,c);
//逻辑嵌套
if(a==){
if(b==){
if(c==){
printf("x为任意解");
}else
{
printf("无解");
}
}else{
printf("x= %f",-1.0*c/b);//一元一次方程
}
}else{
delt=b*b-*a*c;
if(delt<){
printf("方程只有两个虚根:x1=%f+%fi,x2=%f-%fi",-1.0*b//a,sqrt(-delt)//a,-1.0*b//a,sqrt(-delt)//a);
}else{
printf("方程有两个实根:x1=%f,x2=%f",(-b+sqrt(delt))//a,(-b-sqrt(delt))//a);
}
}
system("pause");
}
四、switch语句
#include<stdio.h>
#include<stdlib.h>
void main(){
int num;
scanf("%d",&num);
printf("%d",num);
switch (num)
{
case ://几个case分支没有顺序区别
printf("司令");
break;
case :
printf("军长");
break;
case :
printf("师长");
break;
case :
printf("旅长");
break;
case :
printf("团长");
break;
case :
printf("营长");
break;
case :
printf("连长");
break;
case :
printf("排长");
break;
case :
printf("班长");
break;
case :
printf("小组长");
break;
case :
case -://共用语句
printf("大兵阿飞");
break;
default://switch语句中可以不含default分支
printf("输入错误");
break;
}
system("pause");
}
[c/c++] programming之路(11)、顺序分支的更多相关文章
- Introduction to 3D Game Programming with DirectX 11 翻译--开篇
Direct3D 11简介 Direct3D 11是一个渲染库,用于在Windows平台上使用现代图形硬件编写高性能3D图形应用程序.Direct3D是一个windows底层库,因为它的应用程序编程接 ...
- 11.Git分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- 小白的python之路11/14
视频69 固定命令的方式 1 vim /etc/profile 2 vim /etc/bashrc 3 vim /root/.bashrc 4 vim /root/.bash_profile 5 cd ...
- Emu8086三种格式的代码-(顺序,分支,循环)
这个学期准备考研,于是就没有怎么听别的课,现在临近期末,汇编成了个难题.下面是我学校的实验报告 做一个复习的记录吧,下面的代码都是在Emu8086上运行出来的代码 下面先介绍一下,汇编里面的格式问题 ...
- Python学习之路11☞异常处理
一 错误和异常 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 de ...
- [ASP.NET MVC 小牛之路]11 - Filter
Filter(筛选器)是基于AOP(面向方面编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑,以非常简单优美的方式实现横切关注点(Cross-cutting Concerns).横切关 ...
- python学习之路-11 多线程、多进程、协程
python内置队列模块 queue queue的四种队列 q = queue.Queue() # 先进先出队列 q = queue.LifoQueue() # 后进先出队列 q = queue.Pr ...
- python成长之路11
一.线程: 创建线程有两种方式(本质是一样的,创建好线程之后,cpu调度创建好的线程时执行的其实是Thread的run()方法): import threading def f1(args):prin ...
- 【python之路11】集合数据类型(set)
集合数据类型(set):集合是不重复的无需序列 1.集合数据类型的创建 a = {11,22,33} #或 a = set() #创建空集合,不能用a={},这样创建的是字典类型 2.集合转换(将可迭 ...
随机推荐
- OAuth2.0标准类库汇总
转载官网: https://oauth.net/code/ https://www.w3cschool.cn/oauth2/5ghz1jab.html 服务端类库 .NET .NET DotNetOp ...
- reveal破解
~/Library/Preferences/com.ittybittyapps.Reveal.plist 把IBAApplicationPersistenceData这一项删除就是了.”
- 如何用html把文本框外观格式设为只显示底部的横线
html把文本框外观格式设为只显示底部的横线 <style> input[type='text']{background:none;border:none;border-bottom:1p ...
- sqli-labs(十二)(and和or的过滤)
第二十五关: 这关是过滤了and 和or 输入?id=1' or '1'='1 发现or被过滤了,将or换成and也一样. 输入?id=1' oorr '1'='1 这样就可以了,将一个or置空后,o ...
- C# dataGridView 如何选中整行?
this.dataGridView1.SelectionMode =DataGridViewSelectionMode.FullRowSelect; dataGridView1即你的dataGridV ...
- Ajax-创建ajax
UNSENT : 未发送,刚开始创建完成AJAX对象,默认的状态就是0 OPENED : 已打开,执行了xhr.open之后状态变为1 HEADERS_RECEIVED :响应头信息已经成功的返回并且 ...
- c# mongo 数组里对象更新
var queryDetail = new BsonDocument("cNo", doc.cNo); queryDetail.AddRan ...
- XML小结
一.因为某些字符在xml格式中,具有特殊意义,所以当我们需要使用它本身的意思的时候,就要用其他东西来代替它,否则会产生错误 < < less than > > greater ...
- PLSA主题模型
主题模型 主题模型这样理解一篇文章的生成过程: 1. 确定文章的K个主题. 2. 重复选择K个主题之一,按主题-词语概率生成词语. 3. 所有词语 ...
- mybatis源码解析3---XMLConfigBuilder解析
1.XMLConfigBuilder XMLConfigBuilder类位于Mybatis包的org.apache.ibatis.builder.xml目录下,继承于BaseBuilder类,关于Ba ...