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语言可以用来干嘛?相关推荐

  1. c语言入门自学ppt文库,《C语言入门基础》PPT课件.ppt

    第3章C语言入门基础 在正式学习C语言之前首先要掌握C语言的基本知识 如数制 对象的命名即标识符 以及C语言中的数据类型等 通过本章的学习为以后几章打下基础 3 1标识符 在C语言中 程序的编写是运用 ...

  2. c语言在一个文件后面添加数据类型,c语言简单入门之简单运行和数据类型

    自学遇到前所未有的阻力了.没办法,只有去学习下底层的知识了.于是就学了下c语言,把过程记录下,方便自己复习之用! 初识c语言,什么也不知道,跟着老师敲代码就是,慢慢体会,这是我学习的笨办法,不会的先不 ...

  3. c语言入门经典18个程序,C语言入门经典

    面向C语言初学者,详细且全面地讲解了C语言的各种知识,从基础知识到高级应用,由浅入深,循序渐进地引领读者掌握C语言中的各种编程技术,体会C语言的灵活与强大.同时,<C语言入门经典>着眼于应 ...

  4. lua语言入门学习(二)lua语言的特点及注意事项

    lua语言入门学习 lua语言的特点及注意事项 文章目录 lua语言入门学习 lua语言的学习地址 一.lua语言特点 1.注释 2.全局变量和局部变量 3.lua数据类型 4.字符串类型 5.多变量 ...

  5. c语言入门自学免费app,C语言入门学习最新版下载-C语言入门学习app手机版v1.0.2 安卓版-腾飞网...

    C语言入门学习app手机版是一款c语言编程自学软件,零基础也可以学习,里面有海量教学视频,针对c语言不同程度的讲解都囊括其中.随时随地学习编程都可以,不用担心自己没有基础.还支持在手机上敲代码编程哦. ...

  6. R语言入门(19)-数据类型的转换_矩阵与数据框

    矩阵转换成数据框 > library(xlsx) > setwd("C:/Users/Administrator/Desktop/R/RData") > cars ...

  7. C语言二进制标识符,C语言入门基础大全,自学C语言必备知识!

    C语言作为一门非常适合编程入门的语言,打好基础的重要性不言而喻.所以特此奉上这一篇干货,希望小伙伴们能从中受益. 一.C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好 ...

  8. c语言中怎么转换类型数据类型,C语言中数据类型转换

    C语言的类型转换,可以分为两种:自动类型转换(隐式类型转换,有编译器帮你去完成)和强制类型转换(你知道自己想要什么,所以才转换). 对于自动类型转换,最常见的就是混合运算以及赋值运算,还有一种就是函数 ...

  9. c语言中主要有哪些数据类型,C语言的数据类型有哪些?

    C语言的数据类型 数据类型包含两方面的内容:数据的表示和对数据加工的操作.数据的全部可能表示构成数据类型的值的集合.数据全部合理的操作构成数据类型的操作集合. 在C语言中,把整型.实型和字符型称为基本 ...

  10. R语言入门教程知识 第一章 R语言

         R语言 R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. R语言特点 R作为一种统计分析软件,是集统计 ...

最新文章

  1. 计算机视觉相关术语知识
  2. 重庆理工大学计算机考研就业,重庆理工大学专业硕士含金量高吗?好就业吗?
  3. jsp后台批量导入excel表格数据到mysql中_PHP批量导入excell表格到mysql数据库
  4. [Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)
  5. 【摘录】《程序设计导引及在线实践》之排列
  6. Linux 多网卡bond
  7. Node.js--Stream
  8. 如何用 Python 解读著名的“三门问题”?
  9. 最新数据!妇科类用药领域,中成药占比高
  10. Centos7下ping通ip但是ping不通域名+firefox无法打开网页
  11. LINUX安装百度网盘
  12. 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
  13. uefi下添加显卡驱动
  14. 如何使用SMS向客户传递服务信息?指南在这里!
  15. word2vec 中的数学原理详解(三)背景知识
  16. 如何用钢笔工具抠图ps教程ps学习
  17. 双馈风力发电系统,双pwm变换器控制系统,采用直接转矩输入代替风力发电机
  18. 手机html编辑器gb2312,所见即所得HTML编辑器 - KindEditor 2.4
  19. hidetoolz源码_进程隐藏模块开源 调用HideToolz进行隐藏保护
  20. 安卓播放器实现后台播放服务

热门文章

  1. 【英雄算法联盟】新人指引
  2. 几步操作结束极域电子教室(仅适用于xp)
  3. 掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践
  4. CVE-2012-0002
  5. AJAX,Promise学习中遇到的bug及其解决方法记录
  6. 计算机一级考试题打开是空白文档,计算机一级考试ie题和收发邮件模拟题.docx...
  7. js实现文件上传进度条功能
  8. 中国光博会开幕进行时:聚焦光电硬科技,八大亮点抢先看
  9. 汇编语言---字符串操作指令
  10. python小学生教材-之前纳入小学教材的Python,现在真能学会了!