2024.7.2 笔记

[1]vi编辑器

创建文件test1.c       用vi编辑器打开          

touch test1.c            vi test1.c

vi test2.c 当前路径没有test2.c文件

需要保存,自动生成test2.c

vi编辑器可以新建文件,注意保存

文件相关操作:

在终端查看文件的内容cat test1.c
在终端查看文件内容,默认查看前十行head test1.c
在终端查看文件内容de前n行head -n test1.c
在终端查看文件内容,默认查看后十行tail test1.c
在终端查看文件内容de后n行tail -n test1.c

#include <stdio.h> 函数库
// #开头 预处理
// .h文件 头文件
// < .h> 系统配置文件 /usr/include
// " .h" 用户新建的头文件(一般在当前文件夹里)
int main(int argc, const char *argv[])
//main主函数,程序的入口;一个工程中主函数有且仅有一个
// 扩展:命令行参数 argc 命令行输入字符串的个数
// argv 存储命令行输入的字符串
{
    printf("hello world\n");
    return 0;
    // 主函数中的return,是主函数的结束标志 0整数 int
    // 函数的返回值要和函数的数据类型保持一致;不要返回值,函数数据类型可以定义成void
    printf("hello world\n");
    printf("hello world\n");
}

[2]vscode编辑器

打开终端命令code 文件夹名/文件名

[3]gcc编译器

3.1 简写

gcc test.c 编译文件生成a.out

./a.out

gcc test.c -o test(可执行文件名)

./test

3.2 完整编译 4

预处理展开头文件替换宏定义删除注释gcc -E test.c -o test.i
编译检查语法问题有错报错没有继续运行生成汇编文件gcc -S test.i -o test.s
汇编生成一个不可执行二进制文件gcc -c test.s -o test.o
链接链接函数最终生成二进制可执行文件gcc     test.o -o test   (可执行文件名)
运行./test

[4]计算机存储单位 1024 1000

计算机最小存储单位 位bit 字节byte

1字节=8 0 1

1KB=1024B 1024

1MB=1024KB

1GB=1024MB

1TB=1024GB

[5] 计算机数据表示形式

5.1 数值型数据

二进制 0 1 2:10

八进制 0-7 8:010

十进制 0-9

十六进制 0-9 a-f 16:0x10

十进制二进制

1.短除法

2.拆分法 8421

3.计算器 导航 程序

二转 8421

二转

一位八进制三位二进制

11 010 110--->0326

八转

0777--->111 111 111

十六

一位十六进制四位二进制

1101 0110---0xd6

十六进制进制

0xab--->10101011

5.2 数值型数据

非数值型数据实际应用操作ASCII

man手册 一般用来查看一些命令函数用法

终端输入man man

man手册查看ASCII

char字符型 ' '包裹一个字符

'\0' 0 字符串结束标志

'\n' 10 换行

SPACE 32 空格

'0' 48

'A' 65

'a' 97

'2'-48=2 48--->'0'

'A'+32='a'

\转义字符 'n'字符n '\n'换行

[6] 词法符号

运算符 关键字 标识符 分隔符 标点符号

6.1关键字

存储类型autostaticexternregister
数据类型intcharfloatshortlongdoublesignedunsigned
构造数据类型structenumunion
分支ifelseswitchcasedefaultfordowhilegotobreakcontinue
其他voidconstsizeofvolatilereturntypedef

324G                  642^48 虚拟内存空间

栈区系统自动开辟自动回收 M
堆区程序员手动开辟空间(malloc),手动回收(free)
全局区/静态区.bss .data
常量区char *p="hello"

6.2 标识符

在给变量、数组、函数等命名时, 遵循标识符命名规则

1字母数字下划线(_)组成

2开头不能

3不能关键字重名

4见名

helloWorld:小驼峰命名(除第一个单词外,其他单词开头大写)

HelloWorld:大驼峰命名(每个单词开头大写)

练习

x y sum a100 _A7b_3x 3’a x*y @ b.8 while

6.3 运算符

算术运算符逻辑运算符位运算关系运算符三目运算符赋值运算符

6.3.1 算术运算符

+ - * / % ++ --

/整数相除结果向下取整

int a=5/2;

printf("%d\n",a); //2

========================

float a=5/2;

printf("%f\n",a);//2.000000 默认打印小数点后六位

float b=2;

printf("%f\n",b);//2.000000

==========================

float a=5.0/2;

printf("%f\n",a); //2.500000

==========================

强制转换

float a=(float)5/2; //强制转换只在当前这一行生效

printf("%.1f\n",a); //2.500000 %.1f保留一位小数

float b=5/2;

printf("%f\n",b); //2.000000

%取余 5%2==1 13%10=3

只能用于整数运算

练习:

1234 使用/ %分别表示 1 2 3 4

int a=1234;
printf("%d\n",a/1000);
printf("%d\n",a/100%10);
printf("%d\n",a/10%10);
printf("%d\n",a%10);

++

i++;//i=i+1;

独立成句

int a=6;

1)++a;

printf("%d\n",a); //7

  1. a++;

printf("%d\n",a); //7

赋值运算

int a=6;

1)int b=++a; //+ =

printf("%d %d\n",a,b);//7 7

2int b=a++; //= +

printf("%d %d\n",a,b);//7 6

打印语句

int a=6;

1)printf("%d\n",++a);//7

printf("%d\n",a);//7

2)printf("%d\n",a++);//6

printf("%d\n",a);//7

以下程序输出结果是(D)

#include <stdio.h>

int main(int argc, char *argv[])

{

        int a = 10;

        int b = ++a; //b=11 a=11

        int c = a + (b++); //c=11+11=22 b=12

        int d = b+c; //d=22+12=34

        printf("%d\n",d);

        return 0;

}

[单选题] *

A. d = 31

B. d = 32

C. d = 33

D. d = 34

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值