tceic.com
简单学习网 让学习变简单
当前位置:首页 >> 学科竞赛 >>

高中信息学竞赛C语言教程(第二讲)基本输入输出语句及顺序结构程序设计


第二讲

程序设计初步

程序设计的一般过程:
? ? ? ? 提出问题 分析问题 设计算法 编写程序

?
?

上机调试
维护修改

一、C语言概述
函数头(header):
是程序的开头部分。

函数体:


C程序中包含一个或多个 函数,它们是C程序的基 本模块。C的惯例是把 main()函数放在开头,因 为它通常为程序提供了基 本框架。通常,所有的C 函数都使用花括号来表示 函数体的开始与结束,函 数体则由各种语句组成。

#include<stdio.h> #define PI 3.14 //预处理指令 int main(void) //函数名 { float r,c,s; //声明语句 printf(“请输入圆的半径:\n"); scanf("%f",&r); //函数语句 c=2*PI*r; s=PI*r*r; //赋值语句 printf("圆的周长为:%.2f\n",c); printf("圆的面积为:%.2f",s); return 0; }

一、C语言概述
1、常量与变量 程序要完成各种各样的任务,就需要使用数据,即 承载信息的数字与字符。有些数据可以在程序使用之前 预先设定并在整个运行过程中没有变化,这称为常量。

另外的数据在程序运行过程中可能变化或被赋值,这称 为变量。在示例程序中pi是常量,而r、c、s则是变量。
2呢?不用说,在程序中肯定把它作为常量来对待。变量 与常量的区别在于,变量的值可以在程序执行过程中变 化与指定,而常量则不可以。

一、C语言概述
1、常量与变量 在程序中直接使用3.14等类似的数并不是一个好 习惯,它们几乎无法向以后阅读该程序的人提供什么 信息,而且使程序的修改变得更加困难。处理这种数 字的一种方法是赋予它们有意义的名字。#define指令 可以把符号名定义为一个特定的字符串: 符号常量的说明格式是: #define 名字 替换文本 在该定义之后,程序中出现的所有在#define中定义的 名字都将用相应的替换文本替换。

符号常量与直接常量

#include<stdio.h> #include<stdio.h> int main(void) #define PI 3.14 int main(void) float r,c,s; float r,c,s; printf(“请输入圆的半径:\n"); 直 scanf("%f",&r); printf(“请输入圆的半径:\n"); 符 接 scanf("%f",&r); c=2*3.14*r; 号 常 c=2*PI*r; s =3.14*r*r; 常 量 s=PI*r*r; printf(" 圆的周长为: %.2f\n",c); 量 printf("圆的周长为:%.2f\n",c); printf("圆的面积为:%.2f",s); return 0; printf("圆的面积为:%.2f",s); return 0; } }

一、C语言概述
1、常量与变量 在程序处理数据时,对于输入数据、参加运算的 数据、运行结果等临时数据,通常把它们暂时存储在 计算机的内存中。变量就是命名的内存单元位置。在 C语言中,所有变量必须先声明后使用,以使系统为 其分配相应的存储单元。 变量名可使用的字符有小写 变量的声明格式是:

类型名 变量名表;
例如:int a,b,c,s; float r,c,s;
以带有小数部分的数)*/

字母、大写字母、数字和下 划线,最多可以有63个字符。 第一个字符必须是字母或者 下划线。C语言的名字是区分 大小写的。

//类型int表示其后所列变量为整数 /*float表示所列变量为浮点数(即可

一、C语言概述
2、基本数据类型
数据类型 类型说明符 整型 int 所需内存空间 通常2Byte 或4Byte 通常2Byte (即16bit) 通常4Byte (即32bit) 4Byte 8byte 每字符1Byte 取值范围 -32768到32767或
-2147483648到2147483647

短整型
长整型 单精度 双精度 字符型 (或整型)

short
long float double char

-32768到32767
-2147483648到2147483647
1.175494e-038到3.402823e+038 2.225074e+308到1.191693e+308

