1. 0xFF bit5 清0 0x80 bit2 置1
0xFF & ~(1<<5) 0x80 | 0x01<<2 |
2. 定义一个整数
Int a; |
定义一个指向整数的指针:
int a;
int *p = &a;
定义一个指向指针的指针,它指向的指针指向一个整形数
int a, *p = &a, **p1 = &p; |
一个有10个整形数的数组:
Int a[10] = {0}; |
一个有10个指针的数组;该指针指向一个整形数:
Int * a[10]; |
一个指向有10个整形数数组的指针
Int (*a)[10]; |
#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;
int main()
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
memcpy(a+3, a, 5);//5字节
for(int i=0; i<10; i++)
{
printf("%d",a[i]);
}
return 0;
}
写出程序输出: 0120156789
5. 对于整形变量A = 0x87654321,请画出 little endian 及 big endian的方式下在内存中是如何存储 的?
big endian 地址由低到高:87654321 little endian 地址有低到高:12345678 |
6. 请问以下代码有什么问题
int main() { char a; char *str = &a; strcpy(str, "hello"); printf(str); return 0; } |
char a------->char a[20] |
char *str = &a --------->char *str = a; |
printf(str)------>printf(“%s\n”,str): |
7. 将字符串“helloworld”倒叙编程输出
#include <stdio.h> #include <string.h> int main(int argc, char const *argv[]) { char *s = "helloworld"; int i = strlen(s)-1; for(; i >= 0; i--) printf("%c", *(s+i)); putchar(10); return 0; } |
8. 写一个函数和,可以将CPU占有率保持在100%;
#include <stdio.h> Int main() { { ; } } |
9. 简述linux目录结构中 /usr 、/etc、/dev目录的作用
/usr:默认软件都会存于该目录,用于存储只读用户数据的第二层,包含绝大多数用户工具和应用程序 /etc:特定主机系统的配置文件 /dev:设备文件,任何设备和接口设备都是以文件的形式存放与该目录 |