1. 0xFF bit5 清0 0x80 bit2 置1
0XFF --> 0X1111 1111 & 1101 1111
0X80 --> 0X1000 0000 | 0X1000 0100
2.
2.1.定义一个整数
int a
2.2.定义一个指向整数的指针
int* p
2.3.定义一个指向指针的指针,它指向的指针指向一个整形数
int* *p
2.4.一个有10个整形数的数组
int arr[10]
2.5.一个有10个指针的数组;该指针指向一个整形数:
int *p[10]
2.6.一个指向有10个整形数数组的指针
int (*p)[10]
3.写出程序输出
#include "stdio.h"
int a = 180;
int b;
static char c;
int main(int argc, char *argv[])
{
char d = 4;
static short e;
a++;
c = (char)++a;
e = (++d)++;
printf("a=%d, b=%d, c=%d, d=%d, e=%d",a,b,c,d,e);
return 0;
}
a=182 b=0 c=-74 d=6 e=5
4.写出程序输出
int main()
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
memcpy(a+3, a, 5);
for(int i=0; i<10; i++)
{
printf("%d",a[i]);
}
return 0;
}
0 1 2 0 1 2 3 4 5
5. 对于整形变量A = 0x87654321,请画出 little endian 及 big endian的方式下在内存中是如何存储 的?
little endian 低字节在前,高字节在后
21 43 65 87
big endian 高字节在前,低字节在后
87 65 43 21
6. 请问以下代码有什么问题
int main()
{
char a;
char *str = &a;
strcpy(str, "hello");
printf(str);
return 0;
}
a是单个字符变量,无法接受"hello"
printf(str)--> printf("%s",str)
7.将字符串“helloworld”倒叙编程输出
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "helloworld";
int len = strlen(str);
for (int i = len; i > 0; i--) {
printf("%c", str[i - 1]);
}
return 0;
}
8. 写一个函数和,可以将CPU占有率保持在100%
9. 简述linux目录结构中 /usr 、/etc、/dev目录的作用
/user :默认软件都会存在该目录下。用于存储只读用户的第二层次,包含绝大多数的用户工具和应用程序
/tec:特定主机系统范围内的配置文件
/dev:设备文件,任何设备与接口设备都是以文件形式存储在这个目录的。