C# · 12月 20, 2021

c语言变量的使用

变量:

定义:在程序运行过程中,会发生改变的量;

语法:数据类型 变量名称 = 值;

要求:先声明、后使用。

数据类型

基本数据类型:char short int long(long long) float double

所占内存:

char 字符 1字节

short 短整形 2字节

int 整形 4字节

long 长整型 8字节

long long 8字节

Float 4字节

double 8字节

区别:保存的数值范围不同

char < short < int < long <long long

unsigned int:无符号整形

#include

int main()

{

unsigned int a = 10;

int b = -10;

if(a == b)

printf(“a == bn”);

if(a < b)

printf(“a < bn");

if(a > b)

printf(“a > bn”);

return 0;

}//运行一下这个程序,注意unsigned int 和int使用的一些细节

printf的格式化输出

%d int

%ld long

%lld long long

%c char

%f float

%lf double

%s char * or char[]

%p void*

需要掌握的一些运算符:

sizeof(类型或变量) 能够获取数据变量或数据类型所占用的内存字节数,返回值是ssize_t实际 就是long类型。

通常和strlen()一起出选择题,需要注意两者区别。

#include

#include

int main()

{

char str1[] = “helloworld”;

char str2[] = “hello world”;

printf(“sizeof(str1): %ld strlen(str1): %ldn”,sizeof(str1),strlen(str1));

printf(“sizeof(str2): %ld strlen(str2): %ldn”,sizeof(str2),strlen(str2));

return 0;

}//运行这个程序,找出两者区别

字符在计算机中是怎样存储的?

计算机不是只认识二进制吗?怎么运行printf(“%cn”,‘A’); 还是能打印出A?

没错,计算机只能识别数字,所以字符在计算机中是以ascii的形式存放的。

从上图中可以看出A的ascii是65,如果我直接写成printf(“%cn”,65);可以打印出A吗?

答案是当然可以,因为计算机能够识别二进制。计算机和程序员之间又需要一个翻译官,

那就是ascii码表。你告诉计算机65,其实就是通过程序告诉显卡,你把65通过字符的形式