tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> 电子/电路 >>

C语言程序设计初步_图文

第 3章 C语言程序设计初步
3.1 C语句的作用与分类

3.2
3.3

数据的输入和输出
常用的数学函数

3.4
3.5

顺序结构和序示例
程序设计中注意的问题

1

3.1 C语句的作用与分类
? 函数是C程序的基本构成单位,一个函数包括声明部分和 执行部分。执行部分是由一条或多条C语句组成的,语句 的作用是向计算机系统发出操作和运算指令,要求执行相 应的操作。一条C语句编译后会产生多条机器指令。

? C语言的语句按照其功能可以分为两类:用于描述计算机 操作和运算的操作运算语句和用于控制操作执行顺序的流 程控制语句。

2

1. 表达式语句 C语言中的操作和运算是通过表达式实现的,表达式语句是程序中使用广泛的一种语句。 例如: i++ //这是一个表达式,不是语句 i++; //语句,执行后使i的值加1 x+y; //语句,但没有任何意义,执行后运算结果没有保存,且x和y的值也没有变化 (1) 赋值语句 赋值语句是在赋值表达式后面加上分号组成,其作用是改变变量的值。例如: i=x+y; (2) 函数调用语句 函数调用语句是在函数调用表达式后面加分号组成,其作用是使被调用的函数得到执行。 例如: printf("hello world.\n"); (3) 空语句 空语句由有一个分号组成。 2. 流程控制语句 C语言一种提供了9种流程控制语句,它们大致可以分为以下几类: ? 选择结构控制语句:if…else和switch ? 循环结构控制语句:for、while和do…while ? 结束本次循环语句:continue ? 终止循环和多分支语句:break ? 无条件转移语句:goto ? 函数返回语句:return 3. 复合语句 C语言允许将一条或多条语句用花括号{}括起来形成复合语句,也称为语句块。
3

3.2 数据的输入和输出
C语言没有专门的输入输出指令或语句,所有的数据输 入和输出操作都是通过对标准I/O(输入/输出)库函数调用 完成。头文件“stdio.h”中声明了这些输入和输出库函数, 在程序中使用标准输入/输出库函数时,在程序开始部分使 用如下编译预处理命令: #include <stdio.h>

4

1.格式输出函数printf printf函数的一般形式如下: printf(格式控制字符串, 输出表列);
格式说明符的作用是把输出表列中对应的输出数据按照指定的 格式进行输出。其语法形式如下: %[附加格式字符]格式字符

5

1. printf函数的格式字符
格式字符 d o x 或 X u f e 或 E g 或 G c s 附加格式 l h m 含义 以有符号十进制形式输出整数,正数不输出符号+ 以八进制形式输出整数,无前导符0 以十六进制形式输出整数,无前导符0x。x的大小写控制十六进制字母 的大小写 以无符号十进制形式输出整数 以小数形式输出实数,保留6位小数 以指数形式输出实数,尾数部分保留6位小数。大小写对应指数的e或E 以f或e格式符中输出宽度较短的形式输出实数 以字符形式输出一个字符 输出一个字符串 含义 用于d、o、x、u前,表示指定输出精度为long 用于e、f、g前,表示指定输出精度为double 用于d、o、x、u前,表示指定输出精度为short m为正整数常量,表示输出数据的最小宽度为m。实际数据宽度小于m时, 输出数据在宽度 m 的区域内右对齐,左边补空格;实际数据宽度大于 m 时,m不起作用 n 为正整数常量,用于 f 、 e 前表示输出 n 位小数;用于 s 前表示输出前 n 个字符

.n

i=-1,i=37777777777,i=ffffffff,i=4294967295 例3-1:阅读程序 f=1.234000,f=1.234000e+000,f=1.234 d=12.345679,d=1.234568e+001,d=12.3457 #include <stdio.h> c=A,c=65 int main() { int i=-1; float f=1.234F; double d=12.3456789123; char c='A'; printf("i=%d,i=%o,i=%x,i=%u\n",i,i,i,i); printf("f=%f,f=%e,f=%g\n",f,f,f); printf("d=%f,d=%e,d=%g\n",d,d,d); printf("c=%c,c=%d\n",c,c); return 0; }

