首页 > 其他分享 >c语言的基础

c语言的基础

时间:2024-03-17 23:12:39浏览次数:26  
标签:字符 语言 int 基础 整型 printf 变量 常量

一:数据类型

1:整数类型

包括整型,长整型。短整型。区别在于,采用不同位数的二进制编码表示,占用不同的存储空间,表示不同的数值范围,32位操作系统

类型说明符 数的范围 字节数
int(整型) -2147483648 到2147483647 4
unsigned int(无符号整型) 0~65535,即 0~(2-1) 4
short int(短整型) -32768~32767,即 -2~(2-1) 2
unsigned short int(无符号短整型) 0~65535,即 0~(2-1) 2
long int(长整型) -2147483648~2147483647,即 -2~(2-1) 4
unsigned long(无符号长整型) 0~4294967295,即0~(2-1) 4

原码

反码

补码

 

对应的是%d

2:实数类型

实数类型数据又称为实数,实型数据或浮点数,指的是带有小数部分的非整数数值

c语言提供了2种表示实数的类型,单精度型(float)和双精度型(double)

float占4个字节,double占8个字节,double比float的数据精确的多

float对应的%f,double对应的%lf

 

3:字符型(char)

分为单个字符和字符串

'aaa' 就是单个字符

"aaaa" 就是字符串

字符是以ASCII形式存储的,字符'A'的ASCII对应的十进制数65,a:表示97,之间相差32

 

二:常量和变量

1:常量

就是值不能改变的为常量

1:整型常量

整型常量就是整数

可以用十进制,八进制,16进制

2:实型常量

又被称为浮点数,2种表示方法

(1)小数形式,由数字0-9和小数点组成,必须要有小数点 4.5 -45.232

(2)指数形式,由十进制加阶码,阶码就是e,或者E,e(E)前面必须要有数字,后面必须是整数

合法的:

2.3E5,5.6E-3,

不合法的:

123(没有小数点),E4(E之前没有数字),23.-E3(负号的位置不对),2.7E(无阶码)

3:字符常量

字符常量,是一对单引号表示的字符,‘5’就是字符常量

(1)只能用单引号标识,不能使用双引号

(2)字符常量只能是单个字符,不能是多个字符

(3)字符可以是字符集中的任意字符

大部分采用ASCII字符集

转义字符的含义

\n 换行 10(ASCII)
\t 制表 9
\b 退格 8
\0 空字符 0
\\ 反斜杠字符 92
\' 单引号字符 39
\'' 双引号字符 34
\ddd 1~3位八进制代表字符  
\xhh 1~2位十六进制代表的字符  

就是里面对应着某个数字

 

4:字符串常量

字符串常量,字符串的结束符为\0看不到,但是是存在的,遇到这个\0就结束

"a"和'a'是2个不同的常量'a'字符a代表的是个数字,而"a"代表的是a和\0,所以的话,2个事不同的常量

使用strlen函数来计算字符串的长度(不计算到\0)

#include <stdio.h>
int main()
{
    char arr1[] = "adada";    ###里面有\0    
    char arr2[] = {'a','b','c'};   ###主动存放变量,没有\0,就会打印其它的地方(就是存储空间),遇到\0就结束
    printf("%s\n",arr1);
    int len = strlen(arr1);
    printf("长度是%d\n",len);
    printf("%s\n",arr2);
    int len1 = strlen(arr2);
    printf("长度是%d\n",len1);
}    


#这个数组就是arr1[0] =  'a'等

 

5:define和const定义的常量(符号常量)

1、define定义常量

写在外面主函数的外面,并且必须是大写的

#define MAX 10
#include <stdio.h>
int main()
{
    printf("%d",MAX);
}
2、const定义变量

修饰的变量,本质是变量,但是不能直接去修改,所以是具有常量的属性的

可以用数组来判断,因为数组的话,里面必须是常来那个,不能是变量,写在主函数里面

#include <stdio.h>
int main()
{
    const int a = 10;
    printf("%d",a);

}

#下面的写法是错误的
#include <stdio.h>
int main()
{
    const int a = 10;
    a = 20;
    printf("%d",a);

} 

利用数组证明:

 

6:枚举常量

 

2:变量

1:局部变量

局部变量,就是在{}里面所定义的变量,只能在里面生效,在其他位置没有用

案例

#include <stdio.h>
int main()
{
    {
    int a = 100;
    printf("%d\n",a);
    return 0;
    }
    //printf("%d",a);  ##{}嵌套的话,里面的定义的,就只能在里面使用   如果在第一层的{}里面定义的话,就能直接在里面使用
}  

