运算和数据类型002

运算符:
总的原则,运算符和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");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容