第2章 C++语言基础
第2章 C语言基础 ppt课件

/*用字符形式输出一个大于256的
printf("ch1+10=%d\n", ch1+10);
printf("ch1+10=%c\n", ch1+10);
printf("ch2+10=%d\n", ch2+10);
printf("ch2+10=%c\n", ch2+10);
}
运行程序,效果如图2.23所示。
printf("输入3个学生的身高:(单位:CM)\n"); 示信息,提示用户输入3个学生身高*/
/*输出提
scanf("%f%f%f",&a1,&a2,&a3); /*将用户输入的*/
avg=(a1+a2+a3)/3;
printf("平均身高为:%f\n",avg);
}
运行程序,效果如图2.11所示。
C语言基础
2020/12/27
1
计算学生平均身高
输入3个学生的身高,并用空格分隔开来,求这3个学生的平均身高。#include<stdio.h>
void main()
{
float a1=0,a2=0,a3=0;
/*定义存储学生身高变量并赋值*/
float avg=0;
/*定义存储平均身高的变量并赋值*/
float f=2.2f; 整型变量*/
/*定义单精度型变量
double result=i+c+f;
/*得到相加的结果*/
printf("%f\n",result);
答案第二章 C语言程序设计的初步知识

第二章 C语言程序设计的初步知识一、选择题1.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)字符型C)实型D)数组类型2.在C 语言中,下列类型属于构造类型的是D 。
(0级)A)空类型B)字符型C)实型D)共用体类型3.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)指针类型C)实型D)结构体类型4.在C 语言中,下列类型属于基本类型的是 A 。
(0级)A)整型、实型、字符型B)空类型、枚举型C)结构体类型、实型D)数组类型、实型5.下列类型属于基本类型的是 C 。
(0级)A)结构体类型和整型B)结构体类型、数组、指针、空类型C)实型D)空类型和枚举类型6.下列字符串属于标识符的是 A 。
(0级)A)INT B)5_student C)2ong D)!DF7.下列字符串属于标识符的是 A 。
(0级)A)_WL B)3_3333 C)int D)LINE 38.下列字符串不属于标识符的是 D 。
(0级)A)sum B)average C).day_night D)M.D.JOHN9.下列字符串不属于标识符的是 D 。
(0级)A)total B)lutos_1_2_3 C)_night D)$ 12310.下列字符串不属于标识符的是D 。
(0级)A)_above B)all C)_end D)# dfg11.C语言中不能用来表示整常数的进制是 D 。
(0级)A)十进制B)十六进制C)八进制D)二进制12.C语言中能用来表示整常数的进制是 A 。
(0级)A)十进制、八进制、十六进制B)十二进制、十进制C)六进制、八进制D)二进制、十进制13.在C语言中,回车换行符是 A 。
(0级)A)\n B)\t C)\v D)\b14.在C语言中,退格符是 D 。
(0级)A)\n B)\t C)\v D)\b15.在C语言中,反斜杠符是 D 。
(0级)A)\n B)\t C)\v D)\ \16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码 A 。
第2章 基本c语言-2

