printf()_scanf()_取余运算符与取模运算符
基本的输入和输出函数的用法
printf();四种用法
1.printf("字符串\n");
2.printf("输出控制符",输出参数);
3.printf("输出控制符1 输出控制符2 。。。",输出参数1,输出参数2);
4.printf("输出控制符 非输出控制符",输出参数);
输出控制符有如下:
%d
%ld
%f
%lf
%x(or %X or %#X or %#x) 最好用%#X 输出如0X2F
%o
%s
scanf();两种用法:
1. scanf("输入控制符",输入参数);
scanf("%d",&i); //&是取地址符,注意%d后面不要加 \n
2. scanf("非输入控制符 输入控制符",输入参数);
非输入控制符必须原样输入
scanf()和printf()例子:
# include <stdio.h> int main(void)
{
int i;
char ch; scanf("%d", &i);
printf("i = %d\n", i);
scanf("%c", &ch);
printf("ch = %c\n", ch); return ;
}
# include <stdio.h> int main(void)
{
int i, j; scanf("%d %d", &i, &j);
printf("i = %d, j = %d\n", i, j); return ;
}
scanf()含有非输入控制符的用法:
# include <stdio.h> int main(void)
{
int i; scanf("m%d", &i); //m123 正确的输入 123是非法的输入
printf("i = %d\n", i); return ;
}
一次给多个变量键盘赋值的方法:
# include <stdio.h> int main(void)
{
int i, j, k; printf("请输入三个值,中间以逗号分隔: ");
scanf("%d,%d,%d", &i, &j, &k);
printf("i = %d, j = %d, k = %d\n", i, j, k); return ;
}
scanf()对用户非法操作的处理:
/*
2015年2月5日17:33:11
目的:scanf对用户非法输入的控制
*/
# include <stdio.h> int main(void)
{
int i;
char ch; scanf("%d", &i);
printf("i = %d\n", i); //.......
while ( (ch=getchar()) != '\n')
continue;
int j;
scanf("%d", &j);
printf("j = %d\n", j); return ;
} /*
输入123m 回车 345
输出:
--------------------
请输入2个数,中间用逗号间隔:
123,333m
i = 123 j = 333
请再输入2个数,中间用逗号间隔:
21,78
j = 333 l = 78
-------------------- 注意:
1. scanf前用printf提示
2. 333m后面多一个m,但是由于中间加了while语句,不影响后面输入
*/
取余运算符与取模运算符
除法/的运算结果和运算对象的数据类型有关,两个都是int则商是int。被除数和除数有一个是浮点型则商也是浮点型
取余%运算符的运算对象必须是整数,结果是余数,其符号和被除数的符号相同
测试取余运算符:
#include <stdio.h> int main(void)
{
printf("%d %d %d %d %d %d %d\n", %, %, %-, -%, -%-, -%, %); return ;
} /*
2015年2月5日20:38:30
取余%运算符的运算对象必须是整数,结果是余数,其符号
和被除数的符号相同
输出结果:
-------------------
0 1 1 -1 -1 -13 3
-------------------
*/
一元二次方程的求解:
# include <stdio.h>
# include <math.h> int main(void)
{
//把三个系数保存到计算机中
int a = ; //=不表示相等,表示赋值
int b = ;
int c = ;
double delta; //delt存放的是 b*b - 4*a*c
double x1; //存放一元二次方程的其中一个解
double x2; //存放一元二次方程的其中一个解 delta = b*b - *a*c; if (delta > )
{
x1 = (-b + sqrt(delta)) / (*a);
x2 = (-b - sqrt(delta)) / (*a);
printf("该一元二次方程有两个解, x1 = %f, x2 = %f\n", x1, x2);
}
else if (delta == )
{
x1 = (-b) / (*a);
x2 = x1; //右边赋给左边
printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n", x1);
}
else
{
printf("无解\n");
} return ;
}
printf()_scanf()_取余运算符与取模运算符的更多相关文章
- java 取模运算% 实则取余 简述 例子 应用在数据库分库分表
java 取模运算% 实则取余 简述 例子 应用在数据库分库分表 取模运算 求模运算与求余运算不同.“模”是“Mod”的音译,模运算多应用于程序编写中. Mod的含义为求余.模运算在数论和程序设计中 ...
- 计算机二级-C语言-程序修改题-190123记录-对整数进行取余和除以操作。
//函数fun功能:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中.高位仍在高位,低位仍在低位. //重难点:思路:因为不是字符串,所以可以把问题变成整数的操作,采用取余和除的操作.对整 ...
- Java之取余操作 "%"
取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...
- POJ 1745 线性和差取余判断
POJ 1745 线性和差取余判断 题目大意:每个数都必须取到,相加或相减去,问所有的方案最后的得数中有没有一个方案可以整除k 这个题目的难点在于dp数组的安排上面 其实也就是手动模仿了一下 比如 一 ...
- C++ int型负数除法取余问题
1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -2 2:负数取余,通过取模来判定 |小| % |大| = |小| 符号同前 |大| % |小| = |余| ...
- 大数计算_BigNum优化_加减乘除乘方取余_带注释_数组
#include <iostream> #include <algorithm> #include <cstring> #include <cstdlib&g ...
- 算数运算符: + - * / //(地板除) %(取余) **(幂运算) / 比较运算符 > < >= <= == !=
# ### python运算符 #(1) 算数运算符: + - * / //(地板除) %(取余) **(幂运算) var1 = 5 var2 = 8 # +res = var1 + var2 pri ...
- python 运算符 取余 取商 in not in
#运算符sum = 9//2 #取商print(sum) sum = 9%2 #取余print(sum) #inname1 = '小林'name2 = '林倩'if '林' in name1: pri ...
- 运算符:三目运算符,运算符优先级,sizeof,自增自减,取余
一://---------运算符-----------// 1.运算符是告诉编译程序执行特定算术或逻辑操作的符号. 2.按照功能划分: 算术运算符. 关系运算符与逻辑运算符.按位运算符. 3.运算符根 ...
随机推荐
- BGP&RIP
策略路由是2000之前 如果不通检查是否有相互影响的策略 BGP 25端 查看 25是上端起lan 地址是172.100.1.254 互联158是下端起wan 172.100.1.158 25的内 ...
- C++:创建线程初试
1.使用CreatThread创建 #include <iostream> #include <Windows.h> using namespace std; /* 创建一个线 ...
- C#运算符笔记
C# 原来也可以进行向量运算,这里解决了一个为时已久的疑惑. operator struct Vector { public double x, y, z; public Vector(double ...
- nginx的编译,和简单的配置问题
反向代理常见的lvs.haproxy. 缓存服务常见的.squid.vanish.常见的前端缓存.Apache是多进程的web服务器,Nginx是多线程的web服务器. Nginx的特点,对静态能力强 ...
- vue 侧边导航栏递归显示
import axios from "axios"; import tabs1 from "../tab_content/tab1.vue"; import m ...
- 决定整理一下canvas的基础学习
好久没有用过canvas,都要忘完了.还是决定复习一下以前的笔记,以及整理一下笔记,以后好查阅
- django 自定义用户表替换系统默认表
首先新建一个users应用,编写这个应用的models类. from django.contrib.auth.models import AbstractUser class UserProfile( ...
- 官方文档-Linux服务器集群系统(一)
转载-Linux服务器集群系统(一) LVS项目介绍 章文嵩 (wensong@linux-vs.org)2002 年 3 月 本文介绍了Linux服务器集群系统--LVS(Linux Virtual ...
- APUE学习笔记——6 系统数据文件与信息
1.用户口令:/etc/passwd文件 该文件中包含下列结构体信息.其中,当下主修熊passwd不再这里显示,是使用了一个占位符. struct passwd { char * pw_name; / ...
- LINUX中的DNS服务---DNS集群
一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...