一、操作数、运算符和表达式

书写规则:

• (1)运算符不能相邻。例a+-b是错误的。
• (2)乘号不能省略。例x 乘以y 应写成:x*y,不能写成xy。
• (3)可用多层括号表示运算次序,括号必须成对出现,均
使用小括号。

二、算术运算符

(1)+ 加法运算符,或表示正值,如3+2,+1
(2)- 减法运算符,或表示负值,如3-2,-8
(3)* 乘法运算符,如4*5
(4)/ 除法运算符,如5/3
(5)% 求余运算符,如5%3
• C语言规定:
两个整数相除的结果整数,小数部分被舍去。
例如:7/3的结果值是2不是2.3333, 而7.0/3的结果是2.3333
%运算符只能用于整数相除求余,运算结果的符号与被除数相
同。
 1 #include <stdio.h>
 2 int main()
 3 {
 4     int i=1003;
 5     //求模取余 
 6     printf("%d\n",i%100);
 7     
 8     int j,cj;
 9     int a,b,c; //个十百 
10     int n;   //取余 
11     scanf("%d",&j);
12     a=j%10;
13     b=j/10%10;
14     c=j/100%10;
15     printf("%d %d %d\n",c,b,a);
16     cj=j;
17     while(cj>0)
18     {
19         n=cj%10;        //取余,得到个位数 
20         printf("%d",n);
21         cj=cj/10;       //除十之后,去除小数部分,取整,舍弃个位 
22     }
23     return 0;
24 } 

三、自增自减运算

• 自增、自减运算符的作用是将变量的值增加1或者减少1。
• 自增运算符是++ • 自减运算符是--
• 只能对变量使用,不能用于常量和表达式
• 作前缀(++i)时是先运算、后引用 • 作后缀(i++)时是先引用、后运算
 1 #include <stdio.h>
 2 int main()
 3 {
 4     int i=10;
 5 //    参与运算,先运算,再加一 
 6     printf("%d\n",i++);
 7     i=10;
 8 //    参与运算, 先加一,再运算 
 9     printf("%d\n",++i);
10     
11     i=10;
12     int j;    
13     j=i++; //i++返回i的值 
14     printf("%d %d\n",i,j); //11 10 
15     
16     i=10;
17     j=++i; //++i返回i+1的值 
18     printf("%d %d\n",i,j); //11 11 
19     return 0;
20 }

四、逻辑运算符

04dayC语言运算符和表达式

 

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int i=10,j=20;
 6     int m,n;
 7     m=(5>4) && (j=5); //真 && 真 
 8     printf("%d %d\n",m,j); // 1 ,j=5 
 9     
10     n=(3>4) && (j=5); //假 && 真 ,j=5没有运行 
11     printf("%d %d\n",n,j);  // 0 ,j=20 
12     return 0;
13 }
 1 #include <stdio.h>
 2 
 3 /*
 4 输入一个年份,判断是否是闰年
 5 闰年是四年一闰,百年不闰,四百年再闰 
 6 */
 7 
 8 int main()
 9 {
10     int year;
11     int a,b,c;
12     scanf("%d",&year);
13     a=year%4; 
14     b=year%100;
15     c=year%400;
16     if((a==0 && b!=0) || c==0)
17     {
18         printf("%d是闰年",year);
19         
20     }
21     else
22     {
23         printf("%d是平年",year);
24     }
25     return 0;
26 }

五、数据的输入输出

04dayC语言运算符和表达式

1、%d格式符

 04dayC语言运算符和表达式

 2、s格式符

04dayC语言运算符和表达式

1 #include <stdio.h>
2 
3 int main()
4 {
5     printf("%3s,%-6s,%-5.2s,%4.3s,%.4",
6              "hello","hello","hello","hello","hello");
7     return 0;    
8 }

04dayC语言运算符和表达式

3、f格式符

04dayC语言运算符和表达式

1 #include <stdio.h>
2 
3 main()
4 {
5     float f=3.456; 
6     printf("%f, %7.2f, %-7.2f, %7f, %.2f", 
7                 f, f, f, f, f);
8     return 0;
9 }

 

 04dayC语言运算符和表达式

六、字符输入getchar和字符串输入gets,字符输出putchar和字符串输出puts

 scanf函数遇到第一个空格就不在读入了,c语言专门提供了一个字符串函数gets,他可以读入包括空格的字符串,至遇到回车符为止。

