1、1,第四章 最简单的C程序设计 顺序程序设计,C语句 函数调用语句 数据定义语句 表达式语句和赋值语句 分支语句(3个) 复合语句和空语句 控制语句 循环语句(5个) 字符输入输出函数 转向语句(1个) 数据输入输出函数 返回语句(1个) 顺序结构程序设计 函数调用语句表达式语句(赋值语句) 4.1 C语句概述 复合语句 【说明】 空语句 (1)函数调用语句函数名(实际参数1,实际参数2,.); (2)表达式语句 表达式; (3)复合语句 语句1;. 语句K; 其中可以出现任何语句,数据定义语句要集中写在前面。 (4)空语句 ;,函数与函数调用的概念 f(x,y)=x2+6y-7 f(2,1)
2、=22+61-7=3,2,4.2 赋值语句【格式】变量表达式; 【注】表达式语句的一种。4.3 数据输入输出概念及其在C语言中的实现。一、程序中的输入输出要求#include “stdio.h“ #include “stdio.h“void main()只能计算5+8的程序 void main()能计算任何两整数和的程序 int x1,x2,x; int x1,x2,x;x1=5,x2=8; 输入两个整数存入x1,x2;x=x1+x2; x=x1+x2; 看不到计算结果 输出变量x中的值; 二、C语言中输入输出的实现【方法】利用系统函数中的输入输出函数。 【注】(1)系统函数 系统已经编好的一
3、段程序,能完成特定功能。(2)使用系统函数的方法 函数调用,即“函数名(实参1,.)”。(3)使用系统函数的程序开始必须写:#include “头文件名.h“其中的“头文件”中含有该系统函数的程序清单。(4)头函数有很多种,存放输入输出函数的头文件名是“stdio.h”。存放数学类函数的头文件名是“math.h”。,3,4.4 字符数据的输入输出 一、字符输出函数 【调用格式】 putchar(ch)参数ch:字符型表达式(结果为0127的整型或字符型数据) 【功能】在显示器上显示ch对应的单个字符。 【例】#include “stdio.h“ /* 程序中使用了字符输出函数 */void m
4、ain() putchar(ch1);putchar(n);putchar(ch2); char ch1; 输出结果是:A int ch2; 改为 Bch1=A,ch2=66; 改为 putchar();putchar(ch1);putchar();putchar(ch1+1);putchar(ch2-1); 输出结果是:A 输出结果是:BA 二、字符输入函数 【调用格式】 getchar() 【功能】从键盘上读取单个字符作为函数的返回值。 【注】(1)通常的使用方法:字符(整)型变量getchar();(2)键盘上输入数据,输完后应跟一个“回车键”。注意回车键也是一个字符。 【例】#incl
5、ude “stdio.h“ /* 程序中使用了字符输入函数 */void main() 若输入A回车键B回车键 char c; 则输出结果是:A 不能输入c=getchar(); putchar(c); 若输入AB回车键c=getchar(); putchar(c); 则输出结果是:AB【讨论】若一定要按第1种方法输入,程序怎么改! 【说明】键盘缓冲区的概念。,4,4.5 格式输入输出函数 一、格式输出函数 【调用格式】printf(“输出格式字符串“,表达式1,表达式2,.)其中:“输出格式字符串”是由“输出格式字符”与“非格式字符”组成的一串字符。 【功能】按自左向右(TC中自右向左)顺序
6、计算各个表达式的值,然后按照自左向右的顺序,依据“输出格式字符串”中的“输出格式字符”规定的格式输出表达式值。“输出格式字符串”中的“非格式字符”将原样原位置输出。 【注】(1)输出格式字符及其对应的格式。参看下页的表格。(2)0255之间的整数可以使用“%c”格式输出(256个符号称扩展ASCII代码)。(3)单个字符可以使用“%d”、“%o”、“%x”、“%u”格式输出。(4)常用输出格式字符:带符号整数 无符号整数 长整数 无符号长整数 实数 字符 字符串%d %u %ld %lu %f %c %s(5)常用的非格式字符: ,(数据间隔) n 回车换行 【例】#include “stdi
7、o.h” /*使用系统函数printf()应有#include “stdio.h“ */void main() int i=1; short s=2; long l=3L;float f=4.0; double d=5.0;char c=A;printf(“i=%d,s=%d,l=%ldn“,i,s,l); 输出结果:i=1,s=2,l=3printf(“f=%f,d=%5.2fn“,f,d); 输出结果:f=4.000000,d= 5.00printf(“%c%cn%sn“,c,c+32,“string!“); 输出结果:Aa string! 跳页,printf(“%d%d“,12,345)
8、; 12345 printf(“%d,%d“,12,345); 12,345 printf(“%dn%d“,12,345); 12345,128-255在VC中是乱码!,5,6,二、格式输入函数【格式】scanf(“输入格式字符串“,地址1,地址2,.)其中:“输入格式字符串”是由“输入格式字符”与“非格式字符”组成的一串字符。 【功能】按照自左向右的顺序,依据“输入格式字符串”中的“输入格式字符”规定的格式从键盘输入数据,按次序存入地址1,地址2,. 对应的变量中。“输入格式字符串”中的“非格式字符”必须原样原位置输入。 【注】(1)地址的写法: 若输入:1,2,3回车键4 5回车A回车B回
9、车键 则i=1,其他变量值不确定!且这些不能输入跳页 用来接受回车换行符号,7,8,4.6 顺序结构程序设计例程序设计方法:读3遍题目,了解已知什么?求什么?设计算法、提取数据结构。 【例一】输入三角形边长,求面积。 【程序设计】(1)算法:输入3个边长a、b、c;用下列公式计算面积s。,其中L=(a+b+c)/2;输出面积s。(2)数据结构:设计存放原始数据、中间数据、最终结果数据的变量名及类型。原始数据:a、b、c(实型);中间结果:L(实型);最终结果:s(实型)。 【程序清单】#include “stdio.h“ #include “math.h“ /* 其中用到开方的系统函数sqrt
10、(表达式) */void main() float a,b,c,L,s; /* 由数据结构确定的数据定义语句 */scanf(“%f,%f,%f”, 注:在VC中此处会出现警告性错误。双精度数存入单精度变量L。在VC中,这样的警告性错误不影响程序的正确运行!,9,【例二】输入a、b、c,求方程ax2+bx+c=0的两个实根(假定b2-4ac0)。 【程序设计】(1)算法:输入a、b、c; 用公式计算:db2-4ac,用公式计算输出两个实根x1和x2。(2)数据结构:原始数据:a、b、c(实型);中间结果:d(实型);最终结果:x1、x2(实型)。 【程序清单】#include “stdio.h
11、“ #include “math.h“ /* 程序中用到开方函数sqrt(表达式) */void main() float a,b,c,d,x1,x2;scanf(“%f,%f,%f“, 【顺序结构程序设计方法】 输入计算(算法设计) 数据结构设计输出,10,第四章 习题答疑(一),4.4 给变量的值,编程序输出指定的格式与数据提示:使用数据定义语句定义变量并赋予初值;使用输出函数按照指定格式输出各变量的值 4.5 读程序,写输出结果。提示:按照输出格式写出各个变量的值。 4.6 对照程序清单,如何输入数据使得各变量获得正确的值。提示:程序中应增加输出语句,输出各变量的值,检查输入是否正确?,11,第四章 习题答疑(二),4.7 给出输入语句,要求决定输入数据的格式,使得各变量获得正确的值。设计一个程序,包括变量定义,指定的输入语句,输出语句。 4.8 程序设计题。(已知圆半径和圆柱体的高)计算圆周长、圆面积、圆球表面积、圆球体积、 圆柱体积。提示:算法设计:计算、输出数据结构设计:原始数据、结果数据 4.9 程序设计题。(已知华氏温度,求摄氏温度)提示:算法设计:输入、计算、输出数据结构设计:原始数据、结果数据,