首页 > 其他分享 >C语言输入输出

C语言输入输出

时间:2025-01-15 19:28:00浏览次数:3  
标签:输出 形式 转换 字符 -- 输入输出 C语言 int

一、语句

以分号作为语句结束标志

(一)分类

 1.控制语句 


  2.函数调用语句 


  3.表达式语句


  4.空语句 


  5.复合语句 

(二)输入输出

 输入 --->计算机 --->输出 
               [内存]
  c语言中用到的输入输出的功能 ,并不是c语言本身的一部分。而是用到了别人写好的输入输出的功能(函数)。

 stdio //标准输入输出函数库中的函数 
        //standard input output //标准C库(函数库)中一部分 

1、提供的函数:
  getchar / putchar   (单个字符输入输出)
  scanf / printf     (格式化的输入输出)
  gets / puts   (字符串的输入输出---数组)
 

Ⅰ:int getchar(void)

功能:
    从键盘获得一个字符数据 
参数:
    void -- 不需要参数 
返回值:
    将获得到的字符的 ASCII码值 返回

Ⅱ: int putchar(int c);

 功能:
     将一个字符输出到终端
 参数:
    c  存放要输出字符的ASCII码值 
 返回值:
    返回值的是 输出了的 字符的ASCII码值


Ⅲ:printf  //格式化输出函数

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

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

1.格式控制字符串:
     普通字符 :原样输出 
     占位符 :用参数列表对应的数值 替换 
            
       整型:
          %d   -- 转换为 有符号 十进制形式 输出 
          %u   -- 转换为 无符号 十进制形式 输出
          %x   -- 转换为 十六进制形式 输出
          %X   -- 转换为 十六进制形式 输出 输出结果中字符 都是大写形式 
          %o   -- 转换为 八进制形式 输出
       浮点型:
          %f   -- 转换为 小数形式输出,默认保留 6位 小数
          %e   -- 转换为 科学计数法形式 输出,指数部分 会显示 正负号 如果是一位数 则会补个0

 

取小数点,%g只会去得整数部分

          %g   -- 以一种 更简洁的方式输出 ,不会将多余0输出 
       字符型 :
          %c   -- 转换为 数值 对应 字符形式 输出 
          %s   -- 以字符串的形式(一串字符)输出 

       辅助控制符:
     
     #
                %#x    //将十六进制的前缀 0x 输出 
                %#o    //将八进制的前缀 0 输出       
     m         //数字 
                输出的数据宽度 
                m < 数据实际宽度  --- 以实际宽度为准 
                m > 数据实际宽度  --- 输出结果 默认右对齐 ,前面补空格
                                      也可以补0 
    -m      左对齐  不能补0
    .n         n表示一个数字 
              %.nf  //表示保留n位小数 
              %.ng  //保留结果中的 n位 数字        
              %.ns  //保留前n个字符 
    %ld     l 表示 匹配 long int 类型 
               ll 表示 匹配 long long int 类型 
               h  表示 half 一半 
               hh 表示 一半的一半 

               %Lf //输出 long double类型的数据 


注意:
    1.占位符 与 参数 一一对应 
    2.参数个数 多余 占位符 ,编译报警,但并不影响运行结果 
    3.参数个数 少于 占位符 ,编译报警,多的占位符对应输出 随机值 
2、输出的参数列表:
           要输出的参数 
           参数 与 占位符 是一一对应的 

如:
printf("hello world!\n");
printf("a = %c\n",a);
printf("a = %d b = %f\n",a,b);

Ⅳ:scanf();  

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

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

格式控制字符串:
   
     普通字符:原样输入
     占位符 : 将键盘输入的数据 转换为 占位符 指定格式 
            
       整型
          %d   -- 转换为 有符号 十进制形式 输出 
          %u   -- 转换为 无符号 十进制形式 输出
          %x   -- 转换为 十六进制形式 输出
          %X   -- 转换为 十六进制形式 输出 输出结果中字符 都是大写形式 
          %o   -- 转换为 八进制形式 输出
       浮点型
          %f   -- 转换为 小数形式输出,默认保留 6位 小数
          %e   -- 转换为 科学计数法形式 输出,指数部分 会显示 正负号 如果是一位数 则会补个0
          %g   -- 以一种 更简洁的方式输出 ,不会将多余0输出 
       字符型 
          %c   -- 转换为 数值 对应 字符形式 输出  --- 键盘输入的 都可以被当作字符 %c 都能识别
          %s   -- 以字符串的形式(一串字符)输出 

    辅助控制符:
           m   //指定输入宽度 
           //浮点数中 小数点 也算一列宽度
           .n   //输入时,不能指定 精度 
      
          %lf  //表示 给doule类型变量中输入数据 
           %f   //float类型的变量中输入数据 
          %Lf  //匹配 long double 类型变量      
     
          %d  //默认是匹配 int类型变量
          %ld //long int 类型
          %lld //long long int 类型 

