C语言学习(一)

 

1.工具安装

使用的工具为eclipse + 编译工具MinGW64

1.1 Eclipse的安装

参考网址为:https://baijiahao.baidu.com/s?id=1620193436856012646&wfr=spider&for=pc

1.下载Eclipse

下载地址为:https://www.eclipse.org/downloads/ 2.下载完成 后,选择安装。先需要先安装JDK1.8

3.JDK的下载路径为:http://download.eclipse.org/oomph/jre/?vm=1_1_8_0_64_0&pn=Eclipse%20Installer&pu=http://wiki.eclipse.org/Eclipse_Installer&pi=http://download.eclipse.org/oomph/jre/128x128.png

配置和下载的方法如下:https://www.runoob.com/java/java-environment-setup.html

4.安装完成后将JDK的安装路径添加到环境变量中,检查添加到环境变量的命令为:

测试JDK是否安装成功

1、"开始"->"运行",键入"cmd";

2、键入命令: java -versionjavajavac 几个命令,出现以下信息,说明环境变量配置成功;

1.2编译工具安装

下载Mingw-w64的地址为:

http://mingw-w64.org/doku.php/download

https://www.cnblogs.com/lidabo/p/8990348.html

https://jingyan.baidu.com/article/19192ad816ea01e53e570730.html

当安装成功后,将相关的bin文件添加到环境变量,添加后最后重启可以生效。重启后,通过cmd命令进行验证,输入gcc -v表示安装成功

2.GCC编译C/C++的四个过程

预处理 gcc -E main.c -o main.i 编译阶段 gcc -S main.i -o main.s 汇编阶段 gcc -c main.s -o main.o 链接阶段 gcc main.o -o main.exe

3.C基础

3.1数据的原码 反码 补码表示

为了表示负数,将最高位解释为符号位

正数的原码、反码、补码均相同

对于负数,已知原码求反码,符号位不变,其它位按位求反

对于负数,已知原码求补码,先求反码,再在反码末位加1

原码的表示法:符号为:0表示正数 1表示为负数,其余7位是绝对值

一个字节用原码表示是,数的表示范围为-127 到127

反码表示法:

正数和零的反码就是自己

负数的反码:符号位为1,其余位为其绝对值得各位取反

一个字节用反码表示时,数的表示范围为-127到127

补码的表示法:

负数的补码为:先求反码,再在反码末位加1

一个字节用补码表示时,数的表示范围为-128 到127

补码的优点为:

在计算机里面,数值一律要用补码来表示(存储),一个字节可以用8位来表示,这样做的原因为:

1.加减法统一处理为加法,如2-1的操作为:

0000 0010

+1111 1111

0000 0001

2.符号与数值统一处理:如 -127-1的操作为:

1000 0001

1111 1111

1000 0000

常用的二进制的原码反码补码为:

十进制原码反码补码
100000 10100000101000001010
-101000 1010111101011111 0110
1270111 11110111 11110111 1111
-1271111 11111000 00001000 0001
-11000 00011111 11101111 1111
-128无法表示无法表示1000 0000

3.2 关键字

关键字描述
auto声明自动变量
sizeof计算数据类型长度
typedef用以给数据类型取别名
register声明寄存器变量
const声明只读变量/常量
static声明静态变量或函数
struct声明结构体变量或者函数
volatile用volatile声明的变量表示该变量随时可能发生变化,与该变量有关的运算,不要进行编译优化,以免出错
union声明共用数据类型
enum声明枚举类型
extern1.此变量或者函数在其他变量中声明2.当有c/c++混合编译时,如果C++调用的是c中定义的函数或者变量,要加extern 来告诉编译器以C方式来命令
goto无条件跳转语句
continue结束当前循环,开始下一轮循环 break跳出当前循环
default开关语句中的“其他分支”

比较难理解的关键字:

C语言中volatile关键字的作用](https://www.cnblogs.com/hjh-666/p/11148119.html)

goto语句的使用:goto 标识;

当满足条件时,跳转到标识语句,

//不打印 10-20的中间数
int main() {
    int a = 10;
    LOOP:
    do {
        if(a == 15) {
           a = a+1;
           goto LOOP;
        }
        printf("a 的值为: %d\n",a);
        a++;
    } while (a<20);
​
    return 0;
}

continue语句的使用

如果一个循环体中设置了continue语言,当执行了continue语句后,位于continue之后的语句将不会被执行

/*
 * 输出10到20之间不能被7整除的数
 */
//define后面不需要;
#define N 7
int main() {
    int n;
    for(n=10;n<=20;++n) {
        if(n % N ==0) continue;
        printf("%3d\n",n);
    }
    return 0;
}

循环语句的使用while

/*
 * 九九乘法表
 */
int main() {
    int i,j;
    printf("\n");
    for(i=1;i<10;i++)
        printf("%5d",i);
    printf("\n____________________________________________\n");
​
    i=1;
    while(i<10) {
        j =1;
        while(j<10) {
            //考虑最后一行换行
            printf(j==9 ?"%5d\n": "%5d",i*j);
                    j++;
        }
        i++;
    }
​
    return 0;
}
​
或者修改为for循环
    for(i=1;i<10;i++) {
        for(j=1;j<10;j++)
            printf(j==9 ?"%5d\n": "%5d",i*j);
    }
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值