Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

(一下内容是对黑马苹果入学视频的个人知识点总结)

(一)scanf函数

1>  简单介绍一下scanf函数   这是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量

2>scanf函数用法

1)简单的用法

 #include <stdio.h>

 int main()
{
// 定义一个变量,用来保存用户输入的整数
int number; // scanf函数只接受变量的地址
// scanf函数是一个阻塞式的函数,等待用户输入
// 用户输入完毕后,就会将用户输入的值赋值给number变量
// 函数调用完毕
scanf("%d", &number); printf("用户输入的值是%d\n", number); return ;
}

① scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的参数是"%d",说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是变量,而是变量的地址,&是C语言中的一个地址运算符,可以用来获取变量的地址

② 输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的值赋值给变量

2)其他用法

一次性输入多个数值,并且以某些符号隔开例如一下一段程序

 int num1, num2;
scanf("%d#%d", &num1, &num2);

但是需要注意不可以用换行  \n 隔开 ,另外输入的时候也要和中间隔开的符号隔开

(二)基本运算

1)算术运算

1> 加法运算+

除开能做加法运算,还能表示正号:+5、+90

2>减法运算-

除开能做减法运算,还能表示符号:-10、-29

3> 乘法运算*

注意符号,不是x,而是*

4> 除法运算/

①  注意符号,不是÷,也不是\,而是/

②  整数除于整数,还是整数。1/2的值是0,这个并不是二分之一

5> 取余运算%

① 两个整数相除之后的余数

② %两侧只能是整数

③正负性取决于%左侧的数值

2)注意点

1>自动类型转换

自动将大类型转换为了小类型,会丢失精度

2>自动类型提升

 int b = 10.5 + ;

将右边的10提升为了double类型

3> 强制类型转换

4> 运算顺序

有不同的优先级 不同的结合性

 #include <stdio.h>
int main()
{
/*1.算数运算符的基本使用
int a = 10 + 1 + 2 - 3 + 5; int b = -10; int c = 10 * b; int d = 10 / 2; // 取余运算(模运算)
// %两边都是整数
// %取余结果的正负性只跟%左边的数值有关
int e = 10 % -3;
printf("%d\n", e);
*/ /*
// 自动类型转换(double->int)
int a = 10.8; // 强制类型转换(double->int)
int b = (int) 10.5;
printf("%d\n", a);
*/ // 自动类型提升(int->double)
double c = 10.6 + ; double d = / ; double e = (double)/; printf("e的值是%f\n", e); return ;
}

(三)赋值运算

赋值运算比较简单 分为简单赋值与复合赋值

(四)自增自减

++自增运算符 ——自减运算符 注意一下++a和a++的区别(前面加完后运算后面的运算完再加)

(四)sizeof

1> 用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。

2>sizeof的基本形式

①sizeof( 变量\常量 )

②sizeof(数据类型)

#include <stdio.h>

int main()
{
int a = ;
int size = sizeof(char); printf("size=%d\n", size); return ;
}

(五)关系运算

其实就是判断真假 如果是真这为1否则为0.关系运算符有很多他们的优先级是不同的,关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者。

(六)逻辑运算

1)逻辑与

运算结果

只有当条件A和条件B都成立时,结果才为1,也就是“真”;其余情况的结果都为0,也就是“假”。因此,条件A或条件B只要有一个不成立,结果都为0,也就是“假”

3> 运算过程

总是先判断条件A是否成立,如果条件A成立,接着再判断条件B是否成立:如果条件B成立,“条件A && 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”,如果条件A不成立,就不会再去判断条件B是否成立:因为条件A已经不成立了,不管条件B如何,“条件A && 条件B”的结果肯定是0,也就是“假”

2)逻辑或

1>使用格式

“条件A || 条件B”

2> 运算结果

当条件A或条件B只要有一个成立时(也包括条件A和条件B都成立),结果就为1,也就是“真”;只有当条件A和条件B都不成立时,结果才为0,也就是“假”。

3> 运算过程

总是先判断条件A是否成立,如果条件A成立,就不会再去判断条件B是否成立:因为条件A已经成立了,不管条件B如何,“条件A || 条件B”的结果肯定是1,也就是“真”.如果条件A不成立,接着再判断条件B是否成立:如果条件B成立,“条件A || 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”

3)逻辑非

(七)三目运算符

三目运算符  条件 ? 数值1 : 数值2

 int a = ! ?  : ;

黑马程序员——C语言基础 scanf函数 基本运算 三目运算符的更多相关文章

  1. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  2. 黑马程序员——C语言基础 函数

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...

  3. 黑马程序员——C语言基础 指针

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  4. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  5. 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...

  6. 黑马程序员——C语言基础 char字符 数组

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...

  7. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

  8. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  9. 黑马程序员——C语言基础 字符串

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)字符串 1>字符串是由多个字符组合在一起形成的 2>初始 ...

随机推荐

  1. 树 - 从零开始实现by C++

    参考链接:数据结构探险之树篇

  2. Material Design Button 样式

    132down voteaccepted I will add my answer since I don't use any of the other answers provided. With ...

  3. iOS 使用Keychain 保存 用户名和密码到 本地

    iOS 使用Keychain 保存 用户名和密码到 本地 之前曾把一些简单的数据保存在了plist,文件,及NsuserDefault里面, 但是如果要保存密码之类的,保存在本地就很不安全了: 但是利 ...

  4. Linux命令行下编译Android NDK的示例代码

    这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究 Android ND ...

  5. js实现页面跳转

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  6. Spring表达式语言 之 5.4在Bean定义中使用EL(拾伍)

    5.4.1  xml风格的配置 SpEL支持在Bean定义时注入,默认使用"#{SpEL表达式}"表示,其中"#root"根对象默认可以认为是Applicati ...

  7. NKW

    JavaScript几种原生函数 - 博客频道 - CSDN.NEThttp://blog.csdn.net/h378588270/article/details/12948163 .json_百度搜 ...

  8. Gradle 教程:第一部分,安装【翻译】

    原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-1-installation-setup/ 在这篇教程里,我们将主要讲解如何在我们 ...

  9. 用java实现冒泡排序法

    一.基本思路: 冒泡排序是一种简单的交换类排序.其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移.每经过一趟排序后,关键字值最大的元素将移到末尾,此时 ...

  10. webstorm搭建node服务器

    前言,搭建服务器,必须有node.js环境(吐槽:本来就是用node搭建的(⊙o⊙)…) 下载node.js 网址  https://nodejs.org/en/ 先新建项目: 这里选择Node.js ...