找到 C 語言程式的結果,,,從 VC 執行它不斷迴圈......

發布 科技 2024-04-02
20個回答
  1. 匿名使用者2024-01-27

    它在書中寫錯了。

    無限迴圈的原因是 j 被定義為無符號字元,所以它總是正數,而 for 迴圈不能跳出來,所以將 j 定義為 char 就足夠了,而不是 char。

    但結果不是預期的10111,還是需要放的。

    y<<=1;

    相反。 y>>=1;

    顯然,需要右移才能把握住每一點。

    只需修改這兩個地方即可。

  2. 匿名使用者2024-01-26

    變數 j 0 255 的範圍始終大於 0

    j 定義為 char

    修改後的程式。

    #include

    void main()

    unsigned char y=23,i=0,a[8];

    char j;

    doa[i]=y&1;

    i++;y<<=1;

    while(y>=1);

    for(j=i-1;j>=0;j--)

    printf("%d",a[j]);

    printf("");

  3. 匿名使用者2024-01-25

    您可以獲得您要求的結果!

    #include

    void main()

    unsigned char y=23,i=0,a[8];

    int j;改變! 改變! 改變! 改變! 改變! 改變! 改變! 改變! 改變!

    doa[i]=y&1;

    i++;y>>=1;改變! 改變! 改變! 改變! 改變! 改變! 改變! 改變!

    while(y>=1);

    for(j=i-1;j>=0;j--)

    printf("%d",a[j]);

    printf("");

  4. 匿名使用者2024-01-24

    1.首先,開啟我們的VC++程式設計軟體,點選左上角的“檔案”選單,選擇“新建”。

    3. 然後,填寫專案名稱以及建立位置,然後單擊“確定”按鈕。

    4. 接下來,在專案型別中選擇“空專案”,然後單擊“完成”按鈕。

    5.然後,會出現乙個專案資訊提示框,我們只需要點選“確定”按鈕即可。

    6. 建立專案後,單擊“檔案”選單,然後選擇“新建”按鈕。

    7. 在新專案中選擇建立 C++ 原始檔。

    8. 然後,填寫我們原始檔的檔名,點選“確定”按鈕(這裡的檔名可以與專案名稱不同)。

    9. 然後,我們可以編寫程式的**。

    10. 編寫程式後**。

    11. 單擊工具欄中的“編譯”按鈕以編譯程式。

    12. 提示“0 個錯誤,0 個警告”。

    13. 單擊工具欄中的“鏈結”按鈕以建立我們的 C 程式。

    14. 通過這種方式,我們成功地建立了我們的 C 語言程式。

  5. 匿名使用者2024-01-23

    首先開啟它,在裡面建立乙個新的C++檔案,寫上名字,進去編碼

  6. 匿名使用者2024-01-22

    來源** > 預處理>編譯 >優化 >編譯>鏈結 -->可執行檔案。

  7. 匿名使用者2024-01-21

    沒有迴圈體? 後來“; “這是乙個迴圈,只是乙個語句,但沒有”{}”。

    A 過了一會兒有乙個; ,後跟 --x 而不執行將導致無限迴圈。

    x=5 in 而 in b 始終為真,因此這將是乙個無限迴圈。

    每次在 c 中新增 x++ 時,x- 在迴圈中再次減小,因此條件 x<10 始終為真,並且將處於無限迴圈中。

    在 d 中,do 在前面,會先在迴圈中執行一次,然後確定條件,所以當 ++x 和 x 到 101 中條件不滿足時,迴圈就會退出。

    因此,選擇了 D。

  8. 匿名使用者2024-01-20

    d 不是乙個無限迴圈。

    而(滿足條件)。

    因此 a while(x) ; 由於 x 從不等於 0,因此迴圈部分中沒有對 x 值執行任務操作。

    b while(x =5) ;x = 5 的條件始終為真,所以這是乙個賦值操作,結果肯定是賦值成功。

    c 在 for 語句中,即 for x++ 和 for x-- 所以 x 的值始終為 0,並且始終滿足 x<10 的條件。

  9. 匿名使用者2024-01-19

    我不認為 d 會形成乙個無休止的迴圈。

    A:x 初始化為 10

    while(x);它正在執行乙個無限迴圈(當 x 為 true 時執行乙個空語句),並且 b:x 初始化為 10

    while(x=5);x=5 是將 x 賦值為 5,則為真。 因此,執行 while 空語句。

    所以無休止的迴圈。

    c:在for語句中,x被初始化為0,然後在迴圈體中,x的值在0到1之間不斷跳躍,始終滿足for語句的條件,所以一直處於無限迴圈中。

    d:x 初始化為 100

    做一次 ++x,然後 x 的值是 101

    但是它不符合while條件判斷,所以它退出了。

    所以它不會形成乙個無休止的迴圈!

  10. 匿名使用者2024-01-18

    迴圈是乙個語句,如果想跟上多個語句的步伐,必須將 {} 括起來形成復合語句,但符合的語句在語法上仍然是乙個語句,所以乙個迴圈只能是乙個語句,而 C 中的空語句就是乙個";"這也是乙個可以用作迴圈的語句,但它什麼也做不了!

  11. 匿名使用者2024-01-17

    a)int x=10;

    while(x);-x;

    while(x);是 while(10); 在 c 中,該值被轉換為邏輯值,非 0 是邏輯 1,因此迴圈是無窮無盡的。

    b)int x=10;

    while(x=5);

    同上,無限迴圈。

    c)int x; for (x=0;x<10;x++)x--;

    執行乙個 x 值不變的迴圈,即無限迴圈。

    d)int x=100;

    do while (x>=1000);

    這不是乙個無休止的迴圈。

  12. 匿名使用者2024-01-16

    問題 7 中有錯誤。 輸出應為 printf("%s",p);而不是 *p。 匯出帶有 %s 的 *p 將崩潰。

    要用 p 計算答案,迴圈條件是 p 分別輸出 9876 和 876

    由於輸出中沒有空格或換行符,因此答案應該是。

    問題 8,在迴圈中,當 i%2 不為 0 時,集合為星號。 即 i=1 3 5 7

    所以輸出是:

  13. 匿名使用者2024-01-15

    數 1 到 9 個偶數和奇數。

  14. 匿名使用者2024-01-14

    首先,迴圈 i = 1、2、3、4、5、6、7、8、9 共 9 次。

    當 i==2,4,6,8 if 條件為 true 時,執行 a++,所以 a=4; 然後,continue 表示新迴圈的開始,此時 b++ 不執行;

    僅當 i==1,3,5,7,9 且 if 條件不為真時,b++ 才會執行 5 次。

    因此 a=4,b=5答案是b

  15. 匿名使用者2024-01-13

    迴圈體是乙個do-while迴圈,在執行乙個語句的時候,第一次是先輸入do{},然後執行該語句,第乙個迴圈:a+=2; ,這句話的結果是 a 被重新分配給 (10+2=12); 「x+=a;,這句話的結果是 x 被重新賦值為 (0+12=12); if(x>50) 為 false,並且不執行 break; 」;while(a=14);有兩個過程,首先,變數 a 被重新賦值給 14,其次,表示式 a=14 被平滑執行,然後結果是 true,所以 while 迴圈繼續。

    第二週期:a+=2; ,這句話的結果是 a 被重新賦值為 (14+2=16); 「x+=a;,這句話的結果是x被重新分配給(12+16=28); if(x>50) 為 false,並且不執行 break; 」;while(a=14);有兩個過程,首先,變數 a 被重新賦值給 14,其次,表示式 a=14 被平滑執行,然後結果是 true,所以 while 迴圈繼續。

    第三週期:a+=2; ,這句話的結果是 a 被重新賦值為 (14+2=16); 「x+=a;,這句話的結果是 x 被重新分配給 (28+16=44); if(x>50) 為 false,並且不執行 break; 」;while(a=14);有兩個過程,首先,變數 a 被重新賦值給 14,其次,表示式 a=14 被平滑執行,然後結果是 true,所以 while 迴圈繼續。

    第 4 個週期:a+=2; ,這句話的結果是 a 被重新賦值為 (14+2=16); 「x+=a;,這句話的結果是 x 被重新分配給 (44+16=60); if(x>50) 為 true 並中斷; ,所以跳出迴圈。

    輸出變數 a 和 x 的值,即 a=16 x=60。

  16. 匿名使用者2024-01-12

    你無法清楚地閱讀你的 **6 或 7 行。

  17. 匿名使用者2024-01-11

    這不是將十進位數轉換為二進位數的演算法嗎? 當 64 轉換為二進位時,它是 1000000。

  18. 匿名使用者2024-01-10

    當 a=2 時,c = 2%2 = 0

    a = 2/ 2 = 1.

    b[i] = 0.

    當 a = 1 時,c = 1%2 = 1

    a = 1/2 = 0

    週期結束。 最後一位數字是 1

  19. 匿名使用者2024-01-09

    你錯的原因是,在第一步中,當 i=0 時,a=0 為真,但 b=0 1 應該等於 1,你寫 b=0,這導致少乙個 1

  20. 匿名使用者2024-01-08

    迴圈執行後。

    a=0+2+4+6+8+10=30

    b=1+3+5+7+9+11=36

    當你數 b 時,你從 1+3 開始,你數 0+3。

