首页 > 其他分享 >C 语言中的基本输入与输出

C 语言中的基本输入与输出

时间:2024-10-16 22:53:15浏览次数:3  
标签:输出 语言 字符 printf 字符串 gets 输入 函数

1.字符输出函数 putchar

putchar函数字符输出函数,其功能是在终端(显示器)输出单个字符。其函数原型为:

int putchar(int ch);

ch表示要输出的字符内容,返回值作用为:如果输出成功返回一个字符的ASC码,失败则返回EOF即-1,如代码:

putchar(‘A’); /*输出大写字母A */
putchar(x); /*输出字符变量x的值*/
putchar(‘\n’); /*换行*/

2.字符输入函数getchar

getchar函数的功能是接收用户从键盘上输入的一个字符。其一般调用形式为:

getchar();

getchar会以返回值的形式返回接收到的字符。即该字符的ASC码,通常的用法如下:

char c;  /*定义字符变量c*/
c=getchar();  /*将读取的字符赋值给字符变量c*/

3.C语言格式化输出函数printf实例详解

详见 用 printf 输出整数时常见的格式符-CSDN博客 这篇文章

4.C语言格式化输入函数scanf实例详解

scanf函数称为格式输入函数,即按照格式字符串的格式,从键盘上把数据输入到指定的变量之中。scanf函数的调用的一般形式为:

scanf("格式控制字符串",输入项地址列表);

 其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表项中的地址给出各变量的地址,地址是由地址运算符“&”后跟变量名组成的。

 详见 用 printf 输出整数时常见的格式符-CSDN博客 这篇文章

scanf()的返回值

scanf()函数返回成功读入的项目的个数。如果它没有读取任何项目(比如它期望接收一个数字而您却输入的一个非数字字符时就会发生这种情况),scanf()返回0。

5.C语言字符串接收函数gets的用法

本节来讲解关于gets函数的用法,在C语言中,除了用scanf,以%s接收字符串之外,还可以使用gets函数更方便的接收字符串。

其函数原型如下:

char *gets(char *str);

在包含 include <stdio.h>头文件的情况下,可以用gets直接往字符数组里接收字符串,我们通过观察函数原型,可以看到在gets中传入一个字符指针,也就是存放这个字符串的字符数组地址即可接收,需要主要的是,要保证能存的下。

其运行过程为:当执行gets函数时,程序会等待用户从键盘输入的字符串,一旦遇到结束标志,即回车,那么之前输入在缓冲区中的字符串则会一起输入到gets中str所指向的内存区域里。此过程与scanf函数类似,最主要的不同在于,scanf接收时的结束标志有空格和回车,而gets不包括空格。也就意味着gets可以接收空格本身作为内容的一部分。这在实际解题、开发过程中时很有用的。

下面看一个例子:

# include <stdio.h>
int main(void)
{
    char str[100] = "\0";  
    printf("请输入字符串:\n");
    gets(str);
    printf("刚才输入的字符串是:\n");
    printf("%s\n", str);
    return 0;
}

6.C语言字符串输出函数puts的用法

同样的,C语言中的字符串输出函数除了printf还可以用puts来更方便的处理,puts函数原型如下:

int puts(const char *s);

在包含头文件# include <stdio.h>后,即可将想要输出的字符串或者字符数组的地址传入puts即可打印输出。

可以直接看例子程序:

#include <stdio.h>
int main(void)
{
    char str[100] = "www.csdn.com";
    printf("%s\n", str);  
    puts(str);  
    return 0;
}

我们将提前准备好的字符串,通过两种办法,分别用以前的printf用%s输出,以及用puts直接输出,输出如下:

www.csdn.com
www.csdn.com

可以看到puts比printf函数方便得多,不需要指定字符串类型,而且末尾不用加换行符会自动换行,对于单独字符串的使用,确实方便很多。 

 题目练习:密码破译

题目描述:

要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

输入: China

输出: Glmre

代码实现

