Visual C++ 系列教程 第1章C/C++语言概述
第1章 C语言概述
什么是计算机语言
计算机语言:人和计算机交流和沟通的工 具、计算机和人都能识别的语言。
计算机语言发展阶段:
– 机器语言(由0和1组成的指令) – 符号语言(用英文字母和数字表示指令) – 高级语言(接近于人的自然语言和数学语言)
• 面向过程的语言 (非结构化的语言、结构化语言)
• 面向对象的语言
习题讲解
例: 关于标识符,下列说法不正确的是() A.库函数名称为预定义标识符,不建议用作用户 自定义标识符 B.关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分英文字母大小写 D.标识符中可以出现下划线,且可以出现在标识 符的任何位置。
习答案:C题讲解
习题讲解
例: 以下可以作为C语言自定义标识符的一组是: A.void return if B.printf include fabs C.Max _abc Main D.2abc pay$ sum-10
字符常量:如’?’ – 转义字符:如’\n’
字符串常量:如”boy” 符号常量:#define PI 3.1416
练习
以下四个选项中哪个是合法的实型常量 A.+1e+1 5e-9.4 B.-.60 12e-4 -8e C.123e 2e-4 +2e-1 D.-e3 0.8e-4 5.e-7
答案:操作系统是最基本的系统软件,是对硬 件机器的首次扩充,因此不是应用软件,B
习题讲解
机器语言是计算机唯一能够直接识别并接受的语言。 高级语言编写的程序必须先经过翻译或者编译才能 够生成机器语言,才可以在计算机上直接执行。
二、下面叙述中错误的是: A.程序设计是指设计、编制和调试程序的过程 B.程序设计语言的基本功能就是描述数据和对数据
第1章c语言概述
1.1
什么是计算机程序
用户可以根据自己的实际需要设计一些应用程序,例 如学时成绩统计程序、财务管理程序、工程中的计算 机程序等。 计算机的一切操作都是由程序控制的,离开程序,计 算机将一事无成。 计算机的本质是程序的机器 程序和指令是计算机系统中最基本的概念
1.2 什么是计算机语言
计算机语言:人和计算机交流信息,计算机和人都能 识别的语言
1.4.1 最简单的C语言程序举例
在以上程序各行的右侧,如果有//,则表示从此到本 行结束是“注释”,用来对程序有关部分进行必要的 说明。注释是给人看的,而计算机不执行。 说明:C语言允许用两种注释方式:
//:单行注释 可单独占一行 可出现在一行中其他内容的右侧 /*„„*/:块式注释 可包含多行
1.3 C语言的发展及其特点
2001、2004年先后进行了两次技术修正(TC1和 TC2)。 ISO/IEC 9899:1999(及其技术修正)被称为 C99。 C99是C89(及1995基准增补1)的扩充。 目前不同软件公司提供的各C语言编译系统多数并未 完全实现C99建议的功能。 本书中程序基本上都可以在目前所用的编译系统(如 VC++ 6.0,Turbo C++ 3.0)上编译和运行。
1.4.1 最简单的C语言程序举例
其中 main 表示“主函数”。Main前面的int表示此函 数的类型是int类型。在执行主函数后会得到一个值 (即函数值),其值为整型。每一个C程序都必须有一 个 main 函数。函数体由大括弧{}括起来。本例中主 函数内只有一个输出语句,printf是C编译系统提供的 函数库中的输出函数(详见第4章),双引号(双括号) 内的字符串原样输出。“\n”是换行符,即在输出 “This is a c program.”后,显示屏上的光标位置 移到下一行的开头。下一个输出的字符出现在此位置 上。每个语句最后有一分号,表示语句的结束。
第1章_C语言概述(C语言程序设计)
通过以上例子可以看出: 通过以上例子可以看出: 1. C程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的。每个程序由一个或多个函数组成, 程序是由函数构成的 其中必须有且仅有一个主函数main( )。 有且仅有一个主函数 其中必须有且仅有一个主函数 。 2. 一个可执行的 语言程序总是从 一个可执行的C语言程序总是从main函数开始执行,而不 函数开始执行, 语言程序总是从 函数开始执行 论其在整个程序中的位置如何。 论其在整个程序中的位置如何。 3. C对输入输出实行函数化。 对输入输出实行函数化。 对输入输出实行函数化 4. C程序书写格式自由,一行内可以写几个语句,一个语句 程序书写格式自由,一行内可以写几个语句, 程序书写格式自由 也可以分写在多行上。 也可以分写在多行上。 5. 可用 可用/*……*/对C程序中的任何部分作注释,注释可以写在 对 程序中的任何部分作注释 程序中的任何部分作注释, 程序的任何位置上, 也可不在同一行上。 程序的任何位置上,“/*”与“*/”也可不在同一行上。 与 也可不在同一行上 6. 在C语言中,大小写字母是有区别的。( 语言习惯用小 语言中, 。(C语言习惯用小 语言中 大小写字母是有区别的。( 写字母) 写字母)
主函数
main( ) { int x, y, z; printf(“Please input two integers:\n”) ; scanf(“%d%d” , &x, &y); z = add_xy(x, y); printf(“%d %d %d.”, x, y, z); }
西南林学院计科系
第 1章 概述
西南林学院计科系
第 1章 概述
将汇编源程序翻译为目标程序(机器语言)的过程称 为汇编 汇编。 汇编 连接的原因是由于在目标程序中还可能要调用一些 连接 标准程序库中的标准子程序或其他自定义函数等,由于 这些程序还没有连接成一个整体,因此,需通过“连接 程序”将目标程序和有关的程序库组合成一个完整的 “可执行程序”。
第1章 C语言概述(国考二级)
1.2 C语言简介
3.可执行程序 目标程序与库函数连接,形成完整的可在操 作系统下独立执行的程序称为可执行程序。 可执行程序的扩展名为“.exe”(在 DOS/Windows环境下)。 用户在编辑完C语言源程序(*.c)后,可以通 过编译将源程序生成二进制的目标文件 (*.obj)文件,然后再将目标文件连接生成 可执行文件(*.exe)。
了程序的某一层次结构。{}一般与该结构语句 的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可以比高一层 次的语句或说明缩进若干字符后书写(一般 缩进2个英文字符),以便看起来更加清晰, 增加程序的可读性。
1.2 C语言简介
1.2.4 C程序的几种类型文件 1.源程序 C语言源程序的扩展名为“.c”。 2.目标程序 源程序经过编译程序翻译所得到的二进制代 码称为目标程序,目标程序的扩展名为 “.obj”。
1.1 程序设计的基本概念
计算机硬件能直接执行的是机器语言程序,机器语言 都是二进制代码。汇编语言也称符号语言,用汇编语 言编写的程序称汇编语言程序。而高级语言因为代码 与人类语言相近,容易理解,成为现在主流编程语言。 汇编语言和高级语言都必须编译成机器语言才能执行。
高级语言程序设计经过多年的发展,分成两类:面向 过程的程序设计和面向对象的程序设计。面向过程语 言如Pascal和C等命令式语言;面向对象的程序设计语 言如C++、Java、Visual C++、Visual Basic、Visual C#.net等。
1.2 C语言简介
本书以Turbo C 2.0和Visual C++6.0为学习的平 台,分别简称为TC和VC。这两个平台在C/C++ 学习与实验系统中能直接调用并运行,方便 了在图形化操作系统下调试C语言的过程。因 为部分程序在这两个平台运行结果不同,其 不同之处在后面章节中都进行了说明。
第1章C语言C语言概述
C
语
言 程
Ritchie和Thompson在开发UNIX
序
设
计
第 一 章
C 语 言 概 述
C
语 言
和Unix的设计者Ken Thompson
程 序
接受美国国家技术勋章
设
计
第 一 章
C 语 言 概 述
C 语
C语言发展史
言
程 序
ALGOL 60语言
设
计 将CPL语 言煮干, 提炼出它 的精华
ADD AX, 1
C
语
程序设计语言的故事
言
程
序 设
BASIC语言编写的1+1程序
计
PRINT 1+1
第 C语言编写的1+1程序
一
章
C
#include <stdio.h>
语
main()
言
{
概 述
printf("%d\n", 1+1);
}
C
语
言
程
序
设 计
•
应用编程语言
– 机器语言
– 汇编语言
– Basic
语 前提到的例题.最后我认为你可以自己来写C语言标准函数,比
言 概
如strcpy(); strlen();strcat();最好不要过分依赖库函数.
述
C
语 言
学习C语言的参考书
程
C 序
设 1、轻松学习 程序设计
计 ————揭开计算机与程序设计的奥秘
何勤著
中国电力出版社 2008.8
2、C语言大学实用教程(第2版)
第1章 C#概述[58页]
C#实施了最严格的类型安全机制来保护它自身及其垃圾收集器。因此,程序员必须遵 守关于变量的一些规定,比如不能使用未初始化的变量,否则编译器将会警告用户;对 于对象的成员变量,编译器负责将它们置零;当数组实际上只有n1个元素时,不可能 访问到它“额外”的元素n,这使重写未经分配的内存成为不可能。C#允许在应用级或 语句级检查算术运算操作中的溢出,当溢出发生时会出现一个异常。此外,C#中传递 的引用参数都是类型安全的。
Visual C#实用教程(第3版)
C#中没有孤立的全局函数、 变量或常数。每个对象都必 须封装在一个类中,要么作 为一个实例成员(通过类的 实例对象访问),要么作为 一个静态成员(通过类型来 访问),这使用户的代码具 有更好的可读性,同时减少 了发生命名冲突的可能。
4.类型安全性
Visual C#实用教程(第3版)
Visual C#实用教程(第3版)
.NET框架
.NET Framework体系结构主要包括下列五大部分:
应用程序平台 (及Windows 应用程序等);
公共语言运行时(CLR);
Visual C#实用教程(第3版)
(1)
(2)
(3)
(4)
(5)
程序设计语言及公共语 言规范(CLS);
1.Visual Studio安装
Visual C#实用教程(第3版)
(1)从网上下载VS的安装包文件(例如:vs2015.ent_chs.iso),双击该文件解压,其中 vs_enterprise.exe启动安装向导。 (2)在“选择安装位置”栏单击 指定VS的安装路径(本书采用默认);在“选择安装类型”下选 中“自定义”选项(如图1.3所示),单击【下一步】按钮。
1.Visual Studio安装
VisualC#程序设计教程 第1章 Visual C# 软件开发基础
1.2 C#程序的基本结构
1.2.3资料链接:Console类
1.3 图书管理系统项目分析初步
知识目标: 1.理解图书管理系统程序的功能设计 2.了解对象的设计 技能目标: 初步掌握项目分析方法
1.3 图书管理系统项目分析初步
1.3.1功能模块分析
图书管理系统主要包括用户登录、借书、还书、用户管理、 图书查询和读者查询等五个主要操作模块 登录模块
5.属性
1.1 Visual Studio 2005开发环境
6.工具箱
1.1 Visual Studio 2005开发环境
7.错误列表
1.1 Visual Studio 2005开发环境
1.1.2创建Windows应用程序
1.启动Visual Studio 2005后,选择“创建项目”,打开“新建项目” 对话框,如图1-10所示,选择Windows应用程序,输入项目和解决方 案的名称,并输入文件的路径,单击“确定”。 2.在工具栏中拖动Label和Button控件至Form中,如图1-11,这时在 From中添加了两个控件Label1 和Button1,修改Label1的Text属性为 “Hello World”,ForeColor属性设为“Red”,修改Button1的Text属 性为“确定”。双击Button1,即注册了按钮的click事件,并打开 form.cs文件,在代码编辑器中添加以下代码: private void button1_Click(object sender, EventArgs e) { label1.Text = "这是第一个C#程序"; } 3.单击运行按钮或按F5键,运行程序,单击“确定”按钮,可以看到 程序执行效果。
大学课程《Visual Basic程序设计教程》教学PPT课件:第1章 概述
1.3.4 工具栏
Visual Basic系统提供 了4种常用的工具栏,它们分 别是编辑工具栏、标准工具 栏、窗体编辑器工具栏、调 试工具栏。用户还可以根据 自己的操作习惯,对以上的 工具栏进行重新组合,自已 定义工具栏。
第一章 概述
1.3.5 常用工作窗口
1.工程(Project)资源管理器窗口
口,输入Visual Basic 可执行文件并运行。
第一章 概述
1.3.2 标题栏
标题栏位于屏幕界面的第一行,它包含系统程序图标、系统程序标 题、最小化按钮、最大化按钮和关闭按钮5个对象.
第一章 概述
1.3.3 菜单栏
菜单栏位于系统标题栏的下方,它包含文件、编辑、视图、工 程、格式、调试、运行、查询、图表、工具、外接程序、窗口和帮 助13个菜单选项。
中,首先,根据所要解决问题,设计解决问题的数据结构和算法; 然后,根据数据结构和算法用计算机语言编写相应的程序代码;最 后,测试代码的正确性,直至能够得到正确的运行结果为止。
第一章 概述
1.1.2 程序设计语言
1. 程序(Program) 程序是指令序列,是用语言描述的,且是能够完成指定工作操
作步骤。 程序=算法+数据结构
第一章 概述
1.3 Visual Basic 集成开发环境
• 1.3.1 启动Visual Basic • 1.3.2 标题栏 • 1.3.3 菜单栏 • 1.3.4 工具栏 • 1.3.5 常用工作窗口 • 1.3.6 退出Visual Basic
1.3.1 启动Visual Basic
第一章 概述
程序设计语言是由语法和语义构成的,语法是一组规则,它描 述程序的结构形式和规律。只有合法的程序(语法正确)才能编译, 才能执行;语义是一组规则,它定义的是程序的执行意义。
第1章 概述
…………………………
类
类
类
根据类的功能,将其划分到不同的命名空间中。
下午6时24分
.NET 框架中常用的命名空间
命名空间 System System.Collections 类的描述 定义数据类型和数据转换的基本.NET类 定义列表、队列、位数组、字典、哈希表等集合类
封装、继承、多态性等特征。 每种类型都是一个对象,不存在全局函数、全局变量等 概念,所有变量、常量、属性、方法全性与错误处理。 ☆版本处理技术。 ☆灵活性和兼容性。
下午6时24分
1.1.2 C#语言的发展历程
☆ 2000年,C#语言诞生。 ☆ 2003年,微软发布了C#语言规范1.2(简称C#1.2), 2003使用的是C#1.2。 ☆ 2005年,微软发布了C#语言规范2.0(简称C#2.0),VS2005使 用的是C#2.0。 ☆ 2007年,微软发布了C#语言规范3.0(简称C#3.0),VS2008使 用的是C#3.0。
public static void Main (string [ ] args ) { Console.WriteLine (“My First C# Program!”); Console.ReadLine( ); }
下午6时24分
30
1.3.3
文件结构
一个应用程序由一个或者多个类组成。 任何一个程序功能都必须封装在某个类中。 一个应用程序可以由一个文件组成,也可以有多个文件组成, 文件名可以和类名相同,也可以不同。 建议:每个类一个文件,文件名最好和类名相同。 C#源程序文件的扩展名为.cs,一个源文件中可以有一个类, 也可以有多个类 。 类中的每一个方法都要有一个返回值,对于没有返回值的方 法,可以声明返回值为void。 如果在类的定义中加上partial修饰符,也可以把一个类分散保 存到多个文件中,编译器在编译时会将具有相同名称的类自 动组合到一起。
编程语言基础-C语言-第1章-C语言概述ppt课件
c = sum( a, b );
/* 计算2个整数之和 */
printf("sum = %d \n", c); /* 输出结果
*/
getch();
}
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
C程序特点
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
第1章 C 语 言 概 述
❖ 1.1 C语言的产生和发展 ❖ 1.2 C语言的特点 ❖ 1.3 简单的C程序介绍 ❖ 1.4 C 程序上机步骤 ❖ 本章小结
❖ C语言程序以一个至多个函数组成,至少有 一个main( ) 函数。
❖ 使用高级编程语言编写的源程序必须经过编 译后才能运行。
❖ 熟练掌握源程序的编辑、保存、编译、连接 及运行的操作方法,了解程序调试的基本概 念。
1.4 C 程序上机步骤
开始
有 不正确
编辑
编译
有错? 无
连接
执行
结果 正确? 正确
结束 图 1-1
目标
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
WinTc介绍
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
程序如下:
#include <stdio.h>
main( )
c理论教程 第1章 概述
第1章概述计算机语言是人与计算机之间交流信息的工具,由计算机能够识别的语句组成,它使用一整套带有严格规定的符号体系来描述计算机语言的词法、语法、语义、语用。
词法负责从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位(单词);语法涉及语言的构成规律,确定程序的结构形式;语义说明语句代表的含义及该语句的执行过程;语用指出语句的实际用途。
C语言是一种通用的程序设计语言,它具有丰富的运算符和表达式,以及先进的控制结构和数据结构。
C语言既具有高级语言简单易学和可移植性好的特点,又具有汇编语言生成代码质量高的优点。
因此,C语言具有较强的生命力和广泛的应用前景。
本章从程序设计基础知识入手,对C语言做一概括性介绍,让读者了解一个C语言程序的基本框架和它的书写格式,使读者能够学会编写简单的C程序,并能够进行编辑、编译、连接、调试运行等上机操作。
1.1程序设计基础在介绍C语言程序设计之前,我们先来了解一些有关程序设计的基础知识。
1.1.1程序与程序设计语言1.程序所谓程序,就是一系列遵循一定规则和思想并能正确完成指定工作的代码(也称为指令序列)。
简单地说,程序主要用于描述完成某项功能所涉及的对象和动作规则。
通常,一个计算机程序主要描述两部分的内容,其一是描述问题的每个对象及他们之间的关系,即数据结构的内容;其二是描述对这些对象进行处理的动作、这些动作的先后顺序以及它们所作用的对象,要遵守一定的规则,即求解某个问题的算法。
因此,对程序的描述,也可以用经典的公式来表示:程序= 数据结构+ 算法一个设计合理的数据结构往往可以简化算法,而且一个好的程序应该具有可靠性、易读性、可维护性等良好特点。
计算机程序有以下共同的性质:(1)目的性:程序有明确的目的,运行时能完成赋予它的功能。
(2)分步性:程序为完成其复杂的功能,由一系列计算机可执行的步骤组成。
(3)有序性:程序的执行步骤是有序的,不可随意改变程序步骤的执行顺序。
VisualC系列教程第1章C/C语言概述
➢ C++用标准输入输出的头文件iostream.h替代了C语言的stdio.h,用 cin、cout和操作运算符>>、<<等实现并扩展了C语言的scanf和printf 函数功能。
字符常量和字符串常量主要的区别: (1) 字符常量用单引号括起来的,仅占一个字节;字符串常量是用双引号括起来
的,至少占用两个字节。“a”是字符串常量,它的长度不是1而是2,除字符a 之外,末尾还有个‘\0’字符。每个字符串的末尾都有一个这样的字符。 (2) 字符常量实际上是整型常量的特殊形式,它可以参与常用的算术运算;而字 符串常量则不能。
第1章C/C++语言概述
1.1 从C到C++的程序结构 1.2 程序书写规范 1.3 数据类型 1.4 运算符和表达式 1.5 基本语句 1.6 函数 1.7 指针和引用 1.8 作用域和存储类型 1.9 预处理
1.1从C到C++的程序结构
➢ C++程序是由预处理命令、语句、函数、变量(对象)、输入与输出以及 注释等几个基本部分组成的。
1.3数据类型
1.3.1基本数据类型
C/C++的基本数据类型有字符型(char)、整型(int)和浮点型(float、double)三种。 这些基本数据类型还可用short、long、signed和unsigned来修饰。 需要注意的是: (1) C++可以有布尔型(bool),在计算机内,编译系统将true表示成整数1, false表示成整数0,因此也可把布尔型看成是一个整型。 (2) 无符号(unsigned)和有符号(signed)的区别在于数值最高位的含义。有符 号类型最高位是符号位,其余各位表示数值大小;无符号类型的各个位都用来 表示数值大小;相同基本数据类型的signed和unsigned的数值范围是不同。例 如,无符号字符型值的范围为0~255,有符号字符型值的范围为 -128~ -127。 (3) char、short、int和long可统称为整型。默认时,char、short、int和 long本身是有符号(signed)的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3.2常量
整型常量
整型常量可以用十进制、八进制和十六进制来表示。十进制整型常量即十进制 整数;八进制整型常量是以0开头的数;十六进制整型常量是以0x或0X开头的 数,它由0至9、A至F或a至f组成。
1.3数据类型
注意 :
(1) 整型常量中的长整型(long)要以L或小写字母l作为结尾。 (2) 整型常量中的无符号型(unsigned)要以U或u作为结尾。 浮点型常量 浮点型常量即实数,它有十进制数或指数两种表示形式。 十进制数形式是由整数部分和小数部分组成的(注意必须有小数点)。 指数形式采用科学表示法,它能表示出很大或很小的浮点数。注意字母E(或e) 前必须有数字,且后面的指数必须是整数。 浮点型常量以F(或f)结尾的表示单精度类型(float),以L(或小写字母l)结尾的, 表示长双精度类型(long double)。若浮点型常量没有任何说明,表示双精度类 型(double)。 字符常量
1.3数据类型
1.3.6结构体
定义结构体
结构体定义的格式为: struct <结构体名> { <成员定义1>; <成员定义2>; ... <成员定义n>; } [结构变量名列表]; 结构体定义是以关键字struct作为标志的,<结构体名>应是一个有效的标 识符。在结构体中的每个成员都必须通过“成员定义”来确定成员名及其类型。 注意:结构体的成员变量类型既可以是基本数据类型,也可以是其他合法的类 型。例如: struct STUDENT { PERSON one; // 用已定义的结构体类型声明成员 float eng, phy, math, poli; // 英语、物理、数学和政治的成绩 };
变量的初始化
程序中常需要对一些变量预先设置初值,这一过程称为初始化。在C/C++中, 可以在定义变量时同时使变量初始化。 C++变量的初始化还有另外一种形式,它与C语言不同。例如: int nX(1), nY(3); 表示nX和nY是整型变量,它们的初值分别为1和3。
1.3数据类型
1.3.4数据类型转换
1.3数据类型
1.3.6结构体
结构体变量的初始化和引用
结构体变量的初始化的一般形式是在变量后面加上:= {<初值列表>}; 例如: struct POINT { int x; int y; } spot = { 20, 40 }; // 依次使spot中的x为20, y为40 或 POINT pt1={100, 200}; // 使pt1中的x为100, y为200 POINT pt2={100}; // 只是使pt2中的x为100 当一个结构体变量定义之后,就可引用这个变量。使用时,遵循下列规则: (1)只能引用结构体变量中的成员变量,使用格式:<结构体变量名>.<成员变 量名>。 (2)若成员本身又是一个结构体变量,引用时需要用多个成员运算符一级一级 地找到要访问的成员。
1.3数据类型
1.3.5数组
数组的定义 定义一个数组可按下列格式进行: <类型> <数组名> [<常量表达式1>][<常量表达式2>]... <数组名>后面的常量表达式用于确定数组的维数和大小。 一般表示某维大小的常量表达式中不能包含变量,但可以包括常量和符号常量,其值必 须是一个确定的整型数值,且数值大于1。 数组元素的引用 引用格式: <数组名> [<下标>]... 数组的赋值 数组中的元素既可以在数组定义的同时赋初值,也可以在定义后赋值。 对于二维或多维数组需要说明的是: (1)初始化数组的值的个数不能多于数组元素个数,初始化数组的值也不能通过跳过逗 号的方式来省略。 (2)对于二维数组来说,如果对全部元素都赋初值,则定义数组时对第一维的大小可以 忽略,但第二维的大小不能省。 (3)只对部分元素赋初值,可有两种说明方式:一种是以“行”为单位,依次列出部分 元素的值;另一种是以数组元素的排列顺序依次列出前面部分元素的值。 字符数组 C/C++语言中,一个字符串是用一个以空字符‘\0’作为结束符的字符串来表示的。
1.3数据类型
1.3.1基本数据类型
C/C++的基本数据类型有字符型(char)、整型(int)和浮点型(float、double)三种。 这些基本数据类型还可用short、long、signed和unsigned来修饰。 需要注意的是: (1) C++可以有布尔型(bool),在计算机内,编译系统将true表示成整数1, false表示成整数0,因此也可把布尔型看成是一个整型。 (2) 无符号(unsigned)和有符号(signed)的区别在于数值最高位的含义。有符 号类型最高位是符号位,其余各位表示数值大小;无符号类型的各个位都用来 表示数值大小;相同基本数据类型的signed和unsigned的数值范围是不同。例 如,无符号字符型值的范围为0~255,有符号字符型值的范围为 -128~ -127。 (3) char、short、int和long可统称为整型。默认时,char、short、int和 long本身是有符号(signed)的。
例如:enum Colors { Black , Blue, Green=4, Cyan, Red=8, Yellow, White } one; 则各枚举常量对应的整数依次为0,1,4,5,8,9,10。 枚举变量最终的值只能等于该枚举类型中的某个枚举常量,而不能用一个整型数值直接 赋值,并且不要在定义枚举类型的同时,再对枚举常量、枚举变量及枚举类型名重新定 义。
(2)有效性 标识符的长度最好不要超过32个,有的编译系统只能识别前32个字符,前 32个字符相同的两个不同标识符被有的系统认为是同一个标识符。 (3)易读性 做到“见名知意”就可以达到易读性的目的。许多程序员采用“匈牙利标 记法”来定义标识符。这种方法是:在每个变量名前面加上表示数据类型 的小写字符,变量名中每个单词的首字母均大写。
字符常量是用单引号括起来的一个字符。 C/C++可以用一个“\”开头的字符来表示特殊含义的字符常量。例如‘\n’,代 表一个换行符,而不是表示字母n。这种将反斜杠(\)后面的字符转换成另外意 义的方法称为转义表示法,‘\n’称为转义字符。
1.3数据类型
字符串常量 C++可以使用字符串常量。字符串常量是一对双引号括起来的字符序列。例如: “Hello, World!\n”。字符串常量中还可以包含空格、转义字符或其他字符。 并且必须在同一行书写,若一行写不下,则需要用‘\’来连接。 字符常量和字符串常量主要的区别: (1) 字符常量用单引号括起来的,仅占一个字节;字符串常量是用双引号括起来 的,至少占用两个字节。“a”是字符串常量,它的长度不是1而是2,除字符a 之外,末尾还有个‘\0’字符。每个字符串的末尾都有一个这样的字符。 (2) 字符常量实际上是整型常量的特殊形式,它可以参与常用的算术运算;而字 符串常量则不能。 符号常量 在C++中,除了用C语言的#define定义符号常量外,还常常用const来定义符号 常量。
1.3.9用typedef定义类型
使用关键字typedef可以将已有的类型名用新的类型名来代替,格式:
typedef <已有的类型名> <类型别名>;
1.4运算符和表达式
1.4.1算术运算符
算术运算符包括双目的加减乘除四则运算符、求余运算符以及单目的正负运算 符。算术运算符如下所示: + (正号运算符,如+4,+1.23等) (负号运算符,如-4,-1.23等) * (乘法运算符,如6*8,1.4*3.56等) / (除法运算符,如6/8,1.4/3.56等) % (模运算符或求余运算符,如40%11等) + (加法运算符,如6+8,1.4+3.56等) (减法运算符,如6-8,1.4-3.56等) 注意 : (1) 两个整数相除,将保留整数部分,不是四舍五入;进行浮点数除法,结果是 浮点型。如7/5.0、7.0/5、7.0/5.0的结果都是1.4。 (2) 求余运算要求参与运算的两个操作数都是整型,其结果是两个数相除的余数。 例如40%5的结果是0,40%11的结果是7。要理解负值的求余运算,例如40%-11 结果是7,-40%11结果是-7,-40%-11结果也是-7。
1.2程序书写规范
标识符命名 标识符是用来标识变量名、函数名、数组名、类名、对象名、类型名、文件名等 的有效字符序列。标识符命名需要遵守其合法性、有效性和易读性的原则。 (1)合法性 C++规定标识符由大小写字母、数字字符(0~9)和下划线组成,且第一个字符必须 为字母或下划线。任何标识符中都不能有空格、标点符号、运算符及其他非法字 符。标识符的大小写是有区别的,并且不能和系统的关键字同名。
1.3数据类型
1.3.7共用体
共用体和结构体最大的区别是:共用体在任一时刻只有一个成员处于活动状态, 且共用体变量所占的内存长度等于各个成员中最长成员的长度,而结构体变量 所占的内存长度等于各个成员的长度之和 。 共用体中各个成员所占内存的字节数各不相同,但都是从同一地址开始的。这 种多个成员变量共用一个内存区的技术,能有效地降低程序所占的内存空间。 定义一个共用体可用下列格式: union <共用体名> { <成员定义1>; <成员定义2>; ... <成员定义n>; } [共用体变量名列表]; // 注意最后的分号不要忘记。 共用体除了关键字(union)不同外,其使用方法均与结构体相同。
1.3数据类型
1.3.8枚举类型
枚举类型是一系列有标识符的整型常量的集合,增加程序代码的可读性。 格式: