编程基础刷题(一)

1.友元函数。友元函数是指某些虽然不是成员却能够访问类的所有成员的函数。友元函数说明在类体内,使用关键字friend。

2. 程序 输出结果: 6 5 4 4 

void Func( char str_arg[ 100 ])
{
    printf( "%d\n" , sizeof(str_arg));
}
int main( void )
{
     char str[] =  "Hello" ;
    printf( "%d\n" , sizeof(str));
    printf( "%d\n" , strlen(str));
     char *p = str;
    printf( "%d\n" , sizeof(p));
    Func(str);
}

解析:
sizeof和strlen()都可以用来统计字符串所占用的大小,二者的区别为:
1)sizeof是运算符,而strlen是函数;
2)strlen必须以char *作为参数,且必须以'\0'结尾;而sizeof()可以用于其他类型;
3)strlen统计字符串中字符的长度,不包括结尾的'\0';
4)数组做sizeof的参数不退化,而传递给strlen就变为指针
sizeof(str):占用的字节为5 + 1 = 6,其中1为末尾的'\0';
strlen(str):5
sizeof(p):计算的是指针的长度,32位机器上为4B
Func(str):传递的是指针,大小为4
3. 孤儿进程和僵尸进程

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。

僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。

如果进程不调用wait / waitpid的话,  那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害,应当避免。

孤儿进程是没有父进程的进程,孤儿进程这个重任就落到了init进程身上 ,init进程就好像是一个民政局,专门负责处理孤儿进程的善后工作。每当出现一个孤儿进程的时候,内核就把孤 儿进程的父进程设置为init,而init进程会循环地wait()它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束了其生命周期的时候,init进程就会代表党和政府出面处理它的一切善后工作。 因此孤儿进程并不会有什么危害。


4.浮点数表示:



5. S   为死锁的充分条件是当且仅当   S   状态的资源分配图是不可完全简化的。该充分条件称为   死锁 定理。
6.
   -rwxr-xr--  1 amrood   users 1024  Nov 2 00:10  myfile
drwxr-xr--- 1 amrood   users 1024  Nov 2 00:10  mydir
第一列就包含了文件或目录的权限。  

第一列的字符可以分为三组,每一组有三个,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x):
  • 第一组字符(2-4)表示文件所有者的权限,-rwxr-xr-- 表示所有者拥有读取(r)、写入(w)和执行(x)的权限。
  • 第二组字符(5-7)表示文件所属用户组的权限,-rwxr-xr-- 表示该组拥有读取(r)和执行(x)的权限,但没有写入权限。
  • 第三组字符(8-10)表示所有其他用户的权限,rwxr-xr-- 表示其他用户只能读取(r)文件。
  • + 增加文件或者目录的权限
  • -删除文件或目录的权限
  • =设置指定的权限
  • u stands for user.
  • g stands for group.
  • o stands for others.
  • a stands for all.
c  chmod a+x , g+w aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值