第2章 C语言程序设计概述 1课时
《C语言程序设计》课程教学大纲

《C语言程序设计》课程教学大纲一、课程教学目的本课程系统研究C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用C语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求通过本课程的研究,应熟练掌握C语言中的基本知识、各种语句及程序控制结构,熟练掌握C语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用C语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配本学科计划学时为246学时,其中理论与实训课时比例为7:3.四、课程教学重、难点课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。
难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容第一章C言语概述1.教学内容(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2) C语言的历史背景、特点;(3) C言语源步伐的格式和步伐结构;(4) C程序的上机步骤。
2.重、难点提醒(1)重点:掌握简单的C程序格式,包括main()函数、数据说明、函数开始和结束标志等;(2)难点:编程入门和对言语的理解。
第二章算法1.教学内容(1)算法的概念及特征;评价算法优劣的方法(时间和空间);(2)简单算法举例;(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化步伐设计的基本思想及基本步调。
2.重、难点提醒(1)重点:算法流程图三种基本结构(以后各章研究中使用流程图强化对步伐的理解);(2)难点:算法概念和对结构化步伐设计思想的理解。
第二章 C语言程序设计

例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数
。
(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;
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)实验内容 程序验证性实验
第2章C语言概述

图形系统
程序设计基础(基于C语言 用武之地
大 型 游 戏
图 文 处 理 系 列
h
10
程序设计基础(基于C语言
第2章 C语言概述
11
学习目标
程序设计基础(基于C语言
➢了解C语言发展的历史。 ➢了解C语言程序的组成以及特点。 ➢熟悉C语言程序的开发过程。 ➢重点掌握使用VC6编写控制台程序的方法、工具 和步骤。
左大括号 {表示函数的开始,后面是函数的主体。右大括号 }表示函数 的结束。
在屏幕上输出“Hello world”,并换行。每个语句都以分号结束。
2
参考书目
程序设计基础(基于C语言
➢谭浩强 《C程序设计(第四版)》 清华大学出 版社 ➢钱能 《C++程序设计教程》清华大学出版社 ➢
3
课程安排
程序设计基础(基于C语言
➢总课时72=上课48+上机24 ➢总成绩=平时成绩30%+考试成绩70% ➢平时成绩包括作业、上机、到勤
{
printf("Hello World\n");
}
以 # 开始的语句称为预处理命令。不是必需的,但是如果程序有就必须在
程序的开始处。#include用于将指定的stdio.h文件包含在程序中。
main() 函数是 C 程序处理的起点。每个程序有且仅有一个main函数 如果某个函数没有返回值,那么在它的前面有一个关键字 void。
12
程序设计基础(基于C语言
第2章 C语言概述
➢程序设计语言的发展史 ➢C语言简史 ➢C语言的特点 ➢C程序介绍 ➢C语言的上机步骤
13
程序设计基础(基于C语言 程序设计语言的发展史
C语言程序设计教程(第2版)课后习题答案杨路明

第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
《C语言程序设计》第1讲概述PPT课件

言 发展过程,目前广泛使用的高级语言有Pascal、 C、C++、VB、VC++、
Java、Delphi等。
main()
计
计算机程序是按照计算机语言规则 {
算
组织起来的一组指令。
int i,s;
Nicklaus Wirth (尼克劳斯·威茨)
Pascal之父
机
程
数据结构+算法=程序
i=1; s=0;
Programming Language 42岁(1983年)获得图灵奖; 58岁(1999年)获得全美技术勋章; 现年66岁,仍但任朗讯科技公司贝尔实验
室下属的计算机科学研究中心系统软件研究 部主任。
C语言之父,UNIX之父 Dennis M.Ritchie (丹尼斯·利奇)
在1983年两人联合 接受了计算机最高 奖图灵(Turing)奖
(1)合理使用注释; (2)要使用含义鲜明的符号名; (3)程序格式化。
4. 程序的错误和测试
(1) 程序的错误通常有两种:语法错误和逻辑错误。 存在语法错误时,程序不能正常进行。 程序存在逻辑错误,是指程序能够正常运行,但得不到要求的正确结果。
(2) 程序的测试 常用的测试方法有两种:黑盒法和白盒法。
例
最基本的数据输入/输出方式: ——从键盘输入数据 ——从显示器输出结果
C语言本身不提供输入输出语句,输入输出操作是由函数实现的( 包括在库函数stdio.h中),它提供了多种输入输出函数,使输入输 出灵活、方便。
二、C语言程序简介
1. C语言概述 2. C语言的特点 3. 标识符与保留字 4. C语言程序的基本特点 5. C语言程序的上机实现
i<100? Yes
C程序设计课件一二

K&R合著《The C Programming Language》
ANSI C: 1983年
87 ANSI C: 1987年
1990年国际标准的ANSI C ,1994年再次修订。
C版本
Microsoft C 或称 MS-CΒιβλιοθήκη Turbo C 或称 TC
<
>
C语言程序设计 C语言与自然语言的比较
double else
enum extern float
for
goto
if
int
long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
Turbo C扩充了11个关键字:
asm
_cs
_ds
_es
_ss
huge
interrupt near
pascal
注意:在C语言中,关键字都是小写的。
cdecl
far
<
C语言程序设计
第一章 C语言概述
C语言有 9 种控制语句,程序书写形式自由 ,主要用小写字母表示,压缩了一切不必要 的成分。
9种控制语句: if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return
<
C语言程序设计 C语言运算符丰富(附录C)
第一章 C语言概述
34种运算符: 算术运算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) 注意:各种运算符混合使用,其优先级与结
C语言概述【C语言程序设计】 全文免费在线看-免费阅读-max文档投稿赚钱网

总结
(3) C程序的书写格式自由,一行内可以写几条 语句,一条语句也可以写在多行上,每条语句后 必须以“;”作为语句的结束。复合语句要以一 对{}括起来。
(4) C程序的执行总是从主函数开始,并在主函 数中结束。主函数的位置在程序中是任意的,其 他函数总是通过函数调用语句来执行。
(5) 主函数可以调用任何函数,任何非主函数之 间都可以相互调用,但是不能调用主函数。
s+i⇒s
当P成立
A
i+1⇒i
A
直到P成立
输出s的值
本章小结
本章主要介绍了C语言的发展和特点, C语言程序的构成以及算法的定义和表示, 其中C程序的构成和算法的表示是重点和 难点,算法的表示方法中以传统流程图 为主,本书后续各章中都使用传统流程 图来表示算法。
结束
(4) 输出 一个算法要有一个或多个输出。若无输出,则无法知道结果。 (5) 可行性 可行性是指所有待实现的运算必须是相当基本的,至少在 原则上人们可以用纸和笔做有限次操作即可完成。 实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对 象数据,就容易找到处理方法。
§ 1 . 3 . 2 算法的表示
总结
(1) C程序由函数组成
每个C程序有且仅有一个主函数,该主函数的 函数名规定为main。一个C程序由一个main函数和 若干个子函数构成。 (2) 函数可分为两部分:函数说明和函数体
函数说明的形式:
函数类型 函数名(形式参数1类型 形式参数 1,形式参数2类型 形式参数2,……) 函数体的形式: { 变量定义(说明)部分 函数执行部分
1987年美国标准化协会制定了C语言标准“ANSI C”, 即现在流行的C语言。
§ 1 . 1 C语言概况
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语言程序设计
⑶语句结构 遵循---“清晰第一、效率第二” ①复杂的表达式应加上必要的括号。 ②条件不要过于复杂,嵌套的层数不宜过多。 ③尽量避免使用goto语句。 ④函数实现程序模块化。 ⑷输入、输出 ①输入方式尽可能简单。 ②交互式输入时,应有提示信息。
ቤተ መጻሕፍቲ ባይዱ
语言程序设计
③程序应对输入的合法性进行检查,对于不合 法的输入能够作出处理。 ④输出格式应清晰简洁。
x )
函数类型 函数名 参数类型 参数名
函数体 用一对{ }括起来。
语言程序设计
任务三 了解Visual C++ 6.0集成开发环境
C程序的计算机执行过程:
C程序的上机过程:
有错误 有错误
编辑
正确
编译
正确
运行 正确
语言程序设计
任务四 创建、编辑源程序
任务五 编译、连接、运行和调试 任务六 程序的保存、打开、关闭和退出
语言程序设计
二、C语言的发展历史、C语言的特点、C程 序结构特点。 三、Visual C++ 6.0集成开发环境及基本的C程 序上机编辑调试方法,包括创建、编辑、编译 链接、运行、调试、设置断点、查看变量、保 存和打开程序,关闭及退出等基本操作。
语言程序设计
如何学好C语言呢?
• How are you?
语言程序设计
C语言程序设计
——CDIO….
信息与电气工程学院 2012年2月
语言程序设计
第二章 C语言程序设计概述
• • • • • • • • 任务一 了解程序与程序设计 任务二 了解C语言 任务三 了解Visual C++6.0集成开发环境 任务四 创建编辑源程序 任务五 编译、连接、运行和调试 任务六 程序的保存、打开、关闭与退出 任务七 本意要点汇总 任务八 实力检验
返回
语言程序设计
算术运算符 关系运算符
+ <
<=
*
/ ==
% >
++ >=
-!=
逻辑运算符
! <<
?: , * &
&& >>
|| ~ | ^ &
34 种 运 算 符
位运算符
赋值运算符 条件运算符 逗号运算符 指针运算符
= 及其扩展(注:复合赋值运算符)
求字节数
强制类型转换 分量运算符 下标运算符 其它
三种能力的培养
阅读程序能力 编写程序能力 调试程序能力
语言程序设计
任务二 了解C语言
一、C语言的发展概况 1963-英国剑桥大学 CPL(Combined Programming Language) 1967-英国剑桥大学 BCPL(Basic Combined Programming Languege) 1970-美国BELL 实验室简化了BCPL提出B语言, 并用B写了第一个UNIX操作系统。 1973-C 1983-ANSI协会 ANSI-C标准。
语言程序设计
(2)汇编语言: 用“助记符”来表示机器指令。 如: ADD A, B SUB A, B 特点:计算机不能直接识别和执行,依赖 于硬件,效率高;繁琐难推广。
(3)高级语言 与人类自然语言相接近、在一定程度上与 机器无关,易学、易维护,是面向用户的语言。
语言程序设计
源程序在输入计算机后,需要“翻译程序” 将其翻译成机器语言形式的目标程序,计算机 才能识别和执行。这种“翻译”通常有两种方 式,即编译方式和解释方式。
sizeof
(类型) . [] ( ) ->
返回
语言程序设计 短整型short
整 型
整型int 长整型long 单精度型float
数值类型
基本类型 字符类型char 数组 C 数 据 类 型 结构体struct 浮点型
双精度型double
构造类型
指针类型 空类型void
共用体union 枚举类型enum
语言程序设计
C程序结构特点 (1) C程序由若干个函数组成,其中有且仅有一 个main函数,main函数的位置可以任意;程序 执行从main函数开始,在main函数中结束。 (2)“/*……*/”为注释部分;
(3)用预处理命令#include包含有关头文件的信息。 (4)语句以分号作结束标志;
(5)在C语言中区分大小写,如Main、MAIN、 maiN是不同的。
语言程序设计
二、C语言的特点 1、简洁紧凑、灵活方便 。 2、运算符、数据类型丰富。 3、结构化。 4、模块化:函数。 5、既有高级语言的特点(可移植性好),也有 低级语言的许多功能(对硬件的操作)。 6、语法限制不太严格,程序设计自由度大。 7、生成的目标代码质量高,程序执行速度快。 8、功能强大:丰富的库函数(附录四)。
A
B
图2-1 顺序结构
语言程序设计
选择结构:根据设定的条件,判断选择哪一分 支来执行。
条件 A B 图2-2 选择结构
语言程序设计
循环结构:根据给定的条件,判断是否需 要重复执行某一程序段,
假
条件 真 A
A 条件 真 假
图2-3 当型循环
图2-4 直到型循环
语言程序设计
结构化程序设计的原则是什么呢?
编译方式:指在源程序执行之前,将程序的 源代码“翻译”成目标代码(机器语言) 解释方式:源程序一边由相应语言的解释器 “翻译”成目标代码(机器语言),一边执行, ⑷面向对象的高级语言
语言程序设计
4.结构化程序设计方法 顺序、选择、循环三种基本控制结构。 顺序结构:按照书写的顺序执行,且每条 语句都将被执行。
语言程序设计
4.结构化程序设计的主要原则:自顶向下、 逐步求精、模块化和避免使用 goto 语句。 5.程序设计风格:主要从源程序文档化、数 据说明的方法、语句结构以及输入和输出几 个方面培养良好的程序设计风格。 6.三种能力的培养:学习C语言的过程中要 注重培养和锻炼阅读程序能力、编写程序能 力、调试程序能力。
①自顶向下。
先考虑总体,后考虑细节。
②逐步求精。 把复杂的问题分解成一系列简单的子问题。 ③模块化。 ④避免使用goto语句。
语言程序设计
5.程序设计风格 ⑴源程序文档化
①对于符号名的命名---“见名知义”
②使用注释 ③采用锯齿形书写格式 ⑵数据说明 ①规范数据说明的次序
②使用注释说明复杂的数据结构
语言程序设计
任务一 学习目标
了解程序与程序设计相关知识
理解程序的概念 了解程序设计的过程 了解程序设计语言的发展
理解结构化程序设计方法
掌握程序设计风格
掌握程序设计的三种能力
语言程序设计
了解C语言
C语言的发展历史 了解C语言的特点 理解C程序结构特点
掌握C程序在 Visual C++ 6.0成开发环境下 创建、编辑、保存、打开、关闭与退出、编 译、链接、运行和调试的方法。
返回 定义类型typedef
语言程序设计
三、C程序结构特点
【案例2-1】求给定的两数之和。
#include <stdio.h> /*将stdio.h文件包含到本程序中*/ main( ) /*主函数*/ { /*函数体开始*/ short a,b,c; /*定义变量a,b,c为短整型*/ a=10;b=20; /*变量赋初值*/ c=a+b; /*将变量a与b的和赋给变量c*/ printf("%d\n",c); /*按十进制整数形式输出变量c*/ } /*函数体结束*/
语言程序设计
3.程序设计语言 程序设计语言是人与计算机之间交流的工 具,程序设计必须使用程序设计语言来实现。 (1)机器语言
计算机唯一能接受和执行的语言,由二 进制码组成,每一串二进制码叫做一条指令, 一条指令规定了计算机执行的一个动作。 特点:效率高,速度快; 但不直观、难以阅读,难学难掌握; 可移植性差。
• • • • How old are you? 语义 语法 规则 加强上机练习 祝你好运!
语言程序设计
任务八 实力检验
习题2 作业:1、3、4、5
语言程序设计
任务一 了解程序与程序设计
1.程序的定义 程序是为实现特定目标或解决特定问题而 用计算机语言编写的命令序列的集合。 著名的计算机科学家Niklaus Wirth 程序=算法+数据结构 什么是程序设计? 编写程序的过程称为程序设计。
语言程序设计
2.程序设计过程
⑴原始数据
⑵计算方法
程序设计的核心和关键部分,解决问题 是如何实现的。 ⑶输出结果
语言程序设计
任务七 本章要点汇总
一、与程序、程序设计相关的概念和知识 1.程序:为实现特定目标或解决特定问题而 用计算机语言编写的命令序列的集合。程 序设计是指编制程序的过程。 2.程序设计语言:用于编写计算机程序的语 言。历经机器语、汇编语言、高级语言和 面向对象的高级语言几个阶段 结构化程序设计方法 3.三大基本结构:顺序结构、选择结构和循 环结构。
语言程序设计
32个关键字(由系统定义,不能重作其它定义) auto break continue default case do char double const else
enum if
short switch
extern int
signed typedef
float long
sizeof
for
static
goto
struct viod
register return
unsigned union
volatile while
返回
语言程序设计