T-SQL男篮世界杯赌球: 15 个与日期时间相关的精典

C语言--汇总,--汇总

   1 一、四个月的课程体系
   2     1、语言基础
   3         1、c语言10day
   4         2、oc语言(真正开发语言)6day
   5         3、foudation(库)
   6     2、iOS 核心编程
   7         1、视图层(如何做QQ的样子,手势、动画)
   8     3、iOS 高级编程
   9         1、系统服务
  10         2、网络编程
  11     4、游戏开发
  12         1、学习C   (主要用来开发游戏)可以跨平台
  13         2、cocos2d-x
  14         3、swift语言以及iOS8开发
  15  二、什么是ios开发
  16       1.移动便携式开发:android 和 iOS
  17        2.iOS开发(iOS程序员、iOS软件工程师)
  18        3.android 和 iOS区别
  19                 a.     iOS基于unix,安全稳定。android基于linux的虚拟机,安全性低
  20                  b.    iOS强大的sdk、开发工具,不开源,apple公司,App             Store(08年上线),高端用户使用
  21      android开源,google公司,googleplay应用商店,各种用户人群,
  22 三、ios开发环境
  23  1.mac操作系统
  24      1)操作系统os:管理硬件资源和软件资源
  25      2)macos:apple公司,自我封闭
  26      3)iOS:设备:iPhone(2007年1月9日),iPod,touch,iPad,      apple tv
  27 2. 布局:菜单栏、桌面、dock(快捷键)
  28 3.格式化u盘:磁盘工具——ms-dos(fat)
  29 4.软件安装
  30       1、*.dmg(setup.exe虚拟光驱)
  31       2、*.app(绿色软件)直接安装
  32       3、直接从app store
  33  5.pwd、cd、is命令
  34   1、操作计算机的两种方式
  35             a.图形化操作方式(操作直观)
  36             b.命令行的操作方式(操作便捷,节约资源)
  37   2、操作命令(终端快捷操作)
  38      a.ls命令(查看当前文件夹下的文件或者子目录)
  39      b.pwd(查看当前操作目录)
  40      c.cd 空格 子目录名称(切换子目录)
  41      d.cd 空格 ..(退回上一级目录)
  42      e.clear清除屏幕信息
  43      f.mkdir 空格 文件夹(创建一个目录)
  44      g.rm 空格-f空格  删除
  45 3.相对路径和绝对路径(路径两种表达方式)
  46   1./代表硬盘根目录(/uses/tarena/doc)
  47   2.相对路径:相当于当前操作状态下的文件(或目录)的位置
  48   3.绝对路径:根据硬盘根目录开始,文件(或目录)的位置
  49 4.文件夹的创建与查看
  50 
  51 12.31
  52 c语言(1973年贝尔实验室)
  53     1.四大部分:中央处理器(控制器、运算器)、存储器、输入设          备、输出设备    (1946年,冯诺依曼)
  54     2.计算机语言分类
  55    机器语言、汇编语言、高级语言
  56     3.编程:自己有个想法,通过计算机语言使计算机理解,并帮我  们实现。
  57 一、c语言执行步骤:
  58    一.编辑程序
  59          1.编写c语言的代码,保存在扩展名.c的文件中,源文件。
  60          2.编写代码有三种方式:
  61                   a.vi命令方式系统自带
  62                   b.ultraedit网络下载
  63                   c.xcode网络下载
  64   二.编译(gcc  文件名.c)
  65       将c语言转换成计算机识别的代码
  66   三.运行(./a.out)
  67        经过编辑、连接之后,源程序文件就可以生成可执行文件
  68 * vi的使用-补充(c语言快捷键):shift “:”进入编辑功能
  69    wq退出
  70    “i”insert进入编辑模式
  71 四.xcode简单的使用
  72 1.创建项目
  73 2.创建一个osx—command line Tool
  74 3.main.c进行编程
  75 4. 菜单栏product编译-run执行
  76 5.改字体(苹果-第二个prefer..偏好设置-第五个改字体)
  77 五.#include指令
  78    1.在编译之前做的事情
  79    2.相当于复制操作
  80    3.加载系统提供的标准函数库
  81 *“”是加载系统自定义功能
  82  《》是加载系统功能
  83 六.变量
  84     1.数据类型:字符型char、整数型int、浮点型float/double、指  针、结构、联合等类型。
  85     2.语法格式:变量类型  变量名=初始化值
  86     3.保存运算中临时的值,number1=10赋值,可以多次赋值,但只会保留最后一次的值(右—左)
  87     4.变量命名:a.必须以字母或下划线开头
  88                        b.包含字母、下划线或数字(不要出现空格)
  89                        c.不能与关键字冲突
  90                        d.大小写敏感的
  91                        e.长度一般不会限制,但会被编辑器截断
  92 
  93 *变量放在等号左边就是存值操作,变量放在等式右边就是取值操作 i=10(存),j=i(取).把右面的赋值给左边的,从右向左
  94 
  95 1.4
  96 数据类型和变量赋值
  97 1.整数类型
  98 (char、int)小数类型(float、double)
  99          a.有符号类型(整数、负数、0)范围   ( -128~127)
 100                *所占存储空间的第一位为符号位。
 101                *二进制符号位,最左边0 ,1代表负数
 102          b.无符号整型(整数、0)(0~255)256
 103          c.有符号的整型(int,4个字节 )(-2^31~2^31-1)
 104      *Byte、KB、MB、GB、TB、PB(1024)
 105      如:1KB=1024B
 106     超出最大值从最小值开始运算
 107     超出最小值从最大值开始运算
 108   d.有符号的短整型(short int,2字节)
 109   e.有符号的长整型(long int,8字节)
 110   f.有符号的长长整型(long long int)
 111   g.无符号的整型(unsigned int,4字节)
 112   h.无符号短整型(unsigned  short int,2字节)
 113   i.无符号长整型(unsigned  long int,8字节)
 114   j.无符号长长整型(unsigned  long long  int,8字节)
 115 2.进制
 116    a.十进制%d(0-9)逢十进一
 117    b.八进制%o(0-7)逢八进一
 118    c.十六进制%x(0-9ABCDEF)逢十六进一
 119    d.二进制(0、1)逢二进一
 120            int i=11 //十进制
 121            int i=011 //八进制
 122            int i=0x11 //十六进制
 123 *c语言不能使用二进制
 124      1.十进制转换二进制(除二取余,将余数从下向上读出)
 125 举例:
 126 32/2=17……0
 127 17/2=8……1
 128 8/2=4……0
 129 4/2=2……0
 130 2/2=1……0
 131 1/2=0……1
 132 将余数从下向上读出:100010
 133 
 134      2.二进制数转化成十进制数(按权相加)
 135   0       1     0    1    1    1  0   1位(从右向左)93
 136 128   64   32  16   8    4  2   1权
 137 举例:
 138 1001110
 139 0*2^0=0
 140 1*2^1=2
 141 1*2^2=4
 142 1*2^3=8
 143 0*2^4=0
 144 0*2^5=0
 145 1*2^6=64
 146 得出的值相加=0 2 4 8 0 0 64=78
 147      3.十进制数转换成八进制数、十六进制数
 148    方法:辗转相除,从下向上取余
 149 34/8=16……6
 150 16/8=2……0
 151 2/8=0……2
 152 从下向上对应的八进制数:206
 153      4.八进制数、十六进制数转换成十进制数
 154    方法:按权相加法
 155 6*8^0=6
 156 0*8^1=0
 157 2*8^2=128
 158 按权相加:=134
 159      5.二进制数转换成八进制数
 160    方法:从最后一位开始,每三位二进制数,相当于一个八进制数。前面不足3为补0
 161 举例:100  010=42
 162 6.二进制转换成十六进制数
 163    方法:每四位,不足补0
 164 举例:0010  0010->22
 165 3.字符(%c)
 166  1.通过数值直接赋值  2.通过字符直接赋值
 167 *.2f保留两位有效数字
 168 4.变量:临时保存数据,数据的容器
 169    常量:不可改变的值(具体的数值)
 170    字面值:不可改变的值,就是数值(字符、数值)
 171   *变量=字面值(常量)数据
 172 
 173 练习题:
 174 C语言中整数-8在内存中存储形式是:     原码->反码->补码(只有负数存的是补码)(2个字节=16位)
 175 A)1111,1111,1111,1000             B)1000,0000,0000,1000
 176 C)0000,0000,0000,1000             D)1111,1111,1111,0111
 177 
 178 一、知识点
 179    一.scanf(“%d”,&i);&取地址
 180 
 181 例题:
 182 1.输入两个数,并输出两个数
 183 #include <stdio.h>
 184 
 185 int main(int argc, const char * argv[])
 186 {
 187     int i=0,j=0;
 188   
 189     printf("pelease input a number:");
 190     scanf("%d",&i);
 191     printf("pelease input nest number:");
 192     scanf("%d",&j);
 193     printf("i=%dnj=%d",i,j);
 194     return 0;
 195 
 196 }
 197 
 198 2.输入两个数,求其面积、周长、和
 199 int main(int argc, const char * argv[])
 200 {
 201     int i=0,j=0,sum=0,mj=0,zc=0;
 202     printf("pelease input a number:");
 203     scanf("%d",&i);
 204     printf("pelease input nest number:");
 205     scanf("%d",&j);
 206     mj=i*j;
 207     zc=(i j)*2;
 208     sum=i j;
 209     printf("面积=%dn周长=%dn和=%dn",mj,zc,sum);
 210     return 0;
 211 }
 212 
 213 3.输入两个数求和、差、积、商
 214 int i = 0 , j = 0;
 215     //输入函数 要依赖于变量 要临时保存在键盘上输入的数据
 216     //程序会发生阻塞状态
 217     //友好性差 配合输出语句结合使用
 218     printf("please input first Number:n");
 219     scanf("%d",&i);//&得到变量在内存中的地址,将键盘上输入的数据保存在变量中
 220     printf("please input second Number:n");
 221     scanf("%d",&j);
 222     //输出函数
 223     printf("i:%dn",i);
 224     printf("j:%dn",j);
 225     
 226     int sum = 0;//求和
 227     int sub = 0;//求差
 228     int mul = 0;//求积
 229     int div = 0;//求商
 230     sum = i j;
 231     sub = i-j;
 232     mul = i*j;
 233     div = i/j;//整数相除取整数部分
 234     printf("sum:%dn",sum);
 235     printf("sub:%dn",sub);
 236     printf("mul:%dn",mul);
 237     printf("div:%dn",div);
 238     return 0;
 239 结果:
 240 please input first Number:
 241 45
 242 please input second Number:
 243 2
 244 i:45
 245 j:2
 246 sum:47
 247 sub:43
 248 mul:90
 249 div:22
 250 
 251 
 252 4.数据类型省略写法
 253 int main(int argc, const char * argv[])
 254 {
 255     signed int i=0;//有符号整型 可以省略signed
 256     unsigned int i2=0;//无符号整型
 257     short i3=0;//有符号短整型 可以省略 int 关键字
 258     unsigned short i4=0;//
 259     long i5=0;//有符号长整型 可以省略int
 260     unsigned long i6=0;
 261     long long i7=0;//长长整型 可以省略signed 和int 关键字
 262     unsigned long long i8=0;//
 263     
 264     return 0;
 265 }
 266 知识点 
 267 二、进制转换
 268 
 269 5.输入一个数,分别以十进制、八进制、十六进制输出变量
 270 int main(int argc, const char * argv[])
 271 {
 272     int i,j,k;
 273     printf("输入:");
 274     scanf("%d%d%d",&i,&j,&k);
 275     printf("i=%d j=%o k=%xn",i,j,k);//分别以十进制%d、八进制%o、十六进制%x输出变量
 276     return 0;
 277 }
 278 6.十进制、八进制、十六进制之间的转换
 279 int i=11,j=011,k=0x11;
 280     printf("i=%d j=%o k=%xn",i,i,i);//分别以十进制、八进制、十六进制输出变量
 281     printf("i=%d j=%o k=%xn",j,j,j);
 282     printf("i=%d j=%o k=%xn",k,k,k);
 283     return 0;
 284  结果:i=11 j=13 k=b
 285       i=9 j=11 k=9
 286       i=17 j=21 k=11
 287 
 288 7.制表符(t)  空3个字符,一个汉字
 289 printf("1234567890123456n");
 290     printf("helloword!n");
 291     printf("hellotword!n");
 292     
 293     return 0;
 294 结果
 295 1234567890123456
 296 helloword!
 297 hello   word!
 298 
 299 8.整型数据溢出
 300 //数据溢出
 301     int i = 2147483647;//999   1
 302     int j = i   1;//超出最大值从最小值开始运算
 303     int k = -2147483648;
 304     int l = k - 1;//超出最小值从最大值开始运算
 305     printf("j:%dn",j);
 306     printf("l:%dn",l);
 307     return 0;
 308 结果:
 309 j:-2147483648
 310 l:2147483647
 311 
 312 9.浮点型(float:%f  double: %lf)
 313     float f = 3.1415926;//100
 314     double d = 3.1415926;//200
 315     float f2 = d;//100 = 200
 316     //%.2f保留两位有效数字
 317     printf("float:%.2fn",f);
 318     printf("double:%lfn",d);
 319     return 0;
 320 结果:
 321 float:3.14
 322 double:3.141593
 323 
 324 知识点
 325 三、sizeof:计算存储空间的大小,单位:字节
 326 sizeof()对应的数据类型是 long unsigned int ->%ld
 327 
 328 10.sizeof所占空间大小
 329 int i = 10;
 330     long l = 20l;
 331     long long ll = 30ll;
 332     char c = 10;
 333     
 334     float f = 10.1f;
 335     double d = 10.1;
 336     long double ld = 10.1l;
 337     //求出某种类型或变量或字面值(常量)或表达式所占内存空间大小
 338     //一定注意 变量的空间一定要大于字面值的空间,否则“可能”出现数据问题。
 339     unsigned long int length = sizeof(d=20.1); //sizeof()不负责计算表达式的值
 340     printf("d:%lfn",d);
 341     printf("length:%lun",length);
 342 结果:
 343 d:10.100000
 344 length:8
 345 知识点
 346 四、运算符
 347 
 348 11.优先级与结合性
 349       int i = 3 4*5;
 350     printf("i:%dn",i);
 351     int i2 = 3/2;//整数相除 结果还是整数
 352     double d = 3.0/2;//如果相除时,有小数,则结果为小数
 353     printf("i2:%dn",i2);
 354     printf("d:%lfn",d);
 355     
 356     //取余运算符%
 357     int i3 = -5%2;
 358     printf("i3:%dn",i3);
 359     
 360     //向0取整
 361     int i4 = -5/2;
 362     printf("i4:%dn",i4);
 363     
 364     //符号问题
 365     int i5 = -5/-2;//与数学中的符号相同
 366     printf("i5:%dn",i5);
 367     int i6 = 5%-2;//与前面的数字的符号相同
 368     printf("i6:%dn",i6);
 369 结果:
 370 i:23
 371 i2:1
 372 d:1.500000
 373 i3:-1
 374 i4:-2
 375 i5:2
 376 i6:1
 377 
 378 12.例题:输入一个秒数 求时分秒
 379     int inputSecond = 0;
 380     printf("请输入一个秒数:n");
 381     scanf("%d",&inputSecond);
 382     
 383     int hour=0,minute=0,second=0;
 384   
 385    //hour = inputSecond/3600;
 386    //minute = (inputSecond-hour*3600)/60;
 387    //second = inputSecond -hour*3600 - minute*60;
 388   
 389     hour = inputSecond/3600;
 390     minute = inputSecond600/60;
 391     second = inputSecond`;
 392     
 393     printf("input的秒数=%d时%d分%d秒n",hour,minute,second);
 394 
 395 结果:
 396 请输入一个秒数:
 397 3666
 398 input的秒数=1时1分6秒
 399 
 400 13.自增自减运算符
 401     int i = 10;
 402     //i  ;//自增1 i = i   1;
 403     i--;//自减1 i = i - 1;
 404     printf("i:%dn",i);
 405     
 406     int j = 10;
 407     //int k =   j;//前缀表达式 先自增 再运算(赋值)
 408     int k = j  ;//后缀表达式 先运算 后自增
 409     printf("k:%dn",k);
 410     
 411     i = 10;
 412     k=  i (  i) i  ;
 413     printf("k:%dn",k);
 414     return 0;
 415 结果:
 416 i:9
 417 k:10
 418 k:35
 419 14.关系运算符
 420     int i = 10;
 421     int j = 20;
 422     //>、<、>=、<=、==、!= 关系
 423     printf("i>j:%dn",i>j);//0 不成立
 424     printf("i<j:%dn",i<j);//1 成立
 425     printf("i==j:%dn",i==j);//0
 426     printf("10>20:%dn",10>20);
 427     printf("10.1>20.1:%dn",10.1>20.1);
 428     printf("10.1>20:%dn",10.1>20);
 429     printf("'A'>'B':%dn",'A'>'B');//ASC码
 430     printf("'A'<'B':%dn",'A'<'B');
 431 结果:
 432 i>j:0
 433 i<j:1
 434 i==j:0
 435 10>20:0
 436 10.1>20.1:0
 437 10.1>20:0
 438 'A'>'B':0
 439 'A'<'B':1
 440 15.练习题:
 441 用户从控制台输入一个年龄,由程序判断该年龄是否大于18岁,结果输出1为真,0为否
 442    int age = 0;
 443     printf("请输入一个年龄:n");
 444     scanf("%d",&age);
 445     printf("age>18:%dn",age>18);
 446 结果:
 447 请输入一个年龄:
 448 45
 449 age>18:1
 450 16. 布尔类型(bool)
 451 C99 版本新添加的数据类型 逻辑值类型bool类型
 452     #include <stdbool.h> 头文件
 453     bool flag = false;//true 1 false 0
 454     printf("flag:%dn",flag);
 455 结果:0
 456 知识点
 457 五、if语句条件分支语句    if …else    if…else if
 458 
 459 //条件 关系表达式
 460 //逻辑值 真 (1 true 或 非0) 假(0 false)
 461 1.if 语句书写有三种形式
 462     //普通语句(大括号可以省略)只会执行一条语句
 463     if(true) printf("congratulation!");
 464 区别
 465   1. //普通语句(大括号可以省略)没有括号,只会执行一条语句
 466     if(true)
 467         printf("congratulation!");
 468     
 469         printf("congratulation!");
 470 
 471 
 472   2.//复合语句  要么多执行 要么都不执行 把多条语句变成一个整体
 473     if(true){
 474         printf("congratulation!");
 475     
 476         printf("congratulation!");
 477     }
 478 
 479   3.//空语句
 480     if(age>18);
 481 
 482 2.if …else
 483 int age = 18;
 484     
 485     if (age>=18) {
 486         printf("你已经成年了!n");
 487     }else{
 488         printf("你还未成年!n");
 489     }
 490 结果:你已经成年了!
 491 
 492 3. if…else if…else
 493  if(表达式1)语句1;
 494 else if(表达式2) 语句2;
 495 else if(表达式3) 语句3;
 496         ……
 497 else 语句5;
 498 执行方式从头开始判断真假
 499 
 500 17.练习 输入小写字母 得到相应的大写字母
 501 char ch;
 502     printf("shuru");
 503     scanf("%c",&ch);
 504     if(ch>=97){
 505         ch=ch-32;得到大写字母
 506         printf("=%c",ch);
 507     
 508     }else{
 509         ch=ch 32;得到小写字母
 510         printf("=%c",ch);
 511     }
 512     return 0;
 513 18.输入一个分数,判断这个分数是否及格?
 514    int score = 0;
 515     printf("请输入一个分数:n");
 516     scanf("%d",&score);
 517   
 518      if (score>=90) {
 519      printf("您的分数是优秀n");
 520      }
 521      else if(score>=60){
 522      printf("您的分数是及格n");
 523      }
 524      else{
 525      printf("您的分数是不及格n");
 526      }
 527 结果:
 528 请输入一个分数:
 529 95
 530 您的分数是优秀
 531 19.输入一个分数,得到相应的级别
 532     int score=0;
 533     printf("input:");
 534     scanf("%d",&score);
 535     if(score>100) printf("GO OUT !!!");
 536     else if(score>=90) printf("A");
 537     else if(score>=80) printf("B");
 538     else if(score>=60) printf("C");
 539     else printf("D");
 540     return 0;
 541 20.else if和if 比较
 542 else if 相当于过一个十字路口:一次判断,多种选择
 543 但是if 相当于过多个十字路口:多次判断
 544 1.一次判断 多种选择 只会选择其一执行(满足条件)
 545     int score = 0;
 546     printf("请输入一个分数:n");
 547     scanf("%d",&score);   
 548     if (score>=60) {
 549      printf("60n");
 550      }else if (score>=70){
 551      printf("70n");
 552      }else{
 553      printf("elsen");
 554      }
 555 结果:
 556 请输入一个分数:
 557 90
 558 60
 559 2.多次判断 多次执行(满足条件)
 560    int score = 0;
 561     printf("请输入一个分数:n");
 562     scanf("%d",&score);
 563      if (score>=60) {
 564      printf("if 60n");
 565      }
 566      if (score>=70) {
 567      printf("if 70n");
 568      }
 569 结果:
 570 请输入一个分数:
 571 80
 572 if 60
 573 if 70
 574 3.if在大括号里如果满足条件依次执行
 575     int score = 0;
 576     printf("请输入一个分数:n");
 577     scanf("%d",&score);
 578      if (score>=60) {
 579       printf("if 60n");
 580          printf("if 70n");}
 581 
 582 结果:
 583 请输入一个分数:
 584 80
 585 if 60
 586 if 70
 587 21.逻辑运算符(&&、||)
 588     int i=0,j=10;//逻辑与短路(短路与)
 589     if((1!=1)&&(i=10))//若第一个表达式的值为假,后面的表达式不再计算
 590     printf("i=%d",i);
 591     //短路或  若第一个表达式值为真,后面的表达式不再计算
 592     if((1==1)||(j=20))
 593     {
 594         printf("j=%d",j);
 595     }
 596     return 0;
 597 结果:
 598 i:0
 599 j:1
 600 22.取地址&与寻址运算符*
 601     int i = 30;
 602     
 603     int* p = &i;//得到变量在内存中位置
 604     printf("p:%pn",p);
 605     
 606     //通过寻址运算符 根据地址直接操作内存
 607     //取
 608     printf("内存中的数据:%dn",*p);
 609     //存
 610     *p = 40;
 611     printf("i:%dn",i);
 612     
 613     
 614 结果:
 615 p:0x7fff5fbff70c
 616 内存中的数据:30
 617 i:40
 618 
 619 作业
 620 
 621 1.输入一个年份,求该年一共有多少天。
 622     int year;
 623     printf("请输入年份:n");
 624     scanf("%d",&year);
 625     if(year@0==0||((year%4==0)&&(year0!=0)))
 626         {printf("366天n");}
 627     else{printf("365天n");}
 628 结果:
 629 请输入年份:
 630 2005
 631 365天
 632 老师的程序: int days=365 (year@0==0||((year%4==0)&&(year0!=0)))
 633 
 634 2.输入一个年份,输入一个月份,求该月有多少天?
 635    //1.输入年份
 636     int year = 0;
 637     printf("请输入年份:n");
 638     scanf("%d",&year);
 639     //2.输入月份
 640     int month = 0;
 641     printf("请输入月份:n");
 642     scanf("%d",&month);
 643     //3.判断不同的月份 天数是不一样的
 644     //1 3 5 7 8 10 12 31天
 645     //4 6 9 11 30天
 646     //2 闰年 29天 平年28天
 647     int days = 0;//用来保存所求天数
 648     if (month==4||month==6||month==9||month==11) {
 649         days = 30;
 650     }else if (month==2){
 651         days = 28   ((year@0==0)||(year%4==0 && year0!=0));
 652     }else{
 653         days = 31;
 654     }
 655     //4.输出天数
 656     printf("year:%d month:%d days:%dn",year,month,days);
 657 结果:
 658 请输入年份:
 659 2005
 660 请输入月份:
 661 12
 662 year:2005 month:12 days:31
 663 3.准备回家过年了,交通工具,通过输入工资,
 664 小于1300(最低工资),程序要报错,工资大于10000
 665 坐飞机回家,如果大于5000,就坐火车回家,如果大于
 666 3000,就坐汽车回家。大于1500,就骑自行车回家,都
 667 不满足,步行。
 668     int i=0;
 669     printf("请输入工资:");
 670     scanf("%d",&i);
 671     if(i>=10000)
 672         printf("飞机n");
 673     else if(i>=5000)
 674         printf("火车n");
 675     else if(i>=3000)
 676         printf("汽车n");
 677     else if(i>=1500)
 678         printf("自行车n");
 679     else if(i<1300)
 680         printf("程序报错n");
 681     else
 682         printf("步行n");
 683 
 684 4.通过键盘输入4个值,求4个值中的最大值,最小值,和。
 685     //1.输入4个值
 686     int num1=0,num2=0,num3=0,num4=0;
 687     int sum = 0;
 688     printf("请输入第一个数:n");
 689     scanf("%d",&num1);
 690     sum =num1;
 691     printf("请输入第二个数:n");
 692     scanf("%d",&num2);
 693     sum =num2;
 694     printf("请输入第三个数:n");
 695     scanf("%d",&num3);
 696     sum = sum   num3;
 697     printf("请输入第四个数:n");
 698     scanf("%d",&num4);
 699     sum = sum   num4;
 700     //2.求最大值 算法(逻辑)
 701     int max = num1;//标尺
 702     if (num2>max) {max = num2;}
 703     if (num3>max) {max = num3;}
 704     if (num4>max) {max = num4;}
 705     printf("max:%dn",max);
 706     //求最小值
 707     int min = num1;//标尺
 708     if (num2<min) {min = num2;}
 709     if (num3<min) {min = num3;}
 710     if (num4<min) {min = num4;}
 711     printf("min:%dn",min);
 712 
 713     //3.求最小值
 714     //4.求和
 715     //sum = sum   num3; 累加
 716     //sum  = num3;累加 但效率更高 (编译原理)
 717     //sum = num1 num2 num3 num4;
 718     printf("sum:%dn",sum);
 719 结果:
 720 请输入第一个数:
 721 8
 722 请输入第二个数:
 723 6
 724 请输入第三个数:
 725 5
 726 请输入第四个数:
 727 9
 728 max:9
 729 min:5
 730 sum:28
 731 
 732 知识点
 733 六、运算符
 734 
 735 23.赋值运算符
 736 int i = 20;
 737     int j = 10;
 738     int k = 15;
 739     int l = 0;
 740     l = (i = (j = (k = 5)));//从右向左运算的 右结合
 741     printf("i:%d j:%d k:%d l:%dn",i,j,k,l);
 742 结果:i:5 j:5 k:5 l:5
 743 
 744 1.按位异或操作
 745     printf("5&3:%dn",5&3);   //0000 0101
 746     int i = 5;            //0000 0011
 747     printf("~5:%dn",~i);
 748     int j = 3;
 749     printf("5^3:%dn",i^j);//按位异或操作
 750 结果:
 751 5&3:1
 752 ~5:-6
 753 5^3:6
 754 
 755 2.调换两个值(^)
 756     int l = 5;
 757     int r = 4;
 758     printf("调换前: l:%d r:%dn",l,r);
 759     l^=r;//l=l^r;
 760     r^=l;//r=r^l;
 761     l^=r;//l=l^r;
 762     /*
 763     int temp = 0;//中间临时变量 桌
 764     temp = l;
 765     l = r;
 766     r = temp;
 767      */
 768     printf("调换后: l:%d r:%dn",l,r);
 769 
 770 结果:
 771 调换前: l:5 r:4
 772 调换后: l:4 r:5
 773 
 774 3.按位左移 按位右移 标识一些有规律的数据
 775     int i2 = 1;
 776     //数据(二进制数)<<(左移)移动位数
 777     //0000 0001 <<1 0000 0010
 778     printf("i2<<1:%dn",i2<<1);
 779     //0000 0001 <<2 0000 0100
 780     printf("i2<<2:%dn",i2<<2);
 781 结果:
 782 i2<<1:2
 783 i2<<2:4
 784 
 785 4.多目运算符
 786     int i = 10;
 787     int j = 20;
 788     char c ;
 789     c = i<j?'a':'b';
 790     printf("c:%cn",c);
 791 结果:c:a
 792 
 793 24.重构利用多目运算符,输入字符 如果大写 转换小写 如果小写 转换大写
 794     char ch;
 795     char ch2;
 796     printf("请输入一个字符:n");
 797     scanf("%c",&ch);
 798     //2.判断 大->小 小->大
 799     //ch2 = (ch>='A' && ch<='Z')?ch ('a'-'A'):ch-('a'-'A');
 800     //多目运算符的嵌套
 801     /*
 802      条件表达式?表达式1:表达式2;
 803      条件表达式?(条件表达式?表达式1:表达式2):表达式2;
 804      */
 805     ch2 = (ch>='A' && ch<='Z')?ch ('a'-'A'):(ch>='a'&&ch<='z')?ch- ('a'-'A'):'?';
 806     printf("ch:%c->ch2:%cn",ch,ch2);
 807 结果:
 808 请输入一个字符:ch:a->ch2:A
 809 
 810 知识点
 811 七、swich语句
 812 25.输入一个小写的数字 输出相应的大写数字 1->一
 813     //1.输入一个小写数字
 814     int number = 0;
 815     printf("请输入一个小写的数字:n");
 816     scanf("%d",&number);
 817     //2.根据不同的值进行不同的处理(条件分支)
 818     
 819     switch (number) {
 820         case 1:
 821             printf("一n");
 822             break;//终止switch语句继续执行
 823         //case 'a':printf("An");
 824         case 2:
 825             printf("二n");
 826             break;
 827         case 3:
 828             printf("三n");
 829             break;
 830         default:printf("您输入的数据有误!n");
 831             break;
 832     }
 833 结果:
 834 请输入一个小写的数字:
 835 2
 836 二
 837 
 838 26.重构成绩等级制输入分数求级别
 839     int score = 0;
 840     printf("请输入一个分数:n");
 841     scanf("%d",&score);
 842     //2.求相应的级别
 843     //100/10 10 95/10 9 90/10 9
 844     switch (score/10) {
 845         case 10:
 846         case 9:printf("An");break;
 847         case 8:
 848         case 7:printf("Bn");break;
 849         case 6:printf("Cn");break;
 850         default:printf("Dn");
 851             break;
 852 结果:
 853 请输入一个分数:
 854 90
 855 A
 856 27.重构等级制度输入一个分数级别
 857     //二、输入一个分数级别
 858     //求分数的范围 A "您的分数范围是90~100"
 859     //1.输入一个级别
 860     char level;
 861     printf("请输入一个分数的级别:n");
 862     scanf("%c",&level);
 863     //2.根据级别求分数范围
 864     /* if分支语句
 865     if (level=='A'||level=='a') {
 866         printf("分数的范围是90~100n");
 867     }else if (level=='B'||level=='b'){
 868         printf("分数的范围是70~90n");
 869     }else if (level=='C'||level=='c'){
 870         printf("分数的范围是60~70n");
 871     }else{//E
 872         printf("分数的范围是0~60n");
 873     }*/
 874     
 875     //switch语句
 876     switch (level) {
 877         default:
 878             printf("0~60n");
 879             break;
 880         case 'B':
 881         case 'b':printf("70~90n");break;
 882         case 'C':
 883         case 'c':printf("60~70n");break;
 884         case 'A':
 885         case 'a':printf("90~100n");break;
 886 结果:
 887 请输入一个分数的级别:
 888 a
 889 90~100
 890 28.switch练习
 891 //1.输入数字
 892     int number = 0;
 893     printf("==================n");
 894     printf("1.显示全部记录n");
 895     printf("2.查询登录记录n");
 896     printf("3.退出n");
 897     printf("==================n");
 898     printf("请输入你需要的功能:n");
 899     scanf("%d",&number);
 900     //2.根据不同数字 进行不同处理
 901     switch (number) {
 902         case 1:
 903             printf("执行显示全部记录n");
 904             break;
 905         case 2:
 906             printf("执行查询登录记录n");
 907             break;
 908         case 3:
 909             printf("退出系统n");break;
 910         default:
 911             printf("您输入的数据有请误!n");
 912             break;
 913     }
 914 结果:
 915 ==================
 916 1.显示全部记录
 917 2.查询登录记录
 918 3.退出
 919 ==================
 920 请输入你需要的功能:
 921 2
 922 执行查询登录记录
 923 
 924 知识点
 925 八、for   循环
 926 
 927 1.for循环
 928     //0 1 2 3 4 5 6 7 8 9
 929     //循环语句 重复的执行一段代码
 930     for (int i = 0; i<10; i  ) {
 931         //循环体
 932         printf("跑了第%d圈n",i);
 933     }
 934     
 935     //可以省略表达式1 可以放到其它位置 可能会出现问题
 936     //可以省略表达式2 默认值是1 不可以放到其它位置
 937     //可以省略表达式3 可以放到其它位置 但必须放在循环体的最后一条件语句
 938     //三个表达式都可以省略
 939     /*
 940     for (int i=0;i<10;i  ) {
 941         printf("Hellon");
 942     }
 943     */
 944 结果:
 945 跑了第0圈
 946 跑了第1圈
 947 跑了第2圈
 948 跑了第3圈
 949 跑了第4圈
 950 跑了第5圈
 951 跑了第6圈
 952 跑了第7圈
 953 跑了第8圈
 954 跑了第9圈
 955 
 956 
 957 
 958 29.循环作业
 959 
 960 1.重构字母转换(if语句)(逻辑运算符)
 961 大写—>小写,小写—>大写,不是字母—>您输入的数据有误
 962 
 963 2.求1-100的和1 2 3 5.....=5050
 964     //求(输出)1到100的和。
 965     //1.拿1~100数
 966     //表达式1 循环标识
 967     //表达式2 循环条件
 968     //表达式3
 969    
 970     int sum = 0;
 971     for (int i = 1; i<=100; i  ) {
 972         //printf("i:%dn",i);//循环体
 973         sum=sum i;//累加求和
 974     }
 975     //2.求和
 976     printf("sum:%dn",sum);
 977 结果:sum:5050
 978 
 979 3.输出1到100直间的奇数(不能被2整除的是奇数)
 980 4.输出1到100之间的偶数(能被2整除的是偶数)
 981     for (int i = 1; i<=100; i  ) {
 982         //2.根据条件取得的数
 983         if(i%2==0){
 984             printf(“偶数:%dn”,i);
 985         }
 986     }
 987    
 988     /*也可以用这样的办法求
 989     for (int i = 1; i<=100; i=i 2) {
 990         printf("i:%dn",i);
 991     }
 992     */
 993 
 994 5.重构求10个数的最大值、最小值、和
 995     int num = 0;
 996     int sum = 0;
 997     
 998     printf("请输入第1个数:n");
 999     scanf("%d",&num);
1000     int max = num;//标尺
1001     int min=num;
1002     sum = sum   num;//求和
1003     for (int i = 1; i<4 ; i  ) {
1004         printf("请输入第%d个数:n",i 1);
1005         scanf("%d",&num);
1006         sum = sum   num;//求和 求累"积"?
1007         //求最大值 求最小值?
1008         if (num>max) {
1009             max = num;
1010         }
1011         if (num<min) {
1012             min = num;
1013         }
1014     }
1015     printf("sum:%dn",sum);
1016     printf("max:%dn",max);
1017     printf("max:%dn",min);
1018 结果:
1019 请输入第1个数:
1020 50
1021 请输入第2个数:
1022 60
1023 请输入第3个数:
1024 40
1025 请输入第4个数:
1026 10
1027 sum:160
1028 max:60
1029 max:10
1030 6.在键盘上输入一个数(任意正整数),求该数的长度
1031 123—3  4567—4
1032     int i=0,c;
1033     printf("请输入:n");
1034     scanf("%d",&c);
1035     while(c)
1036     { c=c/10;
1037         i  ;}
1038         printf("长度为:%dn",i);
1039 结果:
1040 请输入:
1041 123456
1042 长度为:6
1043 
1044 7.打印水仙花数,水仙花数是一个3位数100—999,每个位的数值的立方刚好是这个数的本身。
1045 153=1*1*1 5*5*5 3*3*3,求水仙花数有哪些
1046     int i;
1047     int a,b,c;
1048     
1049     for(i=100;i<1000;i  ){
1050     a=i/100;
1051     b=i0/10;
1052     c=i;
1053     {if(i==a*a*a b*b*b c*c*c)
1054     
1055         printf("%dn",i);}}
1056 结果:
1057 153
1058 370
1059 371
1060 407
1061 知识点
1062 九、while循环
1063 /* 标准的while循环
1064     //int i = 0;//表达式1 循环标识
1065     //在while循环中 表达式2是不可以省略的
1066     while (i<10) {//表达式2 循环条件
1067         printf("Hellon");
1068         //i  ;//表达式3 循环规律
1069     }
1070      */
1071     //通过while循环的使用 只关注条件
1072     /*
1073     while (1<10) { //表达式2 循环条件
1074         printf("hellon");
1075     }*/
1076     
1077     //while循环的使用
1078     int num = 1;//保存用户输入的数据
1079     int count1 = 0;//统计正数有多少个
1080     int count2 = 0;//统计负数有多少个
1081     while (num!=0) {  遇到0就停止循环
1082         printf("执行循环体n");
1083         printf("请输入一个数:n");
1084         scanf("%d",&num);
1085         printf("您输入的数为:%dn",num);
1086         //判断是正数还是负数
1087         if (num>=0) {//正数
1088             count1  ;
1089         }
1090         if (num<0) {//负数
1091             count2  ;
1092         }
1093     }
1094     printf("正数有:%d个n",count1  );
1095     printf("负数有:%d个n",count2  );
1096     
1097     printf("程序结束!n");
1098     //多次输入一个数,只要不为0,就一直输入,统计
1099     //输入的数,有多少个是正数,有多少个是负数。
1100 结果:
1101 执行循环体
1102 请输入一个数:
1103 60
1104 您输入的数为:60
1105 执行循环体
1106 请输入一个数:
1107 -60
1108 您输入的数为:-60
1109 执行循环体
1110 请输入一个数:
1111 0
1112 您输入的数为:0
1113 正数有:2个
1114 负数有:1个
1115 程序结束!
1116 
1117 知识点
1118 十、随机数
1119 #include <stdio.h>
1120 //1.导入头文件
1121 #include <time.h>
1122 #include <stdlib.h>
1123 #include <stdbool.h>
1124 int main(int argc, const char * argv[])
1125 {
1126     /*
1127     int i = 200;
1128     char c;
1129     //类型转换 int->char
1130     c = (char)i;//告诉其它程序员 类型转换 有风险
1131     */
1132     //2.使用函数 (unsigned)将有符号->符号
1133     srand((unsigned)time(0));//种子
1134     //0~21亿
1135     //0~9 
1136     //0~99 0
1137     //1~100 0 1
1138     int num = rand()0 1;//随机数
1139     //printf("num:%dn",num);
1140     bool isFlag = false;//标识是否猜正确
1141     int inputNum = 0;//输入一个数
1142     int count = 0;//统计猜数次数
1143     while (!isFlag) {
1144         printf("请输入您猜的数:n");
1145         scanf("%d",&inputNum);
1146         count  ;
1147         //判断
1148         if (inputNum==num) {
1149             printf("您猜对了!n");
1150             isFlag = true;
1151             printf("您一共猜了%d次!n",count);
1152         }else{
1153             printf("请继续猜!n");
1154             if (inputNum>num) {
1155                 printf("您上次输入的数大了n");
1156             }else{
1157                 printf("您上次输入的数小了n");
1158             }
1159         }
1160     }
1161 结果:
1162 请输入您猜的数:
1163 60
1164 请继续猜!
1165 您上次输入的数小了
1166 请输入您猜的数:
1167 80
1168 请继续猜!
1169 您上次输入的数大了
1170 请输入您猜的数:
1171 70
1172 请继续猜!
1173 您上次输入的数大了
1174 请输入您猜的数:
1175 65
1176 请继续猜!
1177 您上次输入的数小了
1178 请输入您猜的数:
1179 69
1180 您猜对了!
1181 您一共猜了5次!
1182 
1183 知识点
1184 十一、do…while循环
1185 //表达式1 循环标识 就算条件不成立 至少执行一次
1186     int i = 20;
1187     do {
1188         printf("HelloWorldn");//循环体
1189         i  ;//表达式3
1190     } while (i<10);//表达式2 循环条件
1191     /* 第一次循环不会进行判断
1192      do{
1193      }while(表达式2)
1194      */
1195     /* 三个循环的区别
1196         for循环可以直接确定循环的次数
1197         while循环关注循环的条件
1198         do...while循环 第一次循环不会进行判断,每次判断的是下一次循环是否执行
1199      */
1200     //重构猜数练习
1201 结果:HelloWorld  (先执行do循环体的结果)
1202 
1203 2.练习
1204 模拟输入用户名密码(数字),设置一个数据库(模拟数据写死)中用户名密码(123,456),匹配则显示登录成功(则循环停止),否则登录失败,重新登录。
1205 
1206 #include <stdio.h>
1207 int main(int argc, const char * argv[])
1208 {
1209     //1.模拟输入用户名密码(数字)
1210     int username = 0;//用户名
1211     int password = 0;//密码
1212     //2.设置一个数据库(模拟数据写死)中用户名密码(123,456)
1213     int d_username = 123;
1214     int d_password = 456;
1215     //3.匹配则显示登录成功(则循环停止),否则登录失败,重新登录。
1216     //a.输入数据
1217     do{
1218         printf("输入用户名:n");
1219         scanf("%d",&username);
1220         printf("请输入密码:n");
1221         scanf("%d",&password);
1222     }while ( !(username==d_username && password==d_password) );
1223     printf("登录成功!n");
1224     //用户名和密码 都相同 登录成功
1225     //(username==d_username && password==d_password)
1226 或(同时使用break和continue)
1227 
1228 //1.模拟输入用户名密码(数字)
1229     int username = 0;//用户名
1230     int password = 0;//密码
1231     //2.设置一个数据库(模拟数据写死)中用户名密码(123,456)
1232     int d_username = 123;
1233     int d_password = 456;
1234     //3.匹配则显示登录成功(则循环停止),否则登录失败,重新登录。
1235     //a.输入数据
1236     do{
1237         printf("输入用户名:n");
1238         scanf("%d",&username);
1239         printf("请输入密码:n");
1240         scanf("%d",&password);
1241         if (username==d_username && password==d_password) {
1242             printf("登录成功!n");
1243             break;
1244         }else{
1245             printf("登录失败,请重新登录!n");
1246             continue;
1247         }
1248     }while (1);
1249     //用户名和密码 都相同 登录成功
1250     //(username==d_username && password==d_password)
1251 
1252 三个循环的特点:
1253 for:循环可以直接确定循环次数
1254 while :关注循环的条件
1255 do…while 循环:第一次循环不会进行判断,每次判断的是下一次循环是否执行!
1256 
1257 知识点
1258 十二、break,continue
1259 1.循环中使用break;
1260   break;不但可以终止switch,也可以终止for循环语句
1261  举例:
1262 int main()
1263 {
1264     int i=0;
1265     for (; i<10; i  ) {
1266         if (i==3) {
1267             break;//终止循环的继续执行
1268         }
1269         printf("hello:%dn",i);
1270     }
1271 }
1272 练习:
1273 编写一个求和程序。用户从控制台输入的整数的个数 不受限制,直到输入整数0为止。将输入的整数逐个相加后, 把结果输出。
1274     int sum = 0;
1275     while (1) {
1276         //1.输入一个整数
1277         int num = 0;
1278         printf("请输入一个数:n");
1279         scanf("%d",&num);
1280         //2.循环输入 直接输入0时结束 break
1281         if (num==0) {
1282             break;
1283         }
1284         //3.求输入整数之和并输出
1285         sum =num;
1286         printf("sum:%dn",sum);
1287     }
1288 结果:
1289 请输入一个数:
1290 45
1291 sum:45
1292 请输入一个数:
1293 64
1294 sum:109
1295 请输入一个数:
1296 0
1297 2.continue可以终止当次循环,继续下一次循环
1298 相当于跳过当次,接着执行下面的
1299 int main()
1300 {
1301     for (int i=0; i<10; i  ) {
1302         if (i==3) {
1303             continue;
1304         }
1305         printf("hello word:%dn",i);
1306     }
1307     return 0;
1308 }
1309 结果:
1310 hello word:0
1311 hello word:1
1312 hello word:2
1313 hello word:4
1314 hello word:5
1315 hello word:6
1316 hello word:7
1317 hello word:8
1318 hello word:9
1319 
1320 3.清空缓冲区
1321 scanf(“%*c”);
1322 举例:有关回车所占的位置清空
1323 int main()
1324 {
1325     char a,b;
1326     printf("input:");
1327     scanf("%c",&a);
1328     scanf("%*c");//清空缓冲区
1329     
1330     printf("input:");
1331     scanf("%c",&b);
1332     printf("a;
			

本文由美洲杯赌球发布于计算机教程,转载请注明出处:T-SQL男篮世界杯赌球: 15 个与日期时间相关的精典

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。