C和指针 (pointers on C)——第二章:基本概念

第二章 基本概念

不良的代码风格,不良的文档直接导致软件开发及维护代价高昂。

其实一个人总有他自己的代码风格,主要是坚持一种合理的风格,让大家容易读懂。

总结:

C是一种对大小写非常敏感的语言,所以Abc,abc这是两个不同的标识符。长度没有限制,但是31个字符以后会自动忽略。

程序的起点是main函数,绝大多数环境使用堆栈来存储局部变量和其他数据。

注释必需以/* 开始,*/结束,不允许嵌套。注释将被预处理器去除。

标识由字符数字和下划线组成,不能以数字开头,大写和小写不同。

关键字不能作为标识符使用。

警告:

1、 注释有时候可能会意外中止语句。

编程提示:

最好养成良好的程序风格和文档风格。

如:

1、 空行。标识不同的逻辑代码段。一眼就能看出某段功能的结束

2、 if的括号和表达式之间留下空格,使表达式更加突出。

3、 在绝大多数操作符中,要留下空格。当然过于复杂的表达式可以忽略一些。

4、 嵌套语句多使用Tab,如果嫌空行太长,那是因为嵌套太多,可以用其他函数来代替。

5、 注释最好成块出现。

6、 函数的定义中,返回类型独立一行,函数的名字可以在下一行的起始处。

摘选的一些问题:

1、把大型的程序放入一个单一的源文件中有什么优缺点?

优点:避免了重复定义的错误。避免了声明。

确定:显而易见,一个4万行程序的c文件是令人发指的。

2、编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都成对地出现。

// 成对输入花括号.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"

int _tmain(int argc, _TCHAR* argv[])
{
	int Add = 0;
	char temp;
	while ((temp = getchar()) != EOF )
	{
		if (temp == '}')
		{
			if (Add == 0)
			{
				printf("wrong!");
			}
			else
				Add -= 1;
		}
		if (temp == '{')
		{
			Add += 1;
		}
	}
	return EXIT_SUCCESS;
}

C和指针 (pointers on C)——第二章:基本概念

时间: 2024-11-12 11:09:38

C和指针 (pointers on C)——第二章:基本概念的相关文章

《时间序列分析及应用:R语言》读书笔记--第二章 基本概念

本章介绍时间序列中的基本概念.特别地,介绍随机过程.均值.方差.协方差函数.平稳过程和自相关函数等概念. 2.1时间序列与随机过程 关于随机过程的定义,本科上过相关课程,用的是<应用随机过程>清华林元烈老师的书.第1章第5节: 上面的定义比较清楚明白.按照本书上的说法,随机变量序列就是一个随机过程,换句话说,在每一个t时刻,所研究的量都是一个随机变量.随机过程完整的概率结构是由每个时刻的有限联合概率分布族决定的,幸运的是,联合分布中的大部分信息可以通过均值.方差和协方差等加以描述,而不用去直接

第二章:创建框架和窗体

没有翻译第一章是由于第一章仅仅介绍了怎样设置IDE.这方面网上文章非常多,我就没有翻译,直接从第二章開始. 以下是原文链接.翻译有不正确的地方请朋友们指正. http://www.rastertek.com/gl40tut02.html Tutorial 2: Creating a Framework and Window This OpenGL 4.0 tutorial will cover setting up a basic frame work and window. 这一章涵盖了创建基

第二章:创建框架和窗口

没有翻译第一章是因为第一章只介绍了如何设置IDE,这方面网上文章很多,我就没有翻译,直接从第二章开始. 下面是原文链接,翻译有不对的地方请朋友们指正. http://www.rastertek.com/gl40tut02.html Tutorial 2: Creating a Framework and Window This OpenGL 4.0 tutorial will cover setting up a basic frame work and window. 这一章涵盖了创建基本框架

Delphi知识点与技术概述【第二章 核心类库】

第三章 核心类库 Delhpi可视化编程依赖于庞大的巨型类库.Delphi 标准类库包含了数百个类以及数以千计的方法. 内容提要: *RTL包.CLX与VCL CLX用作linux中,VCL用作Windows中 VCL是一个独立的大型库(组件,控件,非可视组件,数据集合,数据感应控件,等等). 库的核心非可视化组件与类属于RTL包. Vcl结构: CLX结构: BaseCLX VisualCLX DateCLX NetCLX 库的VCL专用部分: VCL还提供了Windows专用的: Delph

使用JQuery快速高效制作网页交互特效第二章到第七章

第二章 JavaScript对象 浏览器对象模型(BOM)是JavaScript的组成之一,window对象是整个BOM的核心 window对象的常用方法 prompt():显示可提示用户输入的对话框 alert():显示一个带有提示信息和一个"确定"的按钮的警示对话框 confirm():显示一个滴啊有提示信息,"确定"和"取消"按钮的对话框 close():关闭浏览器窗口 open():打开一个新的浏览器窗口,加载给定URL制定的文档 set

读《大道至简》-第二章之感想

很多时候,很多同学和老师都要讲,都要强调,人必须要勤奋,要学会坚持.但是,我看了<大道至简>第二章之后,觉得有些时候,往往不是勤奋就能够解决问题的,懒人往往就是造就天才的温床.      很简单,因为懒人往往不会想在一个方面去默默耕耘,明明知道这样子下去,事情不会有什么起色,倒不如去找找捷径.我不一定是这类懒人的典型,但是某些时候自己真的发觉再努力于某件毫无起色的事情,倒不如我去想想有没有什么其他更省事的方法去解决.懒人就是这样子,不希望自己做白费力气的事情.天才也是这样子造就的,通过对内里的

数据结构期末复习第二章线性表

第二章:线性表 1.线性结构的基本特征答:线性结构是若干数据元素构成的有序(次序)集① 集合中必存在唯一的一个“第一元素”:② 集合中必存在唯一的一个 “最后元素”:③ 除第一元素之外,均有 唯一的前驱:④ 除最后元素之外,均有 唯一的后继. 2.线性表的顺序存储结构和链式存储结构分别是______.(  D )   A. 顺序存取的存储结构.顺序存取的存储结构  B. 顺序存取的存储结构.随机存取的存储结构   C. 随机存取的存储结构.随机存取的存储结构  D. 随机存取的存储结构.顺序存取

亮剑.NET第二章

第二章主要讲解C#中各种让人模糊不清的概念,用法,类型等等. 1.Equals()与==区别 当比较两个值类型时,二者基本一致,当比较引用类型时,==比较的是引用类型的地址是否一致,即两个引用是否指向同一个堆,Equals()比较的是两个引用指向的堆空间的内容是否一致.注意:当用一个引用类型对象A给另一个引用类型对象B赋值时,并不是复制一份堆,再把B指向堆,而是直接把A的值,即A指向的堆的地址给B,AB指向同一个堆. 2.const与readonly区别 const是编译时确定值,所以它只能用常

第二章--汇编语言 (修订版)

稍微有点儿计算机知识的朋友一定知道,计算机是只识别0和1的,最初那会儿,要写程序,就要用0和1来写,呵 呵,Cool吧!所以曾经有过的对程序员的崇拜,可能就源自那个时候吧 后来,人们发现用0和1来写程序,太不爽了,不但写起来不上手,而且回过头来看的话,应该很难再看明白了,总之出于这些原因,就有了汇编语言. 汇 编语言用一些助记符来代替0和1的多种组合,也就是各个指令,这样的话,从一定程度上来说,方便了许多(一头老牛:方便太多了)(一只菜鸟:一点儿也不方 便,完全看不懂).但是,汇编也同样不方便,