【黑马程序员】-01c语言基础知识(变量和scanf)
来源:互联网 发布:Mac软件删除 编辑:程序博客网 时间:2024/06/05 04:54
------- <ahref="http://www.itheima.com" target="blank">android培训</a>、<ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一. 变量
1. 变量的定义:变量类型 变量名;
目的:分配内存空间给变量占用。(例如:int型占用4个字节,char占1个字节)
不同类型所占用得空间:
16位编译器32位编译器 64位MAC编译器char 1 1 1int 2 4 4float 4 4 4double 8 8 8
在c语言中,无bool型。
2. 变量输出:
变量的输出常用的格式为:
(1)printf("%d", 变量名或者常量);//%d为格式符,输出时变量名或者常量占用%d的位置。
(2)输出类型的规定有以下几点:
%d:输出整型 %f:用来输出小数,默认为6位,可以通过“.x”来给边输出的小数位数,例如“%.4f”表示小数点后输出4位数。
%c:输出字符
printf("%d, %.2f, %c", 14, 13.2, 'd'); //整体的例子
(3)变量使用注意
每一个变量在使用时,都是有一定的作用域的,超出作用域,系统就会报错。一般,作用域的判断可以根据大括号的范围来确定。但是也有例外。
3. 代码块
因为在ios系统开发中非常关注内存,因此代码块的使用有利于用尽尽快释放,也即是说及时回收不再使用的变量。下边以一段代码为例解释代码块:
#import <Foundation/Foundation.h>int main(){ int score = 100; { //限定了score的使用范围 int score = 200; //在寻找score时,先寻找离自己最近的使用。因此输出为200. printf("score的值为:%d\n", score); } //内层score的作用范围到此结束。 printf("score的值为:%d\n", score); //输出为100. return 0;}4. 全局变量
一般的变量我们都会定义在main函数之中,但是有时我们也会在main函数之外定义一些变量,这些变量称之为全局变量。
二. scanf函数
1. 在系统内部,内存都是以字节为单位。而且内存的寻址都是由大到小。
2. 变量越先定义,地址越大;
3. 如果一个已知类型的变量地址已经知道了,那么接下来的变量的地址就知道了。
下面以一段代码为例:
#import <Foundation/Foundation.h>int main(){ int score = 100; //先定义,因此地址应该大 int score1 = 200; //后定义,地址应该小 printf("score的地址为:%p\n", &score); //输出score的地址:0x7fff5fbff7d8 printf("score1的地址为:%p\n", &score1); //输出score1的地址:0x7fff5fbff7d4 return 0;}4. 在使用scanf时,必须包含头文件<stdio.h>,否则不能调用。scanf函数是一个阻塞式函数,等待用户输入。用户输入完毕后,就会将用户输入的值赋值给接受的变量。
(1)基本定义形式为:
scanf("%d", 要接受数据的变量地址);
(2)scanf的其他用法和注意:
1> scanf也可以输入字符(char)和字符点(float/double);
2> 在多个变量输入时,scanf中用什么隔开,输入时就要用什么隔开,因此最好在输入之前,先打印一句话进行提醒用户;
3> 如果scanf中用空格,则输入可以用空格、Tab或者回车分隔;
4> 在scanf的“”中不能使用“\n”,这样会导致一直在输入,停不下来。
代码实现:
(1)普通使用
#import <Foundation/Foundation.h>int main(){ int c; //注意这里不能写入“\n”,&c是去c得地址。%d限制输入整型 scanf("%d", &c); char ch; //%c限制输入字符型 scanf("%c", &ch); printf("%d, %c", c, ch); return 0;}
(2)输入一个串字符串
#import <Foundation/Foundation.h>int main(){ char str[300]; //创建一个数组在存储输入的字符串。 printf("请输入一个字符串:\n"); //提示输入字符串 scanf("%s", str); //输出字符串 printf("接收的字符串为:%s\n", str); return 0;}
(3)输入6个字符串
#import <Foundation/Foundation.h>int main(){ char str[6][300]; //创建一个数组在存储输入的字符串。 //printf("请输入第一个字符串:\n"); for(int i = 0; i < 6; i++) { printf("请输入第%d个字符串:\n", i+1); //提示输入字符串 scanf("%s", str[i]); } //输出字符串 for(int i = 0; i < 6; i++) { printf("接收的第%d个字符串为:%s\n", i+1, str[i]); } return 0;}
(4)接收一个英文句子
#import <Foundation/Foundation.h>int main(){ //接收一个英文句子 char str[300]; //定义一个数组用来存储英文句子 char *strPoint = str; //定义一个指针,指向数组 printf("请输入一端英文句子:\n"); //接收句子 do { scanf("%c", strPoint); } while(*(strPoint++) != '\n'); *(strPoint-1) = '\0'; //为字符串添加结尾标识 //输入英文句子 printf("英文句子为:%s\n", str); return 0;}
- 【黑马程序员】-01c语言基础知识(变量和scanf)
- 黑马程序员--C语言scanf()和gets()区别。
- 黑马程序员(一)-------C语言基础知识
- 黑马程序员 -- IOS C语言 scanf函数
- 黑马程序员——C语言基础知识整理——printf函数与scanf函数
- 黑马程序员---C语言基础知识
- 黑马程序员——c语言基础语法,变量的内存分析,scanf函数
- 黑马程序员IOS基础---C语言学习之变量与内存及重要的scanf函数
- 【黑马程序员】【C语言】变量
- [黑马程序员]01 [c语言][重要的知识点]printf函数和scanf函数的数据输出与读取问题
- 3、黑马程序员-C语言的数据、常量和变量
- 黑马程序员-C语言之全局变量和局部变量
- 黑马程序员——C语言------指针和指针变量
- 黑马程序员——c语言学习---printf和scanf函数
- 黑马程序员-C语言printf和scanf函数中格式控制符使用小结
- ——黑马程序员——C语言基础--printf函数和scanf函数
- 黑马程序员———C语言 printf函数和scanf函数
- 黑马程序员——01-C语言基础知识总结
- windows下DNS手动修改无效
- 动态规划之深入灵魂的解读(非常好)
- 十款最出色的PHP安全开发库中文详细介绍
- linux如何关闭selinux
- DataColumn.Expression 语法
- 【黑马程序员】-01c语言基础知识(变量和scanf)
- dp(UVa - 10626 Buying Coke)
- (总结)Linux的chattr与lsattr命令详解
- 翻译之使用Gson将java对象转换为json对象
- 用Python尝试写一个土法X-Path分析器
- HDU 4008 Parent and son
- OC学习小结之Foudation -结构体
- linux bash及其特性
- python+matplotlib练习