-128到127

一、C语言概述
3、运算符、函数和表达式 (1)运算是对数据加工过程。描述各种不同的运算的符 号称之为运算符,而参与运算的数据则成为操作数。 ①算术运算符:
运算符 含义 + * / % ++\-增量\减量 运算符

加(或正 减(或负 运算符) 运算符)

乘 除(或整除) 求余

②关系运算符: >、<、>=、<=、==、!=、 ③逻辑运算符:&&、||、!

一、C语言概述
3、运算符、函数和表达式 (2)函数 调用函数的格式如下: 函数名(参数表) 如:求变量a的绝对值则可调用函数abs(a) 求常量100的平方根可调用函数sqrt(100) 求变量r的2次方可调用函数pow(r,2) (3)表达式 表达式是指由运算符和配对的圆括号将变量、常量、 函数等操作数以合理的形式连接起来的式子。最简单的 表达式可以是一个单独的操作数。 如:算术表达式2*PI*r、PI*r*r、i++等。

一、C语言概述
4、语句 语句(statement)是构造程序的基本成分。程序 (program)是一系列带有某种必须的标点(在C语言中 具体为分号)的语句集合。一个语句是一条完整的计算 机指令,例如:x=25;x++;y=sqrt(x);等。在C中,语句用 结束处的一个分号表示。到目前为止我们已经遇到了三 种语句,它们分别是:声明语句(declaration statement)、函数语句(function statement)和赋值语句 (assignment statement)。

典型的C程序框架
#include 预处理指令 Main()函数总是第 一个被调用的函数 statements Function a() 函数由语 句组成

int main (void)

statements
Function b()

statements
函数是C的 基本模块

关键字 标识符 运算符 数据

一、 顺序结构的程序设计
一种好的语言应该能够提供以下三种形式的程序流:
? 顺序执行语句序列(顺序)。 ? 在满足某个条件前反复执行一个语句序列(循环)。 ? 通过进行一个判断在两个可选的语句序列之间选择执行(分支)。

顺序是一种最简单、最基本的结构,它的特点是在这个结 构内按由上到下的书写顺序执行,它只有一个入口和一个出口。

1、赋值语句
通常使用赋值语句来给变量提供数据,它具有计算和赋值 的功能,程序中所进行的各种运算,大多数是在赋值语句中实 现的。

(1) 格式

变量标识符=表达式;

(2) 说明
在C里,符号=不表示“相等”,而是一个赋值运算符。下 面的语句将值2015赋给名字为a的变量:

a=2015;
也就是说,符号=的左边是一个变量名,右边是赋给该变 量的值。赋值运算符的动作是从右到左。

(3) 特殊用法
a.请考虑下面的常用语句: i=i+1;

在数学上,该语句没有任何意义。但是作为计 算机赋值语句,它却是很合理的。它意味着“找到 名字为i的变量的值;对那个值加1,然后将这个新 值赋给名字为i的变量”(如下图所示)。 i i

22
b.a=b=c=100;

i=i+1; i=22+1; i=23;

23

许多程序语言不接受这样的多重赋值,但是C可 以顺利接受,赋值是从右到左进行的。首先c得到值 100,然后b也得到值100,最后a得到值100。

2、输入函数(printf())
要使变量获得一个确定的值,除了可以用赋值语句外,在 实际的使用中,更多的情况是:程序中需要赋值的变量往往很 多或变量的值经常变化。如果输入数据有所改变时,程序不必 进行修改就可以得到所要处理的不同结果,也就是说,使程序 具有通用性。此时,使用赋值语句显然已是不适宜了,需要一 个灵活的提供数据的语句,能在程序运行后从键盘输入变量的 值,这就是我们要介绍的语句-输入语句。

(1)格式 printf(control-string,item1,item2,…);

(2)说明
item1,item2等都是要输出的项目。它们可以是变量,也 可以是常量,甚至可以是一个表达式。控制字符串(controlstring)是一个描述项目如何输出的字符串,它应为每个要打 印的项目包含一个转换说明符。

