基于ubuntu的C语言基础
一,计算机的基本知识。
1,什么是计算机
能够进⾏运算的机器就叫做计算机。
2,计算机的基本特点
1,运算速度快:计算机内部电路组成,可以高速准确地完成各种算术运算。
2,计算精确度高:科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。
3,逻辑运算能力强:计算机不仅能进行精确计算,还具有逻辑运算功能,能对信息进行比较和判断。
4,存储容量大:计算机内部的存储器具有记忆特性,可以存储大量的信息,这些信息,不仅包括各类数据信息,还包括加工这些数据的程序。
5,自动化程度高:由于计算机具有存储记忆能力和逻辑判断能力,所以人们可以将预先编好的程序组纳入计算机内存,在程序控制下,计算机可以连续、自动地工作,不需要人的干预。
6,性价比高:几乎每家每户都会有电脑,越来越普遍化、大众化,21世纪电脑必将成为每家每户不可缺少的电器之一。计算机发展很迅速,有台式的还有笔记本。
总之:计算机就是⼀种电器,只有两种状态,⼀种是通电,⼀种是断电。
3,计算机中的进制数
3.1,二进制
计算机中的数是用二进制数表示的,它的特点是逢二进一,因此在二进制中只有0和1两个数字符号。
特点
(1)基数为2,数值部分用0和1表示
(2)逢二进一
(3)后缀用B或2表示,例如:(1010)2、(1010)B
(4)位权值为2^k (k为数位)
例如:
3.2,八进制
特点
(1)基数是8,数值部分用0~7表示
(2)逢八进一
(3)后缀用O或8来表示,例如:(1010)8、(1010)O
(4)位权值为8^k (k为数位)
例如:
3.3,十进制
十进制是日常生活中最常用的进制。
特点
(1)基数是10,数值部分用0~9表示
(2)逢十进一
(3)后缀用D、10或无后缀来表示,例如:(1010)10、(1010)D、1010
(4)位权值为10^k (k为数位)
3.4,十六进制
特点
(1)基数是16,数值部分用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示
(2)逢十六进一
(3)后缀用H、16或0X来表示,例如:(1010)16、(1010)H、0X1010
(4)位权值为16^k (k为数位)
例如:
4,进制之间的转换
4.1,十进制转二进制
将要转换的十进制整数除以2,取余数;再用商除以2,直到商等于0为止,将每次得到的余数按倒序的方法排列起来即为结果(简记为除二取余倒记法)。
例如:125=1111101B
4.2,二进制转十进制
以进制作为底,以当前的位数作为幂,作为对应位的权值 把⼆进制数的每⼀位乘以当前位的权值,最后把所有位的结果相加,(简记为:乘权相加法)
例如:(125)D=(0111110)B
4.3,二进制转八进制及八进制转二进制。
二进制和八进制的对照表
二进制转八进制时将三位二进制数看成一位八进制数,八进制转二进制时,将一位八进制数看成三位二进制数。
例如
4.4,二进制和十六进制之间的转换
二进制和十六进制之间的对照表
二进制转换为十六进制时,在小数点左边的数,从右向左将四位二进制数看成一位二进制数,不够的补0,在小数点右边的数,从左向右将四位二进制数看成一位二进制数。
十六进制数转换为二进制数时,将一位十六进制数转换为四位二进制数。
4.5,八进制数和十进制数之间的转换
十进制和八进制的转换,有两种方法:直接法与间接法。
直接法:
整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零,最后从最后一个余数向前排列就可以了
小数部分,与转二进制相同,这里是乘八取整法,也就是说小数部分乘以8,然后取整数部分,再让剩下的小数部分再乘以8,再取整数部分,……以此类推,一直乘到小数部分为零为止。
间接法:
就是先把十进制转换为二进制,然后再由二进制转换为8进制。
4.6,八进制和十六进制之间的转换
一般是不能直接转换的可以先将八进制或者十六进制转换为二进制或者其他进制数,在进行转换。
4.7,十进制和十六进制之间的转换
十进制--->十六进制:
对于整数部分,用被除数反复除以16,除第一次外,每次除以16均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。
对于小数部分,采用连续乘以基数16,并依次取出的整数部分,直至结果的小数部分为0为止。故该法称“乘基取整法”。
十六进制--->十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
二,C语言的简介
1,什么是计算机语言
计算机语言也叫机器语言:就是计算机能够识别看得懂且能够转换为⼆进制执⾏指令的语 ⾔。
2,什么是计算机程序
计算机每做⼀件事情就是⼀条指令,⼀条或多条指令的集合就是计算机程 序。
3,C语言的注释
3.1单行注释
#include<stdio.h>
int main()
{
执⾏内容,且只执⾏{}内的内容
顺序执⾏return 0;
}
//在英文状态下输入两个斜杠就可以注释这一行的内容。
3.2,多行注释也称为块注释。
#include<stdio.h>
int main()
{
执⾏内容,且只执⾏{}内的内容
顺序执⾏return 0;
}/*在英文状态下,输入/* */就可以进行多行注释。*/
4,C语言的基本结构
4.1,顺序结构: 程序由上往下一路执行下来。
#include<stdio.h>
int main()
{
执⾏内容,且只执⾏{}内的内容
顺序执⾏return 0;
}
4.2.1,分支结构(if ,if else if语句)
#include <stdio.h>int main()
{int a = 10;// 单个if语句 if(a >= 10){printf("1: a >= 10\n");}// if与else搭配if(a >= 10){printf("2: a >= 10\n");}else{printf("3: a < 10\n"); } // "if"、"else if"与"else"搭配:// "if"必须要有,"else if"语句可以没有或者有多个,"else"可以没有if(a > 10){printf("4: a > 10\n");}else if(10 == a){printf("5: a == 10\n"); }else{printf("6: a < 10\n");}return 0;
}
4.2.2分支结构(swich case语句)
#include <stdio.h>int main()
{int x = 1;switch(x){case 0:printf("x = 0\n");break;case 1:printf("x = 1\n");break;case 2:printf("x = 2\n");break;default:printf("x = 其他\n");break;}printf("switch语句结束!\n");return 0;
}
4.3,循环结构: 通常用来处理重复处理某段代码。
4.3.1,for循环语句
for语句执行的顺序是:1243 243 243 2(不符合条件跳出)
语句1通常用来做某些初始化,可以省略,但后面分号“;”不可以省略;
语句2起到判断作用,如果为真执行方括号“{}”里面的语句,假则退出循环;
语句3通常用来更新条件;
语句4是循环执行的代码;
for(语句1; 语句2; 语句3)
{语句4;// 其他代码
}
4.3.2,while 循环语句
while(判断条件)
{// 需要重复处理的代码
}
三,C语言的数据类型
1,整型
1.1,短整型 short
内存中占2个字节 取值范围:-32768 ~ + 32767 (2 Bytes)
1.2,整型 int
取值范围:-2147483648 ~ +2147483647 (4 Bytes)
1.3,长整型 long long int
占八个字节
2,浮点型
2.1,单精度浮点型float.
系统的基本浮点类型。至少能精确表示小数点后6位有效数字。一个float类型占用4个字节的存储位。其中最高位为符号位,紧接着8位为指数位,剩下的23位为尾数位。格式说明符:%f
2.2,双精度浮点型double。
双精度浮点类型。至少能精确表示小数点后12位有效数字。一个double类型占用8个字节的存储位。最高位为符号位,紧接着8位为指数位,剩下的52位为尾数位。格式说明符:%lf
3,字符型
字符型在其本质上就是整形,我们在C语言中使用char表示一个字符型,他占用一个字符的存储空间,字符型在存储时其内部存储的依旧是二进制数据,当我们读出时将会得到一个整形数据,而我们输出时会得到一个字符是因为我们人为的定义了一个对照表,这个表规定字符a的数值就是97,所以当我们遇到97时我们有两种读出方式,第一种以整数形式读出就是97,另一种就是以字符型读出,使用%c指定读出形式,则对照表则为a。
基于ubuntu的C语言基础相关推荐
- 《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础
本节书摘来自异步社区<基于ArcGIS的Python编程秘笈(第2版)>一书中的第1章,第1.1节,作者: [美]Eric Pimpler(派普勒) 更多章节内容可以访问云栖社区" ...
- 翁凯java程序设计总结(基于C语言基础上)
` 翁凯java程序设计总结(基于C语言基础上) 翁恺 Java程序设计B站视频链接 目录 文章目录 翁凯java程序设计总结(基于C语言基础上) 目录 p42逃逸字符 P52用类创造对象 P55对象 ...
- c语言逻辑运用及宏程序编写,基于C语言基础的宏程序编程
基于C语言基础的宏程序编程 王恒厂,周燕飞,姚裕,吕常奎 (南京航空航天大学工程训练中心,江苏南京211100) 摘 要:用户宏指令编程是FANUC系统所提供的一种先进的编程方法[1],使用变量代替程 ...
- C语言基础大全(基于千锋教育超详细教程)
C语言基础 1.第一个c语言程序 #include <stdio.h> int main() {printf("hello world");return 0; } [外 ...
- 我的全栈之路-C语言基础之数据存储
我的全栈之路-C语言基础之数据存储 我的全栈之路 2.1 计算机的计算单位 2.1.1 容量单位 2.1.2 速度单位 2.2 计算机底层为什么只能识别二进制 2.3 进制 2.3.1 进制概述 2. ...
- 树莓派4b学习笔记三--基于Ubuntu搭建Docker 和portainer,基于Docker 搭建Homeassistant、EMQX
文章目录 一.基于Ubuntu搭建Docker和portainer 1.Docker简介 2.Ubuntu20.04安装Docker-ce 3.Ubuntu20.04安装Docker图形化界面port ...
- Linux编译之(1)C语言基础
Linux编译之C语言基础 Author:Once Day Date:2023年3月11日 漫漫长路,才刚刚开始- 1.概述 在Linux下开发多源文件的C代码文件,是一定要了解Makefile的,虽 ...
- Go语言 基础语法学习 (未完待更......
文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...
- R语言基础入门(全)
R 是门语言,也是个环境.个人认为R有点像matlab. R自带多种统计学及数字分析功能.R的功能也可以通过安装包(Packages,用户撰写的功能)增强,个人感觉这个就是插件.因为S的血缘,R比其他 ...
最新文章
- 亚马逊贝索斯伸出橄榄枝后,巴菲特也力挺特朗普
- Qt修炼手册8_常用的容器类QVector和QList
- python 3.* + Eclipse mar.2 +pydev 5.0 环境搭建
- Java核心篇之HashMap--day6
- POJ 1159 (DP)
- python之rabbitMQ
- 【opencv有趣应用】二维码和条形码的检测
- 图书管理系统的5W1H
- .net中前台javascript与c#后台代码调用
- m_map投影_M_Map说明书中文版.pdf
- spark入门(1)
- word 代码块_Python+Excel+Word一秒制作百份合同
- matlab 200阶乘怎么表示,matlab阶乘怎么表示
- 计算机操作入门基础知识,电脑入门基本操作知识
- 跨境电商倍受青睐缘由为何,木瓜移动带你一探究竟
- html tooltips效果,CSS3+jQuery轻松实现工具提示(Tooltips)
- 总结解决 No suitable driver found for jdbc:mysql//localhost:3306/ 问题的解决方案,各种情况都已囊括,希望可以帮助到有需要的各位
- cocos2dx创造精灵的五种方法
- 2020下半年新机最新消息_2020下半年3款重磅新机:三星Note20被吹爆,华为Mate40差点意思...
- luoguP3353 在你窗外闪耀的星星