C基础输入输出(学习嵌入式第一天)

 一丶按照格式的输入输出

1.输出:printf 

格式:int printf(const char *format,....);

功能:按照指定的格式向终端输出

参数:format:要输出的字符串的内容     ....:不定参

数据类型intcharfloatdouble字符串十六进制八进制地址指数
打印格式%d%c%f%lf%s%#x%#o%p%e

返回值:输出字符的个数

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int a = printf("aaa");//a=3
    printf("%d\n",a);
    return 0;
}

2.输入:scanf

格式:int scanf(const char *format,......);

功能:按照指定格式向终端输入

参数:format:要输入的字符串的内容        ......:变量的地址

返回值:正确输入数据的个数,当输入数据都不正确或第一个开始数据不正确时返回0.

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a, b, c;
    int ret = scanf("%d%d%d", &a, &b, &c);//当输入1 2 a时ret=2,当输入a 1 2时ret=0
    printf("ret=%d\n", ret);
    return 0;
}

二丶按照字符的输入输出

1.输入:getchar 

格式:int getchar(void);

功能:从终端输入一个字符

参数:无

返回值:输入字符的ASCII码值

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int arr = getchar();
    printf("%d", arr);//当输入a时输出a的ASCII码值97
    // char arr = getchar();   
    //printf("%c",arr);   当输入a时输出a
    return 0;
}

2.输出:putchar

格式:int putchar(int c);

功能:向终端输出一个字符

参数:输出字符的ASCII码值

返回值:输出字符的ASCII码值

#include<stdio.h>
int main(int argc, char const *argv[])
{
    putchar(97);//a的ASCII码值
    putchar('a');//字符a
    return 0;
}

练习:通过putchar和getchar将小写字母转换为大写字母

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a = getchar(); // 输入一个小写字母
    putchar(a - 32);   // 通过ASCII码值将小写字母转换为大写字母
    /*int a = getchar();//输入一个大写字母
   putchar(a+32);//通过ASCII码值将小写字母转换为大写字母
   printf("\n");*/
    return 0;
}

三丶垃圾字符回收

1.%*c回收:只能回收一个字符
 

#include <stdio.h>
int main(int argc, char const *argv[])
{
    char a, b;
    scanf("%c%*c%c", &a, &b);//从终端输入a a时因为a后面有空格,所以b的值就会默认为被空格赋值,而加上%*c时,空格就会被回收
    printf("%c %c\n", a, b);
    return 0;
}

2.通过空格回收:可以回收多个字符

#include <stdio.h>  
int main(int argc, char const *argv[])  
{  
    char a, b;  
    scanf("%c %c", &a, &b);  //它告诉scanf在读取a之后,需要跳过任何空白字符(包括空格、制表符、换行符等),直到遇到下一个非空白字符并将其读入b。这样,用户就必须在两个字符之间输入至少一个空格(或其他空白字符)来分隔它们。
    printf("%c %c\n", a, b);  
    return 0;  
}

3.通过getchar回收:只能回收一个字符,多用于循环语句中

#include <stdio.h>  
int main(int argc, char const *argv[])  
{  
    char a;
    while(1)
    {
        scanf("%c",&a);
        getchar();//在向终端输入一个字符后,回车运行,这时候字符会被输出,而回车就会被存入缓存区中,下一次循环就会将回车输出,而getchar就会将回车这一垃圾字符回收
        printf("%c\n",a);
    }
    return 0;  
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值