久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3018|回復: 20
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:668004 發表于 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);
}
當把這段程序本身作為輸入時,輸出結果為:
digits = 9 3 0 0 0 0 0 0 0 1, white space = 123, other = 345


學習中遇到很多問題如圖(做硬件的  剛學C)

51hei圖片20200721151721.png (158.08 KB, 下載次數: 53)

51hei圖片20200721151721.png

51hei圖片20200721153445.png (97.78 KB, 下載次數: 73)

51hei圖片20200721153445.png

51hei圖片20200721155238.png (102.98 KB, 下載次數: 60)

51hei圖片20200721155238.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

使用道具 舉報

板凳
ID:668004 發表于 2020-7-21 17:50 | 只看該作者
xxpp2011 發表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執行下面 ...

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

使用道具 舉報

地板
ID:668004 發表于 2020-7-21 17:51 | 只看該作者
xxpp2011 發表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執行下面 ...

還有那個自加1是為了干嘛?計算輸入內容的個數?
回復

使用道具 舉報

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

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

使用道具 舉報

6#
ID:668004 發表于 2020-7-21 18:30 | 只看該作者
xxpp2011 發表于 2020-7-21 17:56
圖2:
1、定義變量不一定要賦初值,可以在后面需要的時候賦值,定義變量時會分配對應長度的寄存器,初始值 ...

那&和&&在邏輯上有何不一樣?
回復

使用道具 舉報

7#
ID:668004 發表于 2020-7-21 18:33 | 只看該作者
xxpp2011 發表于 2020-7-21 17:56
圖2:
1、定義變量不一定要賦初值,可以在后面需要的時候賦值,定義變量時會分配對應長度的寄存器,初始值 ...

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

使用道具 舉報

8#
ID:452950 發表于 2020-7-21 18:45 | 只看該作者
QWE4562012 發表于 2020-7-21 18:33
不是有三個prinft嗎?分別輸出些什么東西?
怎么后面那個prinft括號里面有那么多變量

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

回復

使用道具 舉報

9#
ID:668004 發表于 2020-7-22 08:40 | 只看該作者
xxpp2011 發表于 2020-7-21 17:45
圖1:
1、賦值語句,從右往左運算
2、沒有輸出,if...eise if...else是條件選擇語句,滿足條件則執行下面 ...

非常感謝,我要好好看看
回復

使用道具 舉報

10#
ID:668004 發表于 2020-7-22 08:43 | 只看該作者
xxpp2011 發表于 2020-7-21 18:45
1、輸出什么你的圖例已經給答案了
2、怎么有那么多變量值打印?==>想輸出一百個變量都可以,沒有為什么 ...

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

使用道具 舉報

11#
ID:636538 發表于 2020-7-22 08:59 | 只看該作者
想讓第二prinft與第三prinft在同一行顯示,又想區分開,就用了一個逗號,你運行一下不就知道啦
回復

使用道具 舉報

12#
ID:636538 發表于 2020-7-22 09:01 | 只看該作者
'0'是字符不是數0對應碼表可以查詢,樓主你好好補補C的基礎知識
回復

使用道具 舉報

13#
ID:668004 發表于 2020-7-22 09:10 | 只看該作者
xxpp2011 發表于 2020-7-21 18:45
1、輸出什么你的圖例已經給答案了
2、怎么有那么多變量值打印?==>想輸出一百個變量都可以,沒有為什么 ...

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

使用道具 舉報

14#
ID:668004 發表于 2020-7-22 09:11 | 只看該作者
SKYLAR123 發表于 2020-7-22 08:59
想讓第二prinft與第三prinft在同一行顯示,又想區分開,就用了一個逗號,你運行一下不就知道啦

我用的是keil  學的是單片機C語言
回復

使用道具 舉報

15#
ID:668004 發表于 2020-7-22 09:44 | 只看該作者
SKYLAR123 發表于 2020-7-22 09:01
'0'是字符不是數0對應碼表可以查詢,樓主你好好補補C的基礎知識

現在就是在學基礎啊  
回復

使用道具 舉報

16#
ID:668004 發表于 2020-7-22 09:50 | 只看該作者
SKYLAR123 發表于 2020-7-22 08:59
想讓第二prinft與第三prinft在同一行顯示,又想區分開,就用了一個逗號,你運行一下不就知道啦

同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號

51hei圖片20200722094734.jpg (26.38 KB, 下載次數: 61)

51hei圖片20200722094734.jpg
回復

使用道具 舉報

17#
ID:636538 發表于 2020-7-22 10:45 | 只看該作者
本帖最后由 SKYLAR123 于 2020-7-22 11:43 編輯
QWE4562012 發表于 2020-7-22 09:50
同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號

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

使用道具 舉報

18#
ID:636538 發表于 2020-7-22 10:51 | 只看該作者
QWE4562012 發表于 2020-7-22 09:50
同一行顯示?那為什么第二個prinft()括號里面第一個不是逗號

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

使用道具 舉報

19#
ID:668004 發表于 2020-7-22 11:11 | 只看該作者
SKYLAR123 發表于 2020-7-22 10:45
那好好給你解釋一下printf("digits =");輸出的是digits =
for (i = 0; i < 10; ++i)
                printf(" %d", n ...

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

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

使用道具 舉報

20#
ID:636538 發表于 2020-7-22 11:28 | 只看該作者
QWE4562012 發表于 2020-7-22 11:11
1.沒有雙引號 輸出的是文本?不是 字符本身?

2.這個打印函數括號里面是不是有個對應的關系,比如prin ...

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

使用道具 舉報

21#
ID:668004 發表于 2020-7-24 08:57 | 只看該作者
SKYLAR123 發表于 2020-7-22 11:28
求你看看書,再問吧,糾結的點沒有意義。我想表達就是你想要什么效果就輸出什么,雙引號內加入逗號,或者 ...

我就是在看書啊  經常卡住啊  
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄片毛片 | 一级黄色短片 | 欧美激情久久久 | 欧美精品99 | 日美女逼逼 | 国产高清免费 | 久久99国产精一区二区三区 | 91麻豆精品国产91久久久久久 | 91精品国产91久久久久游泳池 | av影音资源 | 曰韩三级 | 天天爱天天操 | 毛片综合 | 久久久青草婷婷精品综合日韩 | 久草日韩| 91麻豆蜜桃一区二区三区 | 亚洲欧美视频 | 国产一区精品在线 | 找个黄色片 | 男人天堂视频在线观看 | 免费看国产片在线观看 | 日韩精品免费在线观看 | 国产午夜精品视频 | 亚洲精品久久久久久国产精华液 | 国产精品久久久久久久久久三级 | 特级生活片 | 日韩欧美一级精品久久 | 免费观看的av毛片的网站 | 丝袜美腿一区 | 日韩一区精品 | 国产在线一区二 | 欧美日韩在线免费观看 | 91婷婷韩国欧美一区二区 | 91免费小视频 | 国产黄色网址在线观看 | 欧美综合在线视频 | 欧美日韩电影在线 | 欧美成人一区二区三区 | 国产乱码精品一区二区三区五月婷 | 国产成人久久精品 | 国产黄色免费网站 |