继续学习。
C语言中scanf表示输入函数。在如果我们写scanf("%d\n",&a);这样的代码时错误的,因为换行符是不可以写在 " " 内的。再比如我们写scanf("%7.2f",&b);这样的代码也是错误的,因为我们是不允许设定输入部分的小数位数的,输出可以。再比如scanf("%d",a);也是不行的,因为在输入函数中输入值必须要写取地址符即&。同时我们还要注意输入的字符串类型和给定的格式字符是否一致的问题。
#include<stido.h>是头文件,也是标准的输入输出函数。putchar()是字符输出函数。比如我写putchar(ch)就是向屏幕输出一个字符,即字符型变量ch的值;getchar()是字符输出函数,当无参数时可以用ch=getchar(),从键盘接受的字符作为getchar()的函数值。这样就是通过函数返回值得到用户从键盘输入的字符。
字符型数据在内存中是以字符对应的ASCII值保存的,并不直接保存在内存中。一个字节保护一个字符(英文字母、数字、符号)。每一个字符具有一个0-127之间的编码值,可以在ASCII中查出。
字符型变量的值是个普通整数,可以做算术运算(通常是以+、-)。
'B'在十进制中是66,'b'是98,在做运算时就可以是'B'+32='b'。大写字母与小写字母之间只差32个数。
下面使用C语言写一个大写字母转小写字母的代码:
#include<stdio.h>
main(){
char ch;
printf("press a key and then press Enter");
ch = getchar();
ch = ch + 32; //将大写字母英文转成小写英文字母
putchar(ch); //在屏幕上显示变量ch中的字符
putchar('\n'); //输出一个回车换行控制符,放在''中,putchar只能输出字符,""表示字符串
}
字符常量使用 ' ' 引起来的字符。
转义字符一些特殊字符(无法从键盘输入或另有他用),比如putchar('\n')不能写成putchar("\n")。
再用另一种形式写一个大写字母转小写字母的代码:
#include<stdio.h>
main(){
char ch;
printf("press a key and then press Enter");
ch = getchar();
ch = ch + 32;
printf("%c %d\n",ch,ch); //这样在输出小写英文字母的同时还输出了对应的十进制数字
}
真正从键盘输入的数据并不是直接从键盘读入的,而是从键盘读入后,先暂存到输入缓存区当中的,再从缓存区中读取。这样的话程序可能并未完全读走,肯能开留下一部分在缓冲区中。前一个输入函数没有读走的数据仍在缓冲区中,将被下一个输入函数读取。
回车针对字符型输入时可以作为一个有效的字符存在。在输出时,%c前可以加一个空格,这样就能忽略输入缓冲区的数据,即用户输入表达式中的空白字符。
以上就是今天学习的内容。如有错误欢迎指正。