常用转换说明符及对应输出结果 转换说明 输出内容

%d
%f %e或%E %c %s %%

有符号十进制数
浮点数、十进制计数法 浮点数、e或E计数法 一个字符 字符串 打印一个百分号

(3)举例 printf("The value of pi is %f.\n",PI); printf("You look great in %s.\n",color); printf("You look great in red.\n"); (4)注意
不难发现,控制字符串包含了两种形式截然不同的信息:1.实际 要打印的字符;2.转换说明符。不要忘记给控制字符串后面的列表中 的每个项目都使用一个转换说明,且类型要与之匹配。

3、输出语句(scanf())
利用计算机解题时,首先需要将解题的程序装入计算机,运 行程序并输入程序中所需要用到的相应的数据,然后由程序来处 理,最后要有相应的语句来输出处理后的结果。也就是说,一个 能解决实际问题的程序是不可以没有输出语句的。

(1)格式

scanf(control-string,item1,item2,…); (2)说明
和printf()一样,scanf()函数使用控制字符串和参数列表。 控制字符串指出输入将被转换成的格式,主要区别是在参数列表 中。printf()使用变量名、常量和表达式;而scanf()函数使用 指向变量的指针,即在变量名之前加上一个&。

(3)举例 scanf("%f",&r); scanf("%d%d",&a,&b); scanf("%c",&ch); scanf("%s",color); (4)注意
如果使用scanf()把一个字符串读进一个字符数组中, 请不要使用&。


推荐相关:

第十五届全国青少年信息学奥林匹克联赛试题及答案 C语言

第十五届全国青少年信息学奥林匹克联赛试题及答案 C语言_学科竞赛_高中教育_教育...("\n"); return 0; } 输入:5 13 输出:___ 五.完善程序(前 5 空,每...


第十六届全国青少年信息学奥林匹克联赛初赛试题_提高组(c语言)

第十六届全国青少年信息学奥林匹克联赛初赛试题_提高组(c语言)_其它考试_资格考试/认证_教育专区。今年高中信息技术竞赛(NOI信息学奥林匹克竞赛提高组C语言试题)第...


学生信息管理系统c语言程序设计报告(完美)

学生信息管理系统c语言程序设计报告(完美)_实习总结_总结/汇报_实用文档。学生...1.3 输入信息 第7页 学生信息管理系统 图三 依次输入学生的各项基本信息。 ...


C语言教程

是关于C语言程序设计教程。隐藏>> 第1章 程序...-S 流程图表示的三种基本结构如下: (1)顺序结构...(6)C 语言本身没有输入输出语句,输入输出由库函数...


第十二届全国青少年信息学奥林匹克联赛初赛试题及答案(普及组、C语言

(普及组、C语言_学科竞赛_高中教育_教育专区。第十二届全国青少年信息学奥林匹克...("\n"); } 输入:9734526 输出:___ 四、完善程序(前 4 空,每空 2.5 分...


《程序设计基础教程----C语言版》实验指导手册

信息与计算科学专业《程序设计 基础教程---C语言版...直到程序输出结果正确; 4.学习基本的调试程序方法(...掌握顺序结构程序设计概念、方法及各种赋值语句的使用...


学好C语言的四种程序结构

学好C 语言的四种程序结构 (1)顺序结构 顺序结构程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就 行,它的执行顺序是自上而下,依次执行。 例如:a...


第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)

第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)_学科竞赛_高中教育_教育专区。第二十届全国青少年信息学奥林匹克竞赛初赛 提高组 C 语言试题 ...


C语言程序设计教学大纲

第四章 最简单的 C 程序设计 — 顺序程序设计(2 学时) 1.教学内容 (1) C 程序结构语句的构成; (2) 顺序结构程序的设计:赋值语句的使用要点; (3) ...

网站首页 | 网站地图
All rights reserved Powered by 简单学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com