#include <stdio.h>

int main()

{

int x=0;

if (x==0)

{

printf("x为假\n");

}

else

{

printf("x为真\n");

}

return 0;

}

if (x==0)也可以写成if(!x),因为x的值为0即为假,所以!x为真,计算机只能识别0和1的数值,这种写法比较难懂不推荐,好的程序员写的代码简单易懂

#include <stdio.h>

int main()

{

int x,y;

printf("输入一个整数:");

scanf("%d",&x);

y=(x<0)?-x:x;

printf("该数绝对值为:%d\n",y);

return 0;

}

y=(x<0)?-x:x;表达式的右边是一个具有三个操作对象的条件表达式,分别用?和:隔开,因此?:合起来就叫三目运算符,当x<0为真时,就取-x的值,为假时就取x的值

#include <stdio.h>

int main()

{

int x=1,y=2,z;

z=x>y?x:x>y?x:y;

printf("z:%d\n",z);

return 0;

}

三目运算符的顺序为从右到左依次执行

#include <stdio.h>

int main()

{

int a=1,b=2;

printf("%d\n",(a>b)?a:b);

return 0;

}

上面是一个三目运算符的灵活运用

#include <stdio.h>

int main()

{

int a=1;

float b=2.1f;

printf("%f\n",a>b?a:b);

return 0;

}

三目运算符不仅可以操作整数,还可以操作浮点数

#include <stdio.h>

int main()

{

char a;

scanf("%c",&a);

printf("%c\n",a=(a>='A'&&a<='Z')?(a+32):a);

return 0;

}

(a>='A'&&a<='Z')判断a这个变量的值是否在大写A-Z之间,(a+32)表示将小写转换成大些

#include <stdio.h>

int main()

{

float a,b,result;

char c;

printf("模拟四则运算小程序:\n");

printf("请输入第一个数:");

scanf("%f",&a);

getchar();

printf("请输入运算符 (+-*/): ");

scanf("%c",&c);

printf("请输入第二个数:");

scanf("%f",&b);

switch(c)

{

case '+':result=a+b;

break;

case '-':result=a-b;

break;

case '*':result=a*b;

break;

case '/':result=a/b;

break;

default:result=0;

}

printf("%.2f%c%.2f=%.2f\n",a,c,b,result);

return 0;

}

printf("请输入第一个数:\n");用户输入完第一个数后,会按下回车键,这个回车键会保存到输

入缓冲区中,为了使回车键不影响下次输入,需要将回车键提取出来,调用getchar();将回车键

提取出来,没有赋给任何的字符型变量,因此等于将回车键给抛弃掉了

switch(c) 语句是用来检查()中的表达式变量c的值是否与下面的case中的某个值,如果等于则

执行:后面的语句,例如result=a+b

break;语句的作用是退出switch语句,因为字符型变量c保存的是一个字符,因此case后面的+-

*/都用’’单引号引起来,如果没’’,它们就不是一个字符了

default:result=0;的作用是如果c的值与case后面的值都不匹配,则执行此语句

为什么第二个scanf("%c",&c);后面没有getchar(); 函数呢? 那是因为%c默认会忽略掉回车键,而

如果是float和int就不会忽略

学习c的第7天的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  10. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. gomobile 真机 log 打出的日志跟踪

    go mobile 开发的应用,真机调试时,我们期望看到log包打出的日志, 这时候就需要借用 Android Device Monitor 了. 我们的 go 代码中用最简单的 log.Printl ...

  2. nyoj 106 背包问题

    点击打开链接 背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v ...

  3. (转)C#picturebox控件使用

    PictureBox是C#常用图片空间,本文是学习中搜集网络资料的一些整理和记录 1,PictureBox加载图片 using System.Drawing; //方式1,从图片文件载入 //下面的路 ...

  4. namespace用法

    1.在WCF.Controller中定义了一个UserModel,标记为① 2.在WCF.Controller.Model中定义了一个UserModel(同上,namespace不同),标记为② 3. ...

  5. Caught exception while loading file struts-default.xml 错误

    严重: Exception starting filter struts2 Caught exception while loading file struts-default.xml - [unkn ...

  6. jQuery基础---filter()和find()

    这是jQuery里常用的2个方法.他们2者功能是完全不同的,而初学者往往会被误导. 首先 我们看.find()方法:现在有一个页面,里面HTML代码为;程序代码 <div class=" ...

  7. linux spi驱动开发学习-----spidev.c和spi test app

    一.spidev.c文件 看一个设备驱动的方法: module_init标识的入口初始化函数spidev_init,(module_exit标识的出口函数) 设备与设备驱动匹配时候调用的probe方法 ...

  8. Hive基础之自定义封装hivefile命令

    存在的问题:当把hql写到shell中,不方便阅读:但把hql写到文件中,又传递不了参数:怎么办呢? 自定义hivefile 执行方式形如: 第一个参数为要执行的hql文件,后续的参数为要替换的key ...

  9. 002 The Variables In Csharp

    在介绍本章之前,我们先看一下C#的编译过程,如下图所示: 图片摘自:http://www.developingthefuture.net/compilation-process-and-jit-com ...

  10. 【测试】使用hr用户下的employees和departments表写一条SQL语句,(MG连接)

    SQL> select * from employees d, departments t where d.department_id=t.department_id; rows selecte ...