zoukankan      html  css  js  c++  java
  • <C> 基础

    一.数制

    分为二进制 八进制 十进制 十六进制

    二.C的第一个简单程序

    1 #include<stdio.h>
    2 int main()
    3 {
    4     printf("Hello World!");
    5     return 0;
    6 }

    1.C的基本类型

    ①整型:有符号(signed):int  32位  -2147483648~2147483647

                                                 short 16位  -32768~32767

                                                 long 32位  -2174783648~2174783647

                 无符号(unsigned):int  32位  0~4294967295

                                                    short 16位  0~65535

                                                    long  32位  0~4294967295

    ②浮点型(有符号,表示小数):float  32位

                                                     double  64位

    ③字符型:有符号(signed):char  8位  -127~128

                     无符号(unsigned ):unsigned char  8位 0~255

    注:有符号的 最高位是符号位 0正 1负

    2.常用转换符说明

    %d  有符号的十进制整数

    %f   浮点型(float和double)

    %c  字符型

    %p  指针

    注:所有新定义的变量必须放在程序的最前面 声明的变量一定要放在最上面

    三.流程结构

    1.选择:

    ①二选一if else

    if后面的括号填条件表达式 例如:a>b a>=b a<b a<=b a==b a!=b

    1 if()
    2 {
    3 
    4 }
    5 else
    6 {
    7 
    8 }

    ②多选一switch:

    switch后面的括号放整型变量或变量表达式/枚举类型

     1 switch()
     2 {
     3 case 1:
     4     
     5     break;
     6 case 2;
     7 
     8     break;
     9 case 3:
    10 
    11     break;
    12 default:
    13 
    14     break;
    15 }

    没有break是无法跳出的 不走其他选项的走default

    例:'c' 下面可以写case 'c'或case 99 都可输出case内的结果

     2.循环:

    ①知道次数的循环for:

    1 for(   ;   ;   )
    2 {
    3 
    4 }

    括号中 第一个空填的是 循环变量的起始位置 第二个空是 循环条件 第三个是 循环变量的变化方式 如 i++

    ②先判断后执行的循环while:

    1 while()
    2 {
    3 
    4 }

    括号中所填的是循环条件 循环次数最少0次

    ③先执行再判断的循环do while:

    1 do
    2 {
    3 
    4 }while();

    注:括号内容同上 都是循环条件 但是这个循环的循环次数最少1次

    3.continue和break:

    continue 表示结束本次循环 执行下一次循环

    break 表示跳出循环

    4.常用符号:

    % 取余数

    / 取整数

    /n 换行

    /t 缩进

    5.逻辑与 或 非:

    && 两个条件都要满足

    || 两个条件满足其中一个就可以

    ! 取反

    注:非零返回的是0 0返回的是1 非零取两次反返回的是1 不是原来的值

    四.流程结构练习

    1.int shu = 8392 按从高到低输出每个位上面的数

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int shu = 8392;
     5     int i;
     6     for(i=1000;i>=1;i=i/10)
     7     {
     8         printf("%d
    ",shu/i);
     9         shu = shu%i;
    10         //这样每次都会改变shu的数值
    11     }
    12     return 0;
    13 }

    所以怎么样才能在输出最高位的同时 不改变shu的数值 于是 代码进行了下面的修改

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int shu = 8392;
     5     int i;
     6     for(i=1000;i>=1;i=i/10)
     7     {
     8         printf("%d
    ",shu/i%10);
     9     }
    10     return 0;
    11 }

    2.青蛙爬井 白天爬五米 黑天掉四米 井深十米 问第几天能爬出这个井

    在解决这个问题的时候 要注意的是 有可能在白天的时候 青蛙就已经爬出来了 黑天就不用再算往下掉的了 所以我们要写一个标记

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int day = 0; //记录天数
     5     int runs = 0; //记录所爬的高度
     6     int biaoji = 0; //0为白天 1位黑天
     7     do
     8     {
     9         //首先判断黑天还是白天
    10         if(biaoji == 0)
    11         {
    12             day = day + 1;
    13             runs = runs + 5;
    14             biaoji = 1;
    15         }
    16         else
    17         {
    18             runs = runs - 4;
    19             biaoji = 0;
    20         }
    21     }while(runs<10);
    22     printf("%d
    ",day);
    23 }

    精简:

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int day = 0; //记录天数
     5     int runs = 0; //记录所爬的高度
     6     int biaoji = 0; //0为白天 1位黑天
     7     while(1)
     8     {
     9         day ++;
    10         runs+=5;
    11         if(runs>=10)
    12         {
    13             break;
    14         }
    15         runs-=4;
    16     }
    17     printf("%d
    ",day);
    18 }

    3.乒乓球比赛 a不和b打 c不和x,z打 问 那这个比赛应该咋设计

     1 #include<stdio.h>
     2 int main()
     3 {
     4     char a,b,c;
     5     for(a='x';a<='z';a++)
     6     {
     7         for(b='x';b<='z';b++)
     8         {
     9             for(c='x';c<='z';c++)
    10             {
    11                 if(a!='x'&&c!='x'&&c!='z'&&a!=b&&b!=c&&a!=c)
    12                 {
    13                     printf("a=%c
    ",a);
    14                     printf("b=%c
    ",b);
    15                     printf("c=%c
    ",c);
    16                 }
    17             }
    18         }
    19     }
    20 }
  • 相关阅读:
    2012年浙大:Hello World for U
    noip2011普及组:统计单词
    noip2013提高组:积木大赛
    蓝桥杯:错误票据
    C#知识点
    疑问
    C#多态
    SQLServer导入Excel,复杂操作
    SQLServer数据库基本操作,导入Excel数据
    C#基础学习
  • 原文地址:https://www.cnblogs.com/Aaaaaalei0612/p/8681556.html
Copyright © 2011-2022 走看看