#include <stdio.h>
int main()
{
    char s[11];                             //定义一个长度为10的字符串(注意有结尾符)
    gets(s);                                //输入字符串
    for (int i = 0; s[i] != '\0'; i++)      //循环到结尾符'\0'时停止循环
    {
        if (s[i] >= 'A' && s[i] <= 'Z')             //判断是否为大写字母
        {
            s[i] = (s[i] + 4 - 'A') % 26 + 'A';     //大写字母后移
        }
        if (s[i] >= 'a' && s[i] <= 'z')             //判断是否为小写字母A
        {
            s[i] = (s[i] + 4 - 'a') % 26 + 'a';     //小写字母后移
        }
    }
    puts(s);                                //输出字符串
    return 0;
}

标签:输出,语言,字符,printf,字符串,gets,输入,函数
From: https://blog.csdn.net/xinfanyyds/article/details/142992955

相关文章

  • C语言运算符和表达式
    1.C语言赋值运算符实例讲解C使用运算符(operator)来代表算术运算。例如,+运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。与其被称之为“那些东西”或“数学符号”,被称之为“运算符”似乎看起来更专业一些!现在,除......
  • 【软考】7 程序设计语言
     一、编译程序和解释程序 编译器和解释器都会3个分析处理 以下关于高级程序设计语言实现的编译和解释方式的叙述中,正确的是(A)。A编译程序不参与用户程序的运行控制,而解释程序则参与B编译程序可以用高级语言编写,而解释程序只能用汇编语言编写C编译方式处理源程序时不......
  • 编程语言-Object Pascal语言的面向对象扩展
    ObjectPascal是经典编程语言Pascal的一个扩展版本,引入了面向对象编程(OOP)的关键特性,如类与方法。这一革新性发展是在Pascal的创始人NiklausWirth的协商下,由LarryTesler带领的团队在苹果公司完成的。起源ObjectPascal的前身可以追溯到名为Clascal的语言。Clasc......
  • PTA L1系列题解(C语言)(L1_073 -- L1_080)
    L1-073人与神题目内容:L1-073人与神-团体程序设计天梯赛-练习集(pintia.cn)跨界大神L.PeterDeutsch有一句名言:“Toiterateishuman,torecursedivine.”(迭代的是人,递归的是神)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输......
  • MyBatis基本使用(数据输出)
    导言    上期讲了一部分关于mybatis的基本使用知识点,本期继续整理mybatis基本使用知识点(数据输出)上期内容:MyBatis基本使用(上)_mybatis的配置文件使用**settings标签**设置-CSDN博客输出概述数据输出总体上有两种形式:-增删改操作返回的受影响行数:直接使用int或lo......
  • C语言基础分享-初始C语言
    1.1什么是C语言C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的国际标准:ANSICC89C90C99C11...其中C89C90为主流C语言是一门面向过程的计算机编程语言。C语言是编译型语言。编译器主要有Clang、GCC、WIN-TC、MSVC、TurboC等。1.2第一个C语言程序点击查......
  • 注释与关键字:代码的隐秘语言!
    Java编程的基础要素:注释、关键字与标识符在编程的世界里,代码就像是一座宏伟的建筑,而注释、关键字和标识符则是构成这座建筑的基石与结构,支撑着整个程序的逻辑与可读性。无论是初学者还是经验丰富的开发者,理解和掌握这些基本要素都是提升编程能力的重要步骤。注释:代码中的......
  • ②C语言数据类型与变量
    数据类型1数据类型概要整形类型描述整数,字符类型描述字符,浮点型类型描述小数。特殊说明:布尔类型需要拥有的头文件(<stdbool.h)布尔类型的变量的取值是:true/false#definebool_Bool#definefalse0#definetrue1实例_Boolflag=true;if(flag)prin......
  • DuoAttention: 高效的长上下文大语言模型推理方法
    在人工智能的日新月异中,长上下文大语言模型(LLMs)如同一颗闪亮的明星,吸引着研究人员的目光。然而,部署这些模型并非易事,尤其在处理长上下文时,面临着计算和内存的巨大挑战。在这一背景下,“DuoAttention”的理念应运而生,旨在通过高效的长上下文推理方法,缓解这些问题。......
  • 【bayes-Transformer多维时序预测】bayes-Transformer多变量时间序列预测,基于bayes-Tr
    %% 划分训练集和测试集P_train=res(1:num_train_s,1:f_)';T_train=res(1:num_train_s,f_+1:end)';P_test=res(num_train_s+1:end,1:f_)';T_test=res(num_train_s+1:end,f_+1:end)';%% 划分训练集和测试集M=size(P_train,2);N=siz......