C语言入门复习

本文是C语言的基础复习,涵盖了基本语法、变量、运算符、流程控制和数据类型等内容。讲解了printf函数的使用、变量的声明与赋值、各种运算符的运用,包括算术、关系、逻辑、位运算符,以及流程控制结构如if、switch、循环等。此外,还介绍了数据类型中的字符、整数和浮点数,以及它们的进制、格式化输出和范围。
摘要由CSDN通过智能技术生成

1、基本语法

printf()

基本用法

printf() 的作⽤是将参数⽂本输出到屏幕。f 代表 format (格式化)

printf() 是在标准库的头⽂件 stdio.h 定义的。使⽤这个函数之前,必须在源码⽂件头部引⼊这个头文件。

#include <stdio.h>
int main(void) {
   
 printf("Hello World\n");
}

2、变量

变量名

变量名属于标识符(identifier)

  • 只能由字⺟(包括⼤写和⼩写)、数字和下划线( _ )组成。
  • 不能以数字开头。
  • ⻓度不能超过63个字符。
  • 区分大小写,star,Star,STAR都是不同的变量

变量的声明

每个变量都有⾃⼰的类型(type)

int height, width;
// 等同于
int height;
int width;

变量的赋值

C 语⾔会在变量声明时,就为它分配内存空间,但不会清除内存⾥⾯原来的值。变量会是⼀个随机的值。所以 变量⼀定要赋值以后才能使⽤。

变量的声明和赋值,通常写在一行。

  • 赋值表达式有返回值,等于等号右边的值。

    int x, y, z, m, n;
    x = y = z = m = n = 3;
    

    ⼀次为多个变量赋值。赋值运算符是从右到左执⾏,所以先为 n 赋值,然后依次 为 m 、 z 、 y 和 x 赋值。

C 语⾔有左值(left value)和右值(right value)的概念。左值是可以放在赋值运算符左边的值,⼀般是变量;右值是可以放在赋值运算符右边的值,⼀般是⼀个具体的值。这是为了强调有些值不能放在赋值运算符的左边,⽐如 x = 1是合法的表达式,但是 1 = x 就会报错。

变量的作用域

作用域(scope)指的是变量⽣效的范围。C 语⾔的变量作⽤域主要有两种:⽂件作⽤域(file scope)和 块作⽤域(block scope)。

**文件作用域(file scope)**是指:在源码⽂件顶层声明的变量,从声明的位置到⽂件结束都有效。

  int x = 1;
  int main(void) 
{
   
  printf("%i\n", x);
}

x在文件顶层声明,从声明位置开始的整个当前⽂件都是它的作⽤域。

**块作用域(block scope)**是指:由⼤括号{ } 组成的代码块,它形成⼀个单独的作⽤域。凡是在块作用域里面声明的变量,只在当前代码块有效。

int a = 12;

if(a == 12){
   
    int b ==99;
    printf("%d %d\n",a,b);  //输出12 99
}
    printf("%d\n",a);    //输出12
    printf("%d\n",b);    //出错

代码块可以嵌套

{
   
    int i = 10;
        if(i == 10){
   
            int i = 20;
            printf("%d\n",i);  //输出20
        }
    printf("%d\n",i);    //输出10
}

注意:因为是“声明”,所以才会这样,正常只是“赋值”


specially :for 的循环条件部分是⼀个单独的作⽤域

  //循环条件
for(int i = 0;i < 5;i++)  
  //循环体内部
{
   
    int i = 999;
    printf("%d\n", i);  //输出5次999
}

由于循环条件部分是⼀个单独的作⽤域,所以循环体内部的 i 不会修改掉循环变量 i ,因此这段代码的运⾏结果就是打印5次 999 。


3、运算符

算数运算符

  • + :正值运算符(⼀元运算符)
  • - :负值运算符(⼀元运算符)
  • + :加法运算符(⼆元运算符)
  • - :减法运算符(⼆元运算符)
  • * :乘法运算符
  • / :除法运算符
  • % :余值运算符
(1)+ - 没什么要说的

⼀元运算符 + 对正负值没有影响,是⼀个完全可以省略的运算符,但是写了也不会报错。

int x = -12;
int y = +x;   //y还是-12 
(2)* 就乘法
(3)/

Pay attention: 两个整数相除,得到还是⼀个整数。

float x = 6 / 4;
printf("%f\n", x);   // 输出 1.000000

C语言里面的整数除法是整除,只会返回整数部分,丢弃小数部分

两个运算数必须⾄少有⼀个浮点数

float x = 6.0 / 4;   // 或者写成 6 / 4.0printf("%f\n", x);   // 输出 1.500000

another example:

int score = 5;
score = (score / 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值