2:全局变量

就是定义在{}外面的变量,就能在全局的使用这个值,不受限制

案例

int a = 100;
#include <stdio.h>
int main()
{
    {
    printf("%d\n",a);   #里面也能使用
    }
    printf("%d\n",a);   ##外面也能使用
}  

3:变量的作用域

局部变量的作用域:就是在那定义的就只能在这个范围内使用

全局变量的作用域:就是在全局定义的话,就能在全局的范围内使用

4:变量的生命周期

 局部变量的生命周期:就是代码执行到了那个范围的的话,就生效,离开了这个范围的话代码就自动的销毁

全局变量的生命周期:程序执行后,就生效,程序结束后,就销毁,就相等于全局变量的生命周期等于程序的生命周期

 

3:返回的值用什么来替代

%d  打印整型

%c  打印字符

%s  打印字符串

%f  打印float类型数据

%lf  打印double类型的数据

%zu  打印sizeof的返回值

 

 

char表示字符常量和字符串常量

标签:字符,语言,int,基础,整型,printf,变量,常量
From: https://www.cnblogs.com/qm77/p/18071498

相关文章

  • 【C语言——浮点数在内存中的存储(补充篇)】
    一.概况     根据国际标准IEEE(电气和电子工程协会)754,任意一个二进制浮点数都可以表示为以下形式:V=(-1)^s*M*2^E1.(-1)^表示符号位,当s=0时,V为正数;当s=1,V为负数。2.M表示有效数字,M是大于等于1,小于2的。3.2^E表示指数。  二.存储过程IEEE754对有效数字M......
  • HTTP相关基础
    HTTP是什么HTTP就是超文本传输协议,也就是HyperTextTransferProtocol。HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。HTTP知识地图与HTTP相关的协议HTTP报文报文结构拿TCP报文来举例,它在实际要传输的数据之前附......
  • FastJson反序列化1-FastJson基础使用及反序列化流程分析
    1、FastJson简介及使用fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。1.1序列化JavaBean;假设现在程序中有一个类User,基本信息如下(省略构造方法及getset方法):packageorg.exampl......
  • linux libc.so.6软链接错误 导致ls等基础命令无法使用,系统无法登录
    转:linuxlibc.so.6软链接错误导致ls等基础命令无法使用_error:/lib64/libpthread.so.0:symbol__libc_dl_er-CSDN博客目录 一、背景说明二、处置步骤1、故障状态2、通过ls命令tab补全键查看文件列表3、查看glibc版本4、重建libc.so.6的软链接5、ssh远程连接报错6、......
  • go语言请求http接口示例 并解析json
    本例请求了天气api接口对接流程注册一个账号,对接免费实况天气接口阅读接口文档http://tianqiapi.com/index/doc?version=day请求接口解析json开发流程创建一个json.go文件需要引入的包import( "encoding/json" "fmt" "io/ioutil" "net/http")定义Wea......
  • PTA浙大版《C语言程序设计(第4版)》2—6
    练习2-6计算物体自由下落的距离一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/。输入格式:本题目没有输入。输出格式:按照下列格式输出height=垂直距离值代码长度限制  16KB时间限制  400ms内存限制  64MB......
  • 实验一 c语言开发环境使用和数据类型、运算符、表达式
    task1`#include<stdio.h>include<stdlib.h>intmain(){printf("o\to\n");printf("<H>\t<H>\n");printf("II\tII\n");system("pause:");return0;}`task2`#include......
  • VSCODE安装GO语言并配置go module启动
    前言go语言近期太火了,尤其是公司需要快速搭建服务上线,非常推荐大家学习,而且这个语言写法跟前端的ts非常相似,因此继php之后,nodejs+ts转go也是上手非常快。安装成功后查看版本goversion配置gomodule1goenv-wGO111MODULE=on2goenv-wGOPROXY=https://gopro......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    点击查看代码#include<stdio.h>#include<stdlib.h>intmain(){ printf("oo\n"); printf("<H><H>\n"); printf("IIII\n"); system("pause"); return0;}点击查看代码#include<stdio......
  • AI大语言模型与知识图谱的结合
    1.背景介绍随着人工智能的发展,大语言模型和知识图谱已经成为了AI领域的两个重要研究方向。大语言模型,如GPT-3,通过学习大量的文本数据,能够生成连贯、有意义的文本,被广泛应用于机器翻译、文本生成、问答系统等任务。知识图谱则是一种结构化的知识表示方法,通过图结构将实体和......