基本的输入与输出函数--c语言个人笔记【二】

c语言个人笔记【二】

E.menos
代码规范性!!!

  • 如何看懂一个程序?
    1. 流程
    2. 每个语句的功能
    3. 试数
二. 基本的输入与输出函数的用法:
1.printf()–将变量的内容输出到显示器上
  • 为什么需要输出控制符?

    1. 组成的代码可以表示数据也可以表示指令
    2. 如果01组成的代码表示数据的话,那么同样的01代码以不同的输出格式就会有不同的显示结果
  • printf的使用:

    1. printf(“字符串”);

    2. printf(“输出控制符”,输出函数);

    3. printf(“输出控制符1 输出控制符2…”,输出参数1,输出参数2…);

      输出控制符与输出函数的个数一一对应。

    4. printf(“输出控制符 输出控制符”,输出参数);
      输出控制符包含如下
      %d – int
      %ld – long int
      %c – char
      %f – float
      %lf – double
      %x(或 %X 或 %#X ) – int 或 long int 或 short int
      %o – 字符串

//目的:测试%x %X %#x %#X

    #include<stdio.h>

    int main(void)
    {
        int x = 47;//47是十进制

        printf("%x\n",x);//输出结果是:2f
        printf("%X\n",x);//输出结果是:2F
        printf("%#X\n",x);//输出结果是:0X2F
        printf("%#x\n",x);//输出结果是:0x2f

        return 0;
    }
2.scanf()–通过键盘将数据输入到变量中

两种用法:

  • 用法一:scanf(“输入控制符”,输入参数);

    功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输出参数的值为地址的变量中

  • 用法二:scanf(“非输入控制符 输入控制符”,输入参数);

    功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入输入参数的值为地址的变量中 非输入控制符必须原样输入

    如何更好地使用scanf():

    1. 使用scanf之前最好使用printf提示用户以什么样的方式输入
    2. scanf中尽量不要使用费输入控制符,尤其不要使用"\n"!!!!
    3. 编写代码时对用户的非法输入做适当处理( 如2.4 ) 非重点
2.1 scanf()__不含非输入控制符
#include <stdio.h>

int main(void)
{
    int i;

    scanf("%d",&i); // &i表示i的地址,&是一个取地址符
    printf("i=%d\n",i);

    return 0;
}
2.2 scanf()__含有非输入控制符
    #include <stdio.h>

        int main(void)
        {
            int i;

            scanf("m%d",&i); //m123:正确的输入     123:非法输入
            //当输入的是m123n时,输出显示为123
            printf("i=%d\n",i);

            return 0;
        }
2.3 一次给多个变量赋值
#include <stdio.h>

int main(void)
{
    int i,j,k;

    printf("请输入三个值")

    scanf("%d %d %d",&i,&j,&k); 
    printf("i=%d,j=%d,k=%d\n",i,j,k);

    return 0;
}
2.4 scanf()对用户非法输入的处理
#include <stdio.h>

int main(void)
{
    int i;

    scanf("%d",&i);
    printf("i=%d",i);

    //......

    int j;

    scanf("%d",&j);
    printf("j=%d",j);
//当输入为123m时,输出i=123,j=-588993460
//原因是档输入123m不是整数是,i先读取123,j读取m非法输入,会连续读取
//因此应在两程序之间加一个清除数据的程序,用户分别输入两个数据

    return 0;
}
#include <stdio.h>

int main(void)
{
    int i;

    scanf("%d",&i);
    printf("i=%d",i);

    //......
    while ((ch=getchar())!='\n)
    continue;

    int j;

    scanf("%d",&j);
    printf("j=%d",j);

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值