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