C语言基础-部分基础理论知识汇总
本文为C语音部分理论知识汇总,主要包含:C语言的特点与程序结构 、基本数据类型、运算符和表达式、基本语句与顺序结构等内容。
本文为个人学习笔记整理,偏向理论知识介绍,具体内容在参考借鉴其他优秀文献的同时,添加了一些本人的口语化理解内容。仅供初学者交流借鉴,如有不足或错误,请与本人交流沟通。
1、C语言具有汇编语言的功能,系统可直接读取,C语言本身是一种高级语言。
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
除了机器语言和汇编语言外的所有编程语言,都属于高级语言。 所以C语言也是高级语言的一种。
2、C语音的特点
C语言是结构化程序设计语言,它有三种基本结构:顺序结构、选择结构(关键字:if、else、switch、case)、循环结构(关键字:for、while、do while)。
功能强大,具有丰富的数据类型及运算符。
基本类型:是C语言数据类型的基本型,其值不可再分解为其他类型。基本数据类型有3种:整型、实型、字符型
构造类型:一种由单种或多种数据类型构造而成的数据类型。例:数组,结构体,共用体,枚举类型
指针类型:一种特殊的数据类型,其值为某个量的内存地址。
空类型:一种无返回值函数的数据类型。 如:void
自定义类型:用新的类型名替代已有类型名使用。 用 typedef 定义
简洁紧凑,使用方便灵活。
C语言具有自我扩充能力 如:C++
C语言具有汇编语言的功能(大部分),从效率上来说 C的要低一些。
可移植性好:可在linux系统下运行
3、程序的概念
程序是计算机解决问题所需的一系列指令的集合。
程序=数据结构(干谁)+算法(怎么干)+程序设计方法+语言工具(具体用什么来编程)
4、应用程序的开发过程:
需求分析:分析解决问题的性质、特点、目标以及数据来源及其特征等。
确定算法:确定解决问题的方法和步骤,建立数学模型和确定相应的求解方法。
程序设定:确定应用程序结构, 设计出每个模块的数据结构和算法, 画出流程图等。
编写程序:根据确定的算法,用计算机语言(如 C语言)编写源程序。
调试程序:在一定的开发环境下调试和运行程序,得出程序运行结果。
5、2种常用设计方法
面向过程的程序设计方法(C语言)。
面向对象的程序设计方法(JAVA C++)。
6、C语言的基本数据类型具体内容及数值范围(32位系统)
在定义整型变量时,要注意数据类型允许的数值范围。
int整型:
短整型(2个字节) short int
长整型(4个字节) long int
基本整型(4个字节) int
无符号整型(4个字节) unsigned int
无符号短整型(2个字节)unsigned short int
无符号长整型(4个字节)unsigned long int
计算机1个字节是8 Bit位,有符号的第一个Bit位是符号位。
Int 第1位为符号位,后面32-1位,最大为31个1,其中最后一个1是2的0次方,最左边的是2的30次方,结果即为2的31次方减1,21亿
Unsigned int 无符号位,最大为32个1,即为2的32次方减1,42亿。
Short int 最大值为15个1,2的15次方减1 -32768~32767
Unsigend short int 最大值,2的16次方减1 0~65535
float 实型 包括单精度实型float、双精度实型double、长双精度型long double
char字符型
在C语言中没有字符串变量
(但可以用一个字符数组来存放一个字符串常量) char a[]="qwert"
7、C语言有以下几种类型的常量:
int整型常量:
十进制,如: 11, -13 , 0 , 65535 , …
8进制,由数字 0 开头,如: 014 -011 0177777
16进制,由前缀 0x 或 0X 开头,如: 0x11 0XAFBDE
2进制转8进制是3位一取,2转16是4位一取。
float 实型(浮点型)常量:
(1)小数表示形式,1.23 14.56。(2)指数表示形式 1.456e==14.56
char字符常量:
由单引号括起来 例: ‘A’ ‘B’ ‘$’
字符串常量: 用一对双引号括起的字符序列。例: “welcom qin !”
字符常量只能是单个字符,字符串常量可以含有多个字符。
字符常量占一个字节, 字符串常量占的字节数等于字符个数加1。
系统自动在每个字符串的末尾加上一个空字符NULL, 即’\0’ 作为字符串的结束。’\0’是一个ASCII码为0的字符。
‘A’在内存占1个字节;“A”在内存占2个字节
符号常量: 用标识符表示的常量
格式:
#define 标识符 常量
功能: 用该标识符代表后面的常量值
例: #define PI 3.1415926 用3.1415926替代PI
#define STAR ‘*’ 加上‘’即为STAR代表符号*,不带‘’,会被自动扩展为*乘号
预处理命令#define也称为宏定义,一个#define命令只能定义一个符号常量,用一行书写,不用分号结尾。
预处理命令通常放在程序的最前面。
8、占位符
%d 占位符,把整型数以十进制放在这个位置上;%o,把整型数以8进制放在这个位置上;;%x,把整型数以16进制放在这个位置上; %hd 短整型 %ld输出长整型
%s 占位符,把字符串放在这个位置上显示输出
%c 占位符,把字符放在这个位置上显示输出
%f 占位符,把浮点数放在这个位置上显示输出,%6.2f .2代表只显示小数点后两位,6代表需要以6位输出,如果低于6位会以空格对齐,正数右对齐,负数左对齐
9、运算符
基本算数运算符
操作数数目:单目就是一个数参与运算,双目就是两个数参与运算
优先级数越小,越优先算,“=”的优先级是14如: d=a+b*c
左结合就是从左边开始算,右结合就是从右边往左算左结合性(先左后右)例: d=3*5/4;右结合性(先右后左)例:d=a=3;
自增、自减运算符
所有函数里的计算,如:
printf语句里的计算,是从右往左计算
void main( ){ int c = 5 ; printf(“%d,%d,%d\n”, c+=c++, c+8, ++c); c = 5 ; printf(“%d\n”, (c+=c++,c+8,++c));
}
关系运算符
<表达式1><关系运算符><表达式2>
例: a >3
如果a=8,则结果为“真”;如果a=1,则结果为“假”。
例题:
#include<stdio.h>
void main( )
{ int a, b, c; a=b=c=10; a=b==c ; printf (“%d , %d , %d \n”, a , b, c ) ; a== ( b=c++*2 ) ; printf ( “%d , %d , %d \n”, a , b, c ) ; a= b>c>=100 ; printf ( “%d , %d , %d \n”, a , b, c ) ;
}
输出结果:
1 , 10 , 10
1 , 20 , 11
0 , 20 , 11
简单赋值运算符: =
复合赋值运算符: 如 +=、-=、*=、/=、%= 等
优先级14,右结合性。
如: a=3*5, a*10,a+8
C语言基础-部分基础理论知识汇总相关推荐
- c语言中0x12是什么进制,C语言中进制知识汇总
1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...
- C语言基础和语法知识
在新的学期,我打算学好数据结构和算法,打算好好学习计算机专业课程,考上四六级证. ## 什么是数据类型 在C语言中,不同数据类型在进行运算时首先要转换成同一类型,一种是自动转换,二是强制转换.shor ...
- python基础知识点大全-【python基础学习】基础重点难点知识汇总
python中decorator装饰器 语法示例: @decorator 什么是装饰器: 问题: 定义一个函数后 在运行时动态增加功能 又不想改动函数本身的代码 示例: # 希望对下列函数调用增加lo ...
- 基础抠图工具知识汇总
一:套索工具组 套索工具 1.大致框选,不适合精确抠图 多边形套索工具 2.适合抠有棱角的图片,直线(回车可快速成选区) 磁性套索工具 具有磁性,鼠标在物体边缘时会自动识别物体边缘,要求被扣物体边缘清 ...
- c++语言基础知识,c++语言基础知识汇总.ppt
<c++语言基础知识汇总.ppt>由会员分享,可在线阅读,更多相关<c++语言基础知识汇总.ppt(68页珍藏版)>请在人人文库网上搜索. 1.1,第二章 C+语言初步,本章主 ...
- C语言系列 #001_C语言基础知识汇总
文章目录 C语言基础 汇总笔记 1.经典入门:hello world 1.1.概念: 1.2.C语言写代码步骤: 练习题目 1.3.C语言关键字: 2.VMWare共享文件夹使用 3.C语言数据类型 ...
- R语言基础知识-学习笔记汇总
B站课程:生信必备技巧之R语言基础教程全集的代码笔记 1.R语言包安装 rm(list = ls()) # 设置镜像: options()$repos options()$BioC_mirror #o ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- 计算机公共基础知识论文,计算机等级考试二级公共基础知识汇总.doc
计算机等级考试二级公共基础知识汇总.doc 计算机等级考试二级公共基础知识 第1章 数据结构与算法 1.1 算法 1.1.1 算法的基本概念 算法是指对解题方案的准确而完整的描述.简单地说,就是解决问 ...
最新文章
- mysql挂科了咋办_大一挂科很难受怎么办?
- 初级Java程序员所面临的4大挑战
- 如何在 Mutt 邮件客户端中使用密文密码
- 在神经网络中使用dropout
- 机器学习hierarchical clustering_ICLR 2020 | 反事实因果理论如何帮助深度学习?
- adminLTE 教程 -4 轮播控件
- 移动负载均衡技术(MBL)
- ROS(12):双足机器人开发调研
- 牛红红的日记(平平无奇拿下域控)
- dbunit测试dao_用于数据库测试的DBUnit,Spring和注释
- 知识库如何跟其他业务系统结合
- 安卓模拟器7.1版本32位系统xp框架安装方法
- 对讲机的单工、双工介绍
- 2021-08-26 工作记录--YDUI-带确认按钮的弹出框
- PowerBI-筛选器函数-KEEPFILTERS
- FPGA分频电路实现(奇数,偶数,小数半分频,任意分频)
- 罗切斯特大学排名计算机排名,罗切斯特大学计算机工程硕士排名第35(2020年TFE Times排名)...
- 谷粒商城开发踩坑及部分知识点大总结
- Oracle中查询用户表/索引/视图的创建语句
- 云主机服务比价与预测系统开发心得--第一周(1)--git技术
热门文章
- 计算机专业基础综合408备考经验分享
- 咬定青山不放松,立根原在破岩中。千磨万击还坚劲,任尔东南西北风!
- 3G0众测靶场-0407 WriteUp
- 双目立体视觉 II:块匹配视差图计算
- 台球原理分析及瞄准新方法
- 基于Linux、QT、C++的“别踩白块儿”小游戏
- python计算平均绩点_【python】以五分制绩点为基础的绩点计算器,可计算学分加权平均...
- csdn竟然还有这种神器!后悔没有早点知道!超好用的csdn插件,别再犹豫了,赶快入手吧!
- 海银资本:在大数据创业企业中掘金
- 如何配置一台深度学习的主机