相關回答
15個回答2024-04-02

問題 1:main()。

int a,b,c,t; >>>More

18個回答2024-04-02

首先,我會明確地告訴你,選項 c 是正確的,選項 A strcpy 是乙個字串複製函式,它可以將字串 “China” 複製到字元陣列 str2 中並覆蓋 str1 中的 “beijing”,選項 c strcat 是乙個字串連線函式,可以將 “China” 連線到“beijng”的後面。 因此,C. >>>More

2個回答2024-04-02

總結。 kiss 程式的輸出是:“ababa”。

在程式中定義乙個字元陣列 a,並初始化為"ababa"。在 main 函式中,呼叫函式 f(&a[1]),即將 a[1] 的位址傳遞給函式 f,p 指向 a 陣列中第二個字元“b”的位址。 然後,在函式 F 中,使用 for 迴圈將字串(即字元陣列)P 遍歷到字串,並使用 if 語句確定它是否為小寫字母,如果是,則從字元的 ASCII 程式碼中減去 32 以將其轉換為相應的大寫字母。 >>>More

5個回答2024-04-02

樓上的那個不完美,沒有考慮到最多可能有兩個以上的情況,程式如下: 包括 >>>More

18個回答2024-04-02

總結。 答案是 b,輸出是 x=8。 該過程按如下方式執行: >>>More