例3-2:阅读程序 001 John M 18 88.68 002 Jimmy M 17 90.00 #include <stdio.h> 003 Mary F 18 91.25 int main() { printf("%03u %-8s %c %3d %4.2f\n", 1,"John",'M', 18, 88.678); printf("%03u %-8s %c %3d %4.2f\n", 2,"Jimmy",'M', 17, 90.0); printf("%03u %-8s %c %3d %4.2f\n", 3,"Mary",'F', 18, 91.25); return 0; }

2.格式输入函数scanf scanf函数的一般形式如下: scanf(格式控制字符串, 地址表列); scanf函数的格式字符和附加格式字符的作用与printf函数类似,具 体内容如表3-3和表3-4所示
使用scanf函数从键盘输入数据时,需要设置格式控制字符串使变量 得到正确的数据,其中有些需要注意的问题: (1) 地址表列中出现的必须是变量的地址,而不是变量名。例如: (2) 一个scanf函数同时输入多个非字符数据时,如果格式控制字符 串中没有普通字符,输入数据时可以使用“空格”、“回车”或“制 表符(Tab)”对输入的数据进行分隔。 (3) 输入中有字符型数据时,输入的字符前不要使用分隔字符。 (4) 输入实数类型数据时,double类型的数据的输入必须使用附加格 式字符“l”说明。 (5) 可以使用宽度附加格式符指定输入数据的列数,系统自动从输入 数据中截取数据。
9

例如: int a; scanf("%d", &a); scanf("%d", a);

//正确 //错误

int a,b,c; scanf("%d,%d,%d",&a,&b,&b); //例如输入:3,4,5<回车> 上面输入语句执行时,输入的3个整数之间必须原样使用逗号分隔,否则会出错。 int a; char c1,c2,c3; scanf("%d%c%c%c",&a,&c1,&c2,&c3); 输入语句执行时,如果输入不使用分隔符,输入格式为: 123ABC<回车> 则变量a得到整数123,三个字符型变量依次得到字符:'A'、'B'、'C'。 如果使用空格作为分隔符进行输入,输入格式为: 123 A B C<回车> 则变量a仍然会得到整数123,但是三个字符型变量依次得到字符是:空格、'A'、空格。 这与预期的输入结果不同。 float f; double d; scanf("%f%lf", &f, &d); //正确,变量d能够得到正确的输入数据 scanf("%f%f", &f, &d); //错误,变量d不能得到正确的输入数据,通常得到0
10

3.字符输入函数getchar
字符输入函数的一般形式如下: int getchar() 其功能是从默认输入设备(通常是键盘)输入一个字符。如果 成功运行则返回值是输入字符的ASCII码,运行失败时返回值是 -1。getchar函数只负责输入字符,还要通过赋值将字符放入变 量。例如: char c; c=getchar(); //输入一个字符并赋值给变量c

11

例3-3:阅读程序 #include <stdio.h> int main() { char c1,c2; int n; c1=getchar(); //输入第1个数字字符 c2=getchar(); //输入第2个数字字符 n=c1-'0'+c2-'0'; //计算两个字符对应数字的和 printf("n=%d\n",n); return 0; 45<回车> } n=9

4.字符输出函数putchar
字符输出函数的一般形式如下: int putchar(char c) 其功能是将变量c保存的字符输出到默认的输出设备。如果成功 运行则返回输出字符的ASCII码,运行失败返回-1。

13

例3-4:阅读程序 #include <stdio.h> int main() { char c; c=getchar(); //输入一个小写字母 c=c-32; //转换为对应的大写字母 putchar(c); //输出对应的大写字母 return 0; } a<回车> A

