null第 3 章
顺 序 程 序 设 计
第 3 章
顺 序 程 序 设 计
主要内容一、C语句分类
二、赋值语句
三、数据输入与输出
四、顺序结构程序设计主要内容一、C语句分类C语句控制语句函数调用语句由一次函数调用加一个分号构成一个语句。
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式语句空语句?1、出现在函数体的执行
部分。
2、作用是向计算机系统
发出操作指令。复合语句分支语句——if () ~ else
多分支语句switch
循环语句
for () ~
while () ~
do ~ while()
循环语句
continue break
goto语句——goto
返回,返回值语句——returnif (x>y)
z=x;
else
z=y;printf("Hello!");由表达式加一个分号构成一个语句。a=3;;由{ }将一些语句括起来。{
t=a;
a=b;
b=t;
}?一、C语句分类二、赋值语句构成方式由赋值表达式加分号构成。例1a=3;
b=a*3+5;赋值表达式与赋值语句的区别1、C语言中赋值号"="是一个运算符。
2、C语言中既有赋值表达式又有赋值语句的概念。
3、C语言把赋值语句和赋值表达式区分开来,赋
值表达式可以包括在其他表达式中,增加了表
达式的种类,使表达式的应用几乎无孔不入,
能实现其他语言难以实现的功能。二、赋值语句if ((a=b)>0) t=a;
把b的值赋给a,若b>0,成立,不能加分号!if ((a=b;)>0) t=a;例2三、数据输入与输出三、数据输入与输出(一)C的输入与输出
(二)单个字符的输出 printf
(三)单个字符的输入
(四)格式输出
(五)格式输入(一)C的输入与输出说明1、所谓输入输出是以计算机为主体而言的。
2、输入输出操作是由函数实现的。标准输入输出函数putchar( ) getchar( )
puts( ) gets( )
printf( ) scanf( )预编译命令在使用C语言库函数时,要用预编译命令"#include"将有关的"头文件"包括到用户源文件中。举例#include
main()
{
printf("Hello!" );
}也可以:
#include "stdio.h"注:在TC环境中,若使用printf()或scanf()函数,则前面的预编译命令可以省略!(一)C的输入与输出(二)单个字符的输出
——putchar函数作用向终端(或系统默认的输出设备)输出一个字符。举例#include
void main()
{
char ch1='B',ch2='O',ch3='Y';
putchar('\"'); /*输出双引号*/
putchar(ch1); putchar(ch2); putchar(ch3); /*输出BOY*/
/*putchar(66)或putchar(322)也可以*/
putchar('\"'); /*输出双引号*/
putchar(‘\n’) ; /*换行符*/
}
Asic码大小写查32(二)单个字符的输出
——putchar函数显示器格式?A"BOY"
putchar(ch);注: ch 可以是一个字符型(整型)变量、常量或表达式;
也可以是一个转义字符,如 putchar(‘\n’)、putchar(‘\101’)
【注意:转译字符单引号】。putchar('B');(三)单个字符的输入
——getchar函数作用从终端(或系统默认的输入设备;键盘)输入一个字符。举例#include
void main()
{
char c1;
c1=getchar();
putchar(c1);
putchar(getchar());
}输入:
a 键盘(三)单个字符的输入
——getchar函数格式 注:getchar函数没有参数,所接受的字符可以赋给字符型或整型变量,也可以作为表达式的一部分。
存在键盘缓冲期,执行完后清空;按过的都留在键盘里了a
_
输入:
a b ab_
? getchar();无参函数(四)格式输出——printf函数格式printf("格式控制字符串" [,输出列表]);说明1、 "格式控制字符串"是用双撇号引起来的字符串,包括三种信息:
(1)格式说明:由%和格式字符组成。 (如%d、%f)
(2)普通字符:需要按原样输出的字符。
(3)转义字符: (如\t、\n、\b、\r等)
2、"输出列表"是需要输出的一些数据,可以是表达式。将输出的数据转换为指定的格式输出。(四)格式输出——printf函数作用向终端(或系统默认的输出设备)输出若干个任意类型的数据。null例2#include
void main()
{int a,b;
a=3; b=4;
printf("输出结果为:");
printf("%d %d\n",a,b);
printf("a=%d, b=%d\n",a,b);
printf("a+b=%d",a+b);
}输出结果为:3 4
a=3, b=4
a+b=7 _
例1printf("sum=%d \n %c", x, ch);普通字符格式说明转义字符如果x=100,ch= ' A ' ,那么下面的输出语句将输出什么结果?输出列表sum=100
A_
格式说明的一般形式格式说明必须以%开始,以格式字符结束。
一般形式如下:
% [标志] [宽度] [.精度] [l] [格式字符]--nmd/f/c/u/s等长整型整数输出数据向左靠拢输出数据最小宽度对实数:输出小数点位数;
对字符串:截取字符的个数格式说明的一般形式格式字符格式字符格式字符 格式说明d, i 以带符号的十进制数输出整数(正数不输出符号)
c 以字符形式输出,只输出一个字符
f 以小数形式输出单、双精度数,隐含6位小数
e,E 以指数形式输出实数
o 以八进制无符号形式输出整数(不输出前导符0)
x,X 以十六进制无符号形式输出整数(不输出前导符0x)
…… ……附加格式说明字符格式字符格式输出举例——d格式符#include
main()
{
int num1=123;
long num2=123456;
/*整型数据——用3种不同格式,输出int型数据num1的值*/
printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",
num1,num1,num1,num1);
/*正常;宽度为5;五位,向左靠拢;宽度<要求宽度,按实际宽度输出*/
/*用3种不同格式,输出long型数据num2的值*/
printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2);
printf("num1=%ld\n",num1);
} 格式输出举例——d格式符格式输出举例——f格式符综合举例float x,y;
x=111111.111;
y=222222.222;
printf("%f",x+y);333333.328125整数部分全部输出,
小数部分输出6位(很可能非精确)因有效位数为7位,因此
后面数字不准确。float x=123.456;
printf(“%f\n",x);
printf("%10f\n",x);
printf("%10.2f\n",x);
printf("%.2f\n",x);
printf("%-10.2f\n",x);123. 456001
123. 456001
123. 46
123.46
123.46实数最常用的
两种输出格式格式输出举例——f格式符格式输出举例——e格式符float x=123.456;
printf("%e",x);
printf("%10e",x);
printf("%10.2e",x);
printf("%.2e",x);
printf("%-10.2e",x);综合举例1.234560e+002
1.234560e+002 1.23e+002
1.23e+002
1.23e+002
输出: 1.234560e+002
指数部分尾数部分格式输出举例——e格式符2 6 5总宽度为 13格式输出举例——c格式符格式输出举例——c格式符#include
void main()
{
char c='A';
int i=65;
printf("c=%c,%5c,%d\n",c,c,c);
printf("i=%d,%c",i,i);
}c=A,A,65
i=65,A
注意 在C语言中,整数可以用字符形式输出,字符数据也可以用整数形式输出。将整数用字符形式输出时,系统首先求该数与256的余数,然后将余数作为ASCII码,转换成相应的字符输出。格式输出举例——s格式符格式输出举例——s格式符#include
void main()
{
printf("%s,%5s,%-10s,","Internet","Internet","Internet");
printf("%10.5s,%-10.5s,%4.5s\n","Internet","Internet","Internet");
}Internet,Internet,Internet, Inter,Inter,Inter
输出:系统输出字符和字符串时,不输出单引号和双引号。注意(五)格式输入——scanf函数格式scanf("格式控制字符串" [,地址列表]);说明1、 "格式控制字符串"与printf函数类似。可以包含以下三种类型 的信息:
格式说明:与printf类似,以%开始,以一个格式字符结束;
空白字符(空格、\t、\n):输入多个数据时的缺省分隔符,可以省略,在输入数据时可以以任一种空白字符分隔;
普通字符(照原样输入)。
2、 "地址表列"是由若干个地址组成的列表,各地址之间用逗号分隔。如变量的地址表示为:&变量名。(五)格式输入——scanf函数作用从终端(或系统默认的输入设备)输入若干个任意类型的数据。格式输入举例——d格式符int a,b;
scanf("%d%d",&a,&b);
printf("%d,%d",a,b);34
3,4int a,b;
scanf("%d,%d",&a,&b);
printf("%d,%d",a,b);3 , 4
3,4格式输入举例——d格式符注意举例当输入多个数据时,若各个格式说明之间没有其他字符,则系统默认使用空格键、回车键和Tab键进行间隔;若格式说明之间有其他字符,则必须照原样输入。3
4
3,4格式输入举例——f格式符float a;
scanf("%f",&a);
printf("%f",a);输入: 3.2float a;
scanf("%3.2f",&a);
printf("%f",a);格式输入举例——f格式符注意举例当输入实型数据时,不能规定精度。如果指定了精度,编译时不会报错,但输入的数据将不可预知。3.200000
输出:输入: 3.218-107374176.000000
输出:格式输入举例——c格式符char ch1,ch2,ch3;
scanf("%c%c%c",&ch1,&ch2,&ch3);
printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);格式输入举例——c格式符注意举例使用格式说明符"%c"输入单个字符时,空格和转 义字符均作为有效字符被输入。输入: abcch1=a,ch2= ,ch3=b
输出:其中:ch2的值为空格。四、顺序结构程序设计例1从键盘输入一个大写字母,转换成相应的小写字母输出。#include
void main()
{
char c1,c2;
//增强人机交互性。
printf("请输入一个大写字母:");
c1=getchar();
printf("%c,%d\n",c1,c1);
c2=c1+32;
printf("%c,%d\n",c2,c2);
}请输入一个大写字母:A
A,65
a,97四、顺序结构程序设计在顺序结构程序中,各语句(或命令)是按照位置的先后次序,顺序执行的,且每条语句都会被执行到。运行情况:null例2输入三角形的三边,求三角形的面积。#include
#include
void main()
{
float a,b,c,p,s;
printf("请输入三角形的三边:");
scanf("%f%f%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("s=%7.2f\n",s);
}请输入三角形的三边:3 4 5
s=6.00
分析a,b,c:表示三角形的三边。
p:中间变量。 p=(a+b+c)/2
s:三角形面积。
以上变量均为实型。?若输入
3 4 8
-2 -3 9运行情况:null#include
void main() {
int num1,num2,num3,sum; float aver; printf("请输入三个整数:"); scanf("%d,%d,%d",&num1,&num2,&num3);/*输入三个整数*/ sum=num1+num2+num3; /*求累计和*/ aver=sum/3.0; /*求平均值*/ printf("num1=%d,num2=%d,num3=%d\n",num1,num2,num3); printf("sum=%d,aver=%7.2f\n",sum,aver); } 例3输入任意三个整数,求它们的和及平均值。num1,num2,num3:表示三个整数。
sum:求和结果
aver:平均值分析?数据类型请输入三个整数:3,6,10
num1=3,num2=6,num3=10
sum=19,aver= 6.33
3.0改为3可以么?