Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58237
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 199
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-07 22:11
文章分类

全部博文(13)

文章存档

2014年(13)

我的朋友

分类: C/C++

2014-04-21 20:33:36

1.关系运算(比较运算)符都是双目运算符,其结合性均为左结合,关系运算符的优先级低于算术运算符,高于赋值运算符。
            <  <=   >   >=            ==    !=
             |_____________|               |_____|
                    同级                        同级
           高--------------------------------->低
2.关系运算结果为1或0,5>=3>=2,5>=3结果为真,返回1,1>=2结果为假返回0
3.三目运算符,条件表达式格式:e?e1:e2  e,e1,e2为表达式,法则:首先求解e的值,若e值非0(条件成立),
则取e1的值作为条件表达式的值,若e值为0(条件不成立),则取e2的值作为条件表达式的值。
            例:1.输入一个字符,进行大小写转换输出

点击(此处)折叠或打开

  1. # include<stdio.h>
  2.                 void main()
  3.                 {
  4.                      char ch;
  5.                      ch=getchar();
  6.                      ch=('a'<=ch&&ch<='z')?(ch-'a'+'A'):('A'<=ch&&ch<='Z')?(ch-'A'+'a'):ch;
  7.                      putchar(ch);
  8.                      putchar('\n');
  9.                  }
                     2.输入一个字符串,进行大小写转换输出

点击(此处)折叠或打开

  1. # include<stdio.h>
  2.                     void main()
  3.                     {
  4.                          char ch[100];
  5.                          int a;
  6.                          scanf("%s",&ch);
  7.                          a=sizeof(&ch);
  8.                          for(int i=0;i<a;i++)
  9.                          {
  10.  
  11.                                       ch[i]=('a'<=ch[i]&&ch[i]<='z')?(ch[i]-'a'+'A'):('A'<=ch[i]&&ch[i]<='Z')?(ch[i]-'A'+'a'):ch[i];
  12.  
  13.                          }
  14.                          printf("%s",&ch);
  15.                          putchar('\n');
  4.附:笔试题,反序输出字符串,不能用标准库函数

点击(此处)折叠或打开

  1. # include<stdio.h>
  2.     void main()
  3.     {
  4.          char a[15]="i am a student";
  5.          int i;
  6.          for (i=7;i<14;i++)
  7.               printf("%c",a[i]);
  8.               for (i=4;i<7;i++)
  9.                    printf("%c",a[i]);
  10.                    for (i=1;i<5;i++)
  11.                         printf("%c",a[i]);
  12.          printf("%c\n",a[0]);
  13. }
不是嵌套循环,嵌套循环执行原理是在第一层循环的每一次,第二层循环都要整体循环一次,而且需要中括号;这个程序只是执行完一层循环后执行后面的语句或循环。
5.逻辑运算符和逻辑表达式
    优先级:!>&&>||
    如果一个表达式包含逻辑运算符,且逻辑运算符石所有运算符中优先级最低的,则称该表达式为逻辑表达式。
6.if语句
    
if
      if-else
      if-else if-else
      if语句嵌套
        例:输出最大数

点击(此处)折叠或打开

  1. # include<stdio.h>
  2.         void main()
  3.         {
  4.          int a,b,max;
  5.          printf("please input two number: \n");
  6.          scanf("%d %d",&a,&b);
  7.          max=a;
  8.          if (a<b)
  9.               max=b;
  10.          printf("max:%d\n",max);
  11.         }

             比较三个数大小:

点击(此处)折叠或打开

  1. # include<stdio.h>
  2. void main()
  3. {
  4.  int a,b,c,max;
  5.  printf("please input three number: \n");
  6.  scanf("%d %d %d",&a,&b,&c);
  7.  max=a;
  8.  if (a<=b)
  9.   max=b;
  10.   if (b<=c)
  11.    max=c;
  12.  printf("max:%d\n",max);
  13. }
7.switch语句:处理多路分支
    switch一般格式:
    switch(<表达式>)
    {case 常亮表达式 1:语句序列1;
     break;
        .
        .
        .
        .
      default:语句n+1;
    }

  1. 其中常量表达式的值必须是整型,字符型,枚举型,各语句序列允许多条语句,按复合语句处理,但不需要{}界定,与if的区别。
  2. 对于满足条件之后执行的语句,执行完后必须用break跳出
  3. 特殊情况下,多个case可共用一组执行语句。    
    例:输入年月,输出月有多少天

点击(此处)折叠或打开

  1. # include<stdio.h>
  2. void main()
  3. {
  4.      int y,m,d;
  5.      printf("please input year month: \n");
  6.      scanf("%d %d",&y,&m);
  7.      switch(m)
  8.      {
  9.           case 1:
  10.           case 3:
  11.           case 5:
  12.           case 7:
  13.           case 8:
  14.           case 10:
  15.           case 12:d=31;
  16.           break;
  17.           case 4:
  18.           case 6:
  19.           case 9:
  20.           case 11:d=30;
  21.           break;
  22.           case 2:
  23.            if(y%400==0||(y%4==0&&y%100!=0))
  24.             d=29;
  25.            else
  26.             d=28;
  27.            break;
  28.           default:d=-1;
  29.          }
  30.          if(d==-1)
  31.           printf("shu ru you wu\n");
  32.          else
  33.           printf("%d\n",d);
  34. }


                  

阅读(1325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~