您的位置:首页 > 编程语言 > C语言/C++

黑马程序员 -- IOS C语言 基础运算01

2015-02-09 23:31 288 查看
-------------------------------------- android培训、java培训、ios培训期待与您交流!
--------------------------------

c语言共有34种运算符,包括常见的
+ - *  / 

1.加法运算 + :不仅是加法 还可以当做正号    +11 +10
2.减法运算 -  :[b]不仅是减法 还可以当做负号    -11 -10[/b]
3.乘法运算 *  :符号不是x  而是*
4.除法运算 /  :整数除以整数还是整数。 1 / 2值是0,并不是二分之一。
参与运算的是什么得出的就是什么类型。

取余运算(模运算)[b]两边都必须是整数[/b]
int a = 10 % 3 = 1
int a = -10 % 3 = -1
int a = 10 % -3 = 1取余结果的正负性取决于%左边的正负数

int a = -10
% -3 =  -1 

#include <stdio.h>
int main()
{
int a = 10 +1 +2 +3+ 4;
int b = -10;
int c = 10 * b;
int d = 10 / 2;
int e = 10 % -3;
int f = 10 % 3;
int g = -10 % -3;
int h =  -10 % 3;

printf("a=%d\nb=%d\nc=%d\nd=%d\ne=%d\nf=%d\ng=%d\nh=%h",a,b,c,d,e,f,g,h);
return 0;
}
 得出的结果为,  a = 20;b =-10 ;c =-100 ;d
=5 ;
    e = 1;f
= 1;g = -1;h = -1;

1.自动整数转换小数
int a = 10.8 = 10  得出的结果为自动类型转换:由于此时应该得出的结果是小数,而类型是整形。所以打印会有警告
     如不想让出现警告,可以输入  int a = (int)10.8;
int b = 10 / 3 =  正常的结果是3.3333···· 但b是整形变量 后面还都是整数,所以得出的结果还是3

2.自动类型提升
double c = 10.6 + 6 = 16.6  
把加号左边的数字提升为右边,int升级到了double   4个字节变成了8个字节。

      前提是小数在加好左边

3.强制类型转换
double e = 3 / 2; :得出的结果会是1 ,不精确想让精确话,可以强制转换。
                             double e = 3  / (double)2;   得出的结果就是1.5   double用在3 或者2都可以

习题:
1.当?是什么运算符时,无论a的值怎么改变,c都不超过10。int  = a ? 10

#include <stdio.h>
int main()
{
int a = 676;
int c =a %10;
printf("%d\n",c);
return 0;
}
用%取余算法,a无论是多少,c都不会超过10

2.提示用户输入一个时间的秒数,然后输入对应的秒数


#include<stdio.h>
int main()
{

   //1.提示用户输入的时间(秒)
    printf("请输入时间(秒):\n");
   //2.接收用户输入的时间
   int time;
    scanf("%d",&time);
   //3.转换成对应的分钟和秒
   int minute = time /60;//分钟
   int second = time %60;//秒
    printf("%d秒 = %d分钟%d秒\n",time,minute,second);
    
    
   return0;
}
如果用户输入的时500,那么得出的结果是8分钟20秒


3.输入两个数并打印出和,差,积,商,取余。

#include<stdio.h>
int main()
{
   int a =1, b =4;
   int he = a + b;
   int cha = a - b;
   int ji = a * b;
  double shang = a /(double)
b;//由于除法算出来是小数 所以用了double 而=后面是两个整数,所以为了得出是精确的小数 用了强制性转换
   int quyu = a % b;
    printf("和是%d\n差是%d\n积是%d\n商是%.2f\n取余是%d\n",he,cha,ji,shang,quyu);
    
   return0;
}




结果为和是5,,差是-3,积是4,商是0.25,取余是1



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: