C语言学习second--C语言基础学习
1.标准C语言
C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同。
ANSI C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语言”。ANSI C于1980年由美国国家标准局(American National Standards Institute,简称ANSI)对外发布,各种编译器几乎都完整支持ANSI C,市面上的书籍、大学里的教材、网上的教程大都以ANSI C为基础进行讲解,C语言中文网也不例外,也以ANSI C为基础。
如果你遇到其他称呼,如ISO C、C89、C90、ANSI / ISO C,要知道都是指一个版本,其中的故事请查看:C语言的发展及其版本
2.标示符
程序中所使用的在程序中使用的变量名、函数名、标号等统称为标识符,可以由"A-Za-z""0-9"和下划线组成,其中库函数由系统定义,除此之外,函数的第一个字符必须是以字母或者下划线组成,不能由其他开头;
以下标识符是合法的:
a, x, x3, BOOK_1, sum5
以下标示符是不合法的:
3s 以数字开头
s*T 出现非法字符*
-3x 以减号(-)开头
bowy-1 出现非法字符减号(-)
标识符应用需要注意的地方:
标准C语言不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C语言中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。
在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。
标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。
3.关键字
关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。
一些常用关键字:
分类 | 说明 |
---|---|
类型说明符 | 用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int、double等。 |
语句定义符 | 用于表示一个语句的功能。如【例1-3】中用到的if else就是条件语句的语句定义符。 |
预处理命令字 | 用于表示一个预处理命令。如前面各例中用到的include。 |
全部关键字请参考这里:C语言关键字及其解释[共32个]
4.运算符
C语言中含有丰富的运算符,运算符和变量,函数一起结合成为表达式,表示各种运算功能,运算符由+-*/等组成。
5.分隔符
在C语言中采用飞分隔符有逗号和空格两种,逗号主要用在类型说明和函数参数中,分隔各个变量。空格用于语句单词间,作为间隔符。在关键字,标识符之间必须要有一个以上的空格符作为间隔,不如会出现语法错误,例如把int a;写成inta;C语言编辑器将会把inta当成一个标识符处理,结果显然会出错。
6.常量
常量是值不能被改变的量。C语言中使用的常量可以分为数字常量,字符常量,字符串常量,符号常量,转义字符多种。这里就不再一一详细介绍。
7.变量
变量由用户自己命名,用来保存特定类型的数据,数据可以被改变,数据类型有整数,浮点数,字符等。
8.注释
标准C语言的注释以/*开头以*/结尾的串。在/*和*/之间的为注释,程序编译时,不会对注释做任何处理,注释可以出现在程序中的任何位置。注释用来向用户提示或者解释程序的意义。在调试程序中对暂不使用的语句也可以用注释符号注释掉,使编译跳过不处理,待调试结束后再取消注释。
另外在许多编译器中//也作为注释使用,虽然其不是C语言标准,但是早已成为事实标准,其只支持单行注释,/**/支持多行注释。
C语言学习second--C语言基础学习的更多相关文章
- Python学习--21天Python基础学习之旅(Day01、Day02)
21天的python基础学习,使用<Python从入门到实践>,并且需要手敲书中的code,以下为整个学习过程的记录. Day01: 安装python时要选择复选框 Add Python ...
- HTML5移动开发学习笔记之CSS3基础学习
CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...
- Python学习--21天Python基础学习之旅(Day08-Day21)
Day08: Chapter 11 异常 1.1如果try代码块中代码运行没有问题,则运行时跳过except代码块.(有异常时执行except中的代码,没有异常则跳过except中的代码) try-e ...
- Python学习,第一课 - 基础学习
前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...
- Python学习---Python的框架基础学习
框架基础 框架实质: 所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 B/S结构的响应: import socket def handle_requ ...
- 前端学习之路CSS基础学习二
CSS属性相关 样式操作: (1)width:为元素设置宽度 (2)height:为元素设置高度 ps:块儿级标签才能设置长宽行内标签设置长宽没有任何影响 p{ width: 30px; height ...
- 前端学习之路CSS基础学习一
CSS CSS定义如何显示HTML元素,当浏览器读到一个样式表,它就按照这个样式表来对文档进行格式化. CSS实例 每个CSS样式由两个组成部分:选择器和声明.声明又包括包括属性和属性值.每个声明之后 ...
- Python学习--21天Python基础学习之旅(Day05、Day06、Day07)
Day05: Chapter 8 函数 1.1函数定义与调用 1.1.1向函数传递参数 1.2传递实参 1.2.1位置实参:基于实参顺序 1.2.2关键字实参:调用时指出各个实参对应的形参 1.2.3 ...
- Python学习--21天Python基础学习之旅(Day03、Day04)
关于缩进问题,缩进几个空格都不影响程序解释(不会报错什么的),但一般缩进四个空格是为了可读性和规范. Day03: Chapter 5 1.if语句 1.1条件测试:值为True或False的表达式成 ...
- ElasticSearch7.3学习(三十一)----Logstash基础学习
一.Logstash基本介绍 Logstash 是一个功能强大的工具,可与各种部署集成. 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据(文件.数据库......).logstas ...
随机推荐
- class A<T>where T
where表明了对类型变量T的约束关系.where T: A表示类型变量是继承于A的,或者是A本身.where T:new()指明了创建T的实例时应该使用的构造函数.
- Mysql基础教程——mysql之一
教程列表:http://www.dxzy163.com/view/index7627.html 41 存储过程 40 全文索引与停止词 39 索引的管 38 索引概念 37 数据库备份与恢复 36 事 ...
- LeetCode_Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- WebSocket 简介
在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API.WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术.这个新的API提供了一个方法 ...
- android 中FragmentActivity中模拟返回键返回上一个Activity效果
FragmentTransaction中先加入一个Fragment,这个Fragment就是当前要显示的Fragment, 当通过事件触发显示第二个Fragment时,在加入第二个Fragment并调 ...
- SHELL中的特殊变量和结构
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置 ...
- VC断点不可用的问题
文章一 今天我笔记本的VC编译器莫名其妙的就进入不了断点了,而台式机确是好的,问题是一进入调试,断点就自动被取消了,郁闷了一下午,无法进入断点的原因很多,都有想重装VC编译器的打算了,晚上回来查查资料 ...
- OpenWrt编译
OpenWrt编译简单过程1,OpenWrt编译环境准备sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoco ...
- Han Move(细节题)
Problem 1609 - Han Move Time Limit: 1000MS Memory Limit: 65536KB Total Submit: 620 Accepted: 1 ...
- ROI 脚本
ROI: receiving open interface, 是提供给客户的接口, 通过 ROI 客户能够不通过EBS form 界面做receiving 的动作, 而是通过脚本插入相关的接口表 ( ...