C语言基础(三)

变量:

在程序运行过程中会发生变化的量

定义格式:存储类型 数据类型 变量名;

回顾一下存储类型:auto static  external register

例如:(auto) int a;//定义一个整型变量a;

auto可以省略

int a=10;

数据类型:

名称

字节

取值范围(了解)

int

4

-2^31 ~ 2^31 -1

char

1

-2^7 ~ 2^7-1

short

2

-2^15 ~ 2^15 -1

long

32位:4 64位:8

32:-2^31 ~ 2^31 -1

64:-2^63 ~ 2^63 -1

float

4

有效位数:6-7

double

8

有效位数15-16

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

全局变量:定义在函数的外部,在整个程序中都可以被访问;

局部变量:定义在函数内部,在整个函数内都可以被访问

局部和全局变量的区别:

局部变量

全局变量

定义位置

函数内部

函数外部

初始值(不赋值)

值:随机值

值:0

作用域

整个函数中都可以

整个程序中都可以

存储位置

栈区

全局存储区

生命周期

同整个函数共存亡

同整个程序共存亡

常量:

在程序的运行中不会发生变化的量

分类: 

字符型常量

字符串型常量

整型常量

浮点型常量

指数常量

标识常量

字符型常量

使用单引号' '包裹的内容都叫字符,单引号只能引一个字符

'a'---->字符常量a

a----->变量a

'!'------>字符!

'1'----->字符1

'\n'----->换行

\ : 转义 后面可以跟随 字母 数字(八进制 十六进制 不写0) 符号

转义字符表示一个字符

'\x41'---->'\101'----->'A'

printf("你说:\"sakfkasfh\" ");

'\\'---->字符 \

'\?'---->字符 ?

字符串常量

使用双引号" "包裹的内容都叫字符串,系统会在字符串最后添加\0作为字符串结束的标志

"hello"----》字符串hello 字符的长度+1

"abc"

整型常量

1 2 3 4 5 6

浮点型常量

1.9 1.32

指数常量

3*10^2----->3e2

2*10^5------>2e5

注意;e的后面不能跟小数 只能是整数

标识常量

宏定义:用于标识常量或者表达式 宏替换 宏代替

定义格式:#define 宏名(一般大写) 常量或者表达式

特点:只做单纯的替换 不会进行计算

如:

#define N 2

#define M N+3 //2+3

#define NUM N+M/2+1 //2+2+3/2+1

void main()

{

int a = NUM;

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

}

答案:6

输入输出语句

按照格式输入输出

格式:

"%d" int

"%c" char

"%f" float

"%lf" double

"%s" 字符串

"%#x" "%x" 十六进制数

"%#o" "%o" 八进制

"%p" 地址

"%e" 指数

输出:printf

#include <stdio.h>

int printf(const char *format, ...);

功能:输出内容

参数:

1:字符串 如果包含格式则有后续参数

2:要和第一个参数中的格式对

返回值:输出的字符的个数

输入scanf

int scanf(const char *format, ...);

功能:可以输入一些内容(从终端输入)

参数:

1:字符串(只写格式)

2:用来保存数据的变量的地址

返回值:正确输入的个数

如:

int ret=scanf("%d%d%d",&a,&b,&c);

printf("ret=%d\n",ret);

按照字符输入输出

 输出:putchar

int putchar(int c);

功能:按照字符输出 向终端输出一个字符

参数:你要输出字符的ascii值 字符

返回值:输出字符的ascii值

putchar(’A‘);

putchar(97);

 输入:getchar

int getchar(void);

功能:按照字符输入 从终端输入一个字符

参数:无

返回值:输入字符的ascii

此时输入就只是输入一个值

int a=getchar();

putchar(a);

垃圾字符:

空格、tab、回车

回收:%*c 空格 getchar
1.%*c回收:只能回收一个字符

2.空格:可以回收多个

3.getchar:用于循环语句中

强制转换

在需要转换的变量前面加(要转换的类型)

int a=9;

flaot b =(float)a/2;

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值