C语言第三讲(顺序结构)

本文详细介绍了C语言中的关键概念,包括表达式语句、函数调用(包括标准库函数的使用),以及数据输入输出(如字符输出函数putchar和字符输入函数getchar,以及格式化函数printf和scanf的用法)。同时讨论了顺序结构程序示例。
摘要由CSDN通过智能技术生成

目录

一、C语句

1.表达式语句

2.函数调用语句

①函数调用语句的一般形式为:

②标准库函数的调用

③函数调用的过程

3.空语句

4.复合语句

5.流程控制语句

二、数据输入与输出(I/O)

1.字符输出函数

2.字符输入函数

3.格式输出函数 printf

①格式输出函数的一般形式

②格式控制字符串

4.格式输入函数scanf

(1).格式输入函数的一般形式

(2).格式控制

(3).使用scanf()语句要注意以下三点

①格式控制

②地址列表

③运行scanf()函数时,从键盘输入数据要和格式控制字符串匹配。

1)输入数据的顺序要和格式控制字符串一致。例如:

2)输入数据之间的分隔符应与格式控制字符串的规定匹配。例如:scanf("%d%f", &a, &x);两个输入数据之间用空格分隔,也可用回车键分隔;

三、顺序结构程席举例


一、C语句

1.表达式语句

表达式加上分号就是一个表达式语句;

表达式语句的一般形式为:任意表达式;

注意:分号是C语言语句的结束标志

典型的表达式语句就是赋值表达式语句,也称做赋值语句

eg:x=1;                //给x赋值为1

x-3*cos(x);              //"计算=右边的表达式,将计算结果赋给x

I++;                   //变量i的值增1

2.函数调用语句

①函数调用语句的一般形式为:

函数名(参数列表)

函数调用语句主要是完成函数特定的任务。例如:

scanf("%f",&x);     //输入函数调用语句,输入变量x的值。

printf("%f",x);    //输出函数调用语句,输出变量x的值。

②标准库函数的调用

C语言有丰富的标准函数库,可提供各类函数供用户调用,完成预先设定好的操作.

例如调用标准库函数求数学函数值:sin(x)、cos(x)、exp(x)(求ex)、fabs(x)(求x的绝对值)、log(x)等。

库函数调用的一般形式为:函数名(参数表)

使用库函数要注意以下几点:

(1)查库函数表,了解函数的功能和定义,按照函数调用。返回值类型函数名(形式参数表)

(2)必须先使用预编译命令#include<文件名.h>包含对应头文件

如:#include<math.h>才能调用标准函数库中的函数。

③函数调用的过程

例:

int max(int x,int y)

{int z;

z=x>y?x:y;

return(z);                                             

}

int main

{ int a,b,c;

a=20;b=40;

c=max(a,b);

printf(“\n%d\n”,c);

}

在主函数中,可以如使用简单变量一样使用max,类型为int型,内有值。若输入了20和40,则max中的x值为20,y值为40。返回值为40.

3.空语句

由一个分号表示,一般形式为:  ;

空语句在语法上是一条语句,但执行时不做任何操作。

4.复合语句

复合语句是由花括号将多条语句组合在一起而构成的,在语法上相当于一条语句。形式如右图:

{

内部数据描述语句数据操作语句1;

数据操作语句n;

}

5.流程控制语句


二、数据输入与输出(I/O)

1.字符输出函数

字符输出函数的功能:向标准输出设备(一般为显示器)输出一个字符,并返回输出字符的ASCII码值

字符输出函数的一般调用形式为

putchar(字符表达式):

函数的参数可以是字符常量、字符型变量、整型变量、整型常量或它们组成的表达式。即将一个整型数作为ASCII编码,输出相应的字符

例如:

putchar(97);

执行上面的语句,将输出字符a,97是字符a的ASCII编码值

2.字符输入函数

字符输入函数调用的一般形式为

字符变量=getchar();

函数功能是:从输入设备(一般为键盘)上输入一个字符,函数的返回值是该字符的ASCII码值

#include <stdio.h>

int main( )

{

char ch;

ch=getchar();/从键盘输入字符,该字符的ASCI码值赋给(ch);

putchar(ch);//输出ch对应的字符

}

注意:

(1)执行getchar()输入字符时,键入字符后需要敲回车键,回车后,程序才会响应输入,继续执行后续语句。

(2)getchar()函数也将回车键作为一个回车符读入。因此,在用getchar()函数连续输入两个字符时要注意回车符

3)键盘缓存的垃圾键也会被getchar()函数读入,所以,之前执行过输入函数的情况下,加getchar()函数不一定能使屏幕暂停。可以换成system(“pause”);

3.格式输出函数 printf