单分支if语句:
if(表达式) 语句;
双分支if语句:
if(表达式) 语句1; else 语句2;
利用goto语句改变程序执行方向的句式如下:
goto 标号;
与goto语句配合使用的标号语句的句式如下:
标号: 语句;
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) {
2.5.1 自动类型转换
double ← float ↑ long ↑ unsigned ↑ int←char,short
高
低
格式:(类型说明符)表达式 功能:把表达式的结果强制转换为类型说明符所
表示的类型。
例如:
(int)a
将a的结果强制转换为整型量。
(int)(x+y) 将x+y的结果强制转换为整型量。 (float)a+b 将a的内容强制转换为浮点数,再与b相加。
time()函数将从1970年1月1日00.00.00到当前时
间所经过的秒数存储到实参指向的变量。
#include<stdio.h> #include<stdlib.h> int main(void) { int x,y; x=rand(); y=rand(); printf("x=%d,y=%d",x,y ); return 0; }
printf("circle's radius is:%d,area is:%f\n",radius,area);
类型 d,i
说明 带符号十进制整数
类型 c
C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
C语言入门学习-C第2章_算法

C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 13
2.4.6 用计算机语言表示算法
• 概念:用计算机实现算法。计算机是无法 识别流程图的。只有用计算机语言编写的 程序才能被计算机执行。因此在用流程图 或伪代码描述出一个算法后,还要将它转 换成计算机语言程序。
• 特点:用计算机语言表示算法必须严格遵 循所用的语言的语法规则。
• 用处:要完成一件工作,包括设计算法和 实现算法两个部分。设计算法的目的是为 了实现算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 14
写出了C程序,仍然只是描述了算法 ,并未实现算法。只有运行程序才是实 现算法。应该说,用计算机语言表示的 算法是计算机能够执行的算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 15
• 确定性:算法中的每一个步骤都应当是确 定的。
• 有零个或多个输入:输入是指在执行算法 时需要从外界取得必要的信息。
• 有一个或多个输出:算法的目的是为了求 解,“解” 就是输出。
• 有效性:算法中的每一个步骤都应当能有 效地执行,并得到确定的结果 。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 4
美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符 号:
起止框
判断框
处理框
输入/输出框
注释框
流向线
连接点
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 8
2.4.3 三种基本结构的流程图 三种基本结构的图示:
顺序结构
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 2
C语言程序设计实训教程第2章 基础实验

19
(2)编写程序求出任一输入字符的 ASCII码。 提示:从键盘输入一个字符赋给字符变量,以 整型格式输出该变量。 (3)编写程序,由键盘任意输入 3个 1位整数 (第一个整数不为 0),将它们按输入顺序组合为 一个 3位数输出,如输入 2,5,8,则输出为258。 提示:输入 a,b,c3个整数,组合整数为 d =a﹡100 +b﹡10 +c。
(3)写一个函数,用“冒泡法”对输入的 10 个数字由小到大顺序排列,并输出。 提示: ①排序的函数名为 Sort。 ②排序前后的输入输出都应在主函数中完成。 ③使用数组作为函数参数。 ④使用“冒泡法”排序。
67
(4)写一函数,使给定的一个二维数组(5 ×5)转置,即行列互换。 提示: ①使用 5 ×5的二维数组存放数据。 ②矩阵转置的函数名为 Turn。 ③转置前后的输入输出都应在主函数中完成。 ④使用数组作为函数参数。
20
2.3
数据的输入和输出
1)实验目的 ①熟悉顺序结构的程序设计方法。 ②熟练使用 C 的赋值语句和各种表达式。 ③熟练掌握各种数据的输入、输出方法,能正 确使用各种格式转换符。
21
2)实验内容 程序验证性实验
22
23
24
25
程序填空性实验 程序功能:可以计算两个整数的商和余数。
26
程序设计性实验 (1)编写程序由键盘输入任意一个数字字符 (0 ~ 9),将其转换为数字输出。 提示:将该字符和“0”字符相减(字符的 ASCII码值相减)即得到数字。 (2)输入三角形三边长 a,b,c,求三角形 周长 l和面积 s。用 scanf()函数输入数据,printf ()函数输出计算结果,输出时要求有文字说明。
2)实验内容 程序验证性实验
第二章 C基础知识练习题及答案

第二章C++基础知识练习题1.请先阅读下面的2个程序,写出程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。
程序1:#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){cout<<"This "<<"is ";cout<<"a "<<"C++ ";cout<< "program."<<endl;return 0;}程序2:#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){ int a,b,c;//定义三个变量a、b、ccout<<"Please input to a and b:"<<endl; //输出提示信息到屏幕cin>>a>>b; //等待用户从键盘输入数据c=a+b;cout<< "a+b=" ;cout<<c;cout<<endl;return 0;}2.输入以下程序,进行编译,观察编译结果,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,并分析运行结果。
#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){ int a,b;//定义两个变量a和bcout<<"Please input to a and b: "<<endl;//输出提示信息到屏幕cin>>a>>b; //等待用户从键盘输入数据cout<< "Max="<< max(a,b)<<endl; //输出结果信息至屏幕return 0; //主函数返回0至操作系统}int max(int x, int y) { return (x> y) ?x:y; } //求两个数中的大者的函数3.编写一个函数,用来求2个或3个正整数中的最大数,并在主函数中调用此函数。
C语言教材 第2章

