04-C语言数据类型
目录:
一、 注释
1 解释代码的意义,注意只是给程序员看的,不会编译。
2 通常使用”//”标识一行内容的注释
3 使用”/*…*/”注释多行
4 还可以用来调错,替换法或排除法
二、数据类型
1 分类:基本数据类型、引用数据类型
2 在C语言中,基本数据类型有四种:char、int、float、double
3 字符型char,底层存储的是整数,是字符表ASCII里面的编码。
常见字符编码:'A' = 65 、'a' = 97 、'0' = 48
4 char代表一个字符,用两个 '' 括起来,占位8位(二进制)内存,8位的 二进制数占用1个字节空间。中文占用2个字节
位bit:描述二进制的位数
字节byte:描述占用存储空间的大小
1KB千字节 = 1024B字节
1MB兆字节 = 1024KB
1GB吉字节 = 1024MB
1TB = 1024GB
1PB = 1024TB
输出函数printf输出char类型变量内容,所使用占位符为%f输出数据。
练习:
1 定义一个字符变量ch='A',使变量ch+4,输出结果%d,%c
2 定义一个字符变量ch='a',使变量ch+4,输出结果%d,%c
3 字符类型'5','6',有没有办法转换成相应的数值类型?
4 字符类型'f',有没有办法转换成'F'?
代码:
#include <stdio.h> //定义一个字符变量ch='A',使变量ch+4,输出结果%d,%c
void test1()
{
char ch = 'A';
char res;
res = ch + ;
printf("char:%c\n",res);
printf("char:%d\n",res);
} //定义一个字符变量ch='a',使变量ch+4,输出结果%d,%c
void test2()
{
char ch = 'a';
char res;
res = ch + ;
printf("char:%c\n",res);
printf("char:%d\n",res);
} //字符类型'5','6',有没有办法转换成相应的数值类型?
void test3()
{
char a = '';
char b = '';
int num = a - b;
printf("'5'->'%c'\n",a);
printf("'5'->%d\n",num);
} //字符类型'f',有没有办法转换成'F'?
void test4()
{
printf("请输入一个字符:");
char ch;
//输入函数 对应数据类型占位符
scanf("%c",&ch);
char res = ch - ('a' - 'A');
printf("%c->'%c'\n",ch,res);
} //将26个小写字母转换为对应的大写字母。 //转义符'\'
void test5()
{
char ch = '\"';
printf("ch:%c\n",ch);
printf(" a\n");
printf(" a\n");
} //数据溢出
void test6()
{
//无符号取值范围0~255
//有符号(默认)范围-127~128
char ch = ;
//如果是最大值溢出从最小值开始算
char ch2 = + ;
//如果是最小值溢出从最大值开始算
char ch3 = ch2 - ;
printf("ch2:%d\n",ch2);
printf("ch3:%d\n",ch3);
}
int main()
{
//test1();
//test2();
//test3();
//test4();
//test5();
test6();
return ;
}
三、 输入函数scanf键盘->程序
1 通过键盘向程序传输数据,等待用户输入,直到用户输入完毕回车。
Ctrl+c 强制停止程序运行
2 语法scanf("%c",&ch);
参数1 对应数据类型占位符
参数2 取变量地址,将键盘输入的数据存在相应地址中
练习:将26个小写字母转换为对应的大写字母。
四、转义符\
在做字符类型数据处理时,一些特殊的符号,需要转义处理,(特殊符号:与系统定义的语法符合冲突),转义处理,就会用到\,这就是转义符 。
常用的转义符处理:
\n 换行字符
\r 回车字符
\t 制表符tab,一个制表符等于8个空格字符
\\ 反斜杠
\' 单引号字符
\" 双引号字符
五、char数据范围
unsiged(无符号)char 8位 1字节 0~255
有符号char 8位 1字节 -128~127,默认是有符号的
溢出:超出最大值,从最小开始算
超出最小值,从最大开始算
六、int整形
1 int代表16位或32位二进制数,short/long修饰
short(int)16位,
long(int)32位
signed int第一位就是符号位,long long long int代表64位整数。推荐int类型描述整数。
2 在c语言中,整数有二进制、八进制、十进制、十六进制。
3 二进制数,以值0标识开始,到1结束,当为2时会向前进一位。
十进制数,以值0标识开始,到9结束,当为10时会向前进一位。
八进制数,以值0标识开始,到7结束,当为8时会向前进一位。
十六进制数,以值0标识开始,到15结束,当为16时会向前进一位。
10 A 11 B 12 C 13 D 14 E 15 F
4 取值范围
short 16位 2字节 有符号 -32768~32767
unsigned short 16位 2字节 无符号 0~65535
long 32位 4字节 有符号 -2^31~2^31-1
unsigned long 32位 4字节 无符号 0~2^31-1
练习:
1从键盘输入两个数,求出和、差、积、商。
2 从键盘上输入工资,输入税点,求税值。
代码:
#include <stdio.h> //从键盘输入两个数,求出和、差、积、商。
void test1(fuhao)
{
int num1;
int num2;
int he = ,cha = ,ji = ,shang = ;
printf("请输入两个整数(以空格隔开):\n");
scanf("%d %d",&num1,&num2);
he = num1 + num2;
cha = num1 - num2;
ji = num1 * num2;
shang = num1 / num2;
printf("%d+%d=%d\n",num1,num2,he);
printf("%d-%d=%d\n",num1,num2,cha);
printf("%d*%d=%d\n",num1,num2,ji);
printf("%d/%d=%d\n",num1,num2,shang);
} //从键盘上输入工资,输入税点,求税值。
void test2()
{
float salary;
float tax;
printf("请输入工资和税点(以空格隔开):\n");
scanf("%f %f",&salary,&tax);
float shuizhi = salary * tax;
printf("所交税值:%.2f\n",shuizhi);
}
int main()
{
test1();
//test2();
return ;
}
七、float与double
1 有整形和小数两个部分组成
2 c中,浮点型包括float、double、long double。
float 32位 4字节 2^32
double 64位 8字节 2^64
long double 96位 12 字节 2^96
3 输出结果中,使用占位符
%f float
%lf double
%g(科学计数法)
练习:
1 从键盘上输入圆的半径,pi的值3.14,求圆的周长和面积。
2 从键盘上输入矩形的长和宽,求矩形的周长和面积。
#include <stdio.h> //从键盘上输入圆的半径,pi的值3.14,求圆的周长和面积。
void test1()
{
float r;
float pi = 3.14;
printf("请输入圆的半径:\n");
scanf("%f",&r);
float mianji = pi * r * r;
float zhouchang = * pi * r;
printf("圆的面积是:%f,周长是:%f\n",mianji,zhouchang);
} //从键盘上输入矩形的长和宽,求矩形的周长和面积。
void test2()
{
float chang;
float kuan;
printf("请输入矩形的长:\n");
scanf("%f",&chang);
printf("请输入矩形的宽:\n");
scanf("%f",&kuan);
float mianji = chang * kuan;
float zhouchang = * (chang + kuan);
printf("矩形长是:%f,宽是:%f,的面积是:%.2f,周长是:%.2f\n",chang,kuan,mianji,zhouchang);
}
int main()
{
//test1();
test2();
return ;
}
八、进制转换
自动转换:%d十进制、%o八进制、%x十六进制
#include <stdio.h> int main()
{
int i = ;//十进制 1*10+1*1=11
int i2 = ;//0代表是八进制 1*8+1*1=9
int i3 = 0x11;//0x代表是十六进制 1*16+1*1=17
//转换自动转换 %o八进制 %x十六进制
printf("i其本身十进制:%d,转换八进制为:%o,转换十六制为:%x\n",i,i,i);
printf("i2转换十进制为:%d,转换十六制为:%x,其本身八进制:%o\n",i2,i2,i2);
printf("i3转换十进制为:%d,转换八进制为:%o,其本身十六进制:%x\n",i3,i3,i3);
return ;
}
04-C语言数据类型的更多相关文章
- C语言数据类型的理解
数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效 ...
- R语言数据类型
R语言数据类型[转!!]Zhao-Pace https://www.cnblogs.com/zhao441354231/p/5970544.html R语言用来存储数据的对象包括: 向量, 因子 ...
- Go语言 数据类型,流程控制
Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...
- C语言数据类型_02
C语言数据类型:
- R语言 数据类型
R语言数据类型 通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息. 变量只是保留值的存储位置. 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们. 您可能想存储各种 ...
- C语言数据类型取值范围
一.获取数据类型在系统中的位数 在不同的系统中,数据类型的字节数(bytes)不同,位数(bits)也有所不同,那么对应的取值范围也就有了很大的不同,那我们怎么知道你当前的系统中C语言的某个数据类型的 ...
- 一:c语言(数据类型和运算符)
#include <stdio.h> /*就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作.*/ int main() /*C程序就是执行主函数 ...
- -- c语言数据类型总结 --
C语言中的数据类型总结
- 第三课,T语言数据类型(版本TC5.0)
数据类型 TC综合开发工具里使用的是可变类型,就是在程序执行过程中,TC综合开发工具会自动把数据转换为需要的类型,转换失败会出现相应的提示但是在一些特殊的场景下,是需要做类型强制处理,那么这时就需要使 ...
- C语言数据类型
1.概述 C 语言包含的数据类型如下图所示: 2.各种数据类型介绍 2.1整型 整形包括短整型.整形和长整形. 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位 ...
随机推荐
- python初探-copy
python中,数据的拷贝有以下三种形式:赋值.浅copy和深copy.根据类型的不同,可以把数据分成以下两类:字符串和数字为一类,其他(包括列表.元祖.字典...)为一类. 在python中有池的概 ...
- ASP.NET MVC5 学习笔记-4 OWIN和Katana
1. Owin OWIN全名:Open Web Interface for .NET. 它是一个说明,而非一个框架,该声明用来实现Web服务器和框架的松耦合.它提供了模块化.轻量级和便携的设计.类似N ...
- SpringBoot Quickstart
SpringBoot Intro SpringBoot是顺应现在微服务(MicroServices)理念而产生的一个微框架(同类微框架可供选择的还有Dropwizard), 用来构建基于Spring框 ...
- 如何调试MFC中的内存泄漏
转载地址:http://www.cnitblog.com/martin/archive/2006/04/21/9460.html 首先,应该是MFC报告我们发现内存泄漏.注意:要多运行几次,以确定输出 ...
- CDLinux环境下WiFi密码破解
> 准备好所需软件以及上篇教程中使用Fbinstool制作的可启动U盘 2 > 解压CDLinux-0.9-spring-0412.iso到U盘的根目录 如图 3 > 打开fbin ...
- 高可用mysql集群搭建
对web系统来说,瓶颈大多在数据库和磁盘IO上面,而不是服务器的计算能力.对于系统伸缩性我们一般有2种解决方案,scale-up(纵向扩展)和scale-out(横向扩展).前者如扩内存,增加单机性能 ...
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- MyReport报表引擎2.6.5.0新功能
新的文本渲染引擎,打印旋转时保持文本高精度矢量输出,打印更清晰. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva29uZ195ZWU=/font/5a6 ...
- 2014多校3 Wow! Such Sequence!段树
主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=4893 这个问题还真是纠结啊--好久不写线段树的题了.由于这几天学伸展树.然后认为线段树小case了. ...
- Ext JS学习第三天 我们所熟悉的javascript(二)
•javascript之函数 •对于Ext开发者,我还是希望你能对javascript原生的东西非常了解.甚至熟练掌握运用.那么函数,无疑是非常重要的概念.首先在前面一讲,我们知道了函数也是一种数据类 ...