《ios零基础教程》--scanf函数、基本运算
来源:互联网 发布:银行从业资格考试软件 编辑:程序博客网 时间:2024/05/17 01:46
今天学习了scanf函数、基本运算。
一、scanf函数
1、学习scanf函数,首先要理解地址运算符&,下面是关于地址运算符&获取内存的知识。
/* 1.内存寻址由大到小,优先分配内存地址比较大的字节给变量,也就是比如Oxffc4 > Oxffc1. 如下面的a、b、c地址值比较: a的地址是:0x7fff5fbff78c b的地址是:0x7fff5fbff788 c的地址是:0x7fff5fbff784 地址值:a > b > c 2.变量越先定义,内存地址就越大 3.取得变量的地址:&变量名 4.输出地址:%p 5.一个变量只有初始化之后才能使用 */#include <stdio.h>int main(int argc, const char * argv[]){ // 内存寻址由大到小 int a = 10; int b = 20; int c; //&是一个地址运算符,取得变量的地址; //%p用来输出地址 printf("a的地址是:%p\n",&a); printf("b的地址是:%p\n",&b); printf("c的地址是:%p\n",&c); //由于变量c没有经过初始化,所以直接拿来使用是不对的 //int d = c + 1; return 0;}
2、scanf函数是一个阻塞式函数,使用之后需要用户手动输入内容。如下是scanf函数的简单使用。
#include <stdio.h>int main(int argc, const char * argv[]){ // 定义一个变量,用来保存用户输入的整数 int number; //scanf函数只接受变量的地址 //scanf函数是一个阻塞式的函数,等待用户输入 //用户输入完毕后,就会将用户输入的值赋值给number变量 //函数调用完毕 scanf("%d",&number); printf("用户输入的值是%d\n",number); return 0;}
3、下面是scanf函数的一些其他用法总结。
1)可以输入字符串。
2)一次性输入多个数值,并且一某些符号离开。
3)如果scanf参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符
4)scanf中不能写\n
#include <stdio.h>int main(int argc, const char * argv[]){ /*1.可以输入字符串 char myc; scanf("%c",&myc); printf("输入的字符是%c\n",myc); */ /*2.一次性输入多个数值,并且以某些符号隔开 int num1 ,num2; scanf("%d,%d",&num1 ,&num2); printf("num1 = %d,num2 = %d",num1 , num2); */ //3.如果scanf参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符 int num1 ,num2; scanf("%d %d",&num1 ,&num2); printf("num1=%d, num2=%d\n",num1,num2); /*4.scanf中不能写\n int a; scanf("%d\n",&a);//错误写法 printf("a的值是%d\n",a); */ return 0; }
4、关于scanf函数的练习。
/* 提示用户输出两个整数,计算并且输出两个整数的和 */#include <stdio.h>int main(int argc, const char * argv[]){ //1.定义用户输入第1个整数 int num1 , num2; //2.提示用户输入第1个整数 printf("请输入第1个整数:\n"); //3.接收用户输入的第1个整数 scanf("%d",&num1); //4.提示用户输入第2个整数 printf("请输入第2个整数:\n"); //5.接收用户输入的第2个整数 scanf("%d",&num2); //6.计算和,并且输出 int sum = num1 + num2; printf("%d + %d = %d\n",num1 ,num2 , sum); return 0;}
二、基本运算
1、加+ 、减- 、乘* 、除/ 、模运算%
1)基本用法。
#include <stdio.h>int main(int argc, const char * argv[]){ int a = 10 + 1 + 3 - 3; int b = -10; int c = 10 * b; int d = 10 / 2; //取余运算(模运算) //%两边都是整数 //%取余结果的正负性只跟%左边的数值有关 //%左边的被除数决定,被除数是整数,余数就是正数,反之则反 int e = -10 % (-3); printf("%d\n",e); return 0;}
2)自动类型转换和强制类型转化
#include <stdio.h>int main(int argc, const char * argv[]){ /* //自动类型转换(double->int) int a = 10.8; //强制类型转换(int->double) int b = (int) 10.5; printf("%d\n",b); */ double c = 10.6 + 6; double d = 1/3; // double e = 3/2;//(这里的输出结果是1.000000,原因是首先是整数运算,结果是1,然后转换为1.000000)// double e = 3.0/2; double e = (double)3/2; printf("%f\n",e); return 0;}
3)练习
/* 1.提示用户输入两个整数,并输出两个整数的平均值(数学构造思维思考:先两数相加,再除2,得到平均值) 2.提示用户输入一个时间的秒数比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒 */#include <stdio.h>int main(int argc, const char * argv[]){ /*1.提示用户输入两个整数,并输出两个整数的平均值 //首先定义两个整数 int a ,b; //提示用户输入两个整数 printf("提示用户输入两个整数:"); scanf("%d %d",&a,&b); //平均值是两数相加之和除以2 int privite = (a + b)/2; printf("两整数的平均值是:%d\n",privite); */ /*2.提示用户输入一个时间的秒数比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒 //首先定义一个输入数和输出分钟和秒数 int time , f , m; //提示用户输入时间 printf("用户输入秒数:"); scanf("%d",&time); //将总秒数转换为分钟秒 f = time /60; m = time % 60; printf("对应的时间是%d分钟%d秒\n",f ,m); */ //老师的方法和思路 //1.提示用户输入时间 printf("请输入一个时间值(秒):"); //2.接受用户输入的时间 int time; scanf("%d",&time); //3.转换成对应的分钟和秒 int minute = time / 60;//分钟 int second = time % 60;//秒 printf("%d秒= %d分钟%d秒\n",time ,minute ,second); return 0;}
2、赋值运算
- = 赋值运算符
- += 加值运算符
- -= 减值运算符
- *= 乘值运算符
- /= 除值运算符
- %= 取余值运算符
#include <stdio.h>int main(int argc, const char * argv[]){ int a = 10; // a = a + 5; //复合赋值运算符 a += 5;// 既是a = a + 5; a *= 5;// 既是a = a * 5; a += 5 + 6 + 4;//既是a = a + (5 + 6 +4); printf("a的值是%d\n",a); return 0;}
3、自增运算符
1)基本用法
#include <stdio.h>//注意:自增自减运算符不能用在常数上,比如 b = 10++;int main(int argc, const char * argv[]){ int a = 10; a = a + 1;//11 a += 1;//12 a++;//13 ++a;//14 a--;//a -= 1; a = a - 1; printf("a的值是%d\n",a); return 0;}
2)++a 与 a++的区别
/* a++的结果:先将a的值赋给对象之后,再进行a的自增运算(先赋值,再自增) ++a的结果:进行a的自增自减运算之后,再将值赋给对象(先自增,再赋值) */#include <stdio.h>int main(int argc, const char * argv[]){ int b; int a = 10; //其结果:b = 10 + 12;// b = (a++) + (++a); //其结果:b = 11 + 11; b = (++a) + (a++); printf("b =%d\n",b); printf("a =%d\n",a); return 0;}
今天就学了这么多,消化好了也感觉蛮有成就感!
0 0
- 《ios零基础教程》--scanf函数、基本运算
- ios开发-c语言之scanf函数和基本运算的学习
- 《ios零基础教程》 ----for循环、函数 2014-3-23总结
- 黑马程序员 《ios零基础教程》 --函数 2014-3-25总结
- 黑马程序员(一)-------scanf函数、基本运算、流程控制
- 黑马程序员 《ios零基础教程》
- 基本函数scanf
- 黑马程序员——零基础学习iOS开发——04 c语言:基本运算、流程控制、函数
- 【Git零基础教程】(2)基本命令
- scanf函数的基本使用
- 黑马程序员-C语言笔记(二)scanf函数 基本运算 选择语句
- 黑马程序员——C语言基础语法--scanf函数、基本运算、流程控制
- 黑马程序员——C语言(scanf函数、基本运算、流程控制)总结
- iOS笔记:第二篇 C语言scanf函数、变量和运算符
- ios入门攻略 02篇 C语言基础【常量、变量、scanf函数、算术运算】
- Arduion基础教程之基本函数
- swift基础教程——基本运算符
- Java基础教程7-基本数学运算
- dp题目
- 数据库采用select方式拼接insert
- vm出现物理内存不足
- 八大排序算法
- 一些工具的安装(git,clapack)
- 《ios零基础教程》--scanf函数、基本运算
- Codeforces Round #136 (Div. 2) A. Little Elephant and Function
- PostgreSQL 保留关键字添加方法之一,不带参数的函数
- RED HAT 系统使用yum网络源
- Codeforces Round #237 (Div. 2)B. Marathon解题报告
- 移动4G的前景不容乐观
- GridPanel之DataView使用
- JSON数据格式
- Android中定时器的3种实现方法