注意:


   1.scanf 读取(匹配)结束的条件
     a.空白符、回车、Tab 、空格 
     b.遇到 非法字符 
     c.达到了指定的输入宽度 

  2.注意 ,scanf后面,是 地址值 


  3.格式字符串中出现空白符 
    作用//表示匹配任意多个空白符 


  4. getchar() //处理缓冲区中空白符 


  5、canf("%c %c",&a,&b); //空白符 会匹配任意多个空白符 
  6、%*d //匹配一个数据项 


 


 



  

标签:输出,形式,转换,字符,--,输入输出,C语言,int
From: https://blog.csdn.net/2401_84382970/article/details/145158568

相关文章

  • 洛谷 P8469 [Aya Round 1 D] 文文的数学游戏 C语言
    题目:P8469[AyaRound1D]文文的数学游戏-洛谷|计算机科学教育新生态题目背景在解决了上一题之后,琪露诺觉得自己仿佛就是天才。于是,射命丸文又给了她一道简单的数学题。题目描述给定长度为 n 的整数序列 a,你需要构造一个长度为 n 的整数序列 b 满足对于所有......
  • 【C语言】_字符串函数strcpy
    目录1. 函数声明及功能2.使用示例3.注意事项4. 模拟实现4.1第一版:基本功能+判空+const修饰4.2第二版:优化对于'\0'的单独拷贝4.3第三版:仿strcpy的char*返回值1. 函数声明及功能char*strcpy(char*destination,constchar*source); strcpy功能:字......
  • 分类统计字符个数(PTA)C语言
    本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:voidStringCount(chars[]);其中chars[]是用户传入的字符串。函数StringCount须在一行内按照letter=英文字母个数,blank=空格或回车个数,digit=数字字符......
  • C语言代码题:有评委对选手进行打分,分数为整数,接收数据为-1的时候结束,去掉一个最高分,去
    思路:    1、定义数组进行接收分数    2、用循环求最高分,最低分,总值    3、求平均分,输出#include<stdio.h>intmain(void){inti=0,val=0;inta[100]={0};doublemin=0,max=0,num=0,avg=0;//给数组赋值......
  • 如何理解C语言之动态内存管理
     目录1.为什么要有动态内存分配2.malloc 和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常⻅的动态内存的错误4.1对NULL指针的解引⽤操作4.2对动态开辟空间的越界访问 4.3对⾮动态开辟内存使⽤free释放4.4使⽤free释放⼀块动态......
  • 6、原来可以这样理解C语言_函数(4/8)形参和实参
    目录 四、形参和实参四、(1)、实参 四、(2)、形参四、(3)、实参和形参的关系 四、形参和实参        在函数使⽤的过程中,把函数的参数分为,实参和形参。#include<stdio.h>intAdd(intx,inty){intz=0;z=x+y;returnz;}intmain(......
  • C语言常见概念(上篇)
     C语言是什么人与人的沟通,可以用肢体语言、汉语、英语、法语和德语等。你若要与计算机沟通,就需要使用计算机能够听懂的语言。而我们学习的“C语言”便是计算机语言的一种。编译器的选择语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编......
  • 编程小白对C语言的认识与看法
     对于一个刚刚进入大学数学类专业的学生,并且学校在大一还没有开展计算机相关课程,我对C  语言的了解仅仅是一个名词,一串代码,一门课程。当我真正在学习的时候,我才发现C语言并没有这么简单。 我问过许多C语言的朋友,C语言是什么?他们并不能很好的回答我的问题,对于他们而言,C......
  • C语言练习之姓名排序
     从今天开始,练习题的博客都会迎来一个升级,我们会注意更多细节,让这个程序尽可能的完善(尽可能想象到千奇百怪的输入,比如让输个数偏输入个字母的),尽量走向实际应用题干请设计一个程序,输入用户指定的数量的名字,然后根据名字长度排序,按长度由大到小进行输出思路名字长度排序(数组......
  • C语言练习(6)
    按要求编写程序。该题的要求是:有1000元,想存5年,可按以下5种办法存:①一次存5年期;②先存2年期,到期后将本息再存3年期;③先存3年期,到期后将本息再存2年期;④存1年期,到期后将本息再存1年期,连续存5次;⑤存活期存款,活期利息每季度结算一次。分别给出了不同存期的利率,要求计算并比......