小端存储:地址低位存储数据低位,地址高位存储数据高位
大端存储:地址高位存储数据低位,地址低位存储数据高位
![](https://img-blog.csdnimg.cn/direct/b286c501156b4ee0a026b052a73321fe.png)
预处理---->编译---->汇编---->链接
预处理:展开头文件,替换宏,删除注释
格式gcc -E ***.c -o ***.i
编译:检查语法的正确性,生成汇编文件
格式gcc -S ***.i -o ***.s
汇编:把汇编文件转换二进制文件
格式gcc -c ***.s -o ***.o
链接:把二进制文件链接为可执行文件
格式gcc ***.o -o
运行./可执行文件
3.请回答文件剪切、赋值的指令,并说明/etc /usr /mnt分别表示什么意思?
文件指令:剪切mv 赋值cp
/etc:存放系统的所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等
/usr:用于存放用户安装的软件和文件的地方
/mnt:该目录通常用于作为被挂载的文件系统的挂载点
4.请问一下代码的输出结果是?
unsigned int i;
for(i=5;i>=0;i--)
{
printf(“hello\n”);
}
结果:
hello
hello
hello
hello
hello
......无限循环
5.请回答以下问题
1.定义一个有符号整型a赋值初始化为180
2.定义一个字符变量c
3.运算()大于++,所以先将a强制转换为char数据类型,再++
4.所以c=-75 a=181
5.定义一个字符变量d赋值初始化为4
6.定义一个短整型e
7.先算括号,之后算++d,之后++,之后=
8.所以d=6 e=5
6.设有以下语句:int a=3,b=6,c; c=a^b<<2; 则c的二进制值是
a 0000 0000 0000 0000 0000 0000 0000 0011
b 0000 0000 0000 0000 0000 0000 0000 0110
b<<2 0000 0000 0000 0000 0000 0000 0001 1000
a^b 0000 0000 0000 0000 0000 0000 0001 1011
7.请回答一下程序
1.定义一个整型变量a赋值初始化为3
2.a=a+(3!=3),首先()运算优先度最高,其次!=,在其次+,最后=
3.a=3
4.a=a*(++a+a),首先()运算符优先级最高,其次++,在其次+,在其次a* ,最后=
5.a=32
8.输入年月日,使用switch编程实现计算这是这一年的第几天?
Eg 输入:2024 4 1
输出:这是这一年的第92天
9.简述一下程序
1.定义一个整型变量x赋值初始化为5
2.while(x>0);后面加了分号,系统认为停止循环
10.请简述以下程序的区别
#include "stdio.h" 与 #include <stdio.h> 是两种常见的头文件包含方式,它们的主要区别在于文件路径的查找方式;
#include "stdio.h" : 当要调用某个函数时,先在用户自己编写的文件中查找,如果找不到再到库 文件里去查找;
#include <stdio.h> : 直接到库文件里去查找。
11.请简述以下程序的
1.定义一个整型变量n赋值初始化为0
2.又赋值n=1,n++
3.无限循环
12.请编程实现
13.请编程实现输出起始值到终止值之间的素数
14.请编程实现输出起始值到终止值之间的完美数
15.请变成实现图片打印
16.循环输入10个成绩,请计算最大值,最小值