美文网首页
SQSH1616 12-13 C基础

SQSH1616 12-13 C基础

作者: 彳亍的心 | 来源:发表于2016-12-13 20:15 被阅读0次

1.类型转化
(1)隐式转化:
当赋值号两边类型不同时,自动转化为精度较高的类型
5/3 = 1.00000
9.120000/5 = 1.824000
(2)显式转化;
强制类型转化,并不改变变量的类型,只临时做一次类型转化
float_f = (float)int_t/int_t1
2.位运算符
1. &:位与
|:位或
~:非(取反)
^:异或
<<:左移
>>:右移
(1)二进制数 :由0和1组成

2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 2^8 2^9
1 2 4 8 16 32 64 128 256 512

101010= 0 + 2^1 + 0 + 2^3 + 0 +2^5

(2)八进制数:由0~7组成的,八进制数开头是数字0,以区分八进制数
0345 0123 0765 04321
(3)十六进制数:由数字0-9和数字af或者AF组成,并且以0x或者0X开头
0x123 0xab34 0XAB345 0XFFF
(4)进制数
二进制数:1111
十进制数:1111----->8+4+2+1=15
111----->4+2+1=7

二进制 十进制 八进制 十六进制
0000 0 0 0
0001 1 1 1
0010 2 2 2
0011 3 3 3
0100 4 4 4
0101 5 5 5
0110 6 6 6
0111 7 7 7
1000 8 8
1001 9 9
1010 10 a/A
1011 11 b/B
1100 12 c/C
1101 13 d/D
1111 15 f/F

(5)
10101011:171,0253,0xab(0XAB)
0123:001 010 011
0XA45:1010 0100 0101
(6)位操作
&:位与
将十进制数,八进制数,十六进制数转化为对应二进制数,进行位与运算!!!
4&3 = (0100 &0011) = 0000
12&7 =(1100 &0111) = 0100
即对应位同时为1时,结果为1,否则为0!!!
|:位或
4|3 = (0100 |0011) =7
023|5 = (0010 0011 | 0101) = 10111
13|9 = (1101 |0101) = 1101=13
即:对应位只要有1,则为1;同时为0,才为0!!
~:非(取反)
~23: ~(0001 0111)
-------------
23:0001 1000
补码1110 1000
反码1110 0111
原码1001 1000
计算机是补码存储,原码输出!!!!
原码:正数的原码是是本身
反码:符号位不变,其他位按位取反
补码:负数的补码是其正数的原码取反加1.

^:异或

         4^7 =
             0100
            ^0111
            -----
             0011
             3
        4^3 =
             0100
            ^0011
             ----
             0111
             7

<<:左移

         8<<2
          1000
          <<2
          100000
          32
      4<<4
          0100
          <<4
          100000
          32
          即转化为二进制,然后左移

然后 >>:右移

          8>>2
          1000
          >>2
          0010
          2
      4>>4
          0100
          0000.01
          0  
          即转化为二进制,然后右移

3.赋值操作符:=
+=
num += i;----> -= *= /= %= &= |=
4.逻辑运算符和条件运算符
(1)
&&:逻辑与
表达式1&&表达式2
当表达式1和表达式2同时为真,结果为真
||:逻辑或
表达式1||表达式2
表达式1和表达式2只要有一个为真,结果为真
注意:只要有一个为真,即可!
!:非
!表达式
若表达式为真,作为结果为假
反之,则真
(2)条件运算符
?:
表达式1?表达式2:表达式3
若表达式1为真,则执行表达式2,否则执行表达式3
a>b?a:b
a,b,c---->max
a>b?(a>c?a:b):(b>c?b:c)
5.运算符的优先级
括号成员第一,全体单目第二,乘除余三,加减四;
位移五,关系六,等与不等排第七
位与,异或和位或八九十
逻辑或和与十二和十一
条件高于赋值,逗号运算最低!
二.C语言的三大结构
顺序结构、分支结构、循环结构
1.分支结构
(1)if(表达式)
{.....}
表达式为真则执行{}里的语句;
若为假,则不执行{}里的语句;
(2)if.....else
(3)if
else if
else if
(4)if的嵌套使用
练习:
使用if的注意事项
80 <num <90 //错误
num>80 && num<=90 //ok
if条件句后面只有一条语句时,可以不加{};但此语句不能是变量定义语句。
例子:
if(1)
printf("hello\n") ;
printf("world!\n") ;
说明:if的有效语句只有:printf("");

    在if(1)
    {
       printf("hello\n");
       int num = 0;
       printf("num = %d\n,"num);
       }
       printf("num = %d\n",num);    //错误            

