C++语言程序设计第二讲

合集下载

C语言程序设计教案第2讲 算法

C语言程序设计教案第2讲 算法

<
>
二,表示算法的三种基本结构
1966年,Bohra和Jacopini提出了程序中需要的三种控 年 和 提出了程序中需要的三种控 制结构
顺序结构 选择结构 循环结构
成立
根据表达式的 值进行选择
A N P
不成立 成立
A
B
M
A B A
P
不成立
成立
P
不成立
P A
不成立 成立
B
A
<
>
三种结构的共同点
只有一个入口 只有一个出口
<
>
例 2-1 问题: 求5的阶乘 问题:对于任意正整数 N,如何计算 N! 计算5 计算5!=1*2*3*4*5
Step1: Step2: Step3: Step4: 计算 1 计算 2 计算 6 计算 24 * * * * 2 3 4 5
可以描述如下: 可以描述如下:
=> => => => 2 6 24 120
数去掉
使xj=0
j+1=>j i+1=>i 1=>i
当 i ≤ n
xi=0 打印所有素数 是 把未挖掉的x 打印出来 否 i
打印xi
<
>
i+1=>i
数制转换
进位计数制
定义:在采用进位计数的数字系统中, 定义:在采用进位计数的数字系统中,如果 只用r个基本符号 例如: 个基本符号( 只用 个基本符号(例如:0,1,2,…,r-1) 表示 数值,则称为基 数制 称为该数制的 数制, 称为该数制的" 数值,则称为基r数制,r称为该数制的"基 数",而数制中每一固定位置对应的单位值 称为"权". 称为"

C课件第2讲-C语言快速入门

C课件第2讲-C语言快速入门

C语言程序的基本结构
【例2】计算输入的两个整数的和 。 CW0202.c
思路:算法简单,先定义三个变量,二个输入,一个是和。输入采用键盘输 /* This is the second C program CW01-02.c */ 入法,可以反复计算。输出采用格式输出。
#include <stdio.h> int main ( ) { in语言中的词汇。P9
也称为保留字(Reserved words)(共32个) 类型说明(共14)(可以抄一下中文含义)
int、long、short、float浮点、double双精度、char字符、 unsigned无符号、signed带符号、const常量、void空、 volatile可变的、enum枚举 、struct结构、union共用
/* 在屏幕上显示Hello World! */ #include <stdio.h>
#define P printf("================\n") //定义符号常量 int /*定义主函数*/main() { system("color 2f"); //颜色函数,可删,自己试 P; printf("Hello World!\n"); 注释部分 P; •以增加程序的可读性。 return 0; //但是控制权要交还给编译系统 •不被执行。 } 注释不能嵌套,如: •如果只占一行可用//代替 /*这是/*非法的*/*/ /*xxxx*/ //这种形式的注释一般只能写在一 //Isita \ 输入文件名时如果不加.c则默默的文件为C++,有些语法不一样, 行,要换行时要加换行接续符 3/25 validcomment? 例如在C++中system(“color 1a”)头文件不一样。iostream 黄兴鼎版权所有

C语言第2章讲义

C语言第2章讲义

第 二 章 程 序 设 计 基 础
C 语 言 程 序 设 计 教 程 第 二 版
C语言的特点
简洁紧凑、 简洁紧凑、灵活方便 运算符丰富 C语言一共只有 多个关键字,9 语言一共只有30 数据结构丰富 30多个关键字,9种控制语句,程序书写 C的运算符包含的范围很广泛,共有种34个运算符。C 的运算符包含的范围很广泛,共有种34个运算符。C 自由,主要用小写字母表示。它把高级语言的基本结构 C是结构式语言 语言把括号、赋值、强制类型转换等都作为运算符处理。 和语句与低级语言的实用性结合起来。C 和语句与低级语言的实用性结合起来。C语言可以象汇 C的数据类型有:整型、实型、字符型、数组类型、 语法限制不太严格、 C语法限制不太严格、程序设计自由度大 结构式语言的显著特点是代码及数据的分隔化,即程 从而使C 从而使C的运算类型极其丰富表达式类型多样化,灵活 编语言一样对位、字节和地址进行操作,而这三者是计 指针类型、结构体类型、联合体类型等。能用来实现各 语言允许直接访问物理地址, C语言允许直接访问物理地址,可以直接对硬件进行操作 序的各个部分除了必要的信息交流外彼此独立。这种结 使用各种运算符可以实现在其它高级语言中难以实现的 一般的高级语言语法检查比较严,能够检查出几乎所 算机最基本的工作单元。 种复杂的数据类型的运算。并引入了指针概念,使程序 语言程序生成代码质量高, C语言程序生成代码质量高,程序执行效率高 C语言既具有高级语言的功能,又具有低级语言的许 构化方式可使程序层次清晰,便于使用、维护以及调试。 运算(具体见后面的章节)。 有的语法错误。而C 有的语法错误。而C语言允许程序编写者有较大的自由 效率更高。另外C 效率更高。另外C语言具有强大的图形功能,支持多种 C语言适用范围大,可移植性好 多功能,能够象汇编语言一样对位、字节和地址进行操 C语言适用范围大, 语言是以函数形式提供给用户的,这些函数可方便的 度。 显示器和驱动器。且计算功能、逻辑判断功能强大。 具有预处理功能 作,而这三者是计算机最基本的工作单元,可以用来写 调用,并具有多种循环、条件语句控制程序流向,从而 一般只比汇编程序生成的目标代码效率低10~20%。 一般只比汇编程序生成的目标代码效率低10~20%。 C语言有一个突出的优点就是适合于多种操作系统, 具有递归功能 系统软件。 使程序完全结构化。 。也适用于多种机型,在一种计 如DOS、WINDOWS、UNIX DOS、WINDOWS、UNIX。也适用于多种机型,在一种计 算机上编写的程序,无须修改或经过很少的修改,就可 C语言提供了预处理器,程序可以利用宏指令提高可 以在其它类型的计算机上运行。 读性和可移植性。 C语言允许递归调用,在解决递归问题上具有独特优 势。

最新c--程序设计第二章解析教学讲义ppt课件

最新c--程序设计第二章解析教学讲义ppt课件

C++程序设计
• 关系表达式
– 由关系运算符连接的表达式。是一种简单的逻辑表达式。值为true 或false。
例如: a+b>c+d /*等同于(a+b)>(c+d),结果为0或1*/ y=a>b /*计算a>b的值0或1赋给y,y的值为0或1*/ a>b>c /*等同于(a>b)>c,先求a>b 的值,
❖ 嵌套在if分支中: if (<表达式1>) if (<表达式2>) <语句1>; else<语句2>;
❖ 嵌套在else分支中: if (表达式1) 语句1; else if (表达式2) 语句2; else if … else 语句n;
C++程序设计
配对关系实例:2.2.2
if
语句的嵌套 • else和if的配对关系 – ”就近配对“原则,相距最近且
//语句1: if(n%3==0)
还没有配对的一对if和else首先 配对
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
else cout<< n<<″是3的倍数但不是5的倍数″<<endl;
//语句2:
if(n%3==0)
{
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
float a,b,c; float delta,x1,x2; cout<<"输入三个系数a(a!=0), b, c:"<<endl; cin>>a>>b>>c; cout<<"a="<<a<<'\t'<<"b="<<b<<'\t‘<<"c="<<c<<endl; delta=b*b-4*a*c;

C程序设计教程2精品PPT课件

C程序设计教程2精品PPT课件

double result = radius * radius * 3.14 * 4 ;
cout << “The result is “<< result << “ \n “;
}
11/29/2020
11
函数(过程)说明:
函数:把相关的程序语句放在一起,完成特 定的功能,并给这些语句起一个名字。
求解中需要通过函数调用来实施求解时,便 要对函数的性质进行说明,说明其返回类型, 参数类型,参数个数。
11/29/2020
4
变量定义
定义变量的目的:
创建一个所需大小的实体空间给变量名; 说明变量的表示范围; 说明变量可以进行的运算等。
11/29/2020
5
变量定义
例:int a = 12 ;
存储单元
变量由变量名、数据类型和 内存地址
(1Byte)
……
值三部分组成,是可寻址的,
也就是说,能够通过内存地
11/29/2020
13
函数定义是在函数声明的基础上,对整个实现过
程进行详细定义.
格式:
<返回类型><函数名>(<参数表>)
{
<若干条语句> return 函数的返回值;
} 例如: double area(double ra){
double s = ra*ra*3.14;
return s ;
}
11/29/2020
11/29/2020
3
要使用名称来存放数据,必须先说明名称
说明语句分为定义语句和声明语句:
定义语句:在说明名称的同时,还给名称分 配了存储空间

C语言程序设计PPT课件(第2版)第2章简单程序设计

C语言程序设计PPT课件(第2版)第2章简单程序设计
C语言程序设计 第2章 简单程序设计
整理ppt语言程序设计-理论方法与实践(第2版)
第2章 简单程序设计
2.1 数据类型、常量与变量 2.2 输出输入数据 2.3 简单运算与常用宏命令 2.4 程序设计举例 2.5 表达式中数据类型的转换 *2.6 定义数据类型别名
整理ppt语言程序设计-理论方法与实践(第2版)
单精度型 双精度型
整理ppt语言程序设计-理论方法与实践(第2版)
2.1.2 常量
1.整数常量 整数常量即整数。
➢ 十进制数:以非0开始的数 如:220、-560、+369 ➢ 八进制数:以0开始的数 如:06、0106、0677 ➢ 十六进制数:以0X或0x开始的数 如:0X0D、0XFF、0x4e、0x123等。
return 0;
自动完成换行操作。
}
整理ppt语言程序设计-理论方法与实践(第2版)
2.2.1 用printf()函数输出数据
2、printf()函数一般格式
printf()函数是C语言系统提供的格式化输出函数, 用于向标准输出设 备(通常为显示器)按规定格式输出信息。
printf()函数一般使用格式 printf("格式化字符串",表达式表);
整理ppt语言程序设计-理论方法与实践(第2版)
2.2 数据输入与输出
2.2.1 用printf()函数输出数据 2.2.2 用scanf()函数输入数据 2.2.3 输入输出字符型数据
整理ppt语言程序设计-理论方法与实践(第2版)
2.2.1 用printf()函数输出数据
1、printf()函数示例 2、printf()函数的一般格式
"Hello world" 长度为11

C语言程序设计基础讲解PPT第3章(第二讲)

C语言程序设计基础讲解PPT第3章(第二讲)

14
与 哪 个 if 配 对 ? ⑶ if (c<=100) if (c>=50) printf("50<=c<=100\n"); else printf("c<50\n")
2019/1/8
再例如:
if(a>b) if(a>c) if(a>d) m=1; else m=2; else m=3; 问题:哪一个 else 和哪一个 if 相匹配?
24
2019/1/8
注意:

25


switch语句的书写格式:语句体本身必须用花括 号括起;case和default后面如果有多条语句, 则可以不必使用花括号;case和常量表达式之 间必须有空格;default可以写在语句体的任何 位置,也可以省略不写 break语句可以改变case的语句标号作用,终止 后续case语句序列的执行。 switch语句和break 语句结合,可以实现程序的选择控制(break语 句还可以在循环语句中使用) 允许switch嵌套使用,但同一个switch语句中, 任意两个case的常量表达式值不能相同。
2019/1/8
程序:
#include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 可使用条件表达式代替
程序运行情况如下: putchar(ch>='A' && ch<='Z' ? ch+32:ch); G putchar (' \n') g

C语言程序设计2PPT课件

C语言程序设计2PPT课件

\ddd 3位8进制数代表的字Fra bibliotek \xhh含义 水平制表
退格 换页 反斜线 双引号 2位16进制数代表的字符
2020/11/13
《C与C++程序设计教程》-第二章
10
[例2.4]转义字符举例。 main() {
printf("\t Hello!"); printf("\n1234567890"); printf("\bHello!"); }
area=PI*radius*radius;
printf("circumference is %f\n",circum);
printf("area is %f\n",area);
}
键盘 3
circumference is 18.849556
显示器 area is 28.274334
返回
2020/11/13
《C与C++程序设计教程》-第二章
9
2.2.4 换码序列常量(转义字符)
是特殊字符常量。以一个反斜杠”\”开头的字符序列, 只代表某个特定的ASCII码字符。用单引号括起。
常见的转义字符常量表(p27表2.2) :
转义字符
\n
\v
\r
<
\0 \‘
含义 换行 垂直制表 回车 空字符 单引号
转义字符 \t \b \f \\ \“
2.2.1 数值常量 2.2.2 字符常量和字符串 2.2.3 标识符命名的常量 2.2.4 换码序列常量
2020/11/13
《C与C++程序设计教程》-第二章
返回
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 前置运算:先对变量的值进行增量运算,然后再使用增量 运算后的变量值参与表达式其它部分的计算。 int x=1,y; y=++x;
x x=x+1; y=x; y 1 2
2
• 后置运算:先使用变量当前值参与表达式计算,整个表 达式运算完成后,再对变量进行增量运算。
int x=1,y; y=x++; x y=x; x=x+1; y 1 2 1
变量的初始化:int a=10;
常量与变量
• 常变量:在定义变量时,如果加上关键字const, 则变量的值在程序运行期间不能改变,这种变量就 称为常变量。 例如:const int a=5; 注意:在定义常变量时必须对它初始化,此后 它的值不能再改变。
例如:const int a; a=5;
复 习
若数据输入为:2 3.0 a 运行结果为:a=2b=3c=.
举 例
例4:设a=2, b=3, c='a',写出执行下面的cin语句时, 数据输入的形式和输出结果。
#include <iostream.h> void main( ) { int a, b; char c; cin>>a>>b>>c; cout<<"a="<<a<<"b="<<b<<"c="<<c; }
C语言中的输入/输出
scanf函数 printf函数 putchar函数 getchar函数
要在程序开头包含头文件<stdio.h>
数据输出
printf函数的格式
printf("格式控制", 输出表列)
意义 按十进制整数输出 格式 %d 说明 %f 按十进制实数输出 \n 其它字符 换行 原样输出 格式控制
数据输出
• cout输出
cout语句的格式:
cout<<表达式1<<表达式2 … <<表达式n;
<<:称为插入运算符 表达式:输出项,还可以是常量或变量。 功能:在显示器上显示表达式的“值”或变量的 “值”。 Hello, world! 例1:cout<<"Hello, world!";
cout<<"c="<<c;
a+=1; b*=a+2;
例2:
int k=2, i=2, m; m=k+=i*=k; i=i*k; k=k+i; m=k;
k i m
6 2
4 2
6
复合赋值运算符和赋值运算符运算优先级相同, 结合方式也采用右结合。
增量运算符
自加运算符:++
x++ x-- 等价于 等价于
自减运算符:-x=x+1 x=x-1
赋值运算符与赋值表达式 • 一般格式:
变量名=表达式
• 功能: 先计算赋值号右侧表达式的值,再赋值给左侧 的变量。 如果将赋值表达式后加上“;”就构成赋值语句。 • 特点: “新来旧去,取之不尽”
• 注意: “形同意不同”
赋值运算符是右结合:从右往左算 赋值表达式的值是赋完值以后左侧变量的值
复 习
两个运算符既可以放在变量的前面,也可以放在变量 的后面,分别称为前置增量运算和后置增量运算。 ++i, --i是前置增量运算 i++, i--是后置增量运算
作为独立语句使用时,前置增量运算和后置增量运算 作用是相同的。
i++; ++i; //这两条语句都可以使变量i的值加1
增量运算符
在表达式中,前置运算与后置运算的含义是不同的。
若数据输入为:23 a 运行结果为:a=23b=0c=蘌
举 例
例2:前例: /*---求三角形的边--*/ #include <iostream.h> #include <math.h> void main( ) { float a, b, alf, c; a = 1.0; b = 2.0; cin>>a>>b>>alf; alf = 0.2; c = sqrt (a*a+b*b-2*a*b*cos (alf )); cout<<c; }
数据输出
• 控制输出数据的宽度
格式说明
%d
意 义
按十进制输出整数
数据宽度
系统决定 (实际位数)
%md
%f
按十进制输出整数
按小数形式输出实数
占m位 如果实际位数与m不同 又如何?
系统决定 (小数占6位)
%m.nf 按小数形式输出实数
%c, %mc, 输出一个字符
...
n位 m位 系统决定 (实际位数),占m位
例3 float x=123.456; printf("%f\n%10.2f",x,x); 123.456001 □□□□123.46
数据输出
例4
#include <stdio.h> void main( ) { char c1='a'; int i=97; printf("%c,%d\n",c1,c1); printf("%3c,%d\n",i,i); }
数据输入
• cin输入
cin语句的格式: cin>>变量1 >>变量2 … >>变量n; >>:称为提取运算符 功能:暂停程序执行,从键盘上输入相应数据赋给相应的变量
输 入 缓冲区 内存 单元
程 序 a 运 行 b 时
cin>>a>>b>>c>>d; 1□2□3□4 1□□2□□3□□4 1(按Tab键)2 3 4
例如:设a=1, b=2, c=3,d=4下面 三种输入数据的形式都正确。
举 例
例4:设a=2, b=3, c='a',写出执行下面的cin语句时, 数据输入的形式和输出结果。
#include <iostream.h> void main( ) { int a, b; char c; cin>>a>>b>>c; cout<<"a="<<a<<"b="<<b<<"c="<<c; }
赋值时的类型问题
赋值时的类型转换 void main( ) { a 13 int a, b; float c, d; “=”两侧的类型不一致 b 1 1 计算右侧表达式的值; a=13; c=a/2; 2 将计算结果转换成与 c 6.0 左侧变量相同的类型; d=(int)c%5; b=c/4; 1.0 3 赋值。 d ……..; }
a , 97 □□a,97
字符型与整型通用
数据输入
scanf函数的格式
scanf("格式控制",地址表列)
格式控制 意义
数据输入语句
scanf("格式控制",地址表列); 如:scanf("%d,%f",&a,&b) ;
地址表列:&:取址运算符 &a:变量a的地址 &b:变量b的地址 格式控制: 指定数据输入的格式
数据输入为:2 a 3 运行结果为:a=2b=3c=a
举 例
例4:设a=2, b=3, c='a',写出执行下面的cin语句时, 数据输入的形式和输出结果。
#include <iostream.h> void main( ) { int a, b; char c; cin>>a>>b>>c; cout<<"a="<<a<<"b="<<b<<"c="<<c; }
实际位数,
.
...
%s, %ms, 输出一串字符
注:m、n为整型常数
占m位
数据输出
例2 a=3, b=12, c=-55,写出下列语句的运行结果。
printf("%d%3d%2d",a,b,c); 3□12-55 printf("a=%d□b=%d□c=%d",a,b,c); a=3□b=12□c= -55
格式输出语句
printf("格式控制", 输出表列); 1为输出项提供格式说明 格式说明的个数=输出项个数 格式说明的类型=输出项类型
例1当a=10,b=-5.3时,写出下 面语句的输出结果 printf("%d , %f",a,b); 2提供需要原样输出的文字或字符 10 , -5.300000 printf("a=%d \nb=%f",a,b); a= 10 printf("t= %f, sint= %f \n ",t,sin(t)); b= -5.300000 printf("%d,%d,%d",a,b,a+b) ;
“=”两侧的类型一致 直接赋值
复合赋值
复合赋值运算符:
+=
-=
*=
/=
%=
等价于 等价于 等价于 等价于 等价于 x=x+(y+3) x=x-(y+3) x=x*(y+3) x=x/(y+3) x=x%(y+3)
相关文档
最新文档