第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。
本章的难点是数据在内存中的存储形式。
第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。
例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。
计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。
不同的数据类型具有不同的取值范围和不同的操作。
C 语言提供的数据类型如图2-1所示。
在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。
其中,基本数据类型是其他数据类型的基础。
C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。
本章主要讨论这4种基本类型。
整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。
除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。
它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。
结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。
表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【示例2.4】
• 定义两个实型变量。
• float f=0.35
//定义单精度实型变量f
• double ff=6.2545 //定义双精度实型变量ff
3.字符型
• 字符型是用来表达字符的数据类型。字符常量是用单引号
括起来的一个字符。如‘a’、‘9’等。字符型变量用来存 放字符常量,且只能存放一个字符常量。字符变量的定义 以关键字char说明。在C++中字符型变量的定义为char字符 型变量名。
和长整型。其关键字以及表示数据的范围如表2.1所示。
• 在C++中整型变量的定义为整型类型 标识符;并且整型类型中的 signed可以省略。
表2.1 整型的分类
类 型
signed int unsigned int signed short int unsigned short int signed long int unsigned long int
• "HELLO WORLD!", "Study boy"
• 字符串常量和字符常量的区别是,字符串常量在每一个字符串的 最后一个字符后面,加上一个字符串结束标志,从而在程序访问
时可以判断字符串的字符序列是否结束。
2.2.4 构造类型——数组
• C++语言中除了基本数据类型外,还提供了构造数据类型,
实型、字符型等。下面介绍其特点和用法。
1.整型
• 整型是程序设计语言中最常用的数据类型,是用来表达整数的数
据类型。整型数据包括整型常量和整型变量。整型常量是整数, 例如1、100等,整数可以用十进制、八进制和十六进制表示。八
进制整数以数字0开头,后面的为八进制数据。十六进制则以0x
开头,后面的为十六进制数据。整型变量是在程序运行期间数据 的值可能发生变化的整型量。整型变量又分为基本类型、短整型
• 在定义了一维数组以后,程序中可以对该数组中的元素进行使用,
并且在程序中只能对数组的某一个元素进行使用,不能使用整个
数组。数组元素的表示形式为:
• 数组名称[下标];
【示例2.9】
• 将示例2.8中定义的整型数组的第3个元素初始化为3。
• num[2]=3;
//对数组中的第3个元素赋值
• 说明:在C++中数组元素的下标从0开始,因此第3个元素 也就是下标为2的元素。
识、知识、事件等。概括地说对象就是一个实体,它具有一个名
字标志,并且具有自身的状态和功能。 • 在软件设计和实现中,传统的被人们广泛使用的是面向过程的程
序设计。随着计算机技术的发展,面向对象的程序设计思想被越
来越多的程序员所接受。面向对象的程序设计是一种新型的程序 设计方法。这种程序设计方法的特征是:应用程序=对象+消息。
2.2.5 文件类型
• C++语言中提供了文件的数据类型,即C++把文件看做是字
符序列,文件由一个一个字符数据顺序组成。根据数据结 构的组织形式,可以把文件分为文本文件和二进制文件。 在C++中若要对文件进行输入输出,必须首先创建一个流, 然后将流和文件相关联。即打开文件,此时才可以进行操
作,然后关闭文件。由于文件的使用比较复杂,在后面的
2.3 多个数据的表示—— 数组
• 数组作为一种构造数据类型,它的使用和基本类型有很大
不同。因此有必要对数组这一数据类型进行介绍。
2.3.1 一维数组
• 数组是有序数据的集合。在C++中一维数组的定义方式和C
语言中一维数组的定义方式完全相同,并且使用方式以及 使用的注意事项都与C语言中基本一致。
第2章 C++语言基础
• C++语言是对传统C语言进行面向对象的扩充。使用C++语
言可以在Visual C++开发环境中开发出功能强大的应用程序。 通过本章的学习,读者可以快速回想起C++的语法知识。
2.1 什么是面向对象程序 设计
• 对象是面向对象程序设计技术的核心,那么到底什么是对象?世
界上的一切事物都是对象,都是客观对象。人类大脑中的认识和 概念也是对象。可见对象可以是有形的实体,也可以是无形的认
比 特 数
16 16 16 32 767 0~65 535 –32 768~32 767 0~65 535 –2 147 483 648 2 147 483 647 0~4 294 967 295 ~
【示例2.3】
• 定义三个整型变量。
• int a=10; • int i,j;
章节中将详细介绍C++中文件的基本操作。
2.2.6 指针类型
• C++语言中的指针和C语言中的指针是完全一样的。但是
C++语言中提供了特殊的指针,即void型指针。它表示不确 定的类型。void型指针是一种通用型指针,也就是说任何类 型的指针都可以赋值给void型的指针变量。
【示例2.7】
•
• • • • • • •
1.抽象
• 抽象就是对某些特定实例抽取其共有的性质后所形成的概
念,是抽取现实实例所共有的特征。抽象是对系统的简单 描述,强调了系统部分属性,忽略了系统的其他部分。
2.继承
• 继承是从一种实际事物联系到另外的事物,是一种联结类
的层次模型,允许类的重用,它提供了一种明确表述共性 的方法。对象的一个新类可以从现有的类中派生,这个过 程称为类继承。新类继承了原始类的特性,称为原始类的 派生类,而原始类称为新类的基类。继承性使得程序设计
即数组。数组是有序数据的组合,数组中的每一个元素都 属于同一数据类型,这和C语言中的数组是完全一致的。数 组包括一维数组和多维数组。数组的定义格式和引用方式 与在C语言中是一致的。
【示例2.6】
• 定义一个数组。
• int a[3];
• 分析:上面的语句定义了一个数组,这就是C++语言中构造 类型的基本使用方法。关于数组的使用将在2.3节中进行详 细介绍。
概念和实现方法将在后面进行讲解。
• 面向对象是新型的程序设计方法,其思想比过程化的程序设计更先进。 掌握面向对象的程序设计需要透彻理解面向对象的基本概念和特性。
C++语言作为面向对象的程序设计语言,学习和运用C++语言已经成为
现代程序员的基本要求。 • 注意:C++并不是纯面向对象的程序设计语言,它是一种面向过程程
• 分析:上面第一行代码定义了一个变量,并且赋初值为8。第二行代码 只是定义一个变量。习惯上,变量的标识符使用小写形式。关于数据类 型将在下面进行介绍。 • 注意:C++规定标识符只能由字母、数字和下划线三种字符组成,且 第一个字符必须为字母或下划线。
2.2.2 简单数据类型
• C++语言中的简单数据类型是指基本的数据类型,即整型、
【示例2.1】
• 定义一个名称为PI的符号常量。
• #define PI 3.14
• 分析:上面定义了一个符号常量PI,其值在程序运行期间保 持不变,且为3.14。习惯上,符号常量名用大写形式,但并 不是必须使用大写。
• 变量则是在程序运行期间其值可以改变的量。一个变量应该有一
个名字,在内存占据一定的空间。在该存储空间中存放变量的值。 在程序中可以利用变量的名字对变量进行访问,即得到变量的值。
2.数组的初始化
• 在定义了数组以后,可以利用上面的形式一个个对数组中的元素
进行初始化工作。同时也可以使用下面几种方法对数组进行初始 化。
• (1)定义数组时对数组元素赋初值。其基本形式为:
的代码复用得到充分解决。
3.封装
• 封装是面向对象的特征之一,是对象和类概念的主要特性。
封装是将事物的数据抽象的外部接口与内部实现的细节隔 离。内部数据不可以被随便修改,从而保证程序的安全性。
4.多态性
• 多态性是指允许不同类的对象收到相同的消息时产生不同的响应。C++
语言支持两种多态性,即编译时的多态性和运行时的多态性。编译时的 多态性通过重载来实现,而运行时的多态性则通过虚函数来实现。具体
2.3等,这些量在整个程序运行期间,其值不发生改变。在C++中, 定义常量的语法如下所示。
• #define 标识符 常数 • 其中,#表示这是一个宏定义命令;define为定义符号常量的关键 字;标识符为常量的名称;常数为符号常量具体的数值。常量定 义中关键字和标识符,以及标识符和常数之间必须留一个以上的 空格。
double表示。三者的区别如表2.2所示。
表2.2 实型的分类
类 型 比 特 数 有效数字 数据范围
float
32
6
–3.4×10–38~3.4×1038
double
64
15
–1.7×10–308~1.7×10308
long double
128
18
–1.2×10–4932~1.2×104932
• 在C++中实型变量的定义为float/(long)double实型变量名;
于其他对象的静态属性和动态行为。静态属性又称为对象的状态,动态属性
又称为对象的功能。类是现实世界中具有共同静态属性和动态属性的对象的 抽象,类和对象之间的关系就是抽象和具体之间的关系。类是多个对象进行 综合抽象的结果,而对象则是类的实例化。
• 例如:某个学生张三是一个对象,一个个像张三的学生则
可以抽象出一个学生类。张三就是学生类的实例化。 • 消息是向某对象请求服务的一种表达方式。对象内有方法 和数据,外部的用户或对象对该对象提出的服务请求,可 以称为向该对象发送消息。面向对象的编程方法具有4个基 本特征,下面分别进行介绍。