3.3 常用的数学函数
数学运算是计算机程序中经常使用的运算形式,除了基 本的算术运算符之外,C语言在其标准函数库中提供了近百 个常用的数学运算的标准函数,以方便编写程序中使用。本 节介绍几个常用的数学运算函数,更多的数学函数请参见附 录和其他资料。大多数的数学函数原型在头文件math.h中声 明,编程时在程序的开始部分使用如下文件包含指令: #include <math.h>

15

1. 常用的绝对值类函数 int abs(int n) stdlib.h声明 double fabs(double n)
2. 常用的三角函数 double sin(double x) double cos(double x)

求int类型数据的绝对值,在 求double类型数据的绝对值

求正弦函数值 求余弦函数值

3. 指数、对数和平方根函数 double pow(double x, double y) double log(double x) double log10(double x) double sqrt(double x)

求x的y次方,即xy 求x的自然对数 求x的以10为底的对数 求x的平方根
16

3.4 顺序结构程序示例
顺序结构是三种基本程序结构中最简单的,它按照程序中语 句排列的先后顺序来执行程序。使用C语言编写顺序结构的程序非 常简单,只要按照预先设计的思路排列语句的顺序即可。 一般来讲,能够使用顺序结构程序解决的问题通常都比较简 单,基本解题思路可以遵循以下步骤: 第1步,确定问题中需要几个数据及其数据类型,定义相应的变量。 第2步,编写数据输入语句。 第3步,根据问题要求,对数据进行各种运算。 第4步,编写结果输出语句。

17

例3-5:输入直角三角形斜边的长度和其中一个锐角的角度值, 计算并输出两个直角边的边长。
思路分析:该问题编程时需要4个变量,其中2个用于存放输入 数据,另外2个存放计算的结果,问题中没有具体说明数据类型, 按照常识采用float或double较为合适。根据斜边长和锐角角度, 只需调用正弦函数和余弦函数就可以计算出两个直角边长。

18

#include <stdio.h> #include <math.h> input c and angle:20 30<回车> #define PI 3.14159 a=10.00,b=17.32 int main() { /*c表示斜边长,a、b表示直角边长,angle表示角度值*/ double a,b,c,angle; printf("input c and angle:"); scanf("%lf%lf",&c,&angle); a=c*sin(angle*PI/180); b=c*cos(angle*PI/180); printf("a=%.2f,b=%.2f\n",a,b); return 0; }

20

#include <stdio.h> Input a b c:7.0 8.5 9.5<回车> #include <math.h> area=28.72 int main() { double a,b,c,s,area; printf("Input a b c:"); scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%.2f\n",area); return 0; }

22

#include <stdio.h> Input a b c:7.0 8.5 9.5<回车> #include <math.h> area=28.72 int main() { double a,b,c,s,area; printf("Input a b c:"); scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%.2f\n",area); return 0; }

3.5 程序设计中注意的问题
3.5.1 源程序代码风格和注释 源程序代码风格是指如何安排源程序代码的外观样式, 通俗来讲就是对源程序进行合理的排版。C语言本身对源代 码的格式没有特别规定,可以将多条语句写在同一行中,也 可以将一条语句写成连续的几行,都能够正确地编译和运行。 但是这样写出来的源程序可读性差,不易于理解。 1. 适当的注释 2. 变量和常量的命名 3. 恰当的缩进和适当的空行

24

3.5.2 程序设计错误 一般可以把程序设计过程中出现的错误分成三类: 1. 语法错误 2. 运行错误 3. 逻辑错误

逻辑错误一般称为bug,寻找和修改逻辑错误的过程称为调试 (debug)。 对于简单的程序的调试可以通过阅读源程序,人工模拟程序 的运行发现错误出现在什么地方,并进行修正。也可以在源程序 的关键处理语句后面插入输出语句,通过运行程序显示变量的值 或程序的执行流程,从而发现错误之处。 对于大型复杂程序的调试,这样的方法就不太可靠,应该使 用调试工具进行。包括Codeblocks在内的大多数集成开发环境都 包括了调试工具。

