《C语言课件顺序结构程序设计.pptx》由会员分享,可在线阅读,更多相关《C语言课件顺序结构程序设计.pptx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.1 C语句了解C的基本语句:1.简单语句:又称表达式语句。在一个表达式的后面加上分号即构成表达式语句,例如 x=0;k+;printf(n welcome);2.复合语句:用一对花括号 括起来的多个语句序列,有时称为分程序。(见下页例4.2)注意:复合语句以“”结束,后面不需再加分号。3.流程控制语句:用来控制程序中语句的执行顺序。C语言中提供了9中流程控制语句(下面的章节将要学习)第1页/共23页例4.2重复(10次):输入两个整数,输出两数之和。main()int a,b,c,n;/*定义变量语句*/for(n=1;n=10;n+)/*for语句控制重复10次*/printf(n in
2、put 2 integers:);/*提示用户输入*/scanf(%d%d,&a,&b);/*输入两个整数分别赋给a,b*/c=a+b;/*求和并赋给c*/printf(sum:%dn,c);/*输出和*/第2页/共23页4.2 输入/输出概述输入输出:是相对于计算机的主机而言的。输入是指从计算机的外部设备将数据读入主机,输出是指将数据从主机送到外设(显示器、打印机、磁盘等)。C语言本身没有专门的输入输出语句,输入输出操作是通过函数调用来实现的。编程时必须先将输入输出函数所在的头文件:stdio.h 包含进本程序中。使用命令:#include stdio.h 或#include C语言中的标准
3、输入输出设备约定为用户终端,即键盘和显示器。特别说明:调用输入函数时应该明确:数据从哪儿输入调用输入函数时应该明确:数据从哪儿输入(省略为键盘)、以什么格式输入、输入的数据存放在(省略为键盘)、以什么格式输入、输入的数据存放在哪里;调用输出函数时应该明确:要输出什么内容、按哪里;调用输出函数时应该明确:要输出什么内容、按什么格式输出、输出到哪个设备(省略为显示器)。什么格式输出、输出到哪个设备(省略为显示器)。第3页/共23页4.3 字符输入/输出函数:getchar()和 putchar()1.putchar()函数:调用格式:putchar(c);其中,c是要输出的字符,它可以是字符型或整
4、型的常量和变量。当c为整型时,其值应是要输出的字符的ASCII码,范围是0255.函数功能:输出一个字符到显示屏的当前光标处。第4页/共23页例4.3 输出三个字符:A*B。#include “stdio.h”main()char c1;int c2;c1=A;c2=66;/*给变量c1,c2赋值*/putchar(n);/*输出字符n*/putchar(c1);/*输出变量c1中的字符:A*/putchar(*);/*输出字符*/putchar(c2);/*输出变量c2中的字符:B*/第5页/共23页n n2.2.getchar()函数:调用格式:调用格式:getchar()函数功能:函数功
5、能:从标准输入设备(一般指键从标准输入设备(一般指键盘)读取一个字符,返回该字符的盘)读取一个字符,返回该字符的ASCIIASCII码码。第6页/共23页例4.4 输入两个字符,输出每个字符及其ASCII码。#include stdio.h main()char c,d;printf(n enter two characters:);/*提示用户*/c=getchar();d=getchar();printf(%c:%dn,c,c);/*输出c中的字符及ASCII码*/printf(%c:%d,d,d);第7页/共23页运行结果:(在TC中演示其执行过程)enter two character
6、s:AB A:65 B:66特别提示:从键盘输入数据时,并不是键入一个字符后立即将其送入主机,而是等到按下回车键后,才能把这一行字符送入计算机的数据缓冲区,然后输入函数从缓冲区的第一个字符开始逐个读取数据。只有当缓冲区中无数据可读时,才等待用户输入。思考:(1)若输入:a b,结果如何?(注::a,b之间有一个空格,空格也是一个字符,与n一样是不可见字符)第8页/共23页4.4 格式输入/输出函数1.Printf()函数的一般调用格式:printf(格式控制字符串,输出表列);例如:printf(n enter name:);printf(n a=%d,b=%f ,a,b);/*设int a=
7、3;float b=5;*/printf(%f,a*b);明确:格式控制符、普通字符的作用。2.Scanf()的一般调用格式:scanf(格式控制串,地址表列);例如:scanf(%d%f ,&a,&b);scanf(a=%d,b=%f ,&a,&b);/*不常用*/第9页/共23页1.格式输出函数printf()例4.5:打印华氏温度到摄氏温度的对应表:华氏温度-摄氏温度 0 -17 20 -6 40 4 60 15 80 26 100 37 120 48 320 148分析任务:从华氏温度0到320,每隔20度转换一次,转换的公式为:c=(5/9)(f-32)其中,f为华氏温度,c为摄氏温
8、度第10页/共23页#include main()float celsius;int fahrenheit;printf(n F C);fahrenheit=0;while(fahrenheit=300)celsius=5*(fahrenheit 32)/9;printf(n%dt%f,fahrenheit,celsius);fahrenheit+=20;第11页/共23页若要使输出更整齐些(比如右对齐),可将语句 printf(n%dt%f,fahrenheit,celsius);改为:printf(n%3dt%6.2f ,fahrenheit,celsius);其中,%3d的含义为:按整型
9、格式输出,域宽为3,并且右对齐。%6.2f的含义为:按实型格式输出,域宽为6,且小数点后保留2位小数,右对齐。若将%3d改为%-3d则在域宽范围内实现左对齐。具体的格式说明符参见表4.1和表4.2第12页/共23页例4.7 输出字符和字符串。main()char ch=Y;/*定义一个字符数组 s,并保存字符串very good*/char s=very good;printf(nch:%c,s:%s,ch,s);Result:ch:Y,s:very good程序中,输出项ch、s与控制项%c、%s一一对应,且类型匹配。第13页/共23页2.格式输入函数 Scanf()例4.10 用scanf
10、输入整型数据、实型数据。#include main()int a,b;float x,y;scanf(%d%d,&a,&b);scanf(%f,%f,&x,&y);printf(na=%d,b=%d,x=%f,y=%f,a,b,x,y);运行结果:12 24 (12与24之间用空格分开)15,30 (注意两数间的逗号)a=12,b=24,x=15.000000,y=30.000000 第14页/共23页例4.12:输入某商品的编号(整型)、类别(AZ字符型)、价格(实型),并输出该信息。#include main()int num;char class;float price;printf(n
11、 enter number(AZ):);scanf(%d,&num);getchar();printf(n enter class:);class=getchar();getchar();printf(n enter price:);scanf(%f,&price);getchar();printf(no=%d,class=%c,price=%6.2f,no,class,price);第15页/共23页特点:混合输入,有两种处理方法:一是在一个scanf()函数中实现所有数据的输入;二是将数值与字符分别输入,而不是用一个scanf()函数。通常采用第二种方法,用第一种方法输入时容易出错。本程序
12、中分别用scanf()和getchar()输入编号、价格和类别。并且每次输入后用getchar()读取多余的回车符,以免影响后面的正确输入。第16页/共23页4.5 顺序结构程序设计举例例4.15 交换两个整型变量的值。分析:首先定义程序中要用到的变量,设两个整型变量为a、b。然后设计算法:输入两个整数a、b 交换a、b的值 输出交换后的a、b的值。其中,实现 的方法有两种:一是用第三个变量c暂存其中一个数,如程序1。二是不使用第三个变量,利用其中一个变量保存两数之和,通过减法来实现,如程序2。第17页/共23页程序1:main()int a,b,c;printf(n enter 2 inte
13、gers to a,b:);scanf(%d%d,&a,&b);c=a;a=b;b=c;/*交换*/printf(na=%d,b=%d,a,b);运行结果:enter 2 integers to a,b:4 6a=6,b=4 思考:若将三个交换语句的顺序调整,结果如何?第18页/共23页程序 2:main()int a,b,c;printf(n enter 2 integers to a,b:);scanf(%d%d,&a,&b);a=a+b;b=a-b;a=a b;/*交换*/printf(na=%d,b=%d,a,b);运行结果同上。第19页/共23页例4.17 输入一个数字符号,并转换成
14、相应的整数输出。如读入字符8,转换成整数8输出。分析:首先定义程序中要使用的变量,设字符变量ch 存放读入的字符,整型变量d存放转换后的整数。然后设计算法:输入一个字符给ch 将字符ch转换成对应的数值d 输出d。其中第二步如何转换呢?利用ASCII码的编码规律:0,1,29的ASCII码值是连续的,即48、49、5057。因此,只要将数字字符与字符0相减,结果就是该字符对应的数值。如80值为8。第20页/共23页程序:#include main()char ch;int d;printf(n enter a character(09):);ch=getchar();/*读入一个字符并赋给ch*/d=ch-0;printf(d=%d,d);第21页/共23页作业1.上机练习 142.习题1,3第22页/共23页感谢您的欣赏!第23页/共23页