C语言程序设计教程电子教案(幻灯片)第03章
《Visual Basic程序设计教程》电子教案 第3章
上一页 下一页 返回
3.1 顺序结构
编程实现 代码编写 窗体单击事件过程代码如下: Private Sub Form1_Click() Dim strName As String * 40 strName= InputBox("请输入你的姓名" + vbCrLf + "然后单击确定"
上一页 下一页 返回
3.1 顺序结构
t = t - h * 3600 m = t \ 60 s = t - m * 60 Text2.Text = h Text3.Text = m Text4.Text = s End Sub Private Sub Command2_Click() End End Sub
代码编写 编写的窗体单击事件过程代码如下:
Private Sub Form_Click()
Dim a As Single, b As Single, c As Single
a=6
b=9
c = Sqr(a * a + b * b)
Print "c=" & c
End Sub
运行程序后单击窗体,输出结果如下:c=10.81665
上一页 下一页 返回
3.1 顺序结构
(2)利用赋值语句,可以改变变量的值。因此,同一变量在不同时 刻可以取不同的值。
(3)赋值语句跟数学中等式具有不同的含义。例如,赋值语句x=x+1 表示把变量x的当前值加上1后再将结果赋给变量x。
“先读后写”:读出x的内容→x加1→写回x(覆盖原有内容)。
上一页 下一页 返回
3.1 顺序结构
学习支持
c语言第03章
活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例
算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计
3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式
谭浩强版C程序设计第3章程序设计初步ppt课件
% m.ns 输出占m列,只取字符串左端n个字符
% -m.ns n个字符输出在m列的左侧,右补空格
例:main ( )
{printf(“%3S,%7.2s,% 5.4s,% -5.3\n”,“CHINA”, “CHINA”,“CHINA”,“CHINA”);}
结果:CHINA, CH,CHIN,CHI
如:double a=123.456789012345;
cout<<a;
输出123.456(默认精度6)
cout<<setprecision(9)<<a; 输出123.456789
cout<<setioflags(ios:fixed)<< setprecision(4)<<a
输出123.4567(小数点后精度4)
<<setprecision(2); cout<<setw(10)<<a<<endl; cout<<setw(10)<<b<<endl; cout<<setw(10)<<c<<endl;
输出: 123.46 3.14
return 0;
-3214.67
2.putchar和 getchar函数
putchar函数(字符输出函数) 其作用是向终端输出一个字符,
逻辑运算符与逻辑表达式
➢ C++ 提供3个逻辑运算符:
||(或) 、&&(与)、!(非)
优先级:低
高
➢ 逻辑表达式:用逻辑运算符连接进行逻辑运算 的式子。逻辑表达式的结果类型为bool,值只能 为 true 或 false。
C语言教程第3章简单的C程序设计PPT课件
10
C语言大学实用教程
3.4 基本输入/输出操作的实现
附 # include <stdio.h>
例 main()
{ char a='B',b='o',c='k';
putchar(a);putchar(b);putchar(b);
putchar( c);putchar('\t');
putchar(a);putchar(b); 运行结果:
C语言大学实用教程
第3章 简单的C程序设计
23.11.2020
1
C语言大学实用教程
第3章 简单的C程序设计
本章主要教学内容 C语句分类 字符输入/输出函数 格式输入/输出函数
23.11.2020
2
C语言大学实用教程
3.1 C语句分类
变量声明语句
int x, y;
表达式语句
i++;
i = i + 1;
printf("Press a key and then press Enter:");
ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n'); }
Press a key and then press Enter: A↙
You23.1p1r.2e0s20sed A
4
C语言大学实用教程
3.3 复合语句和空语句的作用
在什么情况下使用复合语句?
条件语句和循环语句在语法上只允许带一条 语句 当分支和循环中需要进行多项操作时
{
C语言程序设计电子教案
2. 分支结构
不成立 条件
成立 程序模块A 程序模块B
和其它模块的顺序关系
பைடு நூலகம்
条件
成立
不成立
程序模块A 程序模块B
新程序模块
(a)
(b)
(c)
图 3.2 分支结构
3. 循环结构
和其它模块的顺序关系
不成立 条件 成立 程序模块
当条件成立时执行 程序模块
新程序模块
(a)
(b)
(c)
图 3.3 当型循环结构
3.3 赋值语句
<变量>=<表达式>; 赋值语句是由赋值表达式加上一个分号构成。 如x=a+b;。 C/C++语言的赋值语句具有其它高级语言 中赋值语句的一切特点和功能,也有C/C++语言自己的特色:
(1) C/C++语言中赋值号“=”作为赋值运算符。
(2) 其它高级语言没有赋值表达式这个概念。作为赋值表达式可以作为操作对象出现在其它表达式能出现
3.1.2 结构化程序设计方法 (1) 一个大的程序开发应当采取“自顶向下,逐步细化, 模块(即结构)化”的方法。
(2) 任何程序均由具有良好特性的三种基本模块(顺序, 分支,循环)“堆积”搭成,即由基本小单元顺序 组成一个大结构,从而避免了使用goto语句的缺点。
3.1.3 结构化程序的标准 (1) 程序符合“清晰第一,效率第二”的质量标准。 (2) 具有良好的特性。
① 只有一个入口。 ② 只有一个出口(有些分支结构很容易写成多个出口)。 ③ 无死语句(永远执行不到的语句). ④ 没有死循环(永远执行不完的无终止的循环)。
3.1.4 三种基本模块 1. 顺序结构
C语言程序设计教程教学课件完整版电子教案
课程重点内容回顾
C语言基础语法
包括数据类型Βιβλιοθήκη 变量、 运算符、表达式、控 制结构等。
函数与模块化设计
函数的定义、调用、 参数传递、局部变量 与全局变量等。
数组与字符串
一维数组、二维数组、 字符数组、字符串处 理函数等。
指针与内存管理
指针的概念、指针变 量的定义与使用、内 存分配与释放等。
文件操作
文件的打开、关闭、 读写操作、文件定位 等。
do-while循环
详细讲解do-while循环的使用,包 括其语法、执行流程和与while循环 的区别。
for循环
阐述for循环的基本语法和使用方法, 包括循环变量、循环条件和循环体。
循环的嵌套
介绍循环嵌套的概念,通过实例演示 其实现方法。
数组与字符串处理
一维数组
详细讲解一维数组的定义、初始 化和使用方法,包括数组元素的
指针运算
指针与数组关系
指针支持加法、减法、比较等运算,可用于 遍历数组、字符串等操作。
数组名可视为指向数组首元素的指针,通过 指针可访问和修改数组元素。
动态内存分配与释放
动态内存分配函数 C语言提供malloc、calloc等函数用于 动态分配内存,可在运行时根据需要申
请指定大小的内存空间。 内存释放函数
C语言的应用领域
学习C语言的意义
说明学习C语言对于理解计算机底层 原理、提高编程能力、拓展职业发展 空间等方面的重要性。
阐述C语言在系统软件、应用软件、 嵌入式系统、游戏开发等领域的应用。
教学目标与要求
01
02
03
知识目标
掌握C语言的基本语法、 数据类型、运算符、控制 结构等基础知识。
《C语言程序设计教程》电子教案
测试与调试
对计算器程序进行测试,确保各项运算功能 正确无误。
案例三:贪吃蛇游戏程序设计实现
需求分析
明确游戏需要实现的功能,如蛇的移 动、食物的生成、游戏分数的计算等 。
系统设计
设计游戏整体架构、游戏界面布局、 游戏逻辑等。
编码实现
使用C语言编写游戏程序,包括主程 序、游戏初始化函数、游戏循环函数 、事件处理函数等。
06
指针与动态内存管理
指针概念及基本操作
指针定义
指针是一种特殊类型的变量,它存储的是另一个变量的内存地址, 而不是具体的值。
指针的声明与初始化
在C语言中,使用指针前需要先声明并初始化,声明时指定指针类 型和变量名,初始化时将指针指向一个有效的内存地址。
指针的基本操作
包括指针的赋值、取值、比较、算术运算等,通过这些操作可以实 现对内存地址的灵活访问和操作。
关闭文件
使用fclose()函数关闭文件,其语 法为int fclose(FILE *stream);, 其中stream为指向文件的指针。
读写文件函数介绍及应用示例
读取文件
写入文件
应用示例
在C语言中,可以使用fscanf() 、fgets()等函数从文件中读取 数据。例如,使用fscanf()函数 从文本文件中读取整数数据, 其语法为int fscanf(FILE *stream, const char *format, ...);。
运算符
C语言支持丰富的运算 符,包括算术运算符( +、-、*、/等)、关系 运算符(==、!=、<、 >等)、逻辑运算符( &&、||、!等)等,用 于实现各种数据操作。
表达式
由运算符和操作数组成 的式子称为表达式,用 于表示数据间的关系和 计算过程。
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语言电子教案第3章 输入输出及顺序结构
o
o
o
在%与格式符之间插入一个整数表示指定输出的宽度.若 指定的输出宽度大于实际数据的宽度,那么数据向右靠齐, 左边补空格;若指定的宽度小于实际数据的宽度,那么按 实际数据的宽度输出. 可以采用"m.n"的格式修饰格式符来输出一个实数,这里m 和n是两个整数. 对于字符串,采用"m.n"的附加格式符来修饰格式符表示 指定字符串的总宽度为m,不足m则向右靠齐,左补空格.n 表示指定截取实际字符串的前n个字符输出.也可以省略m, 不指定总宽度. 可以在宽度之前加一个""来指定输出的数据向左靠齐.
输出表列 o 输出表列是需要输出的数据,可以是变量,常量或表达 式.输出表列可以是零项,一项或多项,若多于一项则 各项之间用逗号分隔. o 输出表列和格式说明符在个数与类型上应相匹配. 例如,printf("\n x = %d , y = %f ", x , y+1);
3.2 常用输出与输入函数 printf的格式说明符
3.2 常用输出与输入函数
程序的运行结果是: 57 5 7 67.856400,-789.124023 67.856400,-789.124023 67.86,-789.12,67.856400,789.124023,67.856400,-789.124023 6.785640e+01,-7.9e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER,COM
3.2 常用输出与输入函数
printf函数在使用时的注意事项
printf函数可以输出常量,变量和表达式的值.但 格式控制中的格式符必须按从左到右的顺序,与 输出项表中每个数据在类型上一一匹配,否则将 导致数据输出错误. 类型转换字符x,e,g可以用小写字母,也可以用大 写字母.使用大写字母时,输出数据中包含的字 母也要大写.除x,e,g外,其他类型转换字符必须 用小写字母,例如%f不能写成%F. 在输入long整型数据时,一定要使用格式%ld.如 果只用了%d,将输出错误数据. 若需要输出百分号"%",则应在格式串中用连续 的两个百分号"%%"表示. 类型转换字符紧跟在"%"后面时作为类型转换字 符,否则将作为普通字符处理. printf函数的返回值通常是本次调用中输出字符的 个数.
C程序设计电子教案(上)
C程序设计电子教案(上)ppt 第一章:C语言概述1.1 C语言的历史和发展1.2 C语言的特点1.3 C语言的应用领域1.4 开发环境搭建第二章:C语言基础语法2.1 数据类型2.2 变量和常量2.3 运算符与表达式2.4 注释和预处理指令第三章:控制语句3.1 顺序结构3.2 选择结构3.3 循环结构3.4 跳转语句第四章:函数与编程风格4.1 函数的定义和调用4.2 函数的参数传递4.3 返回值4.4 局部变量和全局变量4.5 编程风格和规范第五章:数组和字符串5.1 一维数组5.2 二维数组5.3 字符串的基本操作5.4 字符串数组第六章:指针6.1 指针的概念6.2 指针的声明和赋值6.3 指针与数组6.4 指针与函数6.5 指针的指针第七章:引用7.1 引用的概念7.2 引用的声明和使用7.3 引用与指针的区别7.4 引用在函数中的使用第八章:结构体和联合体8.1 结构体的定义和使用8.2 结构体数组8.3 结构体指针8.4 联合体的定义和使用第九章:文件操作9.1 文件概述9.2 文件的打开与关闭9.3 文件的读写操作9.4 文件的定位操作9.5 文件的权限操作第十章:标准库函数10.1 标准输入输出库函数10.2 字符串处理库函数10.3 数学计算库函数10.4 时间和日期处理库函数10.5 其他常用库函数第十一章:动态内存分配11.1 动态内存分配的概念11.2 动态内存分配函数11.3 动态内存管理的最佳实践11.4 内存泄漏和溢出第十二章:链表12.1 链表的概念12.2 单向链表的实现12.3 双向链表的实现12.4 循环链表的实现12.5 链表的应用第十三章:栈和队列13.1 栈的概念和实现13.2 队列的概念和实现13.3 栈和队列的应用场景13.4 链式栈和链式队列第十四章:排序算法14.1 排序算法概述14.2 冒泡排序14.3 选择排序14.4 插入排序14.5 快速排序14.6 归并排序14.7 堆排序第十五章:算法和数据结构15.1 算法概述15.2 算法分析15.3 常见数据结构15.4 算法与数据结构的结合15.5 算法设计技巧重点和难点解析本文主要介绍了C程序设计的基础知识和高级应用,涵盖了C语言的历史、特点、应用领域,以及开发环境的搭建。
C语言程序设计(第三版)电子教案-第3章_简单程序设计
程序运行时按语句书写的次序依次执行 最简单、最基本的结构
【例3-3】分析下面程序结构。 #include <stdio.h> void main() {
int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("c=%d\n",c); }
在构造以上赋值语句之前,变量必须已经初始化或 赋值。下面的程序是错误的:
int a; a+=10; 因为a+=10相当于a=a+10,而右边表达式中的a是刚刚
定义的,还没有具体的值。
3.4 数据输入与输出
C语言本身不提供输入输出语句,其数据的输 入和输出功能是由函数来实现的
#include<stdio.h>
21世纪高等学校精品规划教材
第3章 简单程序设计
掌握C语言中的语句类型、程序结构 掌握赋值语句和基本输入/输出函数的使用
学会用正确的格式进行简单的输入输出程序设 计
3.1 C语言语句
表达式语句
表达式; 例如:
x=100 /*表达式*/ x=100; /*语句*/
函数调用语句
【例3-4】分析下面程序运行结果
#include <stdio.h> void main() {
char c='A'; int a = 65 , b = -100; long d = 100 ; float x = 3.141592631415,y = -3141592631.415; double dx = 3.141592631415; printf("c=%d, c=%c, c=%x\n",c,c,c); printf("a=%d, a=%x, a=%o,a=%c\n",a,a,a,a); printf("a=%d, a=%10d,a=%-10d, a=%+d\n",a,a,a,a); printf("b=%d, b=%10d,b=%-10d, b=%+d\n",b,b,b,b); printf("d=%d, d=%ld,d=%x, d=%lx\n",d,d,d,d); printf("x=%f,x=%6.f,x=%.3f,x=%6.3f,x=%10.3f\n",x,x,x,x,x); printf("y=%f,y=%6.f,y=%10.f\n",y,y,y); printf("dx=%f,dx=%6.f,dx=%.3f,dx=%6.3f,dx=%10.3f\n",dx,dx,dx,dx,d x); printf("x=%.8f,dx=%.8f\n",x,dx); }
精品课件-C语言程序设计实用教程-第3章 顺序结构的程序设计
3.printf()函数应用举例 【例3.8】 用不同的格式输出同一变量。 #include "stdio.h" main( ) {
char ch='b'; int x=65; printf("ch=%c,%4c,%d\n", ch, ch, ch); printf("x=%d,%c\n", x, x); }
【例3.9】 输出不同的数据类型的应用。
#include "stdio.h"
main()
{ int a,b;
float c;
char ch ;
a=123;
b=-1;
c=1.23;
ch='a';
printf("a=%d, a=%4d\n", a, a ); /*输出整数a的值*/
printf("%d, %o, %x, %u\n", b, b, b, b); /* 输出b的 值*/
(1)格式控制 格式控制由双引号括起来的字符串,主要包括格式说明和需要原 样输出的字符。 ①格式说明 由“%”和格式字符组成,如%d,%f等,作用是将要输出的数据转 换为指定的格式后输出。 ②普通字符 需要原样输出的字符。如“printf("radius=%f", radius);” 语句中的“radius=”就是普通字符。 (2)输出表列:是需要输出的一些数据,可以是常量、变量和 表达式。
printf("%f, %6.1f\n",c,c); c的值 */
/* 输出实数
printf("%c\n", ch);
/*输出字符
3.4.2 scanf()函数
精品课程《C语言程序》电子教案(全)
精品课程《C语言程序设计》电子教案(一)一、课程简介1.1 课程背景1.2 课程目标(1)掌握C语言的基本语法和数据类型;(2)熟悉运算符、表达式和语句的结构;(3)掌握函数的定义和调用;(4)了解常用的库函数和头文件;(5)学会使用C语言进行程序设计和调试;(6)培养编程思维和解决问题的能力。
二、教学内容2.1 课程安排本课程共分为五个部分,具体安排如下:第一部分:C语言基础知识(2周)第1周:C语言概述、变量和数据类型第2周:运算符、表达式和语句第二部分:程序控制结构(3周)第3周:顺序结构第4周:选择结构第5周:循环结构第三部分:函数与数组(3周)第6周:函数的定义和调用第7周:数组和字符串第8周:指针第四部分:指针与引用(2周)第9周:指针的应用第10周:引用第五部分:综合练习与课程设计(2周)第11周:综合练习第12周:课程设计2.2 教学方法采用讲授、实验、讨论相结合的教学方法,通过案例分析和编程实践,使学生掌握C语言的基本知识和编程技巧。
三、教学资源3.1 教材《C语言程序设计》,作者:谭浩强3.2 实验环境配置有C语言编译器的计算机实验室,如:Visual Studio、Code::Blocks等。
3.3 网络资源精品课程网站:提供课程讲义、实验指导、习题库、在线测试等功能。
四、课程考核4.1 考核方式课程考核分为过程考核和期末考试两部分,其中过程考核占60%,期末考试占40%。
4.2 过程考核包括课堂表现、实验报告、课后作业和在线测试等。
4.3 期末考试采取闭卷考试的方式,试题包括选择题、填空题、简答题和编程题等。
五、教学反馈5.1 学生反馈学生可通过课程网站、邮件等方式向教师反馈学习过程中遇到的问题和建议。
5.2 教师反馈教师根据学生的课堂表现、实验报告和作业等情况,及时给予反馈和指导。
精品课程《C语言程序设计》电子教案(二)六、第一部分:C语言基础知识6.1 第1周:C语言概述、变量和数据类型教学目标:了解C语言的发展历程、特点和应用领域;掌握基本数据类型、变量定义和初始化。
C语言程序设计-电子教案-甘勇-50848295 03 C程序基
介绍这些基本语句及其在顺序结构中的应用,
可以使读者对C 程序有一个初步的认识,为
以后的学习打下基础
(1)表达式语句:表达式语句由表达式加上分号“;”组成,运
行结果可以得到表达式的值。其一般形式为:
表达式;
例如:x=y+z; 赋值语句;
i++; 自增1 语句,i 值增1
(1)数学函数。
此类函数主要功能是用于数学函数计算。数学函数原型
在头文件math.h,使用此类函数前,必须在程序首部将
math.h 头文件包含进来方可使用。本章3.2.2 节常用
数学库函数将详细讲解该类函数,在此不再赘述。
(2)字符判断和转换函数。
此类函数用于对字符按ASCII 码分类为:字母、数字、
以利用此类函数中的rand()函数和srand()函数来取得随机数,
本章3.2.6 节具体讲解随机函数使用方法。
注意:在C 语言程序中用预处理命令将头文件包含到程序的形
式有两种,例如,针对头文件stdio.h 来说预处理命令的形式
可以为#include<stdio.h>或#include"stdio.h",使用尖括
与输出是程序的重要组成部分,是程序与用
户之间交互的界面如图3-1 所示
输入
用户
输出
运算
其他的高级语言都提供了输入与输出语句,
而C 语言本身没有输入和输出语句,为实现
数据的输入和输出,其库函数提供了一组输
入和输出函数,
函数scanf()和printf()来完成数据的格式输
课程《C语言程序》电子教案(全)
精品课程《C语言程序》电子教案(一)章节一:C语言概述教学目标:1. 了解C语言的历史和发展背景。
2. 掌握C语言的特点和应用领域。
3. 熟悉C语言的编译环境和基本语法。
教学内容:1. C语言的历史和发展背景。
2. C语言的特点和应用领域。
3. C语言的编译环境和基本语法。
教学方法:1. 讲解法:讲解C语言的历史、特点和应用领域。
2. 示例法:展示C语言的编译环境和基本语法。
教学资源:1. PPT课件。
2. C语言编译环境演示。
教学过程:1. 介绍C语言的历史和发展背景。
2. 讲解C语言的特点和应用领域。
3. 演示C语言的编译环境和基本语法。
4. 学生练习:编写简单的C语言程序。
教学评价:1. 课后作业:让学生编写简单的C语言程序,巩固所学内容。
2. 课堂问答:检查学生对C语言的了解程度。
精品课程《C语言程序》电子教案(二)章节二:数据类型、运算符和表达式教学目标:1. 掌握C语言的数据类型。
2. 熟悉C语言的运算符和表达式。
教学内容:1. C语言的数据类型。
2. C语言的运算符和表达式。
教学方法:1. 讲解法:讲解数据类型、运算符和表达式的概念及用法。
2. 示例法:展示数据类型、运算符和表达式的实际应用。
教学资源:1. PPT课件。
2. 编程实例。
教学过程:1. 介绍C语言的数据类型。
2. 讲解C语言的运算符和表达式。
3. 示例演示:运用数据类型、运算符和表达式编写程序。
4. 学生练习:编写运用数据类型、运算符和表达式的C语言程序。
教学评价:1. 课后作业:让学生编写运用数据类型、运算符和表达式的C语言程序。
2. 课堂问答:检查学生对数据类型、运算符和表达式的掌握程度。
精品课程《C语言程序》电子教案(三)章节三:控制语句教学目标:1. 掌握C语言的控制语句。
教学内容:1. C语言的控制语句。
教学方法:1. 讲解法:讲解控制语句的概念及用法。
2. 示例法:展示控制语句的实际应用。
教学资源:1. PPT课件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由jxsfdxljxy贡献 ppt文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
第3章 数据类型、运算符与表达式 章 数据类型、 3.1 3.3 3.3 3.4 3.5 3.6 3.7 3.8 3.9 程序设计概述 C语言的数据类型 语言的数据类型 常量和变量 整型数据 实型数据 字符型数据 算术运算与算术表达式 赋值运算与赋值表达式 C语言特有的运算和运算符 语言特有的运算和运算符 [Return] 3.1 程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。
1.对数据的描述,即数据结构。
数据结构是计算机学 科的核心课程之一,有许多专门著作论述,本课程就不再 赘述。
在C语言中,系统提供的数据结构,是以数据类型的形 式出现的。
3.对数据处理的描述,即计算机算法。
算法是为解决 一个问题而采取的方法和步骤,是程序的灵魂。
为此,著 名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 数据结构 + 算法 = 程序 实际上,一个程序除了数据结构和算法外,还必须使 用一种计算机语言,并采用结构化方法来表示。
[Return] 3.3 C语言的数据类型 语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。
具体 分类如下: 1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。
3.构造类型 分为数组类型、结构类型和共用类型三种。
3.指针类型。
在第9章中介绍。
4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述 这些类型。
本章将介绍基本类型中的整型、实型和字符型三种数据。
[Return] 3.3 常量和变量 3.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。
3.常量的分类 (1)整型常量 (3)实型常量 (3)字符常量。
(4)符号常量。
常量的类型,可通过书写形式来判别。
3.3.3 变量 1.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。
3.变量的两个要素 (1)变量名。
每个变量都必须有一个名字──变量名, 变量命名遵循标识符命名规则。
(3)变量值。
在程序运行过程中,变量值存储在内 存中。
在程序中,通过变量名来引用变量的值。
3.标识符命名规则 标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成, 且以字母或下划线开头。
(3)有效长度:随系统而异,但至少前8个字符有 效。
如果超长,则超长部分被舍弃。
例如,由于student_name和student_number的前8个字 符相同,有的系统认为这两个变量,是一回事而不加区 别。
在TC V3.0中,变量名(标识符)的有效长度为1~ 33个字符,缺省值为33。
(3)C语言的关键字不能用作变量名。
注意:C语言对英文字母的大小敏感,即同一字母的大 注意 小写,被认为是两个不同的字符。
习惯上,变量名和函数名中的英文字母用小写,以增加 可读性。
思 考 题:在C语言中,变量名total与变量名TOTAL、 思考 题 ToTaL、tOtAl等是同一个变量吗? 标识符命名的良好习惯──见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含 义。
通常应选择能表示数据含义的英文单词(或缩写)作变 量名,或汉语拼音字头作变量名。
例如,name/xm(姓名)、sex/xb(性别)、age/nl(年 龄)、salary/gz(工资)。
4.变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使 用;且称在定义变量的同时进行赋初值的操作为变量初始化。
(1)变量定义的一般格式 [存储类型] 数据类型 变量名[, 变量名3……]; 例如,float radius, length, area; (3)变量初始化的一般格式 [存储类型] 数据类型 变量名[=初值][, 变量名3[=初值 3]……]; 例如,float radius=3.5, length, area; [Return] 3.4 整型数据 3.4.1 整型变量 1.分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。
(3)短整型(类型关键字为short [int])。
(3)长整型(类型关键字为long [int])。
(4)无符号整型。
无符号型又分为无符号基本整型 (unsigned [int])、无符号短整型(unsigned short)和无符 号长整型(unsigned long)三种,只能用来存储无符号整数。
3.占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。
在16位操作系统中,一般用3字节表示一个int型变量,且 long型(4字节)≥int型(3字节)≥short型(3字节)。
显然,不同类型的整型变量,其值域不同。
占用内存字 节数为n的(有符号)整型变量,其值域为:-3n*8-1 ̄(3n*8-11);无符号整型变量的值域为:0 ̄(3n*8-1)。
例如,PC机中的一个int型变量,其值域为-33*8-1 ̄(33*8-11),即-33768 ̄33767;一个unsigned型变量的值域为:0 ̄ (33*8-1),即0 ̄65535。
3.4.3 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。
例如10、36。
(3)八进制(以数字0开头)。
例如013。
(3)十六进制(以数字0+小写字母x开头)。
例如0x36。
3.分类 (1)基本整型。
在16位机中,用3字节存储,其数据范 围与int型变量一样。
(3)长整型(在数值后面加“L(l)”)。
对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-331-(331-1)。
例如,133l、315L等。
3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。
例如,其值在-315--(315-1)的整型常量,可以赋给 int型变量和long int型变量;其值在-331--(331-1)的整 型常量,就只能赋给long int型变量。
注意:常量无unsigned型。
但一个非负整型常量,只要 注意 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。
[Return] 3.5 实型数据 3.5.1 实型变量 C语言的实型变量,分为两种: (1)单精度型。
类型关键字为float,一般占4字节(33位)、提 供7位有效数字。
(3)双精度型。
类型关键字为double,一般占8个字节、提供 15 ̄16位有效数字。
3.5.3 实型常量 1.表示形式 实型常量即实数,在C语言中又称浮点数,其值有两种表达形式: (1)十进制形式。
例如3.14、9.8。
(3)指数形式:<尾数>E(e)<整型指数>。
例如3.0E+5等。
3.关于类型 实型常量不分float型和double型。
一个实型常量,可以赋给一个 实型变量(float型或double型)。
[Return] 3.6 字符型数据 3.6.1 字符常量 1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。
例如,‘A’、‘1’、‘+’等。
3.转义字符 C语言还允许使用一种特殊形式的字符常量,就是以 反斜杠“\ ”开头的转义字符。
注意:如果反斜杠或单引号本身作为字符常量,必须 注意 使用转义字符:‘\\’、‘\’‘。
[案例 案例3.1] 用转义字符输出可打印字符和不可打印字符。
案例 /*案例代码文件名:AL3_1.C*/ /*程序功能:用转义字符输出可打印字符和不可打印 字符*/ main() { printf(“\x4F\x4B\x31\n”); /* 等价于printf(“OK!\n”); */ printf(“\x15 \xAB\n”); } 程序运行结果如下: OK! § [程序演示 程序演示] 程序演示 3.6.3 字符变量 字符变量的类型关键字为char,一般占用1字节内存单元。
1.变量值的存储 字符变量用来存储字符常量。
将一个字符常量存储到一 个字符变量中,实际上是将该字符的ASCII码值(无符号整 数)存储到内存单元中。
例如, char ch1, ch3; /*定义两个字符变量:ch1,ch3*/ ch1=’a’; ch3=’b’; /*给字符变量赋值*/ 3.特性 字符数据在内存中存储的是字符的ASCII码── 一个无 符号整数,其形式与整数的存储形式一样(如图3-4所示), 所以C语言允许字符型数据与整型数据之间通用。
(1)一个字符型数据,既可以字符形式输出,也可以 整数形式输出。
[案例 案例3.3] 字符变量的字符形式输出和整数形式输出。
案例 /*案例代码文件名:AL3_3.C*/ /*程序功能:用字符形式和整数形式输出字符变量*/ main() { char ch1,ch3; ch1='a'; ch3='b'; printf(“ch1=%c,ch3=%c\n”,ch1,ch3); printf(“ch1=%d,ch3=%d\n”,ch1,ch3); } 程序运行结果: ch1=a,ch3=b ch1=97,ch3=98 [程序演示 程序演示] 程序演示 (3)允许对字符数据进行算术运算,此时就是对它 们的ASCII码值进行算术运算。
[案例 案例3.3] 字符数据的算术运算。
案例 /*案例代码文件名:AL3_3.C*/ /*程序功能:字符数据的算术运算*/ main() { char ch1,ch3; ch1=‘a’; ch3=‘B’; /*字母的大小写转换*/ printf(“ch1=%c,ch3=%c\n”,ch1-33,ch3+33); /*用字符形式输出一个大于356的数值*/ printf("ch1+300=%d\n", ch1+300); printf("ch1+300=%c\n", ch1+300); printf("ch1+356=%d\n", ch1+356); printf("ch1+356=%c\n", ch1+356); } 程序运行结果: ch1=A,ch3=b ch1+300=397 ch1+300=) ch1+356=353 ch1+356=a [程序演示 程序演示] 程序演示 思考题:用字符形式输出一个大于356的数值,会得 思考题 到什么结果? 3.6.3 字符串常量 1.字符串常量的概念和字符串长度 字符串常量是用一对双引号括起来的若干字符序列。
字符串中字符的个数称为字符串长度。
长度为0的字 符串(即一个字符都没有的字符串)称为空串,表示为 “ ” (一对紧连的双引号)。