【黑马程序员】-01c语言基础知识(变量和scanf)
2015-03-21 14:21
411 查看
------- <ahref="http://www.itheima.com" target="blank">android培训</a>、<ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一. 变量
1. 变量的定义:变量类型 变量名;
目的:分配内存空间给变量占用。(例如:int型占用4个字节,char占1个字节)
不同类型所占用得空间:
在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系统开发中非常关注内存,因此代码块的使用有利于用尽尽快释放,也即是说及时回收不再使用的变量。下边以一段代码为例解释代码块:
一般的变量我们都会定义在main函数之中,但是有时我们也会在main函数之外定义一些变量,这些变量称之为全局变量。
二. scanf函数
1. 在系统内部,内存都是以字节为单位。而且内存的寻址都是由大到小。
2. 变量越先定义,地址越大;
3. 如果一个已知类型的变量地址已经知道了,那么接下来的变量的地址就知道了。
下面以一段代码为例:
(1)基本定义形式为:
scanf("%d", 要接受数据的变量地址);
(2)scanf的其他用法和注意:
1> scanf也可以输入字符(char)和字符点(float/double);
2> 在多个变量输入时,scanf中用什么隔开,输入时就要用什么隔开,因此最好在输入之前,先打印一句话进行提醒用户;
3> 如果scanf中用空格,则输入可以用空格、Tab或者回车分隔;
4> 在scanf的“”中不能使用“\n”,这样会导致一直在输入,停不下来。
代码实现:
(1)普通使用
(2)输入一个串字符串
(3)输入6个字符串
(4)接收一个英文句子
一. 变量
1. 变量的定义:变量类型 变量名;
目的:分配内存空间给变量占用。(例如:int型占用4个字节,char占1个字节)
不同类型所占用得空间:
16位编译器 | 32位编译器 | 64位MAC编译器 | |
char | 1 | 1 | 1 |
int | 2 | 4 | 4 |
float | 4 | 4 | 4 |
double | 8 | 8 | 8 |
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; }
相关文章推荐
- 黑马程序员——C语言基础知识整理——数据类型、常量与变量
- 黑马程序员——java语言基础知识回顾(三)
- 黑马程序员_C#语言基础知识概括
- 黑马程序员——C语言基础(交换2个变量的值)
- 黑马程序员-java基础知识+环境搭建和变量配置
- 黑马程序员_Java环境变量配置及基础知识
- 黑马程序员————c语言基本知识——数据,标识符,常量,变量,printf ,scanf等基本知识
- 黑马程序员——java语言基础知识回顾(四)
- 学ios需要了解的C语言基础知识-10-内外部函数,内外部变量
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 黑马程序员——C语言基础——C语言中的关键字、标示符、数据、常量和变量
- 黑马程序员——java语言基础知识回顾(一)
- 黑马程序员_C#基础知识学习笔记:变量的使用和命名规则
- 黑马程序员--Java语言基础组成 —关键字、常量与变量
- 黑马程序员_c语言基础知识大汇总
- 黑马程序员——java语言基础——静态static知识小结
- 黑马程序员_java初级基础知识汇总(常量和变量、语句、函数、数组)
- 黑马程序员--02.Java语言基础--01.【关键字】【标示符】【常量】【变量】【运算符】
- 黑马程序员——Java语言基础——01.基础知识【基本常识】【java概述】【配置环境变量】
- C语言基础知识(个人简单总结的关于变量和函数方面)