嵌入式学习--C语言Day03

嵌入式学习--C语言Day03

输入输出

按字符输入输出

getchar

putchar

按格式输入输出

prinft

scanf

垃圾字符回收

分支语句

if-else

基本格式

分层结构

嵌套结构

switch-case

循环

for

while

输入输出

按字符输入输出

' '包裹单个字符

getchar

int getchar(void);

int a = getchar();
printf("%d\n",a);

功能 终端输入字符

参数

返回值 输入字符ascii

输入多个字符时只识别输入的第一个字符

putchar

int putchar(int c);

int a = getchar();
putchar(a);
putchar(10);//or putchar('\n')

功能 终端输出一个字符

参数 字符的ascii

返回值 字符的ascii

参数也可输入字符,原因:输入字符,本质也是输入ascii值

按格式输入输出

prinft

int printf(const char *format, ...);

功能 按指定格式终端输出

参数 多个

返回值 输出的元素个数

格式

%d == int

%c == char

%f == float %.nf == 保留n位小数

%lf == double

%p == 指针

%o %#o == 八进制

%x %#x == 十六进制

位宽

%nd n小于等于数据位宽才有效

int x = 6;
int y = 66;
int z = 666;

printf("%d\n",x);
printf("%d\n",y);
printf("%d\n",z);

printf("%3d\n",x);
printf("%3d\n",y);
printf("%3d\n",z);
结果
6
66
666
  6
 66
666

scanf

int scanf(const char *format, ...);

功能 按照格式终端输入

参数 多个

返回值 正确输入个数

int a = 0;
scanf("%d",&a);    //&取地址
printf("%d\n",a);
return 0;

垃圾字符回收

  1. 通过一个空格回收一个多个空格
char a = 0,b = 0;
scanf("%c%c",&a,&b); //scanf("%c %c",&a,&b);
printf("%c %d\n",a,b);

hq@ubuntu:~/24081/C_Day03$ ./a.out 
q w
q 32

2.%*c

scanf("%c%*c%c",&a,&b);
printf("%c %c\n",a,b);

输入wqw
打印w w

3.getchar

多个scanf给char赋值时,回收scanf换行一般对char类型使用换行也是一个字符

scanf("%c",&a);
//getchar();
printf("%c\n",a);
scanf("%c",&b);
printf("%c\n",b);
回收前
q
q


回收后
w
w
r
r

分支语句

if-else

基本格式

if(表达式)
{
    语句块1;
}else
{
    语句块2;
}

运行顺序

分层结构

if(表达式)
{
    语句块1;
}else if(表达式2
{
    语句块2;
}else
{
    3;
}


嵌套结构

if(表达式1
{
    if(表达式2
    {
         语句1   
    }
}else
{
    语句块2;
}


else前面必须ifif后面可以没有else

switch-case

switch (表达式)
    {
    case 常量值1:
        语句块1;
        break;
    case 常量值2:
        语句块2;
        break;
    default:
        语句块3;
        break;
    }
    ===================
    case 后面常量值只能是数字字符

循环

for

for (表达式1; 表达式2; 表达式3)
{
    语句块;
}
表达式1 循环变量赋初值
表达式2终止条件
表达式3增值

for (int i = 0; i < 5; i++)
{
        prinft("%d\n",i);
}

嵌套

for(int i=0;i<5;i++)
{
    for(int j=0;j<i;j++)
    {
        
    }
}

while

int  i=1;
while(i<5)
{
	printf("%d\n",i);
    i++;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值