①格式输出函数的一般形式

printf("格式控制字符串”,输出项列表):

功能:按指定格式向显示器输出数据

返值:正常,返回输出字节数;出错,返回-1

例如:

int i = 97;

printf ("i=%d, %c\n",i,i );

输出结果为:i=97,a

②格式控制字符串

格式控制字符串由3部分组成:普通字符、转义字符、输出项格式说明。

格式说明的形式为:%[flags][width][.prec][hl[type]

(1)“[]”表示该项为可选项

(2)flags为可选择的标志字符(+,-)

(3)width为可选择的宽度指示符(正整数(4)[.prec]为可选的精度指示符(正整数)(5)[h川]为可选的输出长度修饰符

(6)type为可选的格式字符

④printf格式字符输出格式

(1)%d

printf("%d", 100);输出结果为:100

printf("%5d",100);输出结果为:   100

(2)%о

int n = -1;
printf("%o",n);
输出结果为:177777

(3)%x

int n = -1;

printf(“%x",n);

printf("%X",n);

输出结果为:ffffFFFF

(4)%u

int n=-1

printf("%d,%u",n,n);
输出结果为:-1.65535

注意:当格式字符和输出项类型不一致时,强行按照格式字符输出,不进行类型转换!!!

4.格式输入函数scanf

(1).格式输入函数的一般形式

scanf("格式控制字符串",地址列表)

按指定格式从键盘读入数据,并写入地址列表。

(2).格式控制

格式控制由格式控制字符串(格式字符、普通字符和转义字符)实现

格式字符串形式为:%[*][width][h|l]type

例如,前面使用过的格式输入语句:

scanf("%c",&ch);

这里,"%c"是格式控制字符串,控制输入一个字符。&是取地址运算符,&ch表示取变量ch的地址

(3).使用scanf()语句要注意以下三点

①格式控制

格式输入函数将键盘输入的数据流按格式转换成数据时,需要知道转换成什么数据,转换几个数据。

例如:"%d"表示读一个整型数据:    "%c"表示读一个字符数据

"%f"表示读一个实型数据;   "%s"表示读一个字符串;

"%d%d"表示读两个整型数据,空格分隔;

"%d%f"表示读一个整型数据和一个实型数据,空格分隔

②地址列表

地址列表各地址间以逗号间隔。地址的类型、个数和顺序必须和格式控制字符串的参数一致。例如:

int a,b

float x;

scanf("%d%d%f",&a,&b,&x);

a、b是整型变量,x是浮点类型。所以下列scanf函数的调用是错误的:

scanf("%d%f",&a,&b);//b是整型变量,与%f不匹配。

scanf("%d%f",&x,&b);//地址列表的顺序与输入格式控制不一致。

scanf("%d%f", &b);//1 个数不一致。

scanf("%d%f", b);//b不是地址,表示的是变量b的值

scanf函数会按照格式字符从键盘获取数据后强行写入内存,不进行任何转换!!!

运行scanf()函数时,从键盘输入数据要和格式控制字符串匹配。
1)输入数据的顺序要和格式控制字符串一致。例如:

scanf("%d%f",&a,&x);输入:100 3.1。

2)输入数据之间的分隔符应与格式控制字符串的规定匹配。例如:scanf("%d%f", &a, &x);两个输入数据之间用空格分隔,也可用回车键分隔;

scanf("%d,%f",&a, &x);

两个输入数据之间必须用逗号分隔不能用空格分隔


三、顺序结构程席举例

    顺序结构程序是组成程序的语句序列,描述的是顺序执行的流程,即是按照语句的书写顺序,从上到下进行的处理流程

例1 根据圆的半径,计算并输出圆的周长和面积

分析:

(1)定义实型变量r、l、s用于存放半径、周长、面积;

(2)调用输入函数,输入r:

(3)分别利用周长公式和面积公式求出l、s;

(4)调用输出函数输出1、s。

#include <stdio.h>

int main()

{float r,l, s;

scanf(“%f”, &r);

l=2*3.14159*r;

s=3.14159 *r*r;

printf(“\n l=%8.4f”,l);

printf(“'\n s=%8.4f”,s);

}

例2输入任意3个整数,求它们的平均值,保留两位小数。

分析:

(1)定义变量

(2)输入3个整数存入变量num1、num2、num3(2)求3个整数的平均值,赋给变量average;

(3)输出average

int main()

{int num1,num2,num3;

float average;

printf("Please input three numbers: ");

scanf"%d,%d,%d",&numl,&num2,&num3);

average=(numl+num2+num3)/3.0;

printf("average=%7.2fn",average);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiao₍˄·͈༝·͈˄*₎◞ ̑̑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值