C语言-数据类型、常量、变量、变量作用域、printf、scanf函数

4、数据类型介绍

数据:文本数据、音频、视频、图像、数字

C语言中有5大数据类型:基本类型、构造类型、空类型、指针类型、自定义类型

基本数据类型:

整型    长整型long int    整型int(4)    端整型short int

实型    单精度float(4)    双精度 double(8)

字符型   char(1)

内存:

1> 内存分配:4G存储大小:4*1024*1024*1024Byte; 内存的基本单元为一个字节(就是8bit)

2> 内存区域:栈 (存放局部变量)

堆 (存放动态分配的数据, 比如:类对象,函数malloc要求系统分

配的内存,动态分配的内存都需要程序要自己释放)

常量区 (存放常量)

代码区 (代码区:代码内的局部变量在这里分配内存)

全局变量区(静态区)

5、常量

固定不变的量

1)整型常量

2       0b开头   0b00001010;

8       0开头    012;

10      默认     10

16      0x      0xff01

2)实型常量

单精度:2.3f

双精度:4.5 (默认)

3)字符型常量

‘a‘  ‘ ‘  ‘$‘  ‘\n‘(转义字符)

4)字符串常量

"abc"  "a"

6、变量

在计算机中存储经常变量的数据

变量在内存中代表了一块内存区域

使用流程:

定义 ---- 初始化  ----使用

1)变量的定义:

int a;

int a,b,c;

变量定义完成以后,有值:

1)随机的 2)上一个程序在内存中驻留的 3)系统的

2)变量的初始化

1)先定义,后初始化

int a;

a = 10;

2)定义的同事进行初始化

int a = -1;

全部初始化:int a = -1,b=0;

部分初始化:int a,b = -1;

3)使用其他的变量初始化

int a = 0;

int b = a;

4)连续初始化

int a,b,c;

a = b = c =10;

3)变量的使用

int a =0;

int b;

b = a+10;

a = b;

4)变量名称遵守标识符的命名规则

7、变量的作用域

变量的使用范围

变量分:局部变量和全局变量

局部变量:函数或者代码块中定义的变量

作用域:从定义的位置开始向下 遇到 “}” 作用域结束

全局变量:在函数的外部定义的

作用域:从定义的地方开始,到当前文件结束

注意:

1)块的内部可以访问全局变量

2)在块的外部不能访问块内部的变量

3)块的内部可以定义和全局变量同名的变量(屏蔽)

为什么变量要初始化:

因为程序结束后,操作系统会释放内存,但是内存中得值还在,所以我们定义的变量有可能使用了上次系统释放的内存

8、printf函数

printf函数 标准的输出函数

输出的原理 : printf把要输出的内容--->输出缓冲区-->输出到控制台

格式:printf("格式说明",变量列表)

格式说明符:

%d  整型   %i 可以

%md  %0md

%c  字符型

%f  实型   %e  %g

%o  八进制

%p  地址

%x  16进制

9、scanf函数(阻塞式函数-等待用户的输入,如果不输入会一直等待)

C语言中标准的输入函数

接收用户从键盘上输入的内容

格式:scanf("格式控制",地址列表)     地址怎么来的?  &-取地址符号

1)接受一个数字

int a=-1;

scanf("%d",&a);

注意:在输入字符之前 输入了 回车、tab制表、空格 ,都被忽略

scanf("%5d",&a);  //%md  m就是要获取的数据的位数

2)接受多个数字

3)接受的是数字和字符混合

4)scanf的运行原理  先输入到缓冲区,然后输出到控制台;

//接收多个数字的问题

//    int a=-1,b=-1;

//    scanf("%d%d",&a,&b);

//    printf("a = %d,b = %d\n",a,b);

//接受指定的位数的问题

//    int a=-1;

//    scanf("%5d",&a);

//    printf("a = %d\n",a);

//字符混和输入

//    int a=-1;

//    char ch;

//    scanf("%d#%c",&a,&ch);  //","是一个普通的分隔符 ,输入数据的时候也要用“,”分隔

////    scanf("%d%c",&a,&ch); //有问题的,涉及到scanf的运行原理,稍后讲

//    printf("a = %d,ch = %c\n",a,ch);

//关于\n问题 ,

//    int a= -1;

//    scanf("%d\n",&a);  // \n 换行符,尽量避免这种写法

//    printf("a = %d",a,b);

int a=-1,b=-1;

char ch;

