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 ...
随机推荐
- java 数字补齐0
String str_f = str.substring(0, 1); int i = (Integer.parseInt(str.substring(1)) + 1); // 数字补齐0 Decim ...
- 海量数据面试题----分而治之/hash映射 + hash统计 + 堆/快速/归并排序
1.从set/map谈到hashtable/hash_map/hash_set 稍后本文第二部分中将多次提到hash_map/hash_set,下面稍稍介绍下这些容器,以作为基础准备.一般来说,STL ...
- StringBuilder是不是线程安全的?
测试条件: 开启2个并行执行任务,往同一个StringBuilder对象写入值 测试代码: ; static StringBuilder sbIsThreadSafe = new StringBuil ...
- Font Rending 的 Hint 机制对排版的影响
Font Rending 的 Hint 机制对排版的影响[转] 在设计一种 Font 时,设计者使用的是一个抽象的单位,叫做 EM,来源于大写 M 的宽度(通常英文字体中大写 M 的宽度最大).EM ...
- SCSI磁盘标准的架构与文档
来自scsi标准的官方网站http://t10.org/,具体的文档可以去浏览官方网站. (*) This chart reflects the currently approved SCSI pro ...
- CSS之清除浮动
一.清除浮动的目的. 1.当一个父元素的高度不写或为auto时,而且这个父元素内又有浮动的子元素,那么这时候该父元素的高度将不会自动适应子元素的高度,也可以说高度是0px; 有如下代码: <di ...
- 2014第3周六升级win8.1
今天上班主要是沟通了一个需求,然后思考下实现方案并记录下要点,晚上没有加班就回来,把操作系统升级到了win8.1,升级的重要原因是,原来的win7时常会卡顿,并且开关机慢,还有上面装了很多无用的影响效 ...
- hdu4393 Throw nails(只用模拟前面500来次,后面根据速度、位置、id值排序即可)
...
- ZOJ 1136 Multiple (BFS)
Multiple Time Limit: 10 Seconds Memory Limit: 32768 KB a program that, given a natural number N ...
- ftp报错 200 port command successful. consider using pasv 425 failed to establish connection
最近在公司做的项目是需要在客户端录制视频,然后通过ftp传到服务器端.客户端是windows,服务器端linux.今天用新的电脑配置好项目之后,测试数据传输时出现了“200 port command ...