#include void main()
{char a = 'B',b = 'o',c = 'k';putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');//\t相当于tab键putchar(a);putchar(b);putchar('\n');putchar(b);putchar(c);putchar('\n');putchar(65);putchar('\n');
}
putchar(字符变量);中的字符变量不可以省略。
其中当字符变量为整型量时,输出以该值作为ASCII码所对应的字符,如上面的65作为ASCII码对应的字符为A;
当字符变量为为字符型量时,直接输出,和printf("%c",c);等价。
#include void main()
{char c;printf("input a character\n");c = getchar();//从键盘上获取一个字符,并将其存放于字符变量c中,和scanf("%c",&c);等价putchar(c);//将c变量向输出设备(显示器)输出一个字符
}
注意getchar中的()不可以省略。
f时默认输出6位小数。
&为取地址运算符。
关于scanf函数格式控制的空格问题:
#include void main()
{char a,b;printf("input character a and b:\n");scanf("%c%c",&a,&b);printf("%c%c\n",a,b);//不含空格printf("input character a and b:\n");scanf("%c %c",&a,&b);printf("%c%c\n",a,b);//含空格
}
对于上述代码:
第一种情况表示scanf函数中不含有空格,当直接输入ab时可打印出来;
第二种情况含有空格,当直接输入ab时打印的是a 。
这是因为对于char型,空格也是一种字符。
如果输入的是a b,那么如下:
这是因为第一种情况中没有空格,因此输出的是a和空格;
而此时的b计入到第二个scanf函数的变量a的内存,因此第二种情况输出为ba。
正确的输入应该是和scanf的格式相对应才能输出我们想要的结果:ab a b
#include void main()
{char a,b;
// printf("input character a and b:\n");
// scanf("%c%c",&a,&b);
// printf("%c%c\n",a,b);//不含空格printf("input character a and b:\n");scanf("%c %c",&a,&b);printf("%c%c\n",a,b);//含空格
}
#include void main()
{char a,b;printf("input character a and b:\n");scanf("%c%c",&a,&b);printf("%c%c\n",a,b);//不含空格// printf("input character a and b:\n");
// scanf("%c %c",&a,&b);
// printf("%c%c\n",a,b);//含空格
}
如果scanf函数中用逗号的话,那么自己输入的时候也要用逗号输入。
#include
#include
void main()
{float s,a,b,c,area;printf("请输入三角形的三边长a,b,c:\n");scanf("%f %f %f",&a,&b,&c);s = (a+b+c)/2.0;
// s = (a+b+c)/2;//此处进行强制转换,将2转换为浮点型area = sqrt(s*(s-a)*(s-b)*(s-c));printf("最终三角形面积为:%f\n",area);
}
关系表达式的值是真假表示的,真用”1“表示,假用”0“表示。
逻辑表达式的值是真假表示的,真用”1“表示,假用”0“表示。
#include
void main()
{char c = 'k';int i = 1,j = 2,k = 3;float x = 3e+5,y = 0.85;printf("%d %d\n",!x*!y,!!!x);printf("%d %d\n",x||i&&j-3,i
视频:002第二章 数据类型,运算符和表达式01_哔哩哔哩_bilibili
书:C语言程序设计