C学习笔记3——输入与输出、if语句

语句

C语言程序的执行语句可分为以下5类:

表达式语句:由表达式加上;组成;

函数调用语句:函数名(实际参数);

控制语句:分为三类,

        条件判断语句:if、switch

        循环执行语句:do while、while、for

        转向语句:break、goto、continue、return

复合语句:把多个语句用{ }括起来组成的一个整体语句;

空语句:只有;组成的语句,什么也不执行,在程序中可用来做空循环体、条件分支空语句等。


数据输入与输出

 .1字符数据的输入与输出

putchar函数:字符输出函数,在显示器上输出单个字符,形式为

putchar( );

getchar函数:从键盘上输入一个字符,只能接受单个字符,输入数字也按字符处理,一般形式为

getchar( );

通常把输入的字符赋予一个字符变量,构成赋值语句,如:c=getchar( );

puts()输出函数只能输出字符串,并且输出结束后会自动换行;

gets()输入函数:从键盘上读取一个字符串直到回车结束;

 .2格式数据的输入与输出

printf格式输出函数

一般形式为

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

格式控制字符串可由格式字符串(以%开头)和非格式字符串组成。

格式控制符说明
%c输出一个单一的字符,char类型
%hd、%d、%ld以十进制、有符号的形式输出 short、int、long 类型的整数
%hu、%u、%lu以十进制、无符号的形式输出 short、int、long 类型的整数
%ho、%o、%lo以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数
%#ho、%#o、%#lo以八进制、带前缀、无符号的形式输出 short、int、long 类型的整数
%hx、%x、%lx
%hX、%X、%lX
以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。
%#hx、%#x、%#lx
%#hX、%#X、%#lX
以十六进制、带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字和前缀都小写;如果 X 大写,那么输出的十六进制数字和前缀都大写。
%f、%lf以十进制的形式输出 float、double 类型的小数
%e、%le
%E、%lE
以指数的形式输出 float、double 类型的小数。如果 e 小写,那么输出结果中的 e 也小写;如果 E 大写,那么输出结果中的 E 也大写。
%g、%lg
%G、%lG
以十进制和指数中较短的形式输出 float、double 类型的小数,并且小数部分的最后不会添加多余的 0。如果 g 小写,那么当以指数形式输出时 e 也小写;如果 G 大写,那么当以指数形式输出时 E 也大写。
%s输出一个字符串

例如:int a=10;

          printf("%d\n" a);      (同时输出多个时用逗号隔开)

注:一般输出小数仅展示后6位(printf("%.3f\n" a) ) 仅要小数点后三位

scanf格式输入函数:

一般形式为

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

if语句

引:做判断

例子,计算时间差:

#include <stdio.h>
int main()
{
    int hour1,minute1;
    int hour2,minute2;
    scanf("%d %d",&hour1,&minute1);
    scanf("%d %d",&hour2,&minute2);
    int t1=hour1*60+minute1;
    int t2=hour2*60+minute2;
    int t=t2-t1;
    printf("时间差是%d小时%d分。",t/60,t%60);
    return 0;
}

这个程序就是用到了if来做一个简单的判断

基本形式:

if(表达式) 语句;

语义:若表达式值为真,则执行后面的语句,反之不执行。

举例,求两个数最大值:

include <stdio.h>
int main(void)
{
    int a,b,max;
    printf("input two numbers:");
    scanf("%d %d",&a,&b);
    max=a;//假设a为最大
    if(max<b)
    {
    max=b;//用max与b作比较
    printf("max=%d\n",max);//输出最大值 
    }
    return 0;
}

运行结果:

第二种形式if-else

if(表达式)

        {语句1;}

else

        {语句2;}

语义:如果条件成立,则执行if{ }里的语句,若不成立则执行else{ }里的语句;

另:{ }里只有一个语句时,{ }可以省掉。

举一个找零的例子:

#include <stdio.h>
int main()
{    //初始化
    int price=0;
    int bill=0;
    //读入金额和票面
    printf("请输入金额:");
    scanf("%d",&price);
    printf("请输入票面:");
    scanf("%d",&bill);
    //计算找零
    if(bill>=price)
    printf("应该找您:%d\n",bill-price);
    else
    printf("你的钱不够\n");
    return 0;
}

求最大值:

#include<stdio.h>
int main()
{
    int a,b,max;
    printf("input two numbers");
    scanf_s("%d %d",&a,&b);
    if(a>b)
    printf("max=%d\n",a);
    else
    printf("max=%d\n",b);
    return 0;
}

结果:

第三种形式if-else-if

 当有多个分支选择时,可采用if-else-if语句

举例,比较两个数的大小

int main()
{
    int a,b;
    printf("输入数字A,B:");
    scanf_s("%d%d",&a,&b);
    if(a==b)
    {
    printf("A=B\n");
    }
    else if(a>b)
    {
    printf("A>B\n");
    }
    else
    {
    printf("A<B\n");
    }
    return 0;
}

嵌套的if语句

嵌套的判断:当if的条件满足或者不满足的时候要执行的语句也可以是一条ifif-else语句,这就是嵌套的语句。

else的匹配:总是要和最近的那个if匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值