C语言学习day4

今日学习语句与输入输出

一、语句

含义:完成某一条功能的代码。C语言中一般一条语句的结束最后以  ;   作为结尾。

1.控制语句 

eg:  if ()
          {
  
           }else 
           {
   
            }

2.表达式语句 

eg:a = 1 + 2 ; 

3.函数调用语句 

eg: printf("hello \n") ;

4.空语句 

eg:     ;  

5.复合语句

  {
     a = 1 + 2;
     b = 3;
  } 

二、输入输出

1. 输入--->计算机--->输出

2. C语言本身并不提供输入输出这样的功能,以函数的方式提供的---->函数库 

3. 函数库 

stdio  (standard input ouput)

#include <stdio.h>          //告诉编译器说 ,我要用 stdio函数库中的函数

4.函数库中提供的常用的输入输出函数:

1)单个字符的输入输出    getchar / putchar

①getchar

 int getchar(void);
  功能:获得 从键盘输入的 一个字符 
  参数:void --- 表示 不需要给实际参数 
  返回值:成功时 ,返回输入的 字符的ASCII码值 

②putchar

int putchar(int c)
   功能:将一个字符数据输出 
   参数:c用来接收要输出的字符的 ascii码值 
   返回值:成功时,会将输出了的字符的ASCII码值返回 

2)多个字符(字符串 - string)的输入输出     gets / puts  
3)格式化(format)的输入输出    scanf / printf  

①printf

函数原型----->int printf(const char *format, ...); 
        printf("格式控制字符串",输出列表)
功能:
    格式化输出转换的函数  
参数:
      "格式控制字符串"    ---->  控制最终输出结果的格式 
       输出列表            ----->   要输出的数据 

"格式控制字符串" 

  •   普通字符----->原样输出 
  •   占位符----->%d %c %f      //以%开头发字符

       占位符的个数一般和后面的输出列表中的参数 一一对应,将来要用对应的参数替换                
  整型 
      %d  --- 将数据转换为 有符号十进制形式
      %u  --- 将数据转换为 无符号十进制形式
      %x  --- 将数据转换为 无符号十六进制形式
      %X  --- 与小写区别,输出的十六进制数中的字母都是大写
      %o  --- 将数据转换为无符号八进制形式
  浮点
      %f  --- 将数据转换为十进制形式小数默认保留 6 位小数
      %e  --- 将 数据 转换为 科学计数法形式小数默认也保留 6位 小数,同时指数部分会显示正负 
      %E  --- 输出结果中的e也是大写的 
      %g  --- 将数据转换为十进制形式小数,但是输出结果 保持简洁 ,会把不相关0去掉 
      
  字符型
      %c  --- 将数据转换为对应字符形式   
      %s  --- 将 数据转换为字符串形式 

②scanf

函数原型    int scanf(const char *format, ...);
           scanf("格式控制字符串",地址列表)

功能:将键盘输入的数据转换为对应的格式,存放内存中 
    
"格式控制字符串"    

  •   普通字符----->原样输出 
  •   占位符----->%d %c %f      //以%开头发字符

       占位符的个数一般和后面的输出列表中的参数 一一对应,将来要用对应的参数替换                
  整型 
      %d  --- 将数据转换为 有符号十进制形式
      %u  --- 将数据转换为 无符号十进制形式
      %x  --- 将数据转换为 无符号十六进制形式
      %X  --- 与小写区别,输出的十六进制数中的字母都是大写
      %o  --- 将数据转换为无符号八进制形式
  浮点
      %f  --- 将数据转换为十进制形式小数默认保留 6 位小数
      %e  --- 将 数据 转换为 科学计数法形式小数默认也保留 6位 小数,同时指数部分会显示正负 
      %E  --- 输出结果中的e也是大写的 
      %g  --- 将数据转换为十进制形式小数,但是输出结果 保持简洁 ,会把不相关0去掉 
      
  字符型
      %c  --- 将数据转换为对应字符形式   
      %s  --- 将 数据转换为字符串形式 

5.辅助控制符(printf)

 %[辅助控制符]d

  1)#  

   %#x  --- 将十六进制的前缀打印出来 eg:0x7b 
   %#o  --- 将八进制的前缀打印出来 eg: 012

2)m   //数字 ----->控制输出结果的宽度 

      如果m >  实际数据的宽度 输出m列的宽度 默认数据右对齐,前面补空格 
      如果m <= 实际数据的宽度 输出实际的数据即可 (以实际数据为准)

3) -m   - 左对齐
-123 //负数 
  
 4) .n         n也是个数字  

浮点型 ------最终小数部分保留n位
     eg: %.2f
      
  字符串 -----保留前n个字符 
     eg: %.2s 

 5)l  

     %d  // int类型的 
     %ld // 长整型 long int
     %lld //long long int 
     %Ld  //long long int 

6)f

      %f   //float double 
     %Lf  //long double 

7)h 

     %hd   //表示  %d 即int 的一半----->short

     %hhd   //表示char

三、注


   1.输入多个数据时,数据间可以用 "空白符(Tab,回车键,空格)" 分割
   2.地址列表处,如果是变量,那么注意 &a
     Segmentation(段) fault(错误) (core dumped)  // 段错误 
     段错误 --- 代码访问到 原本不能访问的空间 
  3.占位符和地址列表做到一一对应 
    个数和类型要匹配  
  4. %c 将键盘的输入,转换为字符存到计算机 (本质还是存的ascii码值)     空白符 -- 也会被识别
  5. scanf("空白符") 空白符------->表示匹配任意多个空白符

四、收获

今天学习了语句和输入输出以及辅助控制符。


  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值