C程序设计第二遍

本文详细介绍了C语言的基本概念,包括其作为面向过程的语言特性、数据类型、常量定义、进制表示以及内存中的补码表示。此外,还讲解了C语言中的类型转换、运算符优先级、程序基本结构如顺序、分支和循环结构。同时,讨论了输入输出函数如scanf的使用,以及控制语句如break和goto的注意事项。最后,提到了条件运算符和switch语句的使用细节。
摘要由CSDN通过智能技术生成

第一天

  1. C语言是当代最优秀的程序设计语言。
    Java,C++都是面向对象的。C语言是面向过程的。发展历程C到C++到Java。

  2. C允许直接访问物理地址,能进行位操作。汇编语言是低级语言,C语言是中级语言,C++,Java是高级语言。

  3. 基本数据类型构造成为构造数据类型
    构造数据类型有:数组类型,结构体类型,共用体类型。

  4. 符号常量
    定义方式:#define 标识符 常量
    (预处理命令都用#开头,成为宏定义命令)
    习惯上符号常量标识符用大写字母表示,变量标识符用小写字母表示。

  5. C语言中的整常数有八进制、十进制、十六进制三种。
    在程序中是根据前缀来区分各种进制数的
    十进制常数没有前缀。
    八进制数必须以0开头。
    十六进制必须以0x或者0X开头。
    基本整型长度16位,超出这个范围用长整数来表示,长整数用后缀L或者l来表示。

  6. 内存中的二进制存储是以补码的形式表示。
    正数的补码和原码相同。
    负数的补码,是将该数的绝对值的二进制形式按位取反,再加一。(注意第一个位置,不用取反,因为第一位数是符号位,不是数值位。)
    在这里插入图片描述
    在这里插入图片描述
    转化规则:char,short到int到unsigend到long到double。

  7. 纠正9,自动类型转换,右边的类型长度长于左边的类型,是直接舍去小数部分,而不是数学上的四舍五入。

  8. 右结合性:意思是从右向左执行运算;例如
    a=b=c,按a=(b=c)运算
    左结合性:意思是从左向右执行运算;例如a+b+c,按(a+b)+c运算
    除了赋值运算符外,所有二元运算符都是左结合的

  9. 除法运算中,若参与运算的数都为整型,结果也为整型,舍去小数。有一个是实型,结果就是为双精度实型。

  10. 赋值号:
    (1)整型赋予实型时,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。
    (2)字符型赋予整型,是将字符的ASCII码整出来。

第三天

  1. x*=y+7等价于x=x*(y+7),+的优先级比*的高。

  2. 程序可以分为三种基本结构:顺序结构,分支结构,循环结构。
    C语句可以分为以下五类:
    (1)表达式语句(执行表达式语句就是计算表达式的值,例如赋值语句,加法运算语句,自增自减)
    (2)函数调用语句
    (3)控制语句
    (C语言有九种控制语句,分三类:
    1、条件判断语句:if、switch
    2、循环执行语句:do while、while、for
    3、转向语句:break、goto、continue、return。

    (4)复合语句
    (把多个语句用括号括起来组成的一个语据称复合语句,在程序中,应把复合语句看成是单条语句,而不是多条语句)
    (5)空语句
    (只有分号组成的语句称为空语句,在程序中控语句可用来做空循环体
    例如最常见的:
    while(getchar()!=’\n’)
    {
    ;
    }

  3. 在这里插入图片描述
    第四天

  4. scanf
    %*d的意思是,读入后不赋予相应的变量,即跳过该输入值。
    将12345678用格式%4d输入,只能输入1234前四位。
    %ld表示输入长整型数据。
    %hd表示输入短整型数据。

  5. double的scanf输入必须要用%ld长整型形式。

  6. if
    if
    else
    中else采用就近原则与第二个if配对。

  7. 条件运算符的结合方向是 自右向左
    a>b?a:c>d?c:d
    应理解为 a>b?a:(c>d?c:d)

  8. switch 语句应注意以下几点
    1、在case 后的各变量表达式的值不能相同,否则会出现错误。
    2、在case后允许有多个语句,可以不用括号括起来。
    3、各case和default子句的先后顺序可以变动,而不会影响程序的执行结果。
    4、default子句可以省略不用。

  9. goto语句的使用格式:
    goto 语句标号;
    其中标号是一个有效的标识符,这个标识符,加上一个“:”,一起出现在函数内某处。执行goto语句后,程序将跳转到该标号处,并执行其后的语句。另外,标号必须与goto语句同处于一个函数中,但可以不在一个循环中。通常goto语句与if语句连用,当满足某一条件时,程序跳到标号处执行。

(但是要注意:goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时,用goto语句则比较合理。)

  1. a++2 相当于 a2;a++。

  2. while与do while一般情况下所得结果都是一样的,但有一种情况不一样,就是当while中的条件原来就是假的时。

  3. break语句不能用于循环语句和switch语句之外的任何其他语句中。
    注意:1)break语句对if-else语句不起作用。
    2)在多层循环中,一个break语句只 向外跳一层。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用户283772836617353849

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值