初学C和C++每日笔记 求个大神指点指路

来源:互联网 发布:我的世界枪械js下载 编辑:程序博客网 时间:2024/06/05 07:09

业余时间学习一下C语言和C++ 每天 在此记录一下,以此每天有所提高


书馆找了三本书:看了第一本

书名:程序设计基础-从问题到程序(第2版)





让我了解一下程序编写是怎么一回事,我欲求速大致看了一遍,在此记录一下,一些概念的笔记。


机器语言-汇编语言-高级语言

程序语言的一个程序由 模块 语句 单词和基本字符组成

C语言由一个或多个函数构成, 函数由若干条语句构成,语句由单词构成,单词由基本符构成

基本字符集:英文字母、数字、空白符、特殊符

词法单位:

1.关键字,常见int和return

2.标识符 :字母或者下划线开始;可以由字母、下划线或者数字组成;大写字母和小写字母代表不同的标识符;注意两点 见名知意、是否区分大小写 ,

3.运算符:

 4.分隔符:() {} [] ; , ; ""  # \


自编了一段,用 红色标一下刚出现的错误

#include<stdio.h>


int main()  //代表函数   用括号  返回整型
{


int x,y,z;  //;表示结束语句
printf("请输入两个数\n");
scanf("%d%d",&x,&y);
z=x+y;
printf("这两数和是%d\n",z);
return 0;
}


程序设计的一般过程

问题-想法-算法-程序

问题:数据模型和基本思路

想法:数据表示和数据处理

算法:程序语言和编程环境



程序设计的关键是求解问题的方法和步骤,核心是算法

算法是解决问题的方法,严格地说,算法是对特定问题求解步骤的一种描述,是指令的有限序列。要求有穷性、确定性和可行性;

清楚准确地将问题的求解步骤记录下来即描述算法,常用的描述算法有自然语言、程序流程图和伪代码等;


程序的基本结构

按照程序文件的数量可分为单文件程序和多文件程序

单文件程序是将所有的程序代码都放到一个源程序文件中,多文件程序通常包含一个或多个自定义头文件和一个或多个源程序文件。

结构化程序应该使用多文件结构,尤其对于大型程序。



一、多文件程序


1.多文件程序的构成 

头文件通常包含某些程序文件模块的共享信息,如符号常量定义、数据类型定义、全局变量声明和函数原型等。

源程序文件通常包含主函数和其他函数定义,相应的函数原型一般放在头文件中。

整个程序的运行只能从主函数main开始,所以有且只能一个源程序文件包含主函数。一般将主函数放到一个源程序文件中,将其他函数定义组成若干个源程序文件。


2.将源程序文件分解为多个程序文件模块

如果源程序文件的规模较大,应该将源程序文件分解为几个程序文件模块,如果 一个项目需要多人开发,应该将任务分解,每个人编写的程序代码放在自己的程序文件模块中。


二、外部变量和外部函数

1.外部变量

在单个文件程序中, 全局变量的作用域是所在源程序文件。在多文件程序中,如果希望全局变量的作用域仍只限于所在源程序文件中, 而不能被其他源程序文件引用,则称为静态全局变量,定义静态全局变量时须加上关键字static。静态全局变量拒绝扩展全局变量的作用域,可以避免某个源程序文件中定义的全局变量影响其他源程序文件。


在多文件程序中,如果希望将全局变量的作用域扩展到其他源程序文件,则称为外部变量,在引用该外部变量的源程序文件中用关键字extern声明外部变量,在定义该外部变量时须加关键字extern,缺省extern则默认是外部变量。


2.外部函数

本质上,函数是全局的,函数的作用域从函数定义(或函数声明)的位置开始到程序结束。在多文件程序中,如果希望函数的作用域仍只限于所在源程序文件,即该函数只能被所在源程序文件的其他函数调用,则称为内部函数(也称为静态函数),在定义内部函数时函数首部须加上关键字static。把函数的作用域 限制在当前源程序文件,即使各源程序 文件中有相同的函数定义,相互之间也不会有任何关联,增加了模块的独立性。

在多文件程序中,如果希望将函数的作用域扩展到其他 源程序文件,则称为外部函数,在引用该外部函数的源程序文件中用关键字extern声明外部函数,在定义该外部函数时须加上关键字extern,缺省extern则默认为外部函数。



三、嵌套包含

头文件自身可以包含#include指令,如果一个源程序文件重复包含同一个头文件(称为嵌套包含),可能会产生编译错误。为避免出现嵌套包含现象,可以用条件编译有选择地编译源程序的不同部分。


1.条件编译

一般情况下,源程序中的所有语句都需要进行编译,但有时希望根据一定的条件去编译源程序中的不同部分,这就是条件编译。

条件编译常常和宏定义配合使用,使得同一源程序在不同的编译条件下得到不同的目标代码,提高了程序的灵活性。

用#define 定义符号常量称为宏定义,符号常量名称为宏名。

C语言提供了三种条件编译:

#if~#endif

#ifdef~#endif

#ifndef~#endif


2.保护头文件

当头文件包含其他头文件时,如果出现嵌套包含现象,会导致编译错误。可以使用条件编译将头文件的某些内容闭合起来,从而达到保护头文件的目的。



基本的算法设计技术

1.蛮力法

2.穷举法

3.递推法

4.分治法

5.动态规划法

6.贪心法




0 0