C语言入门 —C语言基本数据类型, C语言可以用来干嘛?
C语言可以用来干嘛?
Q:上学的时候没有想过C语言可以干嘛,就是应付考试,毕业之后再问C语言能干嘛?
答案:整个计算机界的基石都是C语言搭建的,现在有这么多语言都号称要取代C,可是没有一个能做到,反正你想做的东西都能用c做。列举一下纯C语言的实际用途吧:
- 写操作系统,linux,windows等常见操作系统的内核,驱动。
- 高性能的web服务器如nginx。
- 常见数据库,缓存数据库,如redis,sqlite。
- 常见高级语言解释器如python,ruby。
- 生活中各种智能设备物联网设备中运行的操作系统和应用,如家用路由器,摄像头。
- 各种应用程序你都可以使用c来开发,比如linux系统下的绝大部分命令程序和工具都是c开发的,包括你用的ls,cat,tcpdump等等。
还有很多我实在列举不完,可以看看整个gnu开源组织下的大部分东西都是C语言开发的,上至用户应用,下至系统底层,都能用C来构建,是不是觉得C很强大?
以上问题我在知乎看见的网友发表的评论,C语言确实很强大,但也不是否认其他编程语言就很弱鸡!根据自己兴趣爱好、职业定位等等找到适合自己的编程语言就行啦!
C语言的数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
C 中的数类型可分为以下几种:
基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。
基本数据类型 | 占位字符 | 格式化字符 | 取值范围 | 备注 |
char | 1 byte/8bit(1字节 8位) | %c | -2^7 ~ (2^7-1) | |
unsigned char | 1 byte/8bit(1字节 8位) | 0~(2^8-1) | 0~255 | |
short [int] | 2 byte/16bit | |||
unsigned short | 2byte/16bit | 0 ~ (2^16-1) | 0 ~65535 | |
long [int] | 4 byte/32bit | |||
unsigned long [int] | 4byte/32bit | 0~ (2^32-1) | 0~4 294 967 295 | |
int | 4 byte/32bit | %d | -2^31~(2^31)-1 | -2147483648 ~ 2147483647 |
unsigned int | 4 byte/32bit | %u | 0~ (2^32-1) | 0~4 294 967 295 |
float(浮点型-单精度) | 4 byte/32bit | %f、%g | ||
double(浮点型-双精度) | 8 byte/64bit | %lf、%lg |
注意:int 在win32内存中占 4个字节(4Byte*8bit=32bit)以 %d 输出时有符号数则要去除1个符号位,可以表示的数据范围是 -2^31~(2^31)-1
小提示:字节
字节(Byte)是计算机中存储空间的一种单位,它是内存分配空间的一个基础单位,即内存分配空间至少是1个字节。
计算机中存储单位包括位、字节、千字节、兆字节、吉字节、太字节,这些单位之间的换算关系如下:
- 位 (bit,b):一个二进制数 0 或 1 占一位;
- 字节 (Byte,B):1B = 8bit ,一个英文字母占一个字节;
- 千字节(KiloByte ,KB):1KB = 1024B;
- 兆字节(MegaByte,MB):1MB = 1024KB;
- 吉字节(GigaByte,GB):1GB = 1024MB;
太字节(TeraByte,TB):1TB =1024GB。
二 、练习
题目:给出书本的单价,给出书本的数量,计算输出总价;
#include<stdio.h>
#include<math.h>
#include<conio.h>//getch()
#include<windows.h>struct booknumber{int mathnumber;int englishnumber;};
struct booknumber bn;main()
{ double math = 13.3;double english = 20.1;double sum;//总价int a ;printf("%d",sizeof(a));printf("请输入购买书的数量!任意键继续\n");getch();printf("请输入购买英语书的数量:");scanf("%d",&bn.englishnumber);// printf("购买英语书的数量为%d:\n",bn.englishnumber);printf("请输入购买数学书的数量:");scanf("%d",&bn.mathnumber);// printf("购买数学书的数量为%d:\n",bn.mathnumber);sum = (english * bn.englishnumber)+(math * bn.mathnumber);printf("购买书的总价为%lf:\n",sum);system("pause");//return 0;}
题目:输出如下
2//输入行数2
22 33 33 66 66 66 //显示两行,固定的间距(转义字符设定)
44 55 11 25 47 58
#include<stdio.h>
#include<stdlib.h>//
#include<conio.h>//
#include<windows.h>main()
{int i,j;//行、列int m,n;//char a[i][100];printf("请输入你需要显示的行:");scanf("%d",&i);printf("请输入你需要显示的例:");scanf("%d",&j);for(m=0;m<i;m++){printf("\n");for(n=0;n<j;n++){printf("*\t");}}printf("\n");system("pause");}
参考资料
- C数据类型
C语言入门 —C语言基本数据类型, C语言可以用来干嘛?相关推荐
- c语言入门自学ppt文库,《C语言入门基础》PPT课件.ppt
第3章C语言入门基础 在正式学习C语言之前首先要掌握C语言的基本知识 如数制 对象的命名即标识符 以及C语言中的数据类型等 通过本章的学习为以后几章打下基础 3 1标识符 在C语言中 程序的编写是运用 ...
- c语言在一个文件后面添加数据类型,c语言简单入门之简单运行和数据类型
自学遇到前所未有的阻力了.没办法,只有去学习下底层的知识了.于是就学了下c语言,把过程记录下,方便自己复习之用! 初识c语言,什么也不知道,跟着老师敲代码就是,慢慢体会,这是我学习的笨办法,不会的先不 ...
- c语言入门经典18个程序,C语言入门经典
面向C语言初学者,详细且全面地讲解了C语言的各种知识,从基础知识到高级应用,由浅入深,循序渐进地引领读者掌握C语言中的各种编程技术,体会C语言的灵活与强大.同时,<C语言入门经典>着眼于应 ...
- lua语言入门学习(二)lua语言的特点及注意事项
lua语言入门学习 lua语言的特点及注意事项 文章目录 lua语言入门学习 lua语言的学习地址 一.lua语言特点 1.注释 2.全局变量和局部变量 3.lua数据类型 4.字符串类型 5.多变量 ...
- c语言入门自学免费app,C语言入门学习最新版下载-C语言入门学习app手机版v1.0.2 安卓版-腾飞网...
C语言入门学习app手机版是一款c语言编程自学软件,零基础也可以学习,里面有海量教学视频,针对c语言不同程度的讲解都囊括其中.随时随地学习编程都可以,不用担心自己没有基础.还支持在手机上敲代码编程哦. ...
- R语言入门(19)-数据类型的转换_矩阵与数据框
矩阵转换成数据框 > library(xlsx) > setwd("C:/Users/Administrator/Desktop/R/RData") > cars ...
- C语言二进制标识符,C语言入门基础大全,自学C语言必备知识!
C语言作为一门非常适合编程入门的语言,打好基础的重要性不言而喻.所以特此奉上这一篇干货,希望小伙伴们能从中受益. 一.C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好 ...
- c语言中怎么转换类型数据类型,C语言中数据类型转换
C语言的类型转换,可以分为两种:自动类型转换(隐式类型转换,有编译器帮你去完成)和强制类型转换(你知道自己想要什么,所以才转换). 对于自动类型转换,最常见的就是混合运算以及赋值运算,还有一种就是函数 ...
- c语言中主要有哪些数据类型,C语言的数据类型有哪些?
C语言的数据类型 数据类型包含两方面的内容:数据的表示和对数据加工的操作.数据的全部可能表示构成数据类型的值的集合.数据全部合理的操作构成数据类型的操作集合. 在C语言中,把整型.实型和字符型称为基本 ...
- R语言入门教程知识 第一章 R语言
R语言 R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. R语言特点 R作为一种统计分析软件,是集统计 ...
最新文章
- 计算机视觉相关术语知识
- 重庆理工大学计算机考研就业,重庆理工大学专业硕士含金量高吗?好就业吗?
- jsp后台批量导入excel表格数据到mysql中_PHP批量导入excell表格到mysql数据库
- [Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)
- 【摘录】《程序设计导引及在线实践》之排列
- Linux 多网卡bond
- Node.js--Stream
- 如何用 Python 解读著名的“三门问题”?
- 最新数据!妇科类用药领域,中成药占比高
- Centos7下ping通ip但是ping不通域名+firefox无法打开网页
- LINUX安装百度网盘
- 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
- uefi下添加显卡驱动
- 如何使用SMS向客户传递服务信息?指南在这里!
- word2vec 中的数学原理详解(三)背景知识
- 如何用钢笔工具抠图ps教程ps学习
- 双馈风力发电系统,双pwm变换器控制系统,采用直接转矩输入代替风力发电机
- 手机html编辑器gb2312,所见即所得HTML编辑器 - KindEditor 2.4
- hidetoolz源码_进程隐藏模块开源 调用HideToolz进行隐藏保护
- 安卓播放器实现后台播放服务