使用"%[^\n]" 也是可以接收输入一个带空格的字符串,直到回车结束接收

char buf[10] = {0};

scanf("%[^\n]",buf); //可以读取空格,回车结束输入

%[abc]表示字符组合包括a、b和c,如果遇到这三个字符之外的字符,则停止接收。%[^abc]代表字符组合为abc以外的所有字符

 1 #include <stdio.h>
 2 
 3 main()
 4 {
 5 //    char i;
 6 //    i=getchar(); //字符输入
 7 //    putchar(i);     //字符输出    
 8     char str[10];
 9     gets(str);   //字符串输入
10     puts(str);   //字符串输出
11     return 0;
12 }

 

七、课后作业

 1 #include <stdio.h>
 2 /*
 3 输入 3 个整数 x、y 以及 z,请把这三个数从小到大输出。
 4 */
 5 int main()
 6 {
 7     int x,y,z;
 8     int i,j,n;
 9     scanf("%d %d %d",&x,&y,&z);
10     if(x>y) 
11     {
12         i=x; 
13         x=y;
14         y=i;
15     }
16     if(x>z)
17     {
18         j=x;
19         x=z;
20         z=j;
21     }
22     if(y>z)
23     {
24         n=y;
25         y=z;
26         z=n;    
27     }
28     printf("%d<%d<%d",x,y,z);
29     return 0;
30 }

 

 1 #include <stdio.h>
 2 /*
 3 为某商城编写一个程序,完成顾客购物后根据优惠政策计算付款项的功能。 
 4  某商城有如下优惠政策: 
 5         所有的本商城的会员购物享受 9 折优惠。 
 6         对于非会员的顾客购物满 100 元,也可以享受 9 折优惠。 
 7         本身是会员,并且购物满 100 元可以享受 8 折优惠。 
 8         假如某顾客从该商城购买了三件商品,请计算该顾客可得到的折扣额(如果有),
 9         以及打折 后需支付的金额。
10 */ 
11 int main()
12 {
13     float x,y,z;
14     float sum; //购物总额
15     float zf;  //支付的金额
16     char i;   //顾客
17     
18     printf("三件商品的价格:\n");
19     scanf("%f %f %f",&x,&y,&z);
20     getchar();
21     printf("您是否是本商城的会员,请输入‘Y ’或者‘N ’\n");
22     i=getchar();
23     
24     sum=x+y+z;
25     //非会员的顾客没有折扣 
26     if(i=='N')
27     {
28         printf("您此次消费支付的金额为:%.1f元",sum);
29     }
30     
31     //会员购物享受 9 折优惠,非会员的顾客购物满 100 元,也可以享受 9 折优惠。 
32     if((i=='Y' && sum<100) || (i=='N' && sum>=100))
33     {
34         zf=sum*0.9;
35         printf("您此次消费支付的金额为:%.1f元",zf);
36     }
37     
38     //是会员,并且购物满 100 元可以享受 8 折优惠。
39     if(i=='Y' && sum>=100)
40     {
41         zf=sum*0.8;
42         printf("您此次消费支付的金额为:%.1f元",zf);
43     }
44     return 0;
45 }
 1 #include <stdio.h>
 2 /*
 3  编写一个程序,要求用户输入今天是星期几,根据用户的输入判断是工作日还示合适的问候语。 
 4  实现思路: 
 5   如果输入的数字不在 1-7 之间,则显示“请输入位于 1-7 之间的数”。
 6   如果用户输入的数字为 6 或 7,则显示类似“周末愉快!”的话语,
 7   大家可自对于 1-5 之间的数字,则显示类似“工作日愉快!”,大家还可以自行脑补!
 8 */
 9 main()
10 {
11     int i;
12     printf("考考你,今天是星期几啊\n");
13     printf("小笨蛋今天是星期");
14     scanf("%d",&i); 
15     if(1<=i && i<=5)  
16     {
17         printf("工作日愉快!");
18     }
19     else if(6<=i && i<=7)  
20     {
21         printf("周末愉快!");
22     }
23     else 
24     {
25         printf("请输入位于 1-7 之间的数");
26     }
27     return 0;
28 }

 

相关文章:

  • 2021-12-11
  • 2021-04-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
  • 2022-01-10
  • 2021-07-09
猜你喜欢
  • 2021-12-05
  • 2021-12-05
  • 2021-11-18
  • 2021-08-29
  • 2021-12-05
  • 2022-02-03
相关资源
相似解决方案