⑴ c语言输入输出格式
在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。
输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d ",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。
如:%3d表示输出3位整型数, 不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
(1)c语言字符数据的输入输出编码扩展阅读
C语言输入输出时的规则:
一、格式说明符个数与输入数据个数不相等的情况:
当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。
scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。
二、宽度输出的情况:
1、在%和格式字符之间加入一个整数来控制输出数据所占宽度
2、在%和格式字符f之间加入一个“整数1.整数2”来控制输出数据的格式。
整数1:整个输出数据占的总宽度
整数2:输出实数的小数部分的个数
注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分
三、宽度输入的情况:
宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d", &x);
注意:
1、%d与%1d是不同的,它们具有不同的含义。
2、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。
⑵ c语言字符串数组怎么输入和输出呢
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
这两个函数相信大家已经非常熟悉了,这里不妨再演示一下,请看下面的代码:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通过字符串名字输出
printf("%s ", "http://c.biancheng.net"); //直接输出
puts(str); //通过字符串名字输出
puts("http://c.biancheng.net"); //直接输出
return 0;
}
运行结果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的:
printf("%s ", str[]);
puts(str[10]);
(2)c语言字符数据的输入输出编码扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
⑶ 用C语言编写程序,输入一个字符,输出它的字符值和ASCII值
1、计算机中的所有数据都是以二进制存储的,因此字符也是以二进制存储且占用一个字节,在c语言中可以把char型当作只有一个字节的有符号整数,8位有符号,最大正值就是127了。
2、例如:可以这样使用循环的
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
int i;
printf("please input a char:");
for(i='a';i<'t';i++)
printf("hello world! ");
return 0;
}
⑷ 用c语言输入一个字符并输出它的ASCII
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);//输入一个字符
printf("%d",ch);//输出时,按数字整型输出,就是其对应的ASCII码;
return 0;
}
⑸ C语言:字符串输入与输出
#include
<stdio.h>
int
main()
{
char
str1[21]
=
{0},
str2[21]
=
{0},
str3[21]
=
{0};
//
getchar实现
printf("请输入一个长度不超过20的字符串(getchar实现):");
int
c
=
0,
i
=
0;
while
((c
=
getchar())
!=
'\n')
{
str1[i++]
=
c;
}
//
scanf实现
printf("请输入一个长度不超过20的字符串(scanf实现):");
scanf("%s",
str2);
getchar();
//
取走缓冲区的换行符
//
gets实现
printf("请输入一个长度不超过20的字符串(gets实现):");
gets(str3);
//
putchar输出
printf("putchar输出:");
i
=
0;
while
(str1[i]
!=
'\0')
{
putchar(str1[i++]);
}
//
printf输出
printf("\nprintf输出:");
printf("%s\n",
str2);
//
puts输出
printf("puts输出:");
puts(str3);
printf("\n");
return
0;
}
问题答案:
1.
getchar可以根据用户自定义的字符结束输入,不受换行符和空白字符的限制
2.
scanf不能输入空格,另外两个可以
3.
在保证数据不会超出内存范围的情况下,用gets和puts最方便
不存在空白字符的情况下,用scanf最方便
如果既有空白字符,又可能越界的情况下,getchar最方便
⑹ C语言字符型数据输入输出
H前面有两个空格是因为输出指定了%3c,所以前面补两个空格。
因为输出A是指定以%c格式输出的,所以前面就不再补空格。
⑺ 一个简单的c语言编程,输入一个字符,输出该字符的机内编码
#include<stdio.h>
intmain()
{
chara;
scanf("%c",&a);
printf("%c的机内编码为%d ",a,a);
return0
}
//字符的判郑机内码就是ASCII码,直掘团颂接或高以数字的形式输出即可.