1. 程式人生 > >程式設計基礎刷題(一)

程式設計基礎刷題(一)

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

相關推薦

程式設計基礎

1.友元函式。友元函式是指某些雖然不是類成員卻能夠訪問類的所有成員的函式。友元函式說明在類體內,使用關鍵字friend。 2. 程式 輸出結果: 6 5 4 4  void Func(char st

Java

tinc abc 不同的 bsp for take collect long 區別 Codewars 刷題第一天,字符串問題: 題目: Take 2 strings s1 and s2 including only letters from ato z.

牛客網 從尾到頭列印連結串列

  輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { s

牛客網型別轉換

目錄 一:布林值轉換:  ([])?ture:false; 給出如上程式碼,判斷輸出‘ 有一下特例轉換為false,其它均轉化為true; 1)string:''轉化為false 2)number:0轉化為false 3)物件:  為null時,轉化為

《Python網路程式設計基礎》筆記----底層網路

注:想學點Python。找了本《Python網路程式設計基礎》來學習,用Pydev在MyEclipse搭建好,然後照著書裡的程式碼實踐一番。 作者用的而是2.x版本的,Python2.x和3.x是不相容的,因此要在3.x上跑程式碼,還是要改進一些,順帶了解二者的區別。

WeChall

Training:Get Sourced 右鍵,檢視原始碼,拉到最下方出現:

演算法十八:搜狗19年校招程式設計——找區間

注:筆試時並沒有AC,線下修改後可以輸出示例結果。 問題:從一個序列中找出所有包含全部數字的最小索引區間,若有多個則按出現的順序輸出。 輸入輸出示例: 輸入:1 1 3 4 6 6 5 1 1 3 3 輸出:[2,7] [3,8] [4,9] 分析:先用一個list

Python 入門程式設計答案

Python 入門程式設計題:1~10(答案) 提示:最好還是先思考,先編寫,再看答案哦 ^_^ 1. for i in range(1, 5): for j in range(1,5): for k in range(1, 5): if i != j and j!= k

Python 入門程式設計

Python 入門程式設計題:1~10 本系列部落格都是一些比較簡單的題目,適合新手,因為我就是新手~非常歡迎大家一起討論,讓我們一起進步! 1、題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少? 程式分析:可填在百位、十位、個位的數字都是

leecode5-- 只出現次的數字

leecode刷題(5)-- 只出現一次的數字 只出現一次的數字 描述: 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例: 輸入: [4,1,2,1,2

leecode7-- 加

leecode刷題(7)-- 加一 加一 描述: 給定一個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。 最高位數字存放在陣列的首位, 陣列中每個元素只儲存一個數字。 你可以假設除了整數 0 之外,這個整數不會以零開頭。 示例1: 輸入: [1,2,3] 輸出: [1,2,4]

華為機試程式設計

        2019年華為校園招聘已經開啟,筆試也在如火如荼的進行中,研發崗位的小夥伴們免不了要參加華為的機試,那麼小編就來分享一下往年華為機試的題目。 1、字串最後一個單詞的長度 題目描述:計算字串最後一個單詞的長度,單詞以空格隔開 輸入描述:一行字串,非空,長度

梳理一些簡單的程式設計

1. 找出元素item在給定陣列arr中的位置 function indexOf(arr,item) { if(Array.prototype.indexOf){ return arr.indexOf(

買帽子——百度2017春招筆試真程式設計

題目描述: 度度熊想去商場買一頂帽子,商場裡有N頂帽子,有些帽子的價格可能相同。度度熊想買一頂價格第三便宜的帽子,問第三便宜的帽子價格是多少? 輸入描述: 首先輸入一個正整數N(N

2018網易內推筆試程式設計

萌新最近做了一下2018網易的內推程式設計題集合,要求3個小時解決八道程式設計題,本萌新兩個小時做了6道題,剩下兩道題直接放棄了,感覺難度不大,沒有具體涉及到什麼演算法,除了動態規劃。 下面對做題的思路以及過程做一個簡單的記錄: 1.彩色的磚塊: 一

C#程式設計教程程式設計

(1)設計一個程式,輸出所有的水仙花數。所謂水仙花數,是指一個三位整數,其各位數字的立方等於該數的本身。 程式碼如下: using System; using System.Collections.Generic; using System.Linq; using Syst

TCP/IP網路程式設計 課後第一章

3)Linux中,對套接字資料進行I/O時可以直接使用檔案I/O的相關函式;而在Windows則不可以。原因? 答案:在Linux世界裡,socket也被認為是檔案的一種。而Windows與Linux不同,,是要區分socket和檔案的。 4)建立套

C++ 基礎

輸入格式: Xi’an Institute of Posts and Telecommunications is co-designed and implemented by the People’s Government of Shaanxi Province and th

JAVA基礎實例

actor oid 其它 返回 prime i++ con bsp factorial 1寫一個方法,用一個for循環打印九九乘法表 /** *一個for循環打印九九乘法表 */ public void nineNineMultiTable() { for

Linux基礎學習系列

內核版本 比較 其中 問題 測試版 工具 含義 語言 復制   Linux是一種類似於UNIX的操作系統,由Linus Torvalds於1991年在minix操作系統的基礎創建。Linux憑借其優良特性已經成為目前發展潛力最大的操作系統。   Linux的版本有內核版本和