欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3487|回復(fù): 20
收起左側(cè)

C語言學(xué)習(xí)中遇到很多問題如圖(做硬件的 剛學(xué))

[復(fù)制鏈接]
ID:668004 發(fā)表于 2020-7-21 16:38 | 顯示全部樓層 |閱讀模式
#include <stdio.h>
/* count digits, white space, others */
main()
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[ i] = 0;[ i]
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[ i]);[ i]
printf(", white space = %d, other = %d\n",
nwhite, nother);
}
當(dāng)把這段程序本身作為輸入時,輸出結(jié)果為:
digits = 9 3 0 0 0 0 0 0 0 1, white space = 123, other = 345


學(xué)習(xí)中遇到很多問題如圖(做硬件的  剛學(xué)C)
51hei圖片20200721151721.png
51hei圖片20200721153445.png
51hei圖片20200721155238.png
回復(fù)

使用道具 舉報

ID:452950 發(fā)表于 2020-7-21 17:45 | 顯示全部樓層
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執(zhí)行下面{}中的語句,只有一句可以省略大括號。||是或,幾個條件||并列時滿足一個就可以
3、++i;單獨一行時與i=i+1;i++差不多,在有些情況下不一樣,如for(i=0;i<5;i++){;}是先循環(huán)一次再加一,for(i=0;i<5;++i){;}是先加一,再進行循環(huán)
4、printf是輸出語句,%d是占位符, %是引導(dǎo)符,d表示十進制整數(shù)的形式輸出,實際輸出的是后面對應(yīng)位置的變量的數(shù)值,根據(jù)前面的運算得到結(jié)果
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-21 17:50 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執(zhí)行下面 ...

printf后面括號里面怎么有那么多變量值打印
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-21 17:51 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執(zhí)行下面 ...

還有那個自加1是為了干嘛?計算輸入內(nèi)容的個數(shù)?
回復(fù)

使用道具 舉報

ID:452950 發(fā)表于 2020-7-21 17:56 | 顯示全部樓層
圖2:
1、定義變量不一定要賦初值,可以在后面需要的時候賦值,定義變量時會分配對應(yīng)長度的寄存器,初始值通常為不確定值(有的初值為0)
2、&&為與,選擇語句中兩個條件&&并列時需要都滿足才執(zhí)行下面的語句,運算符有>=和<=和=,沒有=>或=<
3、和經(jīng)驗+3一樣沒什么目的,只是為了讓你算

圖3:
printf語句“”里面的其他字符按原樣輸出,%d替換成以十進制整數(shù)輸出的對應(yīng)變量數(shù)值
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-21 18:30 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 17:56
圖2:
1、定義變量不一定要賦初值,可以在后面需要的時候賦值,定義變量時會分配對應(yīng)長度的寄存器,初始值 ...

那&和&&在邏輯上有何不一樣?
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-21 18:33 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 17:56
圖2:
1、定義變量不一定要賦初值,可以在后面需要的時候賦值,定義變量時會分配對應(yīng)長度的寄存器,初始值 ...

不是有三個prinft嗎?分別輸出些什么東西?
怎么后面那個prinft括號里面有那么多變量
回復(fù)

使用道具 舉報

ID:452950 發(fā)表于 2020-7-21 18:45 | 顯示全部樓層
QWE4562012 發(fā)表于 2020-7-21 18:33
不是有三個prinft嗎?分別輸出些什么東西?
怎么后面那個prinft括號里面有那么多變量

1、輸出什么你的圖例已經(jīng)給答案了
2、怎么有那么多變量值打印?==>想輸出一百個變量都可以,沒有為什么,占位符按順序與后面的變量對應(yīng)
3、&是兩個變量按位相與,&&是兩個表達(dá)式的真假同時為真則為真
4、基本概念還是要看書的,或者看視頻,沒有編程基礎(chǔ)直接接觸例程怎么學(xué)

回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 08:40 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執(zhí)行下面 ...

非常感謝,我要好好看看
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 08:43 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 18:45
1、輸出什么你的圖例已經(jīng)給答案了
2、怎么有那么多變量值打印?==>想輸出一百個變量都可以,沒有為什么 ...

在看C程序設(shè)計語言這本書。。這個就是打基礎(chǔ)的  第三個prinft怎么一來就一個逗號?為什么第二個prinft一來沒有逗號
回復(fù)

