黑马程序员——C语言基础 scanf函数 基本运算 三目运算符
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函数 基本运算 三目运算符的更多相关文章
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 黑马程序员——C语言基础 函数
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...
- 黑马程序员——C语言基础 指针
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...
- 黑马程序员——C语言基础 char字符 数组
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
- 黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...
- 黑马程序员——C语言基础 字符串
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)字符串 1>字符串是由多个字符组合在一起形成的 2>初始 ...
随机推荐
- mybatis动态SQL中的sql片段
在mybatis中通过使用SQL片段可以提高代码的重用性,如下情景: 1.创建动态SQL <sql id="sql_count">select count(*)< ...
- 根据用户输入的二代身份证号码自动为其计算生成出生日期的javascript方法
if(idTypeIsChecked.checked == true){//如果选中的是二代身份证 var birthDateValue = document.getElementById('idNu ...
- task-clph
@UI方面 1 UILabel如果没有text内容,那么无论你怎么设置背景色都没用 UIButton就都可以用 2使用了新控件:UIStackView 使用步骤: //1创建 _horizontalS ...
- iOS开发 返回字符串的宽高
- (CGFloat)achiveWidthWithHeight:(CGFloat)height Font:(UIFont *)font { CGSize size = [self boundingR ...
- Sun Grid Engine (SGE)大型集群作业调度系统
Oracle Grid Engine 作业调度系统的简介(目前为止我用过PBS和SGE) SGE作业调度系统学习笔记 SGE作业调度 USE of Sun Grid Engine(SGE) 待续~
- Java调用Oracle存储过程过程中几个问题
1.java.sql.SQLException: 无效的名称模式: STKSETTLEADMIN.TY_MARKETDATA 用户STKSETTLEADMIN下没有TY_MARKETDATA,类型TY ...
- 编译maxscale
编译maxscale,需要依赖mariadb版本的MySQL.有自己的版本就是任性啊
- spring来了-02-HelloWorld
spring的各个版本说明: 在3.0以下的版本,源码有spring中相关的所有包[spring功能+依赖包],如:2.5版本 在3.0以上的版本,源码中只有spring的核心功能包[没有依赖包],如 ...
- hdu 3038 How Many Answers Are Wrong ( 带 权 并 查 集 )
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 229. Majority Element II -- 找出数组中出现次数超过 ⌊ n/3 ⌋ 次的数
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...