运算符:
总的原则,运算符和java之类的语言没有任何区别
数据类型
数据类型目前章节先记录int, double, 在程序中这两用目前用的最多,和java没啥区别, 但是因为是学习,年纪大了怕忘记,所以还是记录下
#include <stdio.h>
int main(void)
{
int a,b;
double c;
puts("请输入两个整数");
printf("请输入a的值:");
scanf("%d",&a);
printf("请输入b的值:");
scanf("%d",&b);
printf("a+b=%d\n",-(a+b));
printf("a+b+c=%f\n",a+b+c);
printf("转换后的值为: %f",(double)a+b);
return 0;
}
代码解释:
也不好如何解释,因为和java一模一样,不一样的就是几个函数, 所以就先介绍几个函数, 感觉学习出现的频率比较高
puts: 在终端打印一行字符串,并且最后自定换行,puts只有一个参数
_CRTIMP __cdecl __MINGW_NOTHROW int puts (const char *);
printf: 打印非输出控制符
_CRTIMP __cdecl __MINGW_NOTHROW int printf (const char *, ...);
从源码来看,printf参数的(虽然我也看不太懂,但是应该没有错)...应该是一个数组类型,和java一样,所以printf可以直接写成输出一段文字,也可以通过参数匹配的方式接收,例如:
printf("输出一段文字");
printf("输出的结果为: %d",50);
printf("输出的结果为: %d, 还有一个结果是%d",50, 20);
scanf: 接收非输入控制符
1.scanf如果输入数据与想要接收的数据不匹配,从不匹配的位置开始不再向后读取
2.scanf除了%s形式外,都需要加 &
3.scanf除了%c形式外,均无法接收' '和'\n'字符
4.scanf中_%c可以接收非' '和'\n'字符
5.scanf中严禁\n
_CRTIMP __cdecl __MINGW_NOTHROW int scanf (const char *, ...);
原来来看也是可以接收一个数组输出
scanf("%d %d", &a, &b);
printf("You entered %d and %d.\n", a, b);
scanf的第一个参数必须是控制符,否则舒服不匹配直接失败
%d 按照有符号十进制接收数据
%c 按照字符接收数据
空格%c 接收一个' '和'\n'的字符
%f 按照float接收数据
%lf 按照double接收数据
%s 按照字符串接收数据
另外, 如果在代码中直接让scanf输出字符串会直接失败
scanf("test");