第 二 讲 简单C语言程序入门
合集下载
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语言基础-语句-编写简单的C程序

C 语 言 程 序 设 计
putchar函数
调用格式为: putchar(表达式); 功能:将指定表达式的值所对应的字符输出到标准输出设备上
参数 字符变量 字符常量 数值常量 转义序列 函数 putchar(c) putchar(‘#') putchar('5') putchar('\n') 效果 显示字符变量 c 的内容 显示字符# 显示字符# 显示数字 5 在光标位置插入回车
关键是如何分离个位、十位、百位数字? 关键是如何分离个位、十位、百位数字?
ቤተ መጻሕፍቲ ባይዱ
153 153 % 10 = 3 153 / 100 = 1 153 - 1*100 = 53 53 / 10 = 5
C 语 言 程 序 设 计
#include <stdio.h> main() { int x, b0, b1, b2, sum; x = 153; b2 = x / 100; /*计算百位数字 计算百位数字*/ 计算百位数字 b1 = (x - b2 * 100) / 10; /*计算十位数字 计算十位数字*/ 计算十位数字 b0 = x % 10; /*计算个位数字 计算个位数字*/ 计算个位数字 sum = b2 + b1 + b0; printf("b2=%d, b1=%d, b0=%d, sum=%d\n", b2, b1, b0, sum); }
C 语 言 程 序 设 计
任务三
#include <stdio.h> void main() { int n1; char n2; float n3; scanf("%d%c%f",&n1,&n2,&n3); printf("n1=%f,n2=%c,n3=%f\n",n1,n2); } (1)键盘如何输入? )键盘如何输入? 如何输入? (2)修改 )修改scanf(“%d%f%c”,&n1,&n3,&n2);如何输入? “ ” 如何输入
C语言程序设计教程第2章程序流程

画出
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
C语言第2讲-C语言基本概念

注意事项:
①键入数据可用一个或多个空格、Tab、回车键分隔; ②指定宽度时,键入就不要分隔符,按 个数读 ③当含有其它普通字符时,则键入时必须一一对应完全相同;
①scanf ( " %d %d %d " , &a , &b , &c ) ; 键入3 _ 4 _ 5 ②scanf ( " %3d%3d " , &a , &b ) ; 键入 123 456 7 ③scanf ( " %3c " , &ch) ; 键入abc ④scanf ( " %2d %3d%2d " , &a , &b ) 键入12345678 ⑤不能写成scanf ( " %7.2f " , &x ) ; ⑥scanf ( " %d , %d " , &a , &b ); ⑦scanf ( " %c %c %c " , &c1 , &c2 , &c3 ) ;
3.实数:(实型常量、实型常数)又称之为浮点数; (1)小数表示法:用十进制小数形式表示实数:如:12.34、2.0、0.234等 (2)指数表示形式:如:2E2 或2e2,2.341E-4等等。 注意:①e(E)之前必须有数字;②e之后必须是整数; 4.字符型常量 (1)用一对单引号(单撇)括起来的一个字符;如:‘a‟、‘A‟、 ‘#‟;这种方式表示可显示的字符。 (2)转义字符:用一反斜杠\将后面的字符转变为另一些特殊字符 (非显示/打印字符); 一个字符常量放到一个字符变量中时,是将该字
地址表列:必须是变量的地址; 即:输入项为:&变量;
注意:格式控制中格式描述符应与地址表
C程序设计基础-PPT课件

第二章 C程序设计基础
2.1 常量和变量
注意符:号常量在其作用域内不能再赋值。
符号常量的好处:(1)含义清楚。(2)需改变时,“一改全改”。
2024/10/14
1
2.1 常量和变量
注意:
1、变量中的值:变量必须要有值才能参与运算,(如果一个变量
没有赋值,则该变量是一个随机值)变量可以在定义后与其赋值,也可以
2024/10/14
16
2.3 运算符与表达式
逻辑运算符和逻辑表达式
符号
例子 0&&0=0、0&&1=0、1&&0=0、1&&1=1
0||0=0、0||1=1、1||0=1、1||1=1 !1=0、!0=1
使用说明: ➢1、逻辑非优先级高于逻辑与和逻辑或,逻辑与和逻辑或优先级相同; ➢2、C语言规定:非0都表示“真”,只有0表示“假”; 例:6<4&&7>-3+!5
14
2.3 运算符与表达式
赋值运算符与赋值表达式
符号
功能
例子
=
将表达式右边的数据赋值给左边的变量
x=3+a
+=
将表达式右边的计算结果加上左边的变 量再赋值给左边的变量
x+=3+a等价于x=x+(3+a)
-=
将表达式右边的计算结果减去左边的变 量再赋值给左边的变量
x-=3+a等价于x=x-(3+a)
6~7
双精度(double): 8B 10-308 ~ 10308 15~16
长双精度: 16B 10-4931 ~ 104932 18~19
2.1 常量和变量
注意符:号常量在其作用域内不能再赋值。
符号常量的好处:(1)含义清楚。(2)需改变时,“一改全改”。
2024/10/14
1
2.1 常量和变量
注意:
1、变量中的值:变量必须要有值才能参与运算,(如果一个变量
没有赋值,则该变量是一个随机值)变量可以在定义后与其赋值,也可以
2024/10/14
16
2.3 运算符与表达式
逻辑运算符和逻辑表达式
符号
例子 0&&0=0、0&&1=0、1&&0=0、1&&1=1
0||0=0、0||1=1、1||0=1、1||1=1 !1=0、!0=1
使用说明: ➢1、逻辑非优先级高于逻辑与和逻辑或,逻辑与和逻辑或优先级相同; ➢2、C语言规定:非0都表示“真”,只有0表示“假”; 例:6<4&&7>-3+!5
14
2.3 运算符与表达式
赋值运算符与赋值表达式
符号
功能
例子
=
将表达式右边的数据赋值给左边的变量
x=3+a
+=
将表达式右边的计算结果加上左边的变 量再赋值给左边的变量
x+=3+a等价于x=x+(3+a)
-=
将表达式右边的计算结果减去左边的变 量再赋值给左边的变量
x-=3+a等价于x=x-(3+a)
6~7
双精度(double): 8B 10-308 ~ 10308 15~16
长双精度: 16B 10-4931 ~ 104932 18~19
第二章 C语言程序设计

有符号 (signed) 整型变量 无符号 (unsigned) 基本整型(int) 短整型(short int) 长整型(long int)
例:整型数据的溢出。 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;
例:整型数据的溢出。 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讲-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 黄兴鼎版权所有
第2章 用C语言编写程序-xia03

y = 4 * x / 3; y = 2.5 * x - 10.5
要解决的问题: 要解决的问题: 输入 计算分段函数 输出,并保留2 输出,并保留2位小数
4
PAN XIAONAN
程序解析: 程序解析:
Enter x (x>=0): 9.5
Enter x (x>=0): 15
#include <stdio.h> f(9.500000)=12.67 f(15.000000)=20.00 int main(void) Enter x (x>=0): { 21.3 double x, y; f(21.300000)=42.75 (x>=0):\ printf("Enter x (x>=0):\n"); /* 输入提示 */ scanf("%lf lf", 调用scanf scanf函数输入数据 scanf("%lf", &x); /* 调用scanf函数输入数据 */ if(x 15) else语句 if(x <= 15) /* if – else语句 */ y = 4 * x / 3; else y = 2.5 * x - 10.5; %.2f\ printf(“y = f(%f) = %.2f\n”, x, y); /* 输出 */ return 0; }
14
PAN XIAONAN
单语句、复合语句{ }和空语句 单语句、复合语句{ }和空语句 ;
(1)for (fahr = lower; fahr <= upper; fahr ++) { lower; upper;
32. celsius = (5.0 / 9.0) * (fahr - 32.0); printf("% celsius); printf("%d %6.1f\n", fahr, celsius);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
input x:
2.5 f(2.50)=0.4
input x:
0
f(0.00)=0.0
高级语言程序设计
软件测试的基本思想
if(x != 0) y = 1/x; else y = 0; input x: 2.5 f(2.50)=0.4 input x: 0 f(0.00)=0.0
软件测试
精心设计一批测试用例 [输入数据,预期输出结果] ,然后分 别用这些测试用例运行程序,看程序的实际运行结果与预期 输出结果是否一致。
要解决的问题: 输入 计算分段函数 输出,并保留2位小数 x 求e
高级语言程序设计
2.3.1 程序解析-求分段函数
#include <stdio.h> Enter x (x>=0): int main(void) { 9.5 double x, y;
Enter x (x>=0): 15 f(15.000000)=20.00
摄氏温度 C=(5/9)(F-32)
变量定义
}
fahr = 100; 变量使用 celsius = 5 * (fahr - 32) / 9; printf("fahr = %d, celsius = %d\n", fahr, celsius); 输出结果 return 0;
输出:fahr =100, celsius = 37
}
高级语言程序设计
2.2.3 算术运算和赋值运算
fahr = 100; celsius = 5 * (fahr - 32) / 9;
1、算术运算 双目算术运算符:+ - * / % 算术表达式:用算术运算符将运算对象连接起来的符合C 语言语法规则的式子。 数学式:(5/9)(F-32)
C表达式: 5 * (fahr - 32) / 9 数学式:s(s-a)(s-b)(s-c) C表达式: s*(s-a)*(s-b)*(s-c)
高级语言程序设计
运行结果分析
#include <stdio.h> int main(void) { double x, y; printf("Enter x:\n"); scanf("%lf", &x); if(x != 0) y = 1/x; else y = 0; printf("f(%.2f) = %.1f\n", x, y); return 0; }
return 0; } 输出函数 语句结束 换行符
1.任何程序都有主函数。 2.程序由若干语句组成。 3.语句由;号结束。
高级语言程序设计
2.1 在屏幕上显示一些信息
例2-2 在屏幕上显示: Programming is fun! And Programming in C is even more fun! # include <stdio.h> 编译预处理命令 int main(void) { printf("Programming is fun! \n"); printf("And Programming in C is even more fun! \n"); return 0; }
数据输入:格式化输入函数 scanf #include <stdio.h> scanf("%lf", &x); scanf(格式控制字符串, 输入参数1, … , 输入参数n);
变量地址 用双引号括起来,表示输入的格式
高级语言程序设计
scanf-格式控制字符串
格式控制字符串:
格式控制说明: 按指定的格式输入数据, %…与数据类型 有关 1. int型 :%d 2. float型:%f 3. double型:%lf 尽量不要出现普通字符 普通字符:原样输入 例如: scanf("%lf", &x); scanf("x=%lf", &x); 输入: 9.5 输入: x=9.5
高级语言程序设计
赋值运算
赋值运算符 = 赋值表达式:用 = 将一个变量和一个表达式连接起 来的式子 变量 = 表达式 例 fahr = 100; celsius = 5 * (fahr - 32) / 9; 1. 计算赋值运算符右侧表达式的值 2. 将赋值运算符右侧表达式的值赋给左侧的变量
=的左边必须是一个变量
高级语言程序设计
2.2.2 常量、变量和数据类型
int celsius, fahr; celsius = 5 * (fahr - 32) / 9;
数据 常量:在程序运行过程中,其值不能被改变 变量:在程序运行过程中,其值可以被改变
数据类型 常量:5 和 9是整型常量(整数) 变量:在定义时指定
高级语言程序设计
2.3 计算分段函数
2.3.1 程序解析
2.3.2 关系运算
2.3.3 if-else语句
2.3.4 格式化输入函数scanf 2.3.5 常用数学库函数
高级语言程序设计
2.3.1 程序解析
例2-4 分段计算水费
4x x 15 y f ( x) 3 2.5x 10.5 x 15
关系表达式:用关系运算符将2个表达式连接起来的式子。
如:x <= 1
思考区分= 和==?
高级语言程序设计
运用关系表达式
表示比较的数学式
x≤10 x≥10 x≠10
x = 10
C关系表达式 x <= 10 x >= 10 x != 10 x == 10
用关系表达式描述条件
判断 x 是否为负数 x < 0 判断 x 是否不为零 x != 0
if (表达式) 语句1 else 语句2
x0 x0
if(x != 0)
y = 1/x; else
y = 0;
高级语言程序设计
源程序
#include <stdio.h> int main(void) { double x, y; printf("Enter x:\n"); scanf("%lf", &x); if(x != 0) y = 1/x; else y = 0; printf("f(%.2f) = %.1f\n", x, y); return 0; }
高级语言程序设计
2.2.4 格式化输出函数printf
数据输出:格式化输出函数 printf #include <stdio.h>
printf("Hello World! \n"); printf("fahr = %d, celsius = %d\n", fahr, fahr, celsius); celsius);
高级语言程序设计
算术运算
双目算术运算符:+ - * / % 算术表达式:用算术运算符将运算对象连接起来 的符合C语言语法规则的式子 注意/ 整数除整数,得整数 如:1/2 = 0,9/4 = 2 思考: 5 * (fahr - 32) / 9 和 5 / 9 * (fahr - 32) 等 价吗? % 针对整型数据 如: 5%6=5,9%4=1,100%4=0 双目运算符两侧操作数的类型要相同。
第二讲 简单C语言程序设计 授课教师:鄢靖丰
讲授章节:第二章2.1-2.3
讲授学时:2学时
章节目录
2.1
在屏幕上显示 Hello World! 求华氏温度 100°F 对应的摄氏温度
2.2
2.3
计算分段函数
高级语言程序设计
本讲知识要点
怎样编写程序,在屏幕上显示一些信息? 怎样编写程序,实现简单的数据处理,例如将华氏 温度转换为摄氏温度? 怎样使用 if 语句计算分段函数?
高级语言程序设计
变量的定义
变量定义的一般形式:
类型名 变量名表; 定义整型变量 定义单精度浮点型变量 定义双精度浮点型变量
例如:
int celsius, fahr; float x; double area, length;
变量名:小写字母;见名知义 double型数据比float精度高,取值范围大
printf(格式控制字符串, 输出参数1, … , 输出参数n);
要输出的数据 用双引号括起来,表示输出的格式
高级语言程序设计
printf-格式控制字符串
printf("Hello World! \n"); printf("fahr = %d, celsius = %d\n", fahr, celsius); printf("Hi\n", fahr);
高级语言程序设计
变量的定义与使用
变量必须先定义,后使用。 应该先赋值,后引用
#include <stdio.h> int main(void) { int celsius, fahr;
一个变量名只能定义一次 变量一般都定义在程序的头上 不能定义在程序的中间或后面
fahr = 100; celsius = 5 * (fahr - 32) / 9; printf("fahr = %d, celsius = %d\n", fahr, celsius); return 0;
f(9.500000)=12.67
printf("Enter x (x>=0):\n"); /* 输入提示 */ scanf("%lf", &x); /* 调用scanf函数输入数据 */ if(x <= 15) /* if – else语句 */ y = 4 * x / 3; else Enter x (x>=0): y = 2.5 * x - 10.5; printf("y = f(%f) = %.2f\n", x, y); 21.3 return 0; }