25

课后习题
? 教材课后习题1、2、3、4

26

本章结束
27


推荐相关:

C语言程序设计的初步知识_图文.ppt

C语言程序设计初步知识 - 第2章 C语言程序设计初步知识 本章要点: ?标

C语言程序设计1-程序设计初步_图文.ppt

C语言程序设计1-程序设计初步 - C语言程序设计 冯伟 ProgramTuto

C语言程序设计初步._图文.ppt

C语言程序设计初步. - 第1章 C语言程序设计初步 本章主要介绍C语言程序的结

C语言程序设计初步_图文.ppt

C语言程序设计初步 - 个人联系方式 ?QQ: 190026892 ?办公地点:

C语言程序设计初步.ppt_图文.ppt

C语言程序设计初步.ppt - 主讲:王光琼 联系电话:13668390206

第一章 C语言程序设计初步_图文.ppt

第一章 C语言程序设计初步 - 1. 程序设计语言 定义: (1) 从用途上:人

第3章C语言程序设计初步_图文.ppt

第3章C语言程序设计初步 - 第3章C语言程序设计初步 3.1C语句的作用与分类

1C语言程序设计初步_图文.ppt

1C语言程序设计初步 - 文档均来自网络,如有侵权请联系我删除文档... C语言程序设计初步 1.1 C程序设计语言 1.2 计算机中的数据 1.3 C语言符号集 1.4 用库函...

C语言程序设计_2第1章C语言初步_图文.ppt

C语言程序设计_2第1章C语言初步 - 文档均来自网络,如有侵权请联系我删除文档... 高职高专现代信息技术系列教材 C语言程序设计人民邮电出版社 第1章 C语言初步 1...

第2章C语言程序设计初步_图文.ppt

第2章C语言程序设计初步 - 文档均来自网络,如有侵权请联系我删除文档... 第2章C语言程序设计初步_计算机软件及应用_IT/计算机_专业资料。文档均来自网络,如有侵权...

C语言程序设计1-程序设计初步-文档资料_图文.ppt

C语言程序设计1-程序设计初步-文档资料 - C语言程序设计 冯伟 Progra

C语言程序设计初步.ppt_图文.ppt

C语言程序设计初步.ppt - C 语言程序设计 普通高等教育”十一五”国家级规划教材 C语言程序设计 第 1 章 C 语言程序设计初步 中国铁道出版社 1 ...

C语言程序设计的初步知识_图文.ppt

C语言程序设计初步知识 - 内容提要 ? ? ? 介绍C程序的基本结构和书写规则 用赋值语句和格式输入/输出函数编写简 单的C程序 在Turbo C集成环境下实现C程序...

第2章C语言程序设计初步_图文.ppt

第2章C语言程序设计初步 - 第2章 C语言程序设计初步 2019年2月25日星

第1章C语言程序设计初步_图文.ppt

C语言程序设计概述 本章内容 1.1 计算机程序设计语言的发展 1.2 C语言的

C语言 第1章 C语言程序设计初步_图文.ppt

C语言 第1章 C语言程序设计初步_计算机软件及应用_IT/计算机_专业资料。C

第1章 C语言程序设计初步_图文.ppt

第1章 C语言程序设计初步 - 第1章 C语言程序设计初步 学习目的和要求: ①

C语言程序设计初步_图文.ppt

C语言程序设计初步 - C 语言程序设计 分析下列情况的数据适合使用什么类型?

第1章 C程序设计初步_图文.ppt

第1章 C程序设计初步 - C程序设计初步 ? ? ? ? C程序结构和处理过程 C语言的基本数据类型 C语言基本运算符和表达式运算 C语言标准库的使用方法 C程序结构和...

C语言程序设计规范与基础_图文.ppt

C语言程序设计规范与基础 - C语言程序设计II C程序设计提高篇 上期考试

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