使用道具 舉報

ID:636538 發(fā)表于 2020-7-22 08:59 | 顯示全部樓層
想讓第二prinft與第三prinft在同一行顯示,又想?yún)^(qū)分開,就用了一個逗號,你運行一下不就知道啦
回復(fù)

使用道具 舉報

ID:636538 發(fā)表于 2020-7-22 09:01 | 顯示全部樓層
'0'是字符不是數(shù)0對應(yīng)碼表可以查詢,樓主你好好補補C的基礎(chǔ)知識
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 09:10 | 顯示全部樓層
xxpp2011 發(fā)表于 2020-7-21 18:45
1、輸出什么你的圖例已經(jīng)給答案了
2、怎么有那么多變量值打印?==>想輸出一百個變量都可以,沒有為什么 ...

printf(", white space = %d, other = %d\n",------------------------這里怎么一來有逗號?而前面沒有參數(shù)
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 09:11 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-22 08:59
想讓第二prinft與第三prinft在同一行顯示,又想?yún)^(qū)分開,就用了一個逗號,你運行一下不就知道啦

我用的是keil  學(xué)的是單片機C語言
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 09:44 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-22 09:01
'0'是字符不是數(shù)0對應(yīng)碼表可以查詢,樓主你好好補補C的基礎(chǔ)知識

現(xiàn)在就是在學(xué)基礎(chǔ)啊  
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 09:50 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-22 08:59
想讓第二prinft與第三prinft在同一行顯示,又想?yún)^(qū)分開,就用了一個逗號,你運行一下不就知道啦

同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號
51hei圖片20200722094734.jpg
回復(fù)

使用道具 舉報

ID:636538 發(fā)表于 2020-7-22 10:45 | 顯示全部樓層
本帖最后由 SKYLAR123 于 2020-7-22 11:43 編輯
QWE4562012 發(fā)表于 2020-7-22 09:50
同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號

printf("digits =");輸出的是digits
回復(fù)

使用道具 舉報

ID:636538 發(fā)表于 2020-7-22 10:51 | 顯示全部樓層
QWE4562012 發(fā)表于 2020-7-22 09:50
同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號

就是這種運行,然后你就可以去掉逗號試試效果,
%d后面加上\t或者\n
這種程序各種效果多嘗試就理解了;你要補充的C的基礎(chǔ)知識例如字符、進制、printf()的輸出格式,通常這個是在一本書的最前面,再好好看看吧
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-22 11:11 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-22 10:45
那好好給你解釋一下printf("digits =");輸出的是digits =
for (i = 0; i < 10; ++i)
                printf(" %d", n ...

1.沒有雙引號 輸出的是文本?不是 字符本身?

2.這個打印函數(shù)括號里面是不是有個對應(yīng)的關(guān)系,比如prinft(小紅,小黑,小白,100,200,300)
那小紅=100,小黑=200,小白=300?輸出之間有沒有逗號或者空格?
回復(fù)

使用道具 舉報

ID:636538 發(fā)表于 2020-7-22 11:28 | 顯示全部樓層
QWE4562012 發(fā)表于 2020-7-22 11:11
1.沒有雙引號 輸出的是文本?不是 字符本身?

2.這個打印函數(shù)括號里面是不是有個對應(yīng)的關(guān)系,比如prin ...

求你看看書,再問吧,糾結(jié)的點沒有意義。我想表達(dá)就是你想要什么效果就輸出什么,雙引號內(nèi)加入逗號,或者空格的目的是什么,就是對應(yīng)關(guān)系,或者表述有問題,是字符,你運行printf,你想要問什么,就去隨意運行,自己嘗試啊,不行看看書上有什么規(guī)定。
向這種看似一頓操作感覺很用功,但是你沒有試過就來問,好像有點不好,就像這個逗號問的,你試試不就知道
回復(fù)

使用道具 舉報

ID:668004 發(fā)表于 2020-7-24 08:57 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-22 11:28
求你看看書,再問吧,糾結(jié)的點沒有意義。我想表達(dá)就是你想要什么效果就輸出什么,雙引號內(nèi)加入逗號,或者 ...

我就是在看書啊  經(jīng)常卡住啊  
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表