2.switch....case

    (1) switch(option)
      {
          case option1;
          break;
          case option2;
          break;
          case option3;
          break;
          default;
          break;
          }

根据option的值选择性执行case语句,若没有与值对应的case语句,则执行default语句!
(2)注意事项:
default语句可以放在switch{}里面的任意位置;
case语句后的{},可以省略不写,当case后的之后的执行语句超过三条,则建议加{}。
(3)case语句中break视情况而定是否写;
若case语句中无break。则顺次执行所有的case语句
直到把所有的case语句执行完毕,退出switch!*/
三、循环结构
while() do{}while() for(;;)
1.while (表达式)
{
//执行语句
}
先判断条件是否满足执行条件,满足则执行循环体,
不满足则退出循环!
若满足条件,则执行循环体 ,每执行一次循环体
进行一次条件判断

先判断后执行
2.break/continue
break:跳出当前循环
continue:跳过本次循环,进行下一次循环
do{}while()
do
{
//循环体
}while(表达式);
先执行后判断
3.for(;;)
for(表达式1;表达式2;表达式3)
{
//循环体;
}
表达式1:
循环条件初始
表达式2:
循环结束条件或者循环执行条件
表达式3:
循环步长或者变量值的更新
主:表达式1,2,3可以任意省略,或全部省略
但是,“;;”不能省略!!!
今天开始进行编程了,学习的东西都有大概的印象,需要用课后的时间多加练习,熟悉掌握它们。加油!!!

相关文章

  • SQSH1616 12-13 C基础

    1.类型转化(1)隐式转化:当赋值号两边类型不同时,自动转化为精度较高的类型5/3 = 1.000009.1200...

  • SQSH1616 12-12 C基础

    丹尼斯*里奇C语言的优缺点优点:简单,使用广泛...缺点: 不严谨...一:C基本语法1.C的引入#include...

  • SQSH1616 12-14 C基础

    1.if~else配对问题else 总是与离它最近的if配对2.循环(1)for(表达式1;表达式2;表达式3)执...

  • SQSH1616 12-21 C基础

    reviewstruct student{int ID;char name[32];//next存储的是下一个结点...

  • SQSH1616 12-15 C基础

    一.数组 1.二维数组 2.指针 (1)指针类型是一种特殊类型 (2)初始化 (3)地址的访问 (4)可以把指针赋...

  • SQSH1616 12-16 C基础

    1.冒泡排序 例如:#include int main(){int arr[5]= {11,45,2,66,34}...

  • SQSH1616 12-19 C基础

    一函数 1.函数的基本概念 函数就是把代码中功能相似并且独立的代码单独封装成一个整体; (1)函数优点 提高代码的...

  • SQSH1616 12-20 C基础

    一。复杂结构类型 1.结构体 2.结构体变量的初始化 (1)初始化1 (2)初始化2 (3)初始化3:生命结构体时...

  • 《大学专业生涯 计划书单》

    1、基础中的基础 →C++ 《C++Primer》 《EffectiveC++》 《Inside the C++ ...

  • Objective-C学习笔记

    基于Objective-C基础教程:1天玩转Objective-C语法【C基础】#if、if、#ifdef、#if...

网友评论

      本文标题:SQSH1616 12-13 C基础

      本文链接:https://www.haomeiwen.com/subject/euebmttx.html