C语言之条件分支

目录

输入和输出

类型

基本格式字符

附加的格式说明字符

printf输出语句

scanf输入句

putch

字符输入函数getchar()

条件分支

if语句的三种形式

if语句的嵌套

switch语句


输入和输出

类型

输入:格式输入函数:scanf

           字符输入函数:getchar 

           字符串输入函数:gets 

输出: 格式输出函数:printf

            字符输出函数:putchar

            字符串输出函数:puts

格式声明:一般形式%格式字符

基本格式字符


d格式字符(%d):以带符号的十进制形式输出(入)整数
eg:输出时%5d表示输出数据占5列,输出时候右对齐
c格式符(%c):以字符形式输出(入),只输出(入)一个字符
s格式符(%s):输出(入)字符串
f格式符(%f):以小数形式输出(入)单、双精度数

  • 实数中整数部分完全输出,下属部分输出6位;
  • 输出时可指定数据宽度和小数位数用%m.nf

e格式符(%e):以指数形式输出(入)实数

  • 用e时指数以“e”表示(如1.2e+02),
  • 用E时指数以“E”表示(如1.2E+02),

u格式符(%u):以无符号的十进制形式输出(入)整数

附加的格式说明字符


输出
l(小写字母):长整型整数,可加在格式符d,o,x,u前面
m(正整数):数据最小宽度
n(正整数):对实数,表示输出n位小数;对字符串,表示截取的字符个数;
-:输出的数字或字符在域内向左对齐;
输入
l(小写字母):输入长整型数据(可用%ld,%lu,%lo,%lx)以及double型数据(用%lf或%le);
h:输入短整型数据(可用%hd,%hx,%hx);
域宽(正整数):指定输入数据所占的宽度
(列数);
*:本输入项在读入后不赋给相应的变量。


printf输出语句

终端输出若干个任意类型的数据
printf(格式控制,输出列表)
(1)“格式控制” 是用双引号括起来的字符串,称为格式控制字符串,简称格式字符串。包括:
格式声明:由“%”和格式字符组成
普通字符:即需要在输出是原样输出的字符
(2)输出表列是程序需要输出的一些数据,可以是常量、变量、表达式。

scanf输入句

按照制定的格式规范输入数据
scanf(格式控制,地址列表)
(1)地址列表是由若干个地址组成的列表,可以是变量的地址,或字符串的首地址。
(2)格式控制的两边必须用引号
(3)scanf函数没有计算功能

  • 输入多个整型数据或实形数据时,可用空格、回车或制表符做间隔
  • 输入多个字符型数据时,数据间不可使用分隔符
  • 若指定了输入数据的宽度,则系统自动按其截取所需数据
  • %后面加*表示跳过相应的数据接收

 

#include<stdio.h> 

main()
{int a,b;
 printf("input two numbers:");
  scanf("%d%d",&a,&b);
  printf("a=%d,b=%d",a,b);
 }  

 

putch

putchar(ch)用于将一个字符输出到显示器上显示
一般调用格式:putchar(ch);
头文件#include“stdio.h”
 

#include<stdio.h>

void main()
{ char a,b,c;
  a='B';b='O' ;c='Y';
  putchar(a);
  putchar(b);
  putchar(c);
  putchar('\n');
}

 

字符输入函数getchar()

从键盘输入一个字符,应用时必须用另一个变量名接收读入的字符
一般调用格式:ch=getchar()
 

#include<stdio.h>
int main()
{ 
  char c;
  printf("Enter a char:\n");
  c=getchar();
  putchar(c);
  putchar('\n');
}

条件分支

关系表达式

定义:用关系运算符将两个表达式连接起来的式子
关系表达式的值是一个逻辑值,即“真”或“假”。
优先级:算术运算符>关系运算符>赋值运算符
 

逻辑表达式

定义:用逻辑运算符将关系表达式或逻辑量连接起来的式子
逻辑表达式的值是一个逻辑值,即“真”或“假”。
在对逻辑表达式的求解中,并不是所有的逻辑运算符都被执行。

if语句的三种形式

-if语句  单分支结构
语法格式:
if(表达式)
{
语句块
}
如果表达式的值为真,则执行语句块。
在程序设计中处理选择问题的关键在于进行条件判断,即如果满足某种条件,就进行相应的处理
 

#include<stdio.h> 

int main()
{
	int a;
	scanf("%d,&a");
	if(a>0)
	{
		printf("%d是正数.\n",a);
	}
}

-if...else语句   双分支结构
语法格式:
if(表达式)
{
语句块1
}
else
{
语句块2
}

#include<stdio.h>
int main()
{
	int x=0;
	int y=0;
	if(y!=0)
{
	float result=x/y;
	printf("两个数的商:%.2f\n",result); 
}
    else
{
	printf("除数为零!\n");

}

}


-if...else if...else语句  多分支结构
用于对多个条件进行判断,从而进行多种不同的处理
语法格式:
if(表达式1){语句块1}
else if(表达式2){语句块2}
else if(表达式3){语句块3}
......
else if(表达式n){语句块n}
else {语句块m}
 

#include<stdio.h>
int main()
{
	char c;
	printf("Input a character:");
	scanf("%c",&c) ;
	if(c>='a'&&c<='z'||c>='A'&& c<='Z')
	  printf("It is an English character.\n");
	else if(c>='0'&&c<='9')
	  printf("It is adigit character.\n");
	else
	  printf("It is other chatacter.\n");
	return 0;

}


if语句的嵌套

临近原则:else和if成对出现,并且总是与最近的未配对的if配对
 

switch语句

一般形式:
switch(表达式)
{
case 常量表达式1:语句块1;break;
case 常量表达式2:语句块2;break;
...... 

case 常量表达式n:语句块n;break;
default:语句块n+1
}

注:

  • 表达式的值为整数、字符、枚举类型。
  • 常量表达式的值必须互不相同,否则会出现分支矛盾的现象。
  • case后面的常量表达式只起标号作用,不起条件判断作用,即“只是开始执行出的入口标号”。一般情况下需用break语句跳出switch语句。
  • 语句块可以是一条语句,或复合语句,可以不用花括号{}。
  • 各个case和default出现的先后次序,不影响执行结果,习惯的上将default子句放在switch的末尾。
  • 多个case标号可共用一组执行语句。

switch(表达式)
{
case 常量表达式1:
case 常量表达式2:
case 常量表达式3:语句块1;break;
case 常量表达式4:语句块2;break;
......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值