C语言入门之运算符和表达式

  • 基本的算术运算符   

Ø两个整数相除的结果为整数

    5/3的结果值为1,舍去小数部分

  如果除数或被除数中有一个为负值,舍入方向不固定例如,-5/3,有的系统中得到的结果为-1,在有的系统中则得到结果为-2

   VC++采取“向零取整”的方法

   5/3=1-5/3=-1,取整后向零靠拢

% 运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数。如8%3,结果为2

Ø用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式

Ø运算对象包括常量、变量、函数等

C语言规定了运算符的优先级结合性

  • 不同类型数据间的混合运算

            (1)+-*/ 运算的两个数中有一个数为floatdouble型,结果是double系统将float型数据都先转换为double

                型,然后进行运算

(2) 如果int型与floatdouble型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double

(3)字符型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算

  • 强制类型转换运算符

Ø强制类型转换运算符一般形式为

              (类型名)(表达式)

                          (double)a      (将a转换成double类型)

                         (int) (x+y)    (将x+y的值转换成int型)

                        (float)(5%3)(将5%3的值转换成float型)

Ø有两种类型转换

      系统自动进行的类型转换

      强制类型转换

  • C运算符

(7) 逗号运算符                    ,)

(8) 指针运算符                    *和&)

(9) 求字节数运算符               sizeof

(10) 强制类型转换运算符       (类型)

(11) 成员运算符            .  ->

(12) 下标运算符           ([  ])

        (13) 其他                    (如函数调用运算符())

  • C语句分为以下5

(1) 控制语句 ifswitchforwhiledowhilecontinuebreakreturngoto

(2) 函数调用语句  例如:printf(“hello”);

(3) 表达式语句  例如:i=i+1; j=3;

(4) 空语句  ;

(5) 复合语句  {}

1.赋值运算符

         “=”是赋值运算符

          作用是将一个数据赋给一个变量

         也可以将一个表达式的值赋给一个变量

2.复合的赋值运算符

        在赋值符“=”之前加上其他运算符,可以构成复合的运算符

         a+=3        等价于  a=a+3

         +=,-=,*=,/=,%=,|=, &=,^=,<<=,>>=

3.赋值表达式

 一般形式为

   变量  赋值运算符  表达式

 对赋值表达式求解的过程:

 求赋值运算符右侧的“表达式”的值

 赋给赋值运算符左侧的变量

 赋值表达式a=3*5的值为15,对表达式求解后,变量a的值和表达式的值都是15

 a=(b=5)a=b=5等价

 a=bb=a含义不同

4.赋值过程中的类型转换

  两侧类型一致,直接赋值

 两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值定义变量时要防止数据溢出

5.赋值表达式和赋值语句

 赋值表达式的末尾没有分号,而赋值语句有分号

 一个表达式可以包含赋值表达式,但决不能包含赋值语句

6.变量赋初值

int a=3,b=3,c;

int a=3;  相当于  int a;   a=3;

  • printf函数输出数据

常用格式字符

  d格式符。用来输出一个有符号的十进制整数

                可以在格式声明中指定输出数据的域宽 printf(”%5d%5d\n”,12,-345);

          %d输出int型数据

          %ld输出long型数据

         i格式符d格式符,也是输出有符号的十进制整数

        u格式符,以十进制形式输出无符号整数

c格式符。用来输出一个字符

         char ch=’a’;

         printf(”%c”,ch); 

         输出字符a

s格式符。用来输出一个字符串

          printf”%s”,”CHINA;

         输出字符串CHINA

 o格式符,以八进制整数形式输出

      printf("%o\n",10);

       输出八进制数12

xX格式符,以十六进制整数形式输出

     printf("%x\n",10);

    输出十六进制数a

f格式符。用来输出实数,以小数形式输出

     ①指定数据宽度和小数位数,用%f

3.6 %f输出实数,只能得到6位小数。

       double a=1.0;

               printf(”%f\n”,a/3);      

输出:

           

     ② 指定数据宽度和小数位数。用%m.nf

printf("%20.15f\n",1/3);

输出:

printf("%.0f\n”,10000/3.0);

输出:

      ③ 输出的数据向左对齐,用%-m.nf

f格式符。用来输出实数,以小数形式输出

       float型数据只能保证6位有效数字

      double型数据能保证15位有效数字

      计算机输出的数字不都是绝对精确有效的

eE格式符。指定以指数形式输出实数

        %eVC++给出小数位数为6位

           指数部分占5

           小数点前必须有而且只有1位非零数字

      printf(”%e”,123.456);

       输出:1.234560 e+002

gG格式符,eEf中选择长度最短的输出格式

  • scanf函数输入数据

2. scanf函数中的格式声明         

    Øprintf函数中的格式声明相似

   Ø以%开始以一个格式字符结束,中间可以插入附加的字符

   scanf("a=%f,b=%f,c=%f",&a,&b,&c);

3.使用scanf函数时应注意的问题

  • putchar函数输出一个字符

Ø从计算机向显示器输出一个字符

Øputchar函数的一般形式为

           putchar(c)

例: 先后输出BOY三个字符。

Ø解题思路:

定义3个字符变量,分别赋以初值BOY

putchar函数输出这3个字符变量的值

#include <stdio.h>
int main ( )
{
    char a='B',b='O',c='Y'; 
    putchar(a); 
    putchar(b); 
    putchar(c); 
    putchar ('\n'); 
    return 0;
 }
  • getchar函数输入一个字符

Ø向计算机输入一个字符

Øgetchar函数的一般形式为

              getchar( )

例:从键盘输入BOY三个字符,然后把它们输出到屏幕。

Ø解题思路:

        用3getchar函数先后从键盘向计算机输入BOY三个字符

        用putchar函数输出

#include <stdio.h>
int  main ( )                
{ 
   char a,b,c; 
   a=getchar(); 
   b=getchar(); 
   c=getchar(); 
   putchar(a); 
   putchar(b); 
   putchar(c); 
   putchar('\n');                
   return 0;
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨依依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值