char c;

scanf("%d",&a); //接收三个内容,格式: 12 b 34

scanf("%c",&ch); //空格

scanf("%c",&ch);  //b

scanf("%c",&c);  //空格

scanf("%d",&b);  //34

printf("a = %d,ch = %c,b = %d\n",a,ch,b);

时间: 2024-10-25 13:16:12

C语言-数据类型、常量、变量、变量作用域、printf、scanf函数的相关文章

printf & scanf函数

一.printf函数 这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h> 1.用法 1> printf(字符串) printf("Hello, World!"); 2> printf(字符串, 格式符参数) 1 // 使用常量作参数 2 printf("My age is %d\n", 26); 3  4 // 也可以使用变量 5 int age = 17; 6 print

1.go语言之常量和变量

1.标识符与关键字 1.1标识符 在编程语言中,标识符就是程序员定义的具有特殊意义的词.比如变量名.常量名.函数名等. Go语言中的标识符由字母,数字和_(下划线)组成,只能以字母和_(下划线)开头. 例如:abc,_abc,_123,a123. 1.2关键字 关键字是编程语言中预先定义好的具有特殊含义的标识符.关键字和保留字都不建议用于变量名. Go 语言中有25个关键字: break default func interface select case defer go map struct

「C语言」常量和变量的表示及应用

先发布,还在修改完善中.. 在程序运行中,其值不能改变的量成为常量.在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 整型常量 即整常数,由一个或多个数字组成,可以带正负号 C语言中整型常量可用十进制.八进制和十六进制3种形式表示 十进制整数:由0~9数字组成,不能以0开始,没有前缀 八进制整数:以0为前缀,其后由0~7的数字组成,没有小数部分 十六进制整数:以0x或0X开头,其后由0~9的数字和a~f(或A~F字母组成) 另外长

02.数据类型常量与变量

一.变量 变量概述 在程序执行过程中,在某个范围内其值可以发生改变的量. 变量定义格式 数据类型 变量名 =  初始化值: 二.数据类型 Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了大小不同的内存空间. 注意事项: Java语言的整型常量默认为int型,声明long型常量可以后加' l '或' L ' ,如: int i1 = 600; //正确 long l1 = 88888888888L; //必须加L否则会出错 Java 浮点型常量默认为 doubl

黑马程序员——C语言变量内存分析与scanf函数

Java培训.Android培训.iOS培训..Net培训.期待与您交流! 1.变量的内存分析 1)变量以字节为单位,每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节).相邻房间的房号是连续的,相邻字节的地址也是连续的.计算机中通常以十六进制表示地址.变量所占用字节数跟类型有关,也跟编译器环境有关 2)内存由大到小寻址,优先分配内存地址较大的字节

4-printf &amp; scanf函数

一.printf函数 这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h> 1.用法 1> printf(字符串) printf("Hello, World!"); 2> printf(字符串, 格式符参数) 1 // 使用常量作参数 2 printf("My age is %d\n", 26); 3 4 // 也可以使用变量 5 int age = 17; 6 printf

笔记-C语言-第一节 进制 printf scanf

//使用变量之前,必须对变量进行声明! //声明变量的语法格式: //数据类型 变量名 = 初值; //变量名的命名规则 /** *  1.变量名只能以字母.数字.下划线组成,且数字不能开头. 2.变量名不能重复命名 3.变量名不能与系统保留字重名 4.变量名必须见名知义 */ //    3a a3 _a a_ a_b float char return numberOfStudent //    typeOfHero heroType //其中常见的数据类型有 char 字符型.short

1shell变量的作用域

Shell 局部变量 Shell 全局变量 shell全局变量的易错点: linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别 Shell 环境变量 shell配置文件 Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围).Shell 变量的作用域可以分为三种: 有的变量只能在函数内部使用,这叫做局部变量(local variable): 有的变量可以在当前 Shell 进程中使用,这叫做全局变量(g

Shell变量的作用域:Shell全局变量、环境变量和局部变量

Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱.但是如果同一个班级中有两个叫小明的同学,就必须用类似于“大小明”.“小小明”这样的命名来区分他们. Shell 变量的作用域可以分为三种: 有的变量只能在函数内部使用,这叫做局部变量(local variable)

【学习笔记】【C语言】scanf函数

1. 简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量 2. 简单用法 int age; scanf("%d", &age); scanf函数时,会等待用户的键盘输入,并不会往后执行代码.scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一