数据类型/常量变量/数据类型转化
数据类型
- 基本类型
- 整数
short int、int、long int 、unsigned short 、unsigned int、unsigned long; - 字符(char) 字符串 String
- 浮点型(小数)(float和double)
- 整数
- 构造类型
- 数组类型
- 结构体
- 共用
- 枚举
- 指针
- 空类型(void)
C语言的常量
整形常量、浮点型常量、字符型常量、字符串常量
整形(默认类型是int)
1. 十进制(0-9组成)
2. 八进制【0为前缀0123】(注意:八进制一般是无符号数**0192、-011**都是不合法的)
3. 十六进制【0x/0X为前缀,由0-9和A-F或者a-f组成】
4. 注意:整形+U/u为unsigned int 类型如123U/u 在整形后面+l/L为long int型,如12L
实型常量:浮点数(默认是double)
1. 小数形式
2. 指数形式
字符型常量('?')
- 扩展-转义字符
#include<stdio.h>
int main(void) {
char a, b, c, d;
a = '\43';
b = '\103';
c = '\x2a';
d = '\x41';
//字符型常量的输出会根据输出类型的不同而变化,如果输出为%d那就是数字,%c就是字符
printf("a=%d,b=%c,c=%c,d=%c\n", a, b, c, d);
//转义字符的输出 \"=" \40=空格 \n=换行 注意观察morning后面的!在终端打印的时候不见了
printf("\"good\40morning!\b\"\n");
printf("\123455");
return 0;
}
字符串常量
1. 可以使用空格字符、转义字符、其他
符号常量
1. (#define 标识符 常量值)
C语言的变量
变量的定义与使用
在C语言中所有的变量必须先定义后使用。
变量的定义
例如:
int r ;
float v ;
double x , y ;
char ch ;
变量的使用
使用变量的时候应该先赋值后引用
在程序中可以通过初始化、赋值表达式、或者输入函数scanf() 来对变量进行赋值
# include <stdio.h>
int main(void)
{
//变量的定义
int a , b , c ;
//变量的初始化
char ch = 'A' ;
//变量的初赋值
a = 10 ;
//赋值语句赋值
b = a + ch ;
//使用scanf语句
scanf_s("请输入:%d" , &c) ;
printf("%d,%d,%d,%c", a,b ,c,ch);
}
变量的初始化
int x = 2 ;
int s=1 , t = 1 ;
float f = 3.68 ;
char ch = 'A' ;
注意
- 对一个变量初始化后,该值被储存分配给该变量的内存空间中
- 不允许在初始化的时候 int x=y=3 ,除非y提前被定义,应该转化成int x=3,y=3;
- 初始化时,一般等号两边的数据类型是一致的,如果不一致会进行自动类型转化
整型变量
| 关键字 | 类型 | 占用直接 | 取值范围 |
|---|---|---|---|
| short int | 短整型 | 2 | (-2^15 2^15-1 |
| int | 整形 | 4 | |
| long int | 长整形 | 4 | |
| unsigned short | 无符号短整型 | 2 | 正 |
| unsigned int | 无符号整形 | 4 | 正 |
| unsigned long | 无符号长整形 | 4 | 正 |
获取数据类型的长度
#include <stdio.h>
int main()
{
short a = 10;
int b = 100;
int short_length = sizeof a;
int int_length = sizeof(b);
int long_length = sizeof(long);
int char_length = sizeof(char);
printf("short=%d, int=%d, long=%d, char=%d\n",
short_length, int_length, long_length, char_length);
return 0;
}
不同类型整形变量的定义与使用示例
# include <stdio.h>
int main(void)
{
int a,b,c,d;
unsigned int e;
a=5;
b=6;
e=10;
c=a+b;
//我觉得如果e的数字比较大可能导致一个数据丢失(自动类型转化)
d=b+e;
printf("c=%d,d=%d",c,d);
return 0;
}
短整型变量的溢出
# include<stdio.h>
int main (void)
{
short int a, b;
a=32767;
b=a+1;
printf("a=%d,b=%d",a,b);
return 0;
}
//结果现实-- `a=32767,b=-32768`
实型变量(小数变量)
| 关键字 | 类型 | 占用直接 | 取值范围 |
|---|---|---|---|
| float | 单精度 | 4 | 3.4-38~3.4E+38 |
| double | 双精度 | 8 | 1,7-308~1,7E+308 |
| 总结-单精度型的数据能保存7位有效数字,双精度的数据能保存16位有效数字 |
# include<stdio.h>
int main(void)
{
float a=124.1234132;
double b=1234.12341234;
printf("a=%f,b=%d",a , b);
return 0;
}
字符型变量
# include<stdio.h>
int main(void)
{
char c1,c2;
c1='A';
//65对应的就是'A'
c2=65;
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);
return 0;
}
include<stdio.h>
int main(void)
{
char c1,c2;
c1='A';
c2='B';
c1=c1+32;
c2=c2+32;
printf("%c,%c",c1,c2);
printf("%d,%d",c1,c2);
return 0;
}
其他
补充_ASCII码
本文来自博客园,作者:Development_UP,转载请注明原文链接:https://www.cnblogs.com/develop-up/articles/16449174.html

浙公网安备 33010602011771号