C语言初阶

C语言初阶

数据类型(数据的长度与范围)

char     //字符数据类型  字符长度1  范围(-128~127)

short          //短整型  字符长度2  范围(- 32768 ~ 32767 )

int              //整形  字符长度4 范围(-21 4748 3648 ~ 21 4748 3647 (21*10^8))

long          //长整型  字符长度4   范围(-21 4748 3648 ~ 21 4748 3647 (21*10^8))

long long  //更长的整形   字符长度8  范围(-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 (922*10^16))

float          //单精度浮点数  字符长度4   范围(-2147483648‬, 2147483647)

double      //双精度浮点数 字符长度8    范围(-1.7E-308~1.7E+308)
  • 如何使用C语言算出数据类型的长度呢?
#include <stdio.h>
int main(){
    printf(%d\n”,sizeof(char));
    printf(%d\n”,sizeof(int));
}

这样即可知道每个数据类型的大小

  • 如何正确使用每个数据类型进行输出呢?
#include <stdio.h>
int main(){
    char a='a';
    printf("%c",a);
    short b=1000;
    printf("%hd",b);
    int c=10000;
    printf("%d",c);
    long d=100000;
    printf("%ld",d);
    long long e=1000000;
    printf("%lld",e);
    float f=1.0;
    printf("%f",f);
    double g=1.00;
    printf("%lf",g);
}

以上列出了一些常用的数据类型输出的格式

常量和变量

生活中有些值是不变的(比如:性别,圆周率,血型,等等)

有些值是可变的(比如你的体重,年龄,薪资等等)

在C语言中不变的值叫常量,可变的值用变量来表示。

定义变量和常量的方法

int age =150;
float weight=45.5f;
char ch='w';

变量的分类

  • 全局变量
  • 局部变量

全局变量在开头进行定义和赋值

局部变量在函数内进行定义和赋值

  • 全局变量与局部变量遵循局部优先原则
#include <stdio.h>
int a=123;//全局变量
int main(){
int b=12;局部变量
int a =1;
printf("%d",a);//打印a的值 局部优先故值为1
}

变量的作用域和生命周期

作用域

作用域,程序设计概念,通常来说,一段程序代码中所用到的名字并不是都有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。(与数学中的定义域类似)

生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2.全局变量的生命周期是:整个程序的生命周期。

  • 注意:全局变量使用起来方便,但为了防止冲突和安全性,尽量避免定义全局变量。

常量

C语言中的常量和变量的定义的形式有所差异

C语言中的常量分为以下几种:

  • 字面常量
  • const修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
#include <stdio.h>
int main(){
3.14;//字面常量
1000;//字面常量
const float pai= 3.14f; //const修饰的常变量
pai=5.14;//? const 修饰的常量是不可变的
#define MAX 100   //#define的标识符常量
return 0;
}

字符串与字符数组+转义字符+注释

字符串
“hello world.\n”

这种由双引号引起来的一串字符串称为字符串字面值,或者简称字符串。

注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算做字符串的内容。

字符数组

char arr[]={'h','e','l'};

字符数组类似与上面的形式,字符数组实际上是一系列字符的集合,也就是字符串(String)。在 C 语言中,没有专门的字符串变量,没有 string 类型,通常就用一个字符数组来存放一个字符串。

  • 符数组最后不会像字符串一样后面加\0作为结束的标志,这就会导致在打印字符数组时候输出的错误
#include <stdio.h>
int main()
{
    char arr1[] = "Heo";
    char arr2[] = { 'H', 'e', 'o' };
    char arr3[] = { 'H', 'e', 'o','\0' };
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}

运行情况:
在这里插入图片描述

转义字符

什么叫转义字符?转义字符顾名思义就是转变意思。 例如:我们在屏幕中要打印一个目录:c:\code\test.c

可实际的运行结果是:
在这里插入图片描述

在调试过程中实际的运行结果与我们所想表达的不和,这就是转义字符在作妖了~

下面就是一些常见的转义字符了

转义字符解释意思
?在书写连续多个问号时使用,防止他们被解析成三字母词
\’用于表示字符常量’
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0
  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值