1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> ROB:すべての権利。 3 00:00:13,870 --> 00:00:16,770 最初のセクションにようこそ。 4 00:00:16,770 --> 00:00:17,480 私はロブだ。 5 00:00:17,480 --> 00:00:18,806 >> ジョセフ:私はジョセフです。 6 00:00:18,806 --> 00:00:21,540 >> ROB:だから我々は正しいインチ飛び込むよ 7 00:00:21,540 --> 00:00:23,420 話を最初にすること アプライアンスです。 8 00:00:23,420 --> 00:00:27,150 ので、うまくいけば、あなたのほとんどが持っている すでにそれをダウンロードしました。 9 00:00:27,150 --> 00:00:37,180 しかし、あなたは説明書を見ることができます cs50.net/applianceで。 10 00:00:37,180 --> 00:00:38,430 神ああ、今私は自意識だ。 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 私はまだそれを聞く。 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH:うわー、それはのように聞こえる それは混乱です。 14 00:00:47,232 --> 00:00:52,460 >> ROB:だから何人かの人々が抱えている これで問題は、そうなるまで待っていない 15 00:00:52,460 --> 00:00:54,940 に設定し、問題の最後の分 試してみて、アプライアンスを解決し、 16 00:00:54,940 --> 00:00:56,320 それが動作していないかを判断するための。 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH:そして何かが動作していない場合は、 そしてあなたがに行くことができ、助けを必要とする 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussionたち あなたのフォーラムを持っている 19 00:01:03,390 --> 00:01:04,110 あなたの質問を投稿することができます。 20 00:01:04,110 --> 00:01:06,655 そして、我々は最終的に彼らに取得します。 21 00:01:06,655 --> 00:01:07,490 >> ROB:すべての権利。 22 00:01:07,490 --> 00:01:12,180 だから、これはどのようなアプライアンスです のように見えます。 23 00:01:12,180 --> 00:01:15,480 繰り返しますが、それだけで完全に分離します オペレーティングシステムは、内で実行されている 24 00:01:15,480 --> 00:01:19,440 どのようなオペレーティングシステムの使用 あなたのラップトップ上で実行されている。 25 00:01:19,440 --> 00:01:24,450 そして、あなたであろう主な対象 使用しているgeditのです。 26 00:01:24,450 --> 00:01:28,050 だから、うまくいけば、これはすでに おなじみのサイトに。 27 00:01:28,050 --> 00:01:29,470 ターミナル。 28 00:01:29,470 --> 00:01:31,890 >> そして、あなたはまたChromeを実行することができます アプライアンス内。 29 00:01:31,890 --> 00:01:33,860 人々のカップルがあった インターネットを報告している人 30 00:01:33,860 --> 00:01:35,390 アプライアンスでは動作しません。 31 00:01:35,390 --> 00:01:38,090 そのうちのいくつかは、単に仮定しています があると想定されていないことを 32 00:01:38,090 --> 00:01:39,190 アプライアンスでのインターネット。 33 00:01:39,190 --> 00:01:40,750 しかし、はい、そこに想定されている インターネットであると。 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> 私は今それを言うだろうが、それはしていません 本当に何を意味している。 36 00:01:46,410 --> 00:01:50,680 インターネットは機能していない場合は、 これはあなたが必要とする傾向があるものです 37 00:01:50,680 --> 00:01:52,180 それを修正するために実行する。 38 00:01:52,180 --> 00:01:55,602 あなたは、インターネット上の問題がある場合は、しないで それを覚えて、それを上に掲示 39 00:01:55,602 --> 00:01:57,560 議論し、我々はそれを実行する、と言うでしょう。 40 00:01:57,560 --> 00:02:00,420 しかし、インターネットが機能する必要があります。 41 00:02:00,420 --> 00:02:06,650 >> だから、唯一の他の事 - ええ、何もしない それ以外は本当に関連しています。 42 00:02:06,650 --> 00:02:08,979 しかし、私はちょうどそれを指摘したかった - 43 00:02:08,979 --> 00:02:13,290 この右下隅に表示されます。 44 00:02:13,290 --> 00:02:16,530 だからあなたの電気器具の各々がすべき IPアドレスを持っている。 45 00:02:16,530 --> 00:02:22,350 そして、後学期は、このIP アドレスは、より関連性の高いになるとき 46 00:02:22,350 --> 00:02:27,230 あなたは、ウェブP-セットで作業しているので、 あなたがアクセスできるようになります 47 00:02:27,230 --> 00:02:32,310 ウェブサイトあなたから取り組んでいる このIPアドレスを使用して、ローカルクローム。 48 00:02:32,310 --> 00:02:35,400 >> しかし、私がIPアドレスを使用するようにしたい のための - そしてあなたがこれを行う必要はありません、私は 49 00:02:35,400 --> 00:02:37,460 それを指摘しておきたい - 50 00:02:37,460 --> 00:02:39,540 ここにある。 51 00:02:39,540 --> 00:02:42,910 だから、これは上のターミナルウィンドウで 私のMacは、これがされていない 52 00:02:42,910 --> 00:02:44,580 すべてのアプライアンス。 53 00:02:44,580 --> 00:02:47,190 そして、あなたは何を調べることができます このコマンドはありません。 54 00:02:47,190 --> 00:02:51,855 しかし、私は直接、SSHに行くよ 私のアプライアンスに。 55 00:02:51,855 --> 00:02:53,410 私はIPが何であるかを知らない。 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH:168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0。 58 00:02:56,080 --> 00:02:59,950 >> ロブ:だから一度、私は終わりだ これで、ログインします。 59 00:02:59,950 --> 00:03:05,450 今、基本的に、これは同じである 私のアプライアンス内でターミナルウィンドウ。 60 00:03:05,450 --> 00:03:10,280 だから私はかなり、実際に働いたことはない アプライアンス自体から。 61 00:03:10,280 --> 00:03:12,550 私はいつもそれが起動してい 最小化され、バックグラウンドで 62 00:03:12,550 --> 00:03:15,890 そしてその中にSSHed。 63 00:03:15,890 --> 00:03:24,270 >> これの問題はあなたが進んでいないさ 簡単にgeditのを使用できるようにするには 64 00:03:24,270 --> 00:03:25,600 直接から。 65 00:03:25,600 --> 00:03:31,500 しかし、あなたは本当の、クールになりたい場合は、 ハッカーは、その後、に慣れる必要があります 66 00:03:31,500 --> 00:03:34,220 とにかく、コマンドラインのテキストエディタ。 67 00:03:34,220 --> 00:03:39,620 VimとEmacsやナノ、これらのすべては、そう 別の代替法である。 68 00:03:39,620 --> 00:03:41,560 ナノは最も簡単になる傾向がある。 69 00:03:41,560 --> 00:03:45,006 そして私はそれがありませんがあると思う シンタックスハイライ​​ト。 70 00:03:45,006 --> 00:03:47,620 ああ、いや、それは完全に行います。 71 00:03:47,620 --> 00:03:49,870 だから、nanoを使用することができますので、 1は非常に簡単だという。 72 00:03:49,870 --> 00:03:52,000 >> あなたはすべてのこれらのコマンドを参照してください。 一番下にある。 73 00:03:52,000 --> 00:03:54,750 この小さなニンジンシンボル。 74 00:03:54,750 --> 00:03:57,620 あなたが前にそれを見ていない場合は、よ おそらく今はたくさん参照してください。 75 00:03:57,620 --> 00:04:02,350 これは、一般的に制御ニンジンを意味し、 キーボードの左下のような 76 00:04:02,350 --> 00:04:04,130 制御文字。 77 00:04:04,130 --> 00:04:07,260 だからここでは、ここで私を言っている - 78 00:04:07,260 --> 00:04:08,710 私はズームインした場合ああ、それは切断されていないだ 79 00:04:08,710 --> 00:04:11,040 ように制御、Xはどのように 私は終了するつもりです。 80 00:04:11,040 --> 00:04:14,710 そして、それは私がYを打つことができると言う はい、保存するための、N番のため 81 00:04:14,710 --> 00:04:17,190 だからnanoの。 82 00:04:17,190 --> 00:04:22,860 >> VimとEmacsは少しになりがち 複雑で圧倒的。 83 00:04:22,860 --> 00:04:28,840 しかし、あなたはそれに慣れることができ、 そして、あなたはそれを好きになる。 84 00:04:28,840 --> 00:04:30,590 だから、それだ。 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH:それをする必要はありません。 86 00:04:31,720 --> 00:04:31,840 >> ROB:うん。 87 00:04:31,840 --> 00:04:37,510 あなたが探してgeditを自由に使用できます 学期の残りの部分。 88 00:04:37,510 --> 00:04:40,630 したがって、すべてのアプライアンス関連の質問? 89 00:04:40,630 --> 00:04:42,820 または、他に何上の任意の考えを持っています 約について話される必要がある 90 00:04:42,820 --> 00:04:43,610 アプライアンス? 91 00:04:43,610 --> 00:04:43,996 はい。 92 00:04:43,996 --> 00:04:47,720 >> スピーカ1:あなたにSSHed 事、パスワードクリムゾンでしたか? 93 00:04:47,720 --> 00:04:48,390 >> ROB:うん。 94 00:04:48,390 --> 00:04:50,170 ほとんどすべてのパスワード アプライアンスに起こっている 95 00:04:50,170 --> 00:04:52,473 クリムゾンされるように。 96 00:04:52,473 --> 00:04:56,517 >> スピーカー2:本物のIDEのようにインストールします アプライアンス上で、それが動作します? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> ロブ:私は、Eclipseを持っている想像して Fedoraのバージョン、その場合には、はい、 99 00:05:07,290 --> 00:05:08,420 あなたはそれを行うことができます。 100 00:05:08,420 --> 00:05:10,875 それはおそらく、それは本当に価値がない。 101 00:05:10,875 --> 00:05:11,742 >> スピーカー2:わかりました。 102 00:05:11,742 --> 00:05:15,924 だから、おそらく私がしたい場合は簡単だ Eclipseを使用して、ネイティブのを使用し、 103 00:05:15,924 --> 00:05:17,646 その後にアップロードする - 104 00:05:17,646 --> 00:05:21,090 >> ROB:ああ、それはまた、おそらく簡単です。 105 00:05:21,090 --> 00:05:24,046 しかし、あなたはそれを動かすことができるでしょう アプライアンス内。 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH:とカメラのための質問 あなたが別のものをインストールすることができ、た 107 00:05:27,740 --> 00:05:29,490 アプライアンスの内部のIDE? 108 00:05:29,490 --> 00:05:31,520 >> ROB:Eclipseがあること IDEの一例。 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 他のアプライアンスの質問? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 わかりました。 113 00:05:38,680 --> 00:05:44,920 >> だから我々は現在、コマンドラインに移ります インターフェイス関連のものなので、CLI。 114 00:05:44,920 --> 00:05:47,990 そして再び、私はちょうどで動作するように行くよ ここで、これは同じであるため、 115 00:05:47,990 --> 00:05:52,780 ターミナルウィンドウで作業 アプライアンス内。 116 00:05:52,780 --> 00:05:54,160 どのようにそのフォントを探している? 117 00:05:54,160 --> 00:05:55,970 それは十分な大きさ? 118 00:05:55,970 --> 00:05:57,000 わかりました。 119 00:05:57,000 --> 00:06:02,480 >> だからコマンドがたくさんあり​​ます あなたはかなりに慣れる必要があります 120 00:06:02,480 --> 00:06:04,490 学期を通して。 121 00:06:04,490 --> 00:06:09,480 ナビゲートするための大きな2はLS、リストである このディレクトリ内のファイル、および 122 00:06:09,480 --> 00:06:11,380 CD、そのディレクトリを変更する。 123 00:06:11,380 --> 00:06:18,390 だから私は、デスクトップに移動して、することができます 非常に一般的なパターンはにCDである 124 00:06:18,390 --> 00:06:22,550 ディレクトリとすぐにLS ディレクトリ内のものだ。 125 00:06:22,550 --> 00:06:25,540 >> 人々はまた、時々気づいていません そのタブ補完はものです。 126 00:06:25,540 --> 00:06:28,370 そうのようなCD、VH、その後、私はTabキーを押してください。 127 00:06:28,370 --> 00:06:30,790 私は入力することはほとんどない 全体のこと。 128 00:06:30,790 --> 00:06:32,920 そして私はタブを打つ続ければ もう一度、それは自動的によ 129 00:06:32,920 --> 00:06:33,670 私のためのリストを開始します。 130 00:06:33,670 --> 00:06:37,000 だから私は、CDのバーチャルホスト、ローカルホストすることができます。 131 00:06:37,000 --> 00:06:39,880 そして、それはただになるだろう - 132 00:06:39,880 --> 00:06:43,380 ケースでは、言葉を聞いたことがない 以前は、ディレクトリはちょうど別の単語である 133 00:06:43,380 --> 00:06:45,170 フォルダの。 134 00:06:45,170 --> 00:06:49,930 だから今は、表示された場合 - 135 00:06:49,930 --> 00:06:51,810 それでは一番上にそれを持ってみましょう。 136 00:06:51,810 --> 00:06:55,380 >> だから今、あなたは、括弧内に表示された場合 少しチルダ、スラッシュ、バーチャルホストを参照してください。 137 00:06:55,380 --> 00:06:56,810 スラッシュ、ローカルホスト。 138 00:06:56,810 --> 00:07:00,040 そうチルダ、すなわち指す 私のホームディレクトリにコピーします。 139 00:07:00,040 --> 00:07:03,090 それはあなたがしているディレクトリです あなたはインチSSH時点の 140 00:07:03,090 --> 00:07:05,660 それはあなたがときにいるディレクトリの あなたは、ターミナルを開きます。 141 00:07:05,660 --> 00:07:08,650 作業を開始する場所、それはね。 142 00:07:08,650 --> 00:07:13,110 だから私は自分のホームディレクトリの中だけど、 と私は、仮想ホストの内部でよ 143 00:07:13,110 --> 00:07:14,475 私のホームディレクトリのディレクトリの内部。 144 00:07:14,475 --> 00:07:19,670 そして私は地元の中だ その内のディレクトリをホストします。 145 00:07:19,670 --> 00:07:23,740 >> だから、CDを使用して他のいくつかの有用なもの - 146 00:07:23,740 --> 00:07:29,220 またはよく、一般的には、そのように常にドット 現在のディレクトリを表します。 147 00:07:29,220 --> 00:07:31,130 CDには、ドットはかなり価値のないコマンドです。 148 00:07:31,130 --> 00:07:35,150 しかし、それはへの変更だ 現在のディレクトリ。 149 00:07:35,150 --> 00:07:38,230 の面で、より有用な1 CDは、ドット、ドット、です 150 00:07:38,230 --> 00:07:40,220 ただ1つ上のディレクトリに移動します。 151 00:07:40,220 --> 00:07:43,360 >> そして、これらのことに注意してください - 152 00:07:43,360 --> 00:07:48,610 私は別名を言いたいが、これらの 記号、ドット、ドット、ドット、これらの作業 153 00:07:48,610 --> 00:07:51,740 あなたがしているほとんどすべてのコマンドの 実行していることを考えされる予定。 154 00:07:51,740 --> 00:07:55,370 あなたができるでしょうどこにそうようなCDはおそらくです ほとんどを使用して、これらはありません 155 00:07:55,370 --> 00:07:56,780 ちょうどCDが理解して物事。 156 00:07:56,780 --> 00:07:59,980 これはかなりのものにあなたの全体の コマンドラインは理解しています。 157 00:07:59,980 --> 00:08:01,932 プログラムの多くは理解して ドットとドットドット。 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> だから、他の有用なもの - CD、ダッシュ。 160 00:08:09,090 --> 00:08:13,460 だから私を持参しようとしている 私が入った最後のディレクトリ 161 00:08:13,460 --> 00:08:15,980 だから、時々私のようなものをするつもりだ、 ああ、私はここで働いています。 162 00:08:15,980 --> 00:08:21,110 そして、私は何かといくつかのエラーが表示され、 私はに行くことによって、それを調査しに行くよ 163 00:08:21,110 --> 00:08:24,020 どこかにいくつかのランダムなディレクトリ。 164 00:08:24,020 --> 00:08:25,260 それがいただければと、私は知らない そこにさせて頂いております。 165 00:08:25,260 --> 00:08:25,720 それがします。 166 00:08:25,720 --> 00:08:27,615 だから、私は私が好きなことを行う このディレクトリに。 167 00:08:27,615 --> 00:08:28,950 何とか、何とか、何とか、何とか、何とか。 168 00:08:28,950 --> 00:08:31,770 そして、私は私が望む、すべての権利、のようだった 前に私があった場所に戻ります。 169 00:08:31,770 --> 00:08:34,490 CD、ダッシュ、そしてそれはすぐに戻って私をもたらします。 170 00:08:34,490 --> 00:08:39,970 >> だから私は多くのことをスローするつもりだ 今日あなたにこれらの。 171 00:08:39,970 --> 00:08:43,730 私はあなたが覚えることを期待しないでください それらのすべて。 172 00:08:43,730 --> 00:08:46,170 それはちょっとだけ知っているのは 彼らは存在していること。 173 00:08:46,170 --> 00:08:48,690 し、後であなたが似ているときに、 うーん、私はに戻りたい 174 00:08:48,690 --> 00:08:51,870 私はちょうどにいたディレクトリが、ああ、、待って そのような何かが存在する。 175 00:08:51,870 --> 00:08:53,980 あなただけで入力する必要はありません もう一度ディレクトリ全体。 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH:最終的にはあなただけでしょう 何度も何度もそれらを使用し、 177 00:08:56,090 --> 00:08:57,830 それは筋肉の記憶になるでしょう。 178 00:08:57,830 --> 00:09:00,090 >> ROB:うん。 179 00:09:00,090 --> 00:09:02,930 私が前に言ったので、どのように、そのチルダ 自分のホームディレクトリです。 180 00:09:02,930 --> 00:09:04,820 だから私は、CD、チルダができます。 181 00:09:04,820 --> 00:09:07,280 しかし、私もする必要はありません もし私がそれを行う - 182 00:09:07,280 --> 00:09:09,760 私は戻っているディレクトリに移動します それは無意味例ではありません。 183 00:09:09,760 --> 00:09:14,560 私はCDをやるなら、それもだ と同じ、私のホームディレクトリに移動します。 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 私は、コマンド、K.を行う 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH:また、クリアタイプすることができます 言葉、それは、それをクリアする必要があります。 187 00:09:24,015 --> 00:09:28,650 >> ROB:そして、私は、コントロールを考えて、 Lもそれをしない。 188 00:09:28,650 --> 00:09:29,690 異なる方法でそのようにたくさん。 189 00:09:29,690 --> 00:09:34,070 私はいくつかの違いがあると思いますどこに 明確かつ制御、Lのものだ 190 00:09:34,070 --> 00:09:37,280 本当に一番上にプッシュし、 私はまだ戻ってスクロールすることができます。 191 00:09:37,280 --> 00:09:40,580 コマンド、Kは文字通り破壊 すべてのもの、そしてあなた 192 00:09:40,580 --> 00:09:42,960 までスクロールバックができません。 193 00:09:42,960 --> 00:09:45,530 少なくとも、それはです それはiTerm2でどのように機能するか。 194 00:09:45,530 --> 00:09:48,690 私はどのように他のことを知らない - 195 00:09:48,690 --> 00:09:49,360 オハイオ州。 196 00:09:49,360 --> 00:09:55,450 >> SSHingと、Windows上でいるのであれば あなたはPuTTYをダウンロードする必要があるとしている 197 00:09:55,450 --> 00:10:02,360 SSHには、Windowsにはないので、 内蔵のSSHのツールのように持っている。 198 00:10:02,360 --> 00:10:06,150 直接のMacから、次のことができますだけで、SSH ターミナルウィンドウから。 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 [OK]をクリックします。 201 00:10:09,690 --> 00:10:11,840 質問? 202 00:10:11,840 --> 00:10:19,260 >> LSは、その何かがに慣れる これらのコマンドのほとんどがあると - 203 00:10:19,260 --> 00:10:20,060 まあ、私はちょうど1をするつもりだ。 204 00:10:20,060 --> 00:10:21,310 LS、ダッシュ、L。 205 00:10:21,310 --> 00:10:26,330 そうダッシュ、Lは、我々が行っているものです LSにフラグを呼び出します。 206 00:10:26,330 --> 00:10:30,770 これらのコマンドの多くは、フラグを持っている あなたが彼らに渡すことができます。 207 00:10:30,770 --> 00:10:35,020 したがって、この場合には、lはフラグダッシュ それは私に完全なを与えるためにそれを伝えます 208 00:10:35,020 --> 00:10:37,850 すべての情報の一覧 これらのファイルの。 209 00:10:37,850 --> 00:10:44,790 >> だから我々はデスクトップがあったことをここに見る 12時54時7月30日に修正された。 210 00:10:44,790 --> 00:10:47,160 ダウンロードは、9月6日に変更されました。 211 00:10:47,160 --> 00:10:52,350 これらは、現在のサイズであり、 これらのディレクトリのバイト。 212 00:10:52,350 --> 00:10:54,412 あなたが理解する必要はありません このすべて。 213 00:10:54,412 --> 00:11:00,380 >> 左のこのようなものは、これらdrwx年代、 それははるかに関係してきます 214 00:11:00,380 --> 00:11:02,290 後であなたがに対処しなければならないとき - 215 00:11:02,290 --> 00:11:05,900 つまり、アクセス権を持っている人に関係しています これらのファイルを見ること。 216 00:11:05,900 --> 00:11:09,880 だから、あなたは上のユーザーだけではなかった場合は、 このコンピュータは、次のことができるようになります 217 00:11:09,880 --> 00:11:13,345 たとえば、[OK]を、私は1つだけでなければなりません このファイルを見ることができたりアイム 218 00:11:13,345 --> 00:11:14,870 誰もができるようにする予定 このファイルをご覧になる。 219 00:11:14,870 --> 00:11:17,710 だから、私のコンピュータ上で他の誰か このファイルを見ることができます。 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 私もこれは何か分からない - これは何をするのでしょうか? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH:私は実際、非常に分かりません。 223 00:11:26,840 --> 00:11:27,705 >> ROB:いいえアイデア。 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH:あなたが知らないなら、存在し あなたが使用できる便利コマンド 225 00:11:30,530 --> 00:11:31,680 出力が何を意味するのかを教えてくれます。 226 00:11:31,680 --> 00:11:33,780 そして、あなたは男に入力した場合 コマンドの前に - 227 00:11:33,780 --> 00:11:35,000 これM-A-N。 ROB:男。 228 00:11:35,000 --> 00:11:37,690 だから、男は別の1つです それは非常に便利です。 229 00:11:37,690 --> 00:11:39,540 そして男は、LS。 230 00:11:39,540 --> 00:11:47,320 だから、manページ、それらは両方とも持っている あなたが使うことになるだろうなコマンド 231 00:11:47,320 --> 00:11:50,330 コマンドラインで、彼らはまた、持っている 関連性があるでしょう機能 232 00:11:50,330 --> 00:11:52,530 あなたは男ができるのでCと - 233 00:11:52,530 --> 00:11:53,720 と私は3を無視していました。 234 00:11:53,720 --> 00:11:57,410 しかし、男3のprintfは持参しようとしている printf関数のCバージョンアップする。 235 00:11:57,410 --> 00:12:01,030 私は男のprintfを行う場合しかし、これは コマンドのprintfを起動しようとして 236 00:12:01,030 --> 00:12:03,540 つまり、コマンドラインで実行されます。 237 00:12:03,540 --> 00:12:05,730 >> だから男、LS。 238 00:12:05,730 --> 00:12:09,030 manページはかなりすることができます 圧倒的。 239 00:12:09,030 --> 00:12:12,770 ここでは、しかし、あなたはこのリストが表示されます これらのフラグの全てのLS 240 00:12:12,770 --> 00:12:14,300 理解しています。 241 00:12:14,300 --> 00:12:17,876 だから我々は、Lをダッシュ​​に行けば、と - 242 00:12:17,876 --> 00:12:19,300 私はあなたにこれを投げるつもりです。 243 00:12:19,300 --> 00:12:23,050 しかし、検索するために、あなたが欲しい 最初の質問にヒットする 244 00:12:23,050 --> 00:12:24,780 マークまたはスラッシュボタンを押します。 245 00:12:24,780 --> 00:12:26,040 そうスラッシュ。 246 00:12:26,040 --> 00:12:29,000 >> そして私は検索することができます 私が好きなため。 247 00:12:29,000 --> 00:12:33,780 だから私はダッシュ、Lスラッシュするつもりです。 248 00:12:33,780 --> 00:12:35,110 そしてそこにそれがあった。 249 00:12:35,110 --> 00:12:37,450 だから、長いリスト形式を使用します。 250 00:12:37,450 --> 00:12:40,060 それは私が何を把握助けにはならない その特定の列には、意味が、私 251 00:12:40,060 --> 00:12:44,480 ここのどこかに想定し それはそれを説明するであろう。 252 00:12:44,480 --> 00:12:48,740 だから、任意のコマンドのmanページを使用 あなたはすぐに理解していないこと。 253 00:12:48,740 --> 00:12:51,080 >> 私は、あなたが男性でも、男はかなり確信している。 254 00:12:51,080 --> 00:12:53,070 オンラインへのインタフェース リファレンスマニュアル。 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 ああ、多分少しの1の最後の1 関連しているLSは、ダッシュ、。 257 00:13:03,570 --> 00:13:08,490 私はLSを行うのであれば気づく、 私は、これらの5つのファイルを取得します。 258 00:13:08,490 --> 00:13:11,480 私はLSを行う場合、ダッシュ、私 より多くのファイルを取得します。 259 00:13:11,480 --> 00:13:15,350 すべてのこれらの間の共通点が事 新しいファイルは、事前にドットである。 260 00:13:15,350 --> 00:13:21,220 >> そう規則は、そのファイル、その ドットが隠されていることから始まります。 261 00:13:21,220 --> 00:13:25,300 だから、あなたは、そのファイルを表示したくない でそれを台無しにしたくない 262 00:13:25,300 --> 00:13:26,750 あなたのディレクトリのリスト。 263 00:13:26,750 --> 00:13:30,020 それはあなたが明示的に尋ねたときのみですが、 すべての権利、LS、ダッシュ、、私を見る。 264 00:13:30,020 --> 00:13:32,830 Aは、すべてのファイルを表し、 隠されたものを含む。 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 ので、いくつかの他のコマンド。 267 00:13:39,270 --> 00:13:41,323 ああ、その点での質問? 268 00:13:41,323 --> 00:13:41,746 はい。 269 00:13:41,746 --> 00:13:45,914 >> スピーカ3:あなたがLSを行うと、 、ドット、ドットは何ですか? 270 00:13:45,914 --> 00:13:46,870 >> ROB:ああ。 271 00:13:46,870 --> 00:13:48,780 だから、これは私が話していたものです。 272 00:13:48,780 --> 00:13:50,890 それは同じことだところ 私は、CD、ドット、ドットが好きなことができます。 273 00:13:50,890 --> 00:13:56,790 したがって、厳密に、ドットとドット、ドットがある 一つ一つの中に存在するファイル 274 00:13:56,790 --> 00:14:03,620 dotファイルが参照ディレクトリ 現在のディレクトリにコピーします。 275 00:14:03,620 --> 00:14:06,930 だから私のCD、ドット、私は行くよ場合 ディレクトリ内に滞在する。 276 00:14:06,930 --> 00:14:10,870 ドット、ドットは、常に指し 前のディレクトリ1レベルアップする。 277 00:14:10,870 --> 00:14:18,200 だから私は、ログとLSに行けば、ダッシュ、AL、 私はドット、ドットが表示されます。ドットにCD、ドット 278 00:14:18,200 --> 00:14:20,390 前のディレクトリに私をもたらします。 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 うん。 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 [OK]をクリックします。 283 00:14:28,110 --> 00:14:33,070 >> だから、別のかなり重要な コマンドはRMです。 284 00:14:33,070 --> 00:14:35,650 だから、我々が行っているものです 除去するために使用する。 285 00:14:35,650 --> 00:14:38,100 そして、私は実際に別のものをやらせる コマンド最初。 286 00:14:38,100 --> 00:14:39,610 そうします。mkdir。 287 00:14:39,610 --> 00:14:42,770 MKDIRはどのようにあなたができる ディレクトリを作成します。 288 00:14:42,770 --> 00:14:47,530 そして、私は一時ディレクトリを作成します その一時ディレクトリに移動します。 289 00:14:47,530 --> 00:14:49,590 予想通り、それは空です。 290 00:14:49,590 --> 00:14:53,680 しかし、私LS、ダッシュ、、私はまだドットがある場合 ドットを参照するので、ドット、ドット 291 00:14:53,680 --> 00:14:54,480 現在のディレクトリ。 292 00:14:54,480 --> 00:14:56,170 ドット、ドットが指し 前のディレクトリ。 293 00:14:56,170 --> 00:14:58,700 そして、それらは関係なく、常に存在することになる あなたはインチであるディレクトリ 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> そして、これは完全に不必要である コマンドが、タッチ。 296 00:15:09,010 --> 00:15:11,880 それだから私は、それを使用しています ファイルを作成する簡単な方法。 297 00:15:11,880 --> 00:15:16,180 だから、Bに触れる、タッチタッチCだけです と呼ばれる3つのファイルを作成しようとして、 298 00:15:16,180 --> 00:15:17,845 完全に空であるa、b、およびc。 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 だから私のポイントはのものを作成する 最初の場所は、RMがあるだけのようにある 301 00:15:24,980 --> 00:15:26,250 どのように我々はそれらを削除することができます。 302 00:15:26,250 --> 00:15:27,850 そうRM、。 303 00:15:27,850 --> 00:15:30,960 それは、削除、私に尋ねるために起こっている 定期的に空のファイルA? 304 00:15:30,960 --> 00:15:33,170 そして私はそう言うでしょう。 305 00:15:33,170 --> 00:15:39,090 >> 私は確かに知っているので、もし私がしたいこと しなくても、そのファイルを消去 306 00:15:39,090 --> 00:15:44,500 プロンプトが表示され、定期的に空のファイルを削除?、 その後、RM、ダッシュ、Fがあることを行っている 307 00:15:44,500 --> 00:15:48,230 せずに削除を強制する、と言う旗 でも、私を促し、ああ、あなたは 308 00:15:48,230 --> 00:15:49,710 必ず、ファイルを削除しますか? 309 00:15:49,710 --> 00:15:50,810 はい、私は確信しています。 310 00:15:50,810 --> 00:15:56,050 そうRM、ダッシュ、FBだけでしょう 求めずにそれを行う。 311 00:15:56,050 --> 00:15:57,950 >> それでは、いくつかの複数のディレクトリを作成してみましょう。 312 00:15:57,950 --> 00:16:03,670 します。mkdir、TMP2、CD、TMP2、 タッチBをタッチします。 313 00:16:03,670 --> 00:16:04,300 [OK]をクリックします。 314 00:16:04,300 --> 00:16:08,180 だから今、私は削除したい ディレクトリとしてTMP2。 315 00:16:08,180 --> 00:16:10,316 そうRM TMP2。 316 00:16:10,316 --> 00:16:12,920 あなたがTMP2を削除することはできません、 それがディレクトリである。 317 00:16:12,920 --> 00:16:21,370 だから、ここでの問題は、RMがないということです すぐにディレクトリに取り組む。 318 00:16:21,370 --> 00:16:26,530 それが唯一のようなファイルのためのものだ 非ディレクトリファイル。 319 00:16:26,530 --> 00:16:30,800 >> そして私たちは何ができる ここRM、ダッシュ、rは。 320 00:16:30,800 --> 00:16:35,160 つまり、再帰を表し、その可能性がある まだあなたに何も意味しない。 321 00:16:35,160 --> 00:16:38,280 しかし、あなたは再帰に到達したとき、 それはより多くのことを意味します。 322 00:16:38,280 --> 00:16:43,540 そうRM、ダッシュ、R、TMP2をしようとしている 再帰的にそのディレクトリに移動します。 323 00:16:43,540 --> 00:16:45,540 だから、ディレクトリTMP2に降り? 324 00:16:45,540 --> 00:16:47,330 はい、それでは、その中に行きましょう。 325 00:16:47,330 --> 00:16:49,360 私たちは/ TMP2を削除しますか? 326 00:16:49,360 --> 00:16:49,745 はい。 327 00:16:49,745 --> 00:16:51,830 我々はTMP2 / Bを削除しますか? 328 00:16:51,830 --> 00:16:52,840 はい。 329 00:16:52,840 --> 00:16:55,170 今、私たちは削除しますか ディレクトリTMP2? 330 00:16:55,170 --> 00:16:56,040 はい。 331 00:16:56,040 --> 00:16:58,410 だから今のディレクトリ 内部のすべて 332 00:16:58,410 --> 00:16:59,660 それを削除されています。 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> コマンドは、技術的にはありませRMDIR あなたが削除するために使用できる 335 00:17:07,250 --> 00:17:11,670 ディレクトリが、それだけの作品 とにかく空のディレクトリに。 336 00:17:11,670 --> 00:17:14,109 そして、それを見て、みましょうだけ もう一度ます。mkdir、TMP2を行う。 337 00:17:14,109 --> 00:17:15,940 TMP2は、タッチします。 338 00:17:15,940 --> 00:17:16,800 [OK]をクリックします。 339 00:17:16,800 --> 00:17:22,770 私はdirtmp2を削除しようとするのであれば、それはよ ディレクトリは空ではない、と言う。 340 00:17:22,770 --> 00:17:29,540 だから私は、removeを使用しないほとんど決して dirコマンドとにかく、RM、ダッシュ理由 341 00:17:29,540 --> 00:17:35,140 R空のディレクトリで動作します 非空のディレクトリ。 342 00:17:35,140 --> 00:17:37,760 >> そしてまた、私はしたくない場合は、 の全体のプロセスを経る 343 00:17:37,760 --> 00:17:40,720 ディレクトリに下降し、 個々のファイルを削除、RM、 344 00:17:40,720 --> 00:17:44,190 ダッシュ、RF、TMP2。 345 00:17:44,190 --> 00:17:45,670 そして今、それがなくなって。 346 00:17:45,670 --> 00:17:51,220 >> 注意して何か 約RM、ダッシュ、Rfはある。 347 00:17:51,220 --> 00:17:53,660 と言っても、それを入力するために私を恐怖、 なぜならもし私が誤っ 348 00:17:53,660 --> 00:17:55,090 入力するか、何かにヒット。 349 00:17:55,090 --> 00:18:02,735 そうRM、ダッシュ、RF、チルダだろうことなく、 私を促す、Fは求められません 350 00:18:02,735 --> 00:18:05,670 私は、自動的に削除されます 私の全体のホームディレクトリと 351 00:18:05,670 --> 00:18:06,780 その中にすべてのもの。 352 00:18:06,780 --> 00:18:11,460 だから、それはだと思うかもしれません 行うには愚かなこと。 353 00:18:11,460 --> 00:18:12,830 とまあ、それはある。 354 00:18:12,830 --> 00:18:18,600 >> しかし、それはによって非常に簡単に発生することがあります 事故と言う、私が削除したい場合など 355 00:18:18,600 --> 00:18:21,640 私のスラッシュ、バーチャルホストディレクトリ。 356 00:18:21,640 --> 00:18:26,610 そして、ちょうど素早くタイピングにおいて、 私は誤ってこれを行う。 357 00:18:26,610 --> 00:18:31,880 つまり、両方の私の再帰的削除します ホームディレクトリとバーチャルホストのディレクトリ 358 00:18:31,880 --> 00:18:35,450 それだけで、この特定のディレクトリにある 今は存在しないために発生します。 359 00:18:35,450 --> 00:18:39,520 しかし、これはまだ削除だろう 私の全体のホームディレクトリ。 360 00:18:39,520 --> 00:18:43,090 少なくともFを持っていないことにより、 それは最初に私を促すだろう。 361 00:18:43,090 --> 00:18:45,670 と私は、いや、ああ、のようになるだろう これを行うにはしたくない。 362 00:18:45,670 --> 00:18:50,570 しかし、人々は、次のような、スラッシュ 私はに取得する傾向がある 363 00:18:50,570 --> 00:18:53,090 常にRF-INGの習慣。 364 00:18:53,090 --> 00:18:58,713 その私ができたとしても、通常のファイルだけRM、 Cは、私はちょうど、RM、ダッシュ、RF、C傾向にある。 365 00:18:58,713 --> 00:19:01,330 あなたはRF-INGいるときだけは注意してください。 366 00:19:01,330 --> 00:19:03,160 >> スピーカ4:Cは何をしますか? 367 00:19:03,160 --> 00:19:11,570 >> ROB I:CはCファイルについて話されている このディレクトリには、そのRM、C。 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH:そして、もっと危険な、あなたが使用している場合 星は、それが中にすべてのものを指し、 369 00:19:15,730 --> 00:19:16,450 ディレクトリ。 370 00:19:16,450 --> 00:19:20,040 それでは、私は一般的に行う傾向は、私は意志である ディレクトリに移動して、私がしたい 371 00:19:20,040 --> 00:19:21,510 そこにすべてのファイルを削除します。 372 00:19:21,510 --> 00:19:23,640 そうRM、ダッシュ、RF、スター。 373 00:19:23,640 --> 00:19:25,700 >> ROB:うん。 374 00:19:25,700 --> 00:19:26,780 RM、ダッシュ、RF、スター。 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH:そして、あなたが気をつけていないのであれば あなたがにいるどのディレクトリ - 376 00:19:29,530 --> 00:19:33,340 私は一時ではありませんでしたが、私が誤っていた 私のホームディレクトリに、 377 00:19:33,340 --> 00:19:35,450 その後、私はすべてを削除します 私のホームディレクトリにある。 378 00:19:35,450 --> 00:19:39,095 そして、私は実際にその前に行われ、き 私はあなたが前にこれをやったと思いますか 379 00:19:39,095 --> 00:19:40,640 ジェイは前にそれを行っている。 380 00:19:40,640 --> 00:19:42,480 >> ROB:私は誤って削除した - 381 00:19:42,480 --> 00:19:44,480 そのビットに対してそのコマンドを無視します。 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH:楽しいわけではありません。 383 00:19:45,800 --> 00:19:52,650 >> ロブ:だからスラッシュbinディレクトリにある そこよバイナリファイルの束 384 00:19:52,650 --> 00:19:54,840 打ち鳴らすなどの使い慣れたものであっても。 385 00:19:54,840 --> 00:20:00,740 さて、打ち鳴らすと、基本的に、これらのすべて 私は、コマンドで実行しているもの 386 00:20:00,740 --> 00:20:02,060 行は、このスラッシュのbinディレクトリにあります。 387 00:20:02,060 --> 00:20:03,090 >> ジョセフ:LSのように、ここにある。 388 00:20:03,090 --> 00:20:06,285 >> ROB:だからLSは、スラッシュ、ドットになる このディレクトリを一覧表示する。 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH:Rmがこのディレクトリにもあります。 390 00:20:08,120 --> 00:20:12,770 >> ROB:私は誤って、RM、RF-EDビンを持っている、 私ができる任意のコマンドを削除した 391 00:20:12,770 --> 00:20:14,380 おそらく今までにしたい。 392 00:20:14,380 --> 00:20:18,085 その、私はちょうど再インストール その点で、新しいアプライアンス。 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH:だからときに非常に注意してください このコマンドを使用します。 394 00:20:20,170 --> 00:20:21,120 >> 観客:[聞こえない]? 395 00:20:21,120 --> 00:20:22,640 >> ROB:はい。 396 00:20:22,640 --> 00:20:24,135 それはまたに入るために悪い癖だ。 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 あなたが気付いた場合、私は今だ - 399 00:20:30,170 --> 00:20:33,580 さて、あなたは気づくことはできませんが、 私のズームアップ多分できる。 400 00:20:33,580 --> 00:20:35,360 だから私は今、ルート@アプライアンスです。 401 00:20:35,360 --> 00:20:39,790 そうjharvardは私たちが望むユーザーです あなたはいつも使用しているように。 402 00:20:39,790 --> 00:20:43,820 ルートは、権限を持つユーザーである 絶対に何もする。 403 00:20:43,820 --> 00:20:50,260 >> 私はjharvardいる時だから、気づく 私はCDにしようと - 404 00:20:50,260 --> 00:20:52,461 そのディレクトリは何ですか? 405 00:20:52,461 --> 00:20:53,980 ああ、根は良い例です。 406 00:20:53,980 --> 00:20:54,950 だからCD、根。 407 00:20:54,950 --> 00:20:56,030 アクセスが拒否されました。 408 00:20:56,030 --> 00:21:00,060 ので、我々はこの物件を見れば - 409 00:21:00,060 --> 00:21:02,410 そして再び、あなたがする必要はありません 完全にこのことを理解しています。 410 00:21:02,410 --> 00:21:09,210 しかし、これらの3つのダッシュが言っている 他のを聞かせていないこと 411 00:21:09,210 --> 00:21:11,120 このディレクトリにユーザー。 412 00:21:11,120 --> 00:21:14,540 およびディレクトリが、たまたま rootユーザが所有する。 413 00:21:14,540 --> 00:21:20,310 >> だから、私は事実をjharvardなし 根が入ることを許可されていません1 414 00:21:20,310 --> 00:21:23,490 このディレクトリは、それは私がすることを意味 ときに私の許可を拒否された取得するつもり 415 00:21:23,490 --> 00:21:25,160 その中に、CDにしてみてください。 416 00:21:25,160 --> 00:21:31,370 私はルートだとき、私はする許可を持っている を含め、絶対に何もし 417 00:21:31,370 --> 00:21:34,660 重要なファイルを削除する アプライアンスにと 418 00:21:34,660 --> 00:21:36,640 全体の事を破壊する。 419 00:21:36,640 --> 00:21:41,240 >> だから、入るために悪い癖だ ちょうどあなたの周り徘徊 420 00:21:41,240 --> 00:21:43,650 rootとして、オペレーティング·システム。 421 00:21:43,650 --> 00:21:46,520 私はとにかくそれを行う。 422 00:21:46,520 --> 00:21:48,710 質問? 423 00:21:48,710 --> 00:21:52,230 そして、私は、根を終了jharvardとして滞在します。 424 00:21:52,230 --> 00:21:54,510 [OK]をクリックします。 425 00:21:54,510 --> 00:21:55,820 >> より多くの関連するコマンド。 426 00:21:55,820 --> 00:22:03,975 だから私たちのTEMPに戻って、 mvコマンドは、移動の略です。 427 00:22:03,975 --> 00:22:05,450 あなたが移動することができます。 428 00:22:05,450 --> 00:22:07,610 今、私たちは、Bにそれを呼びたい だから今、それをBと呼ばれています。 429 00:22:07,610 --> 00:22:10,650 それとも、我々は移動したい B 1ディレクトリをバックアップします。 430 00:22:10,650 --> 00:22:12,730 だから今、このディレクトリの空。 431 00:22:12,730 --> 00:22:15,410 私は戻って私のホームディレクトリに移動し、よ ので、我々は、Bはここにあることを参照してください。 432 00:22:15,410 --> 00:22:19,230 ホームディレクトリは、最大で1ディレクトリだった Bはインチだったディレクトリ 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> CPもあります。 435 00:22:26,580 --> 00:22:33,210 そうCPは、スーパーセクションをコピー ドット、テキスト。 436 00:22:33,210 --> 00:22:35,750 私はS、ドット、テキストそれを呼び出すことができます。 437 00:22:35,750 --> 00:22:39,780 今、私たちは両方のスーパーセクションがあり、 ドット、テキスト、およびS、ドット、テキスト。 438 00:22:39,780 --> 00:22:41,340 また、これは、ディレクトリ上で動作します。 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 私は、単一のファイルを-EDのRF。 441 00:22:46,560 --> 00:22:48,200 そうCP - 442 00:22:48,200 --> 00:22:51,710 さて、最初のは、CP、TMP、TMP2を試してみましょう。 443 00:22:51,710 --> 00:22:53,220 だから、ディレクトリTMPを省略すること。 444 00:22:53,220 --> 00:22:57,440 RMに非常に似て、デフォルトの動作 ディレクトリでは動作しないことです。 445 00:22:57,440 --> 00:23:01,570 >> そして再び、RMと同様に、デフォルト 行動 - まあ、それは動作するようになって 446 00:23:01,570 --> 00:23:04,230 ディレクトリと、ダッシュ-Rが先にあります。 447 00:23:04,230 --> 00:23:09,240 だから、再帰的にTEMPをコピー TMP2にディレクトリ。 448 00:23:09,240 --> 00:23:13,700 だから今、私たちは、TMPおよびTMP2の両方を持っている それは、その便利されていないため、TMP 449 00:23:13,700 --> 00:23:16,814 最初の場所で空だった。 450 00:23:16,814 --> 00:23:18,660 TMP2。 451 00:23:18,660 --> 00:23:22,680 >> それでは、TMP2にTMPをコピーしてみましょう。 452 00:23:22,680 --> 00:23:27,900 そして、我々はTMP2は、ファイルを持っていることを参照してください。 なぜなら、ディレクトリ、および 453 00:23:27,900 --> 00:23:32,220 その内部のすべてのもの ディレクトリはコピーされました。 454 00:23:32,220 --> 00:23:36,000 そして、それは多少役立ちます 、あなたが作業していると言えば 455 00:23:36,000 --> 00:23:38,860 問題に1を設定 - 456 00:23:38,860 --> 00:23:41,320 または実際に、後で問題セットがあります さらに重要な存在理由 457 00:23:41,320 --> 00:23:43,660 がっつりとなります ファイルや物事の。 458 00:23:43,660 --> 00:23:47,010 >> しかし、あなただけの分割のためにしたい 第二に、あなたは大丈夫、のようにしている、私は今 459 00:23:47,010 --> 00:23:50,210 別の何かをしようとするつもり。 460 00:23:50,210 --> 00:23:57,860 私はちょうど私の全体PSET1をコピーしてみましょう PSET1バックアップしたディレクトリので、もし 461 00:23:57,860 --> 00:24:01,490 私は私ができる、物事を台無しにしてしまう 戻って私のバックアップディレクトリに移動します。 462 00:24:01,490 --> 00:24:07,340 より適切な方法があります。 あなたのコードをバックアップするバージョン管理が、 463 00:24:07,340 --> 00:24:10,610 これは常にだけで作る簡単な方法です あなたが何かのコピーを持っていることを確認 464 00:24:10,610 --> 00:24:11,860 変更しようとしていること。 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> そこでエコーはまた、一回のコマンドであること 愚かに一種だけに印刷されます 467 00:24:27,090 --> 00:24:31,540 コマンドラインは、まさに あなたがエコーしたかった。 468 00:24:31,540 --> 00:24:32,680 そうこんにちはエコー。 469 00:24:32,680 --> 00:24:35,420 私達はちょうどハイテク印刷します。 470 00:24:35,420 --> 00:24:38,030 世界ハローエコー。 471 00:24:38,030 --> 00:24:39,800 私たちは、ハローワールドを印刷します。 472 00:24:39,800 --> 00:24:44,350 つまり、使われるようになると、あなた コマンドを組み合わせて開始します。 473 00:24:44,350 --> 00:24:48,300 >> そして再び、あなたは完全に期待していない まだこのことを理解しますが、それはだ 474 00:24:48,300 --> 00:24:49,910 参照するには何か。 475 00:24:49,910 --> 00:24:52,470 そして、あなたは例のためにグーグルでいるなら またはあなたが何をしたいの実現 476 00:24:52,470 --> 00:24:55,030 何かが、それは便利です。 477 00:24:55,030 --> 00:24:59,020 そうしましょう​​のは、一例として、 そのLS、ダッシュ、L。 478 00:24:59,020 --> 00:25:01,160 だからここに私は、出力が表示され LSの、ダッシュ、L。 479 00:25:01,160 --> 00:25:06,560 そして、私はOK、私がしたいと言う ファイルにそれを格納します。 480 00:25:06,560 --> 00:25:11,620 ここでこの出力のすべてが、私が欲しい 別のファイルに入れます。 481 00:25:11,620 --> 00:25:16,080 >> シンボルよりもそう、この小さな大きく 我々は呼ぶことにしているものです。 482 00:25:16,080 --> 00:25:18,570 私たちは、リダイレクトしている ファイルに出力。 483 00:25:18,570 --> 00:25:21,680 それだから、のは、ファイル何とかと呼ぶことにしましょう どのような私はいつもそれを呼ぶ傾向がある。 484 00:25:21,680 --> 00:25:26,430 だから今我々は我々が持っている参照してください。 右ここ何とかファイル。 485 00:25:26,430 --> 00:25:30,270 そして、私はそれを開くと、私はそれがですがわかります コマンドからの出力を正確に 486 00:25:30,270 --> 00:25:31,990 私はちょうど実行されたこと。 487 00:25:31,990 --> 00:25:36,020 と同様に、次のことができます - 488 00:25:36,020 --> 00:25:41,260 これは、ファイルに出力されている場合は、この ファイルからの入力を取得することです。 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 私のコマンドは何ですか - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH:私はあなたが使用できると思います おそらく、lessやmore。 492 00:25:49,620 --> 00:25:53,031 >> ROB:しかし、どのように弱何とかはどうでしょうか? 493 00:25:53,031 --> 00:25:53,930 知りません。 494 00:25:53,930 --> 00:25:57,870 このシナリオになれますよう、様 それがために便利だというのpsetがあります。 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH:あなたがエコーにパイプにできます。 496 00:25:59,950 --> 00:26:02,920 パイプそれを見るためにエコーにファイルを。 497 00:26:02,920 --> 00:26:04,060 >> ROB:それはパイプです。 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH:申し訳ありません。 499 00:26:04,860 --> 00:26:06,190 >> ROB:すべての権利。 500 00:26:06,190 --> 00:26:12,720 だから、これはファイルに出力されます。 501 00:26:12,720 --> 00:26:18,700 これは、ファイルからテキストを取得している そしてプログラムに引き渡す。 502 00:26:18,700 --> 00:26:20,560 そして、あなたはまたこの男が表示されます。 503 00:26:20,560 --> 00:26:24,410 だから、これは一度に両方を行うの一種である。 504 00:26:24,410 --> 00:26:28,310 そして実際に、私は、2つの新しいを紹介 ちょうどそれを利用するように命令する。 505 00:26:28,310 --> 00:26:33,060 >> 歴史はただで便利なコマンドです のリストを印刷しようとして 506 00:26:33,060 --> 00:26:34,940 私が今までコマンドラインを実行してきたもの。 507 00:26:34,940 --> 00:26:38,290 だから我々は、ここで私が持っているすべてを見る この全体の時間を実行して。 508 00:26:38,290 --> 00:26:39,540 LS年代がたくさん。 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> そしてもう一つの便利なコマンドは、grepのある その目的は終わっ検索することです 511 00:26:48,470 --> 00:26:52,060 パターンを探して、テキスト、まあ、 何でもあなたを探して 512 00:26:52,060 --> 00:26:53,310 それがために見てみたい。 513 00:26:53,310 --> 00:26:59,770 ので、ここでの便利な使用が言う、ある 我々は歴史をつかむことを望む。 514 00:26:59,770 --> 00:27:03,860 そして、私はコマンドのために見てみたい 私はどこに - 何が 515 00:27:03,860 --> 00:27:05,000 を探すために便利な1? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH:[聞こえない]? 517 00:27:06,898 --> 00:27:09,710 >> ROB:またはちょうどすべてを探してみましょう 何らかの理由で、触れる。 518 00:27:09,710 --> 00:27:13,850 だから、これは、それがどのように見えるかです。 519 00:27:13,850 --> 00:27:15,560 そして、あなたは完全にする必要はありません それを理解しています。 520 00:27:15,560 --> 00:27:20,570 しかし、アイデアは、ここにある歴史を与えている それがここにいたのと同じ出力 521 00:27:20,570 --> 00:27:25,030 全体をプリントアウトのWHERE 私が今まで実行してきたすべてのものの歴史。 522 00:27:25,030 --> 00:27:27,030 次に、それを渡している - 523 00:27:27,030 --> 00:27:30,230 だからではなく、それを画面に印刷する、 我々はにそれを渡したい 524 00:27:30,230 --> 00:27:34,640 を探しているコマンドのgrep ワード·タッチのすべてのインスタンス。 525 00:27:34,640 --> 00:27:40,280 >> などの組み合わせを用い ツールの歴史とgrep、私は、[OK]を、見ることができます 526 00:27:40,280 --> 00:27:44,820 ここで私が今までにしたすべてのコマンドだ 実行して、ここでは、やや一般的なものです。 527 00:27:44,820 --> 00:27:45,510 私たちは、一番下にいる。 528 00:27:45,510 --> 00:27:47,930 そしてそれはまた、私に命令を与えている 私はちょうどそれが持っていた走った 529 00:27:47,930 --> 00:27:51,240 その中の単語のタッチ。 530 00:27:51,240 --> 00:27:58,500 しかし、パイプはかなり便利なものです。 複数のプログラムを結合する。 531 00:27:58,500 --> 00:28:04,670 そして実際に、それはレットのショートカットです 何とかファイルに私の出力履歴、 532 00:28:04,670 --> 00:28:10,190 私は、ファイル何とかを使用してgrepしてみましょう 私は目を通すしたいものとして。 533 00:28:10,190 --> 00:28:13,460 だから、パイプは単なるショートカットです これらの二つのコマンドのために。 534 00:28:13,460 --> 00:28:13,950 はい。 535 00:28:13,950 --> 00:28:15,306 >> スピーカ4:[聞こえない]? 536 00:28:15,306 --> 00:28:16,556 >> ROB:はい。 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 何ですか - 539 00:28:21,110 --> 00:28:21,858 ああ。 540 00:28:21,858 --> 00:28:24,820 それではテストしてみましょう。 541 00:28:24,820 --> 00:28:29,170 そう、猫、犬、魚。 542 00:28:29,170 --> 00:28:33,770 だから私はgrepをしたいと思います。 543 00:28:33,770 --> 00:28:37,680 ダッシュは、R、再び、であることを行っている 再帰的なので、私はダウンして下降したい 544 00:28:37,680 --> 00:28:38,870 すべてのディレクトリ。 545 00:28:38,870 --> 00:28:43,210 私は、再帰的にすべてをgrepしたい - そして私は、一時的に取得させ 546 00:28:43,210 --> 00:28:44,460 この方法のうち。 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 私を無視。 549 00:28:50,740 --> 00:28:51,360 [OK]をクリックします。 550 00:28:51,360 --> 00:28:56,740 >> だから私は一時をgrepしたい 単語の魚のすべてのインスタンス。 551 00:28:56,740 --> 00:29:00,510 ので、ここで私がやっているgrepをされている 再帰的に単語の魚のために。 552 00:29:00,510 --> 00:29:05,410 そして星は、これらすべての上に意味 このディレクトリ内のファイル。 553 00:29:05,410 --> 00:29:08,930 そしてそれは、私に拒否されました許可を与えた それはそれを読むことが許可されていないため、 554 00:29:08,930 --> 00:29:10,060 特定のファイル。 555 00:29:10,060 --> 00:29:14,040 しかし、それは、ファイル、テストで魚を見つけた。 556 00:29:14,040 --> 00:29:18,450 >> 私も具体的には、私だけが、言うことができる で、[ファイル]何とかで見てみたい 557 00:29:18,450 --> 00:29:19,580 その場合、それが何かを見つけることができません。 558 00:29:19,580 --> 00:29:20,990 私は、ファイル内のテストを見てみたい。 559 00:29:20,990 --> 00:29:22,240 それは、魚を見つけるでしょう。 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 これはかなり便利なコマンドです。 一般的に知っている。 562 00:29:29,260 --> 00:29:31,640 grepのにはいくつかの選択肢があります 以上のことになっていること 563 00:29:31,640 --> 00:29:36,780 フレンドリーなプログラマが、私は傾向がある まだグレップにフォールバックする。 564 00:29:36,780 --> 00:29:38,030 質問? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 [OK]をクリックします。 567 00:29:40,919 --> 00:29:42,520 >> 他のコマンドはありますか? 568 00:29:42,520 --> 00:29:45,270 ああ。 569 00:29:45,270 --> 00:29:48,370 いつも私はちょうど1オフ1 楽しみがcalはさであることがわかりました。 570 00:29:48,370 --> 00:29:55,610 私はこの素敵にいるときので、注意してください フルスクリーンモード、私はのようなトップを持っていない 571 00:29:55,610 --> 00:29:56,720 ツールバーか何か。 572 00:29:56,720 --> 00:29:59,530 だから、CALはちょうど私に素敵な小さなを与え 右のカレンダー 573 00:29:59,530 --> 00:30:02,380 今切断し、私が想定しています。 574 00:30:02,380 --> 00:30:04,770 しかし、ちょっといいのコマンド。 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH:それは[聞こえない]です。 576 00:30:06,540 --> 00:30:09,170 あなたが持つかもしれない他のコマンド 見て打ち鳴らすとmakeがあります。 577 00:30:09,170 --> 00:30:11,180 私たちは、それらの上に行くよ 詳しく以降。 578 00:30:11,180 --> 00:30:13,400 しかし、あなたが取り組んできた場合には PSETは、あなたがすべきである 579 00:30:13,400 --> 00:30:15,160 それらに精通している。 580 00:30:15,160 --> 00:30:16,640 >> ROB:すべての権利。 581 00:30:16,640 --> 00:30:18,520 コマンドラインに投稿された質問? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 わかりました。 584 00:30:23,260 --> 00:30:27,416 それでは、いくつかに移りましょう C関連のもの。 585 00:30:27,416 --> 00:30:28,666 変数の数学。 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 [OK]をクリックします。 588 00:30:40,060 --> 00:30:45,230 私たちは、スクラッチで数学を持っていたので、同じように また、C言語で数学を使用することができます 589 00:30:45,230 --> 00:30:49,270 >> 我々は完全にそれに入る前に、 変数は、そのように。 590 00:30:49,270 --> 00:30:53,920 あなたが宣言するときはいつでもあることを覚えている INT XやフロートY、あなたのような変数 591 00:30:53,920 --> 00:30:56,710 それは以前に入力し与えなければなりません 変数名。 592 00:30:56,710 --> 00:31:03,020 だから我々は、これまで見てきたタイプがint型である、 フロート、ダブル、長い長い、どのI 593 00:31:03,020 --> 00:31:06,150 実際に私たちがしている場合はわからない ここまでがわかる。 594 00:31:06,150 --> 00:31:07,700 >> 他のいくつかのものがあります。 595 00:31:07,700 --> 00:31:09,990 私たちは、文字が表示されました。 596 00:31:09,990 --> 00:31:13,920 それはいるようである、短いあります 反対側の長い長いそれはのWHERE 597 00:31:13,920 --> 00:31:16,650 整数よりも小さい。 598 00:31:16,650 --> 00:31:18,580 また、文字列を見てきました。 599 00:31:18,580 --> 00:31:23,070 それでは、文字列に関する特別です? 600 00:31:23,070 --> 00:31:25,350 なぜ私はそれがだと言うだろう はなく、かなりint型のような? 601 00:31:25,350 --> 00:31:27,030 >> スピーカ4:それは本当に存在しません。 602 00:31:27,030 --> 00:31:27,990 >> ROB:うん。 603 00:31:27,990 --> 00:31:31,820 我々は、文字列を持っているので、唯一の理由 あなたがするときからです 604 00:31:31,820 --> 00:31:33,215 ハッシュ、cs50.h.を含める 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 そして、我々は、この後の例を見ることができます - ああ、それはそのうまく処理されません - 607 00:31:42,670 --> 00:31:46,160 cs50.hは何かをやっているところ タイプの線に沿って 608 00:31:46,160 --> 00:31:49,230 DEF、チャースター、文字列。 609 00:31:49,230 --> 00:31:53,280 >> だから、それは私たちもしないことを言っている char型の星がまだあるか知っている。 610 00:31:53,280 --> 00:31:56,770 しかし、これは我々は、文字列をしたいと言っている。 611 00:31:56,770 --> 00:32:00,250 あなたは、文字列を使用してきた任意の場所 char型のスターを使用している可能性があり、 612 00:32:00,250 --> 00:32:04,670 実際にタイプされているもの C言語で存在する。 613 00:32:04,670 --> 00:32:06,680 しかし、我々はそれに買ってあげる。 614 00:32:06,680 --> 00:32:07,860 ああ、それはすぐに戻って行く。 615 00:32:07,860 --> 00:32:10,170 きちんとした。 616 00:32:10,170 --> 00:32:15,370 >> BOOLにとても同じこと どこに真と偽。 617 00:32:15,370 --> 00:32:22,510 それは本当にCのビルトインタイプではありません その代わりに、それだけで、これが持っていないです 618 00:32:22,510 --> 00:32:23,740 値はゼロ? 619 00:32:23,740 --> 00:32:26,200 その後、我々はちょうど検討します それが偽であると。 620 00:32:26,200 --> 00:32:27,350 これは値を持っていますか - 621 00:32:27,350 --> 00:32:30,530 まあ、これはいずれかを持っているん ゼロではない値は? 622 00:32:30,530 --> 00:32:32,200 その後、我々はそれが真実であると考えます。 623 00:32:32,200 --> 00:32:35,940 だから、いずれかに該当する、2に該当し、 ゼロ以外のものは真である。 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 だから、それらはそれらである。 626 00:32:42,790 --> 00:32:47,624 変数の宣言に関する質問や 変数の型、すべてのこと? 627 00:32:47,624 --> 00:32:48,100 うん。 628 00:32:48,100 --> 00:32:52,384 >> スピーカ4:長い長い間、本の中で、 それは長い長いint型でなければならなかったと述べた。 629 00:32:52,384 --> 00:32:54,288 しかし、単に長い長い動作します? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> ROB:だからこれらのタイプ修飾子。 632 00:33:01,470 --> 00:33:04,170 そうINT X。 633 00:33:04,170 --> 00:33:07,710 だから我々はまた、unsigned int型Xを言うことができます。 634 00:33:07,710 --> 00:33:09,640 我々は、短いのint xを言うことができます。 635 00:33:09,640 --> 00:33:12,570 私たちは、長い長い整数xを言うことができます。 636 00:33:12,570 --> 00:33:17,250 しかし、ほとんどすべてのものの私 今言った、unsigned int型、short int型、 637 00:33:17,250 --> 00:33:21,480 長い長いINTは、あなたが取り除くことができます int型とそれだけと仮定します 638 00:33:21,480 --> 00:33:22,510 あなたはint型を意味していること。 639 00:33:22,510 --> 00:33:26,045 ただ意味ので、符号なしX、 - 640 00:33:26,045 --> 00:33:29,400 あなたが知っているか、通常のintで、 あなたは、xが負の3に等しいと言うことができますか? 641 00:33:29,400 --> 00:33:31,636 unsigned int型を使用すると、することはできません。 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH:そして再び、カメラ、 質問、違いは何した 643 00:33:34,480 --> 00:33:37,796 長い長いINT間 ちょうど長い長い? 644 00:33:37,796 --> 00:33:38,410 >> ROB:うん。 645 00:33:38,410 --> 00:33:42,850 だから、私はほとんど決して 長い長いint型を記述します。 646 00:33:42,850 --> 00:33:44,100 私は長い長い書き込みます。 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH:ご質問? 649 00:33:50,636 --> 00:33:51,886 >> ROB:わかりました。 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 だからの他愛ないリマインダーはどうだ 私たちは、変数を宣言し、初期化する 652 00:34:02,390 --> 00:34:04,450 別の変数と宣言 変数と初期化 653 00:34:04,450 --> 00:34:05,870 1ステップですべて。 654 00:34:05,870 --> 00:34:09,370 だから、変数の宣言と 初期化変数はありません 655 00:34:09,370 --> 00:34:11,120 しかし、同じ行に配置できます。 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> だから我々は、標準的な数学演算子を持っている あなたは、に慣れていること - 658 00:34:20,060 --> 00:34:22,199 プラス、マイナス、除算、回。 659 00:34:22,199 --> 00:34:24,389 私達が表示されますを法もあります。 660 00:34:24,389 --> 00:34:29,060 少なくともでは、ありません C、内蔵電源 661 00:34:29,060 --> 00:34:31,765 指数キャレット演算子です。 662 00:34:31,765 --> 00:34:33,770 さて、キャレット演算子があり、 それは、電力ではありません。 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH:しかし、それは累乗ではないが、 はい。 664 00:34:34,239 --> 00:34:36,210 >> ROB:キャレットを使用しないでください それが意味することを前提とする 665 00:34:36,210 --> 00:34:39,980 乗のような、または何でも。 666 00:34:39,980 --> 00:34:42,289 だから、いくつかのものは留めておくべき 部門について気に。 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 私が立っているよ。 669 00:34:48,880 --> 00:34:51,315 だから、初期化の答えは宣言した。 670 00:34:51,315 --> 00:34:54,670 だから我々はフロート答えを言っている 10で割った1に相当します。 671 00:34:54,670 --> 00:34:57,500 小数点以下2桁に答えを印刷します。 672 00:34:57,500 --> 00:35:02,180 >> そして、これは私のもののようなものです。 把握するためのprintfを人間だろうと 673 00:35:02,180 --> 00:35:05,110 、ドット、2Fは%で一体何を意味するのでしょうか? 674 00:35:05,110 --> 00:35:07,930 そして、それはちょうど、まあ、意味 0.2を無視する。 675 00:35:07,930 --> 00:35:10,420 そして%、Fが我々が使用しているものです。 浮いて印刷します。 676 00:35:10,420 --> 00:35:15,370 0.2が言っている、印刷しておくこと 小数点以下2桁に浮かんでいる。 677 00:35:15,370 --> 00:35:19,600 したがって、このプログラムにはバグがあり、あなたは可能性がある 一部の前にこれを見てきました 678 00:35:19,600 --> 00:35:20,870 前のCSのコース。 679 00:35:20,870 --> 00:35:22,170 しかし、そのバグは何ですか? 680 00:35:22,170 --> 00:35:23,050 >> スピーカ5:ゼロ。 681 00:35:23,050 --> 00:35:24,130 >> ROB:うん。 682 00:35:24,130 --> 00:35:29,630 私たちが言うときので、答えは等しい 1 10で除し、私たちが望む 683 00:35:29,630 --> 00:35:31,610 0.1であると答えます。 684 00:35:31,610 --> 00:35:37,450 しかし、10で除1,1である 整数10は整数である。 685 00:35:37,450 --> 00:35:41,060 そして私たちがで割った整数を行うとき 整数、我々は戻って取得するつもりだ 686 00:35:41,060 --> 00:35:42,190 整数。 687 00:35:42,190 --> 00:35:43,660 だから、10で割った1は0.1である。 688 00:35:43,660 --> 00:35:46,760 >> それは私たちに整数を与える必要があるため、 それだけで捨てるために起こっていること 689 00:35:46,760 --> 00:35:49,410 小数点以下と言う 答えは0です。 690 00:35:49,410 --> 00:35:55,314 そして私たちは、ここで答える印刷するとき それが0.00を印刷するために起こっている。 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH:そして、ちょうどノートのように、実際に 後に何捨てる 692 00:35:58,430 --> 00:35:59,390 小数点以下。 693 00:35:59,390 --> 00:36:03,180 あなたが代わりに持っていたのであれば6は、10で割った あなたはそれはあなたを与えるだろうと思うかもしれない 694 00:36:03,180 --> 00:36:05,200 0.6してから、1に切り上げでしょう。 695 00:36:05,200 --> 00:36:10,520 それが入力すると、実際、どうなるでしょう タスクは、それが何であるか低下することである 696 00:36:10,520 --> 00:36:11,470 小数点以下。 697 00:36:11,470 --> 00:36:13,020 だから、0.6は0になりません。 698 00:36:13,020 --> 00:36:13,370 >> ROB:うん。 699 00:36:13,370 --> 00:36:15,160 そして、我々はそのために切り捨てると言うでしょう。 700 00:36:15,160 --> 00:36:21,760 ですから、int型にキャストするたびに、 小数点以下は切り捨てられます。 701 00:36:21,760 --> 00:36:23,980 だから、そのための修正 - あります 実際に2。 702 00:36:23,980 --> 00:36:27,890 そして私は、その二をするつもりだから この1は、はるかに簡単な修正です。 703 00:36:27,890 --> 00:36:32,670 >> だから、1修正は山車を使用している 部門。 704 00:36:32,670 --> 00:36:34,720 本当に、あなただけす​​る必要が そのうちの1フロートを作る。 705 00:36:34,720 --> 00:36:37,400 しかし、それだけで多少鮮明だ それらの両方浮かぶようにします。 706 00:36:37,400 --> 00:36:41,170 だから、1.0は10.0である割っ 2つのfloatを分割する。 707 00:36:41,170 --> 00:36:43,970 だから、答えはされてしまう フロートなどサービスは以下の通りです。 708 00:36:43,970 --> 00:36:48,050 正しくここに0.10を印刷します。 709 00:36:48,050 --> 00:36:52,220 >> とてもうまく機能しないもの そのことについて、まあ、確かに、それは簡単だったさ 710 00:36:52,220 --> 00:36:56,240 に1を変換するのに十分 それ1.0行うことで浮く。 711 00:36:56,240 --> 00:37:02,180 しかし、その代わりに我々は2つ​​の整数を持っていたものかどう int型のようにxは1とINT Yに等しい 712 00:37:02,180 --> 00:37:05,660 10になり、その後、我々は望んで xをyで割っ行うには? 713 00:37:05,660 --> 00:37:10,420 だから、それだけでは容易ではありません X.0または何かをする。 714 00:37:10,420 --> 00:37:12,790 >> だから、それに修正を落としている。 715 00:37:12,790 --> 00:37:19,780 だから、キャストは、Cに変換する方法です 1変数の型から別の。 716 00:37:19,780 --> 00:37:22,320 だからここに、1は整数である。 717 00:37:22,320 --> 00:37:27,050 そして目の前に、このフロートを置くことによって、 それは、我々はfloatに1をキャストしている。 718 00:37:27,050 --> 00:37:30,350 だから、これは変換されます 1から1.0。 719 00:37:30,350 --> 00:37:33,380 そして、これは変換されます 10から10.0。 720 00:37:33,380 --> 00:37:36,790 >> そして、その後のことは同様に挙動 我々だけであった前のバージョン 721 00:37:36,790 --> 00:37:42,190 ここで、予想されたように、私たちは0.10を得る それはそれを印刷します。 722 00:37:42,190 --> 00:37:44,120 そして、我々は、次の方法でこれを行うことができます あまりにも変数。 723 00:37:44,120 --> 00:37:47,376 だから我々は、フロートxを言うことができます フロートyで割った。 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH:ご質問? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> ROB:だから普通の数学と同様に、 私たちは、演算子の優先順位を持っている。 727 00:38:00,090 --> 00:38:06,960 だから、数学の授業では、より多くの可能性が高いです 操作の順序で呼び出す。 728 00:38:06,960 --> 00:38:09,890 ここでは、正式な用語です 演算子の優先順位。 729 00:38:09,890 --> 00:38:15,230 しかし、演算子の優先順位、または最も 事業者は、あなたが期待するようになります。 730 00:38:15,230 --> 00:38:22,660 >> だから数学のように、2倍の10です より密接によりグループ化されようとし 731 00:38:22,660 --> 00:38:25,410 この10は、2で割った後、2。 732 00:38:25,410 --> 00:38:29,745 操作の順序は、それが2を行います 10倍、10を2で除算し、そして 733 00:38:29,745 --> 00:38:32,720 それは20プラス5プラス2をやる。 734 00:38:32,720 --> 00:38:37,020 だから、期待どおりだし、あなたが使用することができます 式をグループ化するために括弧。 735 00:38:37,020 --> 00:38:41,063 あなたは、角括弧を使用することはできません 式をグループ化する。 736 00:38:41,063 --> 00:38:41,544 うん? 737 00:38:41,544 --> 00:38:43,468 >> スピーカ5:実際にあなたでした 戻ったばかりの1秒に行く? 738 00:38:43,468 --> 00:38:47,316 あなたは文字列にint型にキャストすることはできますか? 739 00:38:47,316 --> 00:38:53,330 >> ROB:だからCでは、あなたが何かをキャストすることができます あなたがほしい何でもしたい。 740 00:38:53,330 --> 00:38:55,600 これで終わりですという意味ではありません 行うには良いことだ。 741 00:38:55,600 --> 00:38:59,760 だから、にint型にキャストするとき 文字列意味 - 742 00:38:59,760 --> 00:39:03,240 そして我々は、この中に買ってあげる はるかに徹底的に - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH:ずっと後。 744 00:39:03,720 --> 00:39:06,840 >> ROB:私は、ずっと後に言いたくありませんでした、 私は私の文を変更しようとしました。 745 00:39:06,840 --> 00:39:13,370 私たちは、はるかに徹底的に買ってあげる 後でどこに本当にあなたが持っているとき 746 00:39:13,370 --> 00:39:14,810 文字列変数 - 747 00:39:14,810 --> 00:39:17,160 その文字列は任意にすることができます 長いですよね? 748 00:39:17,160 --> 00:39:21,850 そして、我々はint型であることを言ってきた 4バイトと長い長さで8 749 00:39:21,850 --> 00:39:23,620 バイト、フロートは4バイトです。 750 00:39:23,620 --> 00:39:29,520 だからint型のような文字列が、唯一持って それへの特定のバイト数。 751 00:39:29,520 --> 00:39:31,800 そして、それは4バイトになります。 752 00:39:31,800 --> 00:39:34,750 >> しかし、文字列はかなりすることができます 任意の長さは、右? 753 00:39:34,750 --> 00:39:40,190 だから、ハローワールドはすでに、それが10の場合は、 文字または何、それはすでにだ 754 00:39:40,190 --> 00:39:42,670 4バイトを超えることになるだろう 私は、文字列に収まることができる。 755 00:39:42,670 --> 00:39:51,140 だから、文字列が実際にどのように動作するかというです 彼らはどこにメモリ内にその文字列である 756 00:39:51,140 --> 00:39:52,380 保管されています。 757 00:39:52,380 --> 00:39:57,290 >> だからこっち、私が言う文字列x Xの内部で、Hello Worldのです等しい 758 00:39:57,290 --> 00:40:01,840 ただああ、こんにちは、世界が格納されている、と言って メモリ内のこの特定の場所で。 759 00:40:01,840 --> 00:40:07,060 だから我々は整数にキャストしようとした場合 文字列は、その後、我々は解釈しようとしている 760 00:40:07,060 --> 00:40:10,500 メモリのいくつかのランダムな部分 文字列として。 761 00:40:10,500 --> 00:40:14,465 そして、それはほとんど常に物事を壊します。 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH:しかし、それは混乱させた場合 もし、我々はそれをカバーすることができます 763 00:40:17,040 --> 00:40:17,550 後で深さより。 764 00:40:17,550 --> 00:40:17,850 >> ROB:うん。 765 00:40:17,850 --> 00:40:20,540 あなたが行っているところです ポインタに入るため。 766 00:40:20,540 --> 00:40:25,485 そして、それは重要なチャンクです このコースの2週間。 767 00:40:25,485 --> 00:40:28,275 >> スピーカ6:それはオブジェクトのように動作しますか 他の言語のか、本当に? 768 00:40:28,275 --> 00:40:34,050 >> ROB:だから他の言語、オブジェクト内の ポインタを使用して表される。 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 これは、しかし、同じことではありません。 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 任意の考え? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH:いいえ。 774 00:40:43,760 --> 00:40:44,185 何考えていません。 775 00:40:44,185 --> 00:40:44,980 >> ROB:わかりました。 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH:次。 777 00:40:46,994 --> 00:40:48,255 >> ロブ:ちょうどそれで行く。 778 00:40:48,255 --> 00:40:48,670 わかりました。 779 00:40:48,670 --> 00:40:51,120 そうモジュロ。 780 00:40:51,120 --> 00:40:53,900 ただ、我々はプラス持っているように、マイナス 分割し、乗算します。 781 00:40:53,900 --> 00:40:56,720 だから、法とは、使用するおそれのあるものです 前に見ていない。 782 00:40:56,720 --> 00:40:59,540 そして、それはちょうど与える、と言う 私の残りの部分。 783 00:40:59,540 --> 00:41:02,850 だから、55パーセント10。 784 00:41:02,850 --> 00:41:06,840 分割55をやっての残りの部分 10で5になります。 785 00:41:06,840 --> 00:41:09,630 だから、55パーセント10は5である。 786 00:41:09,630 --> 00:41:12,260 そして3%5は3になります。 787 00:41:12,260 --> 00:41:14,180 8%8は0になります。 788 00:41:14,180 --> 00:41:15,903 16%15は1になります。 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH:これでもう一つ注意すべき、 あまりにも、期待どおりに動作しない場合がございます 790 00:41:20,670 --> 00:41:22,700 あなたが負の数を使用している場合。 791 00:41:22,700 --> 00:41:26,215 だから、負の5%4、一部の人々 つまり、と思うかもしれない - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 あなたが否定的に何を思うだろう 5%4は次のようになります? 794 00:41:33,808 --> 00:41:34,792 >> スピーカ5:ワン。 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH:だから何人かの人々は、1を言う 一部の人々は否定的なものを言う。 796 00:41:37,920 --> 00:41:38,450 しかし、どのような - 797 00:41:38,450 --> 00:41:40,820 >> ROB:私も持っていません それらの1人だ。 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH:二、申し訳ありません。 799 00:41:42,370 --> 00:41:43,240 一部の人々は言う - 800 00:41:43,240 --> 00:41:43,450 >> ROB:スリー。 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH:三? 802 00:41:43,800 --> 00:41:44,890 >> ROB:負 - 803 00:41:44,890 --> 00:41:45,950 負の5 - 何だった - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH:三、3、3。 805 00:41:47,100 --> 00:41:48,450 申し訳ありません。 806 00:41:48,450 --> 00:41:51,910 ので、あなたがしたら、一般的には、法とする 他の場所でそれを見て、それは通常意味します 807 00:41:51,910 --> 00:41:54,000 右、正の数を返す? 808 00:41:54,000 --> 00:42:01,160 >> ROB:だから我々は数学で言う、10代%、 彼らはあなたを提供したい傾向がある - 809 00:42:01,160 --> 00:42:05,980 我々は10で国防省なら、私たちはと期待 0から9までの番号を取得。 810 00:42:05,980 --> 00:42:09,860 ここでは、それはあなたの場合ではありません 負の数を返してしまいます。 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH:だから負の5% 4は負の1になります。 812 00:42:15,898 --> 00:42:19,325 >> ROB:しかし、それはあなたがMOD-INGだということはめったにありません そもそも負の数。 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 これを省略してください。 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH:うん。 816 00:42:27,314 --> 00:42:29,420 >> ROB:まあまあ。 817 00:42:29,420 --> 00:42:29,990 [OK]をクリックします。 818 00:42:29,990 --> 00:42:36,400 について指摘するので、最後の一つです 山車は、それは危険な行動だです 819 00:42:36,400 --> 00:42:39,850 しかし、浮動小数点数は正確ではありません 表現。 820 00:42:39,850 --> 00:42:46,190 だから、再びバイトに行く、覚えて int型は常に4バイトで、Aであること 821 00:42:46,190 --> 00:42:47,830 フロートは常に4バイトです。 822 00:42:47,830 --> 00:42:51,340 だから、ルーカスの例は、かなり良いです。 823 00:42:51,340 --> 00:42:55,730 >> だから、3で割って1を考える。 824 00:42:55,730 --> 00:42:57,800 そう0.3333333。 825 00:42:57,800 --> 00:43:03,540 私は32ビットを使用している場合、どのようにすることができます 私は正確に0.33333を保存する? 826 00:43:03,540 --> 00:43:07,250 そして、おそらく、何らかの理由で、あなたが言う、 大丈夫、まあ、ちょうど言わせて 827 00:43:07,250 --> 00:43:13,210 この特定の1011001つまり、みましょう ちょうどそれは0.333333であるべきと言う。 828 00:43:13,210 --> 00:43:16,960 さて、あなたは唯一の有限数を持っている これらのビット、それは不可能ですので、 829 00:43:16,960 --> 00:43:22,550 すべての単一の浮動小数点を表す ちょうど32ビット指定された値。 830 00:43:22,550 --> 00:43:25,580 >> まあ、それはいずれかを表すことは不可能です 無限所与の浮動小数点値 - 831 00:43:25,580 --> 00:43:28,480 さて、任意のビット有限数を与えられた。 832 00:43:28,480 --> 00:43:38,265 だから、ここでの問題は、我々が使用した場合、まあ、ある 小数点以下2桁に印刷するには、 833 00:43:38,265 --> 00:43:42,000 我々は正確に答え0.10を手に入れた。 834 00:43:42,000 --> 00:43:47,510 しかし、ボンネットの下に、それは本当にです のできるだけ近くに格納されている 835 00:43:47,510 --> 00:43:51,790 これらのビットとして0.10を表すことができます。 836 00:43:51,790 --> 00:43:53,200 これは、次のスライドにある? 837 00:43:53,200 --> 00:43:53,830 あるいはそうではありませんか? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH:ええ、それはそのだ。 839 00:43:54,660 --> 00:43:55,750 >> ROB:Blegh、blegh。 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH:ええ、あなただけのことができます 少しノートを引き上げます。 841 00:43:57,760 --> 00:43:59,700 >> ROB:私はちょうど拡大するつもりだ その上で、最後に中。 842 00:43:59,700 --> 00:44:00,950 おやっ私のああ、それは[聞こえない]です。 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 だから数。 845 00:44:08,300 --> 00:44:12,300 つまり、印刷されるものである 私たちは、そのプログラムを実行した場合。 846 00:44:12,300 --> 00:44:20,340 そして、それは本当に大したことではありません注意してください 我々だけのような気にしている場合 847 00:44:20,340 --> 00:44:21,920 二から三小数点以下。 848 00:44:21,920 --> 00:44:26,700 のような私たちは、元々、0.10を印刷 我々は何も間違って見なかった理由、それはです。 849 00:44:26,700 --> 00:44:31,380 しかし、我々はに入る始めたら それはの正確、正確な数 850 00:44:31,380 --> 00:44:35,660 代表、我々はそれができないことがわかります 正確に0.1を表す。 851 00:44:35,660 --> 00:44:40,900 >> そしてここでの問題の一部は、等である 大丈夫、それで結構です、しかし、まあ、 852 00:44:40,900 --> 00:44:46,120 まず、私たちが何をしようとした場合、 答えは0.1に等しい等しい? 853 00:44:46,120 --> 00:44:49,200 trueまたはfalseを返しに行くことですか? 854 00:44:49,200 --> 00:44:51,850 そしてそれは言うのは難しい。 855 00:44:51,850 --> 00:44:53,330 私はそれが実際にtrueを返すかもしれないと思う。 856 00:44:53,330 --> 00:44:55,265 それが最初になります - 857 00:44:55,265 --> 00:44:56,180 知りません。 858 00:44:56,180 --> 00:45:00,090 あなたが扱って始めれば答えは 浮動小数点値を使用すると、かなり 859 00:45:00,090 --> 00:45:05,150 多くの同一性を使用してすべきではありません この不正確さのため。 860 00:45:05,150 --> 00:45:09,470 >> そして、あなたが知っているすべてのために、それは百分のだ その小数点以下 861 00:45:09,470 --> 00:45:13,670 浮動小数点はできませんでした 正しく処理します。 862 00:45:13,670 --> 00:45:18,180 だから平等だけ失敗しても、 しかし数 - あなたがいた場合 863 00:45:18,180 --> 00:45:24,450 正確な数値を使用して、番号がすべき まったく同じだった。 864 00:45:24,450 --> 00:45:27,790 それは50のように渡ってい これらのフローティングを用いた計算 865 00:45:27,790 --> 00:45:30,270 ポイント値は、エラーが構築することができます アップとアップとアップし、 866 00:45:30,270 --> 00:45:31,125 物事はただ誤解。 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH:本当にありました この出来事の有名な例。 868 00:45:33,870 --> 00:45:37,190 NASAの技術者はこれを得ているように ロケットが爆発を引き起こして、間違っ 869 00:45:37,190 --> 00:45:38,665 彼らが立ち上げてきた後の空気。 870 00:45:38,665 --> 00:45:41,490 そして、そのような問題がたくさん。 871 00:45:41,490 --> 00:45:41,956 そんなわけで。 872 00:45:41,956 --> 00:45:45,218 >> スピーカ6:あなたは0.3 Fと言う、 それが残りの部分を切り捨てるのか? 873 00:45:45,218 --> 00:45:46,468 それとも、切り上げまたは切り下げのでしょうか? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> ロブ:それラウンドのprintfのでしょうか? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH:私はprintfの切り捨てと思います。 877 00:45:52,180 --> 00:45:52,640 >> ROB:わかりました。 878 00:45:52,640 --> 00:45:59,890 だから我々は、同様に反対に行くことができます この場合の方向、この場合には、 879 00:45:59,890 --> 00:46:03,320 それは表すことができ、最も近い 0.1は、この数となりました。 880 00:46:03,320 --> 00:46:06,820 それができる可能性があり、最も近い 表現する0.2が反対している 881 00:46:06,820 --> 00:46:11,420 方向、0.199999996356 か何か。 882 00:46:11,420 --> 00:46:17,480 だから、我々はその方向に行けば 物事は、printfの0.3 Fが戻ってくる 883 00:46:17,480 --> 00:46:20,866 1.99ではなく2.00。 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH:私は完全にないよ その上で確認してください。 885 00:46:22,960 --> 00:46:25,430 あなたは小さな、ちょっと書きたいことがあります ちょうどそれを確認するためのプログラム。 886 00:46:25,430 --> 00:46:29,370 >> ROB:しかし、私たちは確信しているのは、つまり、 あなたがすることをキャストしようとした場合 887 00:46:29,370 --> 00:46:33,660 int型、およびint型にキャストするとしようとしている それがあれば、小数点以下を切り捨てる原因 888 00:46:33,660 --> 00:46:38,140 あなたは1.9999999をキャストしよう int型にするには、1を得るでしょう。 889 00:46:38,140 --> 00:46:41,440 だからあなたは、一般的に使用する必要があります 数学ライブラリ内の段関数。 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 質問? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 [OK]をクリックします。 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH:だから条件に移る とブール式。 895 00:46:54,000 --> 00:46:58,120 だから前に、これらを見てきました。 896 00:46:58,120 --> 00:47:07,420 そして実際に、私は私のことを確認してみましょう コンピュータは、ここに適切なフォーマットであります。 897 00:47:07,420 --> 00:47:08,670 スペース。 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 申し訳ありませんが、我々は対処する必要があるとしている 縁でカットオフと少し。 900 00:47:13,870 --> 00:47:15,830 >> しかし、ええ、あなたたちは見てきました この前のスクラッチ中。 901 00:47:15,830 --> 00:47:19,930 だからここにこの権利は式で ここで使用されている 902 00:47:19,930 --> 00:47:21,250 条件文。 903 00:47:21,250 --> 00:47:23,930 だからゼロ意志より大きい答える trueまたはfalseを教えてくれ。 904 00:47:23,930 --> 00:47:26,530 これらは、実際に重要であるため 彼らは私たちを紹介させて 905 00:47:26,530 --> 00:47:28,670 私たちのコードにロジック。 906 00:47:28,670 --> 00:47:32,820 >> したがって、たとえば、これは、プログラムである ユーザーに要求スクラッチで記述された 907 00:47:32,820 --> 00:47:36,980 整数とするかどうか、それらを伝えます 彼らはあなたがたた整数 908 00:47:36,980 --> 00:47:38,690 正または負の数。 909 00:47:38,690 --> 00:47:42,980 そして見るためにここに上の変換がある あなたが最初に、文をプリントアウト 910 00:47:42,980 --> 00:47:43,870 私に整数を与える。 911 00:47:43,870 --> 00:47:45,980 そして、あなたは、整数のためにそれらを頼む。 912 00:47:45,980 --> 00:47:49,870 >> そして、あなたは上で条件付きロジックを使用 ここでその数かどうかをチェックするには 913 00:47:49,870 --> 00:47:52,030 実際にはゼロではないよりも大きかった。 914 00:47:52,030 --> 00:47:58,960 そこでここでは、ブール式を持っている 条件IF文の内部。 915 00:47:58,960 --> 00:48:00,660 ご不明な点はありますか? 916 00:48:00,660 --> 00:48:03,030 それについてのご質問はありますか? 917 00:48:03,030 --> 00:48:03,950 [OK]をクリックします。 918 00:48:03,950 --> 00:48:06,140 >> だからより多くがあります もちろん、より高い。 919 00:48:06,140 --> 00:48:10,385 あなたは、ブール式を構築することができます あなたは物事の種類のほとんどを使用して 920 00:48:10,385 --> 00:48:11,150 数学に考えるだろう。 921 00:48:11,150 --> 00:48:12,370 よりそう大きい。 922 00:48:12,370 --> 00:48:13,740 それは以下でなければなりません。 923 00:48:13,740 --> 00:48:14,990 申し訳ありません。 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 と間隔。 926 00:48:19,760 --> 00:48:22,971 >> ROB:神はあなたがそれを残す禁じる。 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH:すべての権利。 928 00:48:23,620 --> 00:48:25,950 より、より小さく、よりそう大きい より、または、小さいか、等しい 929 00:48:25,950 --> 00:48:27,070 より、または等しい。 930 00:48:27,070 --> 00:48:31,980 我々はチェックするために二重の等号を使用 平等、一つの手段に等しいので、 931 00:48:31,980 --> 00:48:32,810 代入は、右? 932 00:48:32,810 --> 00:48:33,140 はい。 933 00:48:33,140 --> 00:48:37,130 そして、我々はまたによって等しくないで行うことができます 感嘆符を使用して、等しい。 934 00:48:37,130 --> 00:48:41,530 >> この感嘆符のシンボルは、CAN また、拡張されるようにしたい場合は 935 00:48:41,530 --> 00:48:44,050 ブールの任意の並べ替えを反転するには 式は、あなたがそれを行うことができます。 936 00:48:44,050 --> 00:48:48,530 だから、これはtrueと評価され 答えが小さい場合にのみ 937 00:48:48,530 --> 00:48:51,240 以上またはゼロに等しい。 938 00:48:51,240 --> 00:48:53,950 その上の任意の質問? 939 00:48:53,950 --> 00:48:55,180 [OK]をクリックします。 940 00:48:55,180 --> 00:48:58,840 >> だから、あなたはまた、これらを組み合わせることができます 論理を使用して式とし、 941 00:48:58,840 --> 00:48:59,790 論理的または。 942 00:48:59,790 --> 00:49:03,530 だから、これは単なるシンボルであり、 これは、Shift、7にする必要があります。 943 00:49:03,530 --> 00:49:07,720 そして、これはある、パイプ記号である それは一つだ低くない場合、L. 944 00:49:07,720 --> 00:49:09,440 それは右、あなたのEnterキーの上だ。 945 00:49:09,440 --> 00:49:12,870 ですから、象徴する、これらのうちの2つを使用し 論理的かつ論理的または。 946 00:49:12,870 --> 00:49:18,180 >> だから、これは唯一の答え場合にtrueを返します 1個、2個、3個または4個である。 947 00:49:18,180 --> 00:49:23,030 と答えると、これが唯一のtrueを返します どちらかの側にそれを超えています。 948 00:49:23,030 --> 00:49:26,190 だからそれは、1つ、2つ、3つ、または4つはない。 949 00:49:26,190 --> 00:49:28,385 そして、あなたが使用する方法 その式中 - 950 00:49:28,385 --> 00:49:29,990 >> ROB:ゼロまたは5。 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH:ゼロまたは5。 952 00:49:32,200 --> 00:49:32,380 申し訳ありません。 953 00:49:32,380 --> 00:49:33,320 はい、はい、はい。 954 00:49:33,320 --> 00:49:34,180 [OK]をクリックします。 955 00:49:34,180 --> 00:49:38,980 そして今こちらに、同じようにあなた その式を使用することになり、小さい 956 00:49:38,980 --> 00:49:42,000 もし、条件の発現側 声明、また、それ使用します 957 00:49:42,000 --> 00:49:47,800 ただの内側に置くことによって、同じよう IF文の括弧の。 958 00:49:47,800 --> 00:49:54,020 答えのであれば、このprintf関数にのみ発生します 1個、2個、3個または4個である。 959 00:49:54,020 --> 00:49:56,002 組み合わせ上のご質問 表現? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> だから、別の条件があります 我々は、If / ELSEを呼び出す構築する。 962 00:50:04,240 --> 00:50:08,120 そこで、基本的に、これは今場合は、[OK]を、意味 私はチェックしたいものではありませんでした 963 00:50:08,120 --> 00:50:11,600 trueの場合、それ以外に移動し、 そのほかのアクションを実行します。 964 00:50:11,600 --> 00:50:15,570 したがって、この特定のケースでは、私は尋ねた 整数用のユーザー。 965 00:50:15,570 --> 00:50:17,790 整数がゼロよりも大きい? 966 00:50:17,790 --> 00:50:18,310 はい? 967 00:50:18,310 --> 00:50:20,100 さて、それらを拾い 正の数。 968 00:50:20,100 --> 00:50:22,320 いない場合、それは持っている必要があります 負またはゼロであっ。 969 00:50:22,320 --> 00:50:27,530 だから、負の数を選んだ あるいはこの場合はゼロ。 970 00:50:27,530 --> 00:50:29,235 はい。 971 00:50:29,235 --> 00:50:30,485 またはゼロ。 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> /他の場合、その後、我々はまた、持っている ifとelse。 974 00:50:39,300 --> 00:50:45,640 だから、これは私たちがのシーケンスを実行できます 物事は最初のものは、失敗した場合にのみ。 975 00:50:45,640 --> 00:50:49,540 この場合には、今、私たちは作っている あなたがゼロを選ぶ最後の1。 976 00:50:49,540 --> 00:50:53,080 彼らは正を選んだことも、どちらもそうなら 負の数、それらは必要 977 00:50:53,080 --> 00:50:53,640 ゼロを選んだ。 978 00:50:53,640 --> 00:50:56,720 だから、ただ座っ行く このようなチェーン。 979 00:50:56,720 --> 00:50:59,960 >> どのようにそのように例 異なっている場合 - 980 00:50:59,960 --> 00:51:02,590 IF /エルスは異なっている IFのちょうど順序。 981 00:51:02,590 --> 00:51:07,680 そしてこれは、一般的な質問です あなたが好き得れば、人々はよく、されている依頼 982 00:51:07,680 --> 00:51:11,265 95 CS50において、何でしょう、この プログラムはあなたを教えて? 983 00:51:11,265 --> 00:51:12,600 >> スピーカ5:あなたはAを得た 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH:はい。 985 00:51:13,490 --> 00:51:14,960 あなたは、一つ一つを得た 右のものの1。 986 00:51:14,960 --> 00:51:17,130 あなたはあなたが、あなたはBを持って、Aを得た 右、CとDがあるの? 987 00:51:17,130 --> 00:51:19,770 したがって、これらの全てが評価を得る ためである。 988 00:51:19,770 --> 00:51:23,570 95は90よりも大きくしながらそう、それはだ 80よりも大きく、それはまたです 989 00:51:23,570 --> 00:51:25,790 70より大きく、そしてそれはだ また、60よりも大きい。 990 00:51:25,790 --> 00:51:27,620 ですから、これらの等級のすべてを得た。 991 00:51:27,620 --> 00:51:31,630 と私はあなたがだろうと想定 唯一のAをしたい 992 00:51:31,630 --> 00:51:34,060 >> これを修正する方法は交換することです エルス/ IF 'sのもの。 993 00:51:34,060 --> 00:51:37,540 したがって、このシナリオでは、95であることが見 90を超え、それはない 994 00:51:37,540 --> 00:51:38,885 残りの部分を評価しない ステートメントの。 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 それについての質問? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> だから、別の条件の並べ替えがあります 我々はここで我々が​​持っている構造 999 00:51:52,470 --> 00:51:53,390 switchステートメントを呼び出します。 1000 00:51:53,390 --> 00:51:57,390 だから、これはあなたが基本的にチェックすることができます 何を置く数の値 1001 00:51:57,390 --> 00:51:59,000 switch文にある。 1002 00:51:59,000 --> 00:52:03,200 したがって、このシナリオでは、スイッチングしている nがある場合には、Nであり、我々は、ああ、と言っている 1003 00:52:03,200 --> 00:52:04,710 1は、その文を印刷します。 1004 00:52:04,710 --> 00:52:07,910 して終了を意味する、破る switch文の外。 1005 00:52:07,910 --> 00:52:12,670 >> それが1でなかった場合は、、まあ、ただ 最終的にはこれらのケースのすべてを確認してください。 1006 00:52:12,670 --> 00:52:16,280 それは、1つまたは2つまたはだ場合ので、チェック 三つ、そしてそれに応じて印刷する。 1007 00:52:16,280 --> 00:52:19,780 そして、何このデフォルトのキーワードダウンここに 彼らはいずれも入力しなかった場合の手段がある 1008 00:52:19,780 --> 00:52:21,690 これらのうち、無効なと言う。 1009 00:52:21,690 --> 00:52:25,910 それでは、私はNのために投稿してみましょう ユーザーは私に4を与えます。 1010 00:52:25,910 --> 00:52:29,470 まあ、それはそのような場合にも一致しない、 そうそれはに何があるかが出力されます 1011 00:52:29,470 --> 00:52:30,540 デフォルトのセクション。 1012 00:52:30,540 --> 00:52:31,180 はい、質問? 1013 00:52:31,180 --> 00:52:32,614 >> スピーカ5:あなたはブール値を使用することはできます 表現の代わりに、 1014 00:52:32,614 --> 00:52:33,570 一つ、二つまたは三つの? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH:だから問題は、あなたが使うことができている ブール式の代わりに1、 1016 00:52:36,940 --> 00:52:37,940 2、および3? 1017 00:52:37,940 --> 00:52:40,520 およびC言語で、私はあなたを信じている それを行うことはできません。 1018 00:52:40,520 --> 00:52:44,320 しかし、他の言語で、そのあなたがかもしれない の最後に遭遇 1019 00:52:44,320 --> 00:52:46,460 JavaScriptなどの学期、次のことができます。 1020 00:52:46,460 --> 00:52:50,050 さて、あなたは最初に計算しなければならないでしょう その値とは、それを使う 1021 00:52:50,050 --> 00:52:50,650 switch文。 1022 00:52:50,650 --> 00:52:50,930 うん? 1023 00:52:50,930 --> 00:52:54,760 >> ROB:スイッチの利益のだから一部 あなたがこれをしなかった場合は、ステートメントが考えている 1024 00:52:54,760 --> 00:52:58,680 nが等しい場合のように、IF /そうでなければ、そのよう 1または何に等しい。 1025 00:52:58,680 --> 00:53:00,300 他に/ nが等しい場合には2、何に等しい。 1026 00:53:00,300 --> 00:53:01,960 他に/ nが等しい場合は3に等しい。 1027 00:53:01,960 --> 00:53:05,930 だから、プログラムを実行するような方法は、それである 順次、そのリストを下に行くと 1028 00:53:05,930 --> 00:53:07,500 チェック、1がnか? 1029 00:53:07,500 --> 00:53:08,040 いや。 1030 00:53:08,040 --> 00:53:09,070 2のnは? 1031 00:53:09,070 --> 00:53:09,490 いや。 1032 00:53:09,490 --> 00:53:10,940 N 3は何ですか? 1033 00:53:10,940 --> 00:53:11,710 うん。 1034 00:53:11,710 --> 00:53:12,610 これを行う。 1035 00:53:12,610 --> 00:53:15,270 >> switch文でのに対して、それはだ それがためにコンパイルすることが実際にできること 1036 00:53:15,270 --> 00:53:16,360 本当に速い。 1037 00:53:16,360 --> 00:53:19,550 時点ですぐにスイッチ言うように、 大丈夫、nは私は、2である、と言う 1038 00:53:19,550 --> 00:53:23,060 すぐにどこにジャンプしようとして 私が実行を開始することになっています。 1039 00:53:23,060 --> 00:53:26,080 私が最初に確認するつもりはない、 N 1は、2 n個ありますか? 1040 00:53:26,080 --> 00:53:28,860 それはすぐにやって起動することができます それが行うことになっているのか。 1041 00:53:28,860 --> 00:53:33,830 >> そしてそのためには、できない ブール条件を取る。 1042 00:53:33,830 --> 00:53:36,480 またはそうでなければしなければならないでしょう シーケンシャル、のように、全ての権利は​​、nは 1043 00:53:36,480 --> 00:53:37,820 ゼロよりも大きい? 1044 00:53:37,820 --> 00:53:41,140 それ以外は、10または何よりもNも大き​​い。 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH:この場合、あなたが使用した場合 /他の場合なら、、スイッチはだろう 1046 00:53:44,780 --> 00:53:47,792 約3回実行 IF /そうでなければ、場合よりも速い。 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 我々はそのようなスイッチを整理することができます 我々は壊れないように 1049 00:53:56,040 --> 00:53:57,520 ケースのそれぞれの後に。 1050 00:53:57,520 --> 00:54:00,960 この場合、私は分割することだ 我々は一つに選び、番号 1051 00:54:00,960 --> 00:54:04,250 2ではない高い数字と 3は高い数である。 1052 00:54:04,250 --> 00:54:08,290 >> それは、nは1又は2である場合、この場合のように ケースをヒットし、それが意志ます 1053 00:54:08,290 --> 00:54:10,640 フォールスルー、ため 断線はありません。 1054 00:54:10,640 --> 00:54:11,610 そして、それはここになってしまいます。 1055 00:54:11,610 --> 00:54:15,360 我々は一つを選ぶのであれば、それは、printfを行います して、そののどれを破るん 1056 00:54:15,360 --> 00:54:17,610 これが実行される。 1057 00:54:17,610 --> 00:54:21,870 そしてもちろん、彼らは3で入力した場合 または何か他のもの、それはスキップします 1058 00:54:21,870 --> 00:54:25,320 ものと、しないそこに行くし、それ 代わりに実行されます 1059 00:54:25,320 --> 00:54:27,490 対応するライン。 1060 00:54:27,490 --> 00:54:29,390 それについてのご質問はありますか? 1061 00:54:29,390 --> 00:54:29,780 はい? 1062 00:54:29,780 --> 00:54:32,642 >> スピーカ4:あなたはエラーが発生しますあなたの場合 ケース1の後に休憩していたが、それ 1063 00:54:32,642 --> 00:54:34,550 それがするために何かを持っていなかった? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH:だから問題はあなたが得るだろうさ あなたが後に休憩を持っている場合、エラー 1065 00:54:37,820 --> 00:54:39,730 ケース1が、何の関係もありません? 1066 00:54:39,730 --> 00:54:41,520 答えはノーです。 1067 00:54:41,520 --> 00:54:43,172 実際には、エラーを取得することはありません。 1068 00:54:43,172 --> 00:54:44,590 うーんミリメートル、うん。 1069 00:54:44,590 --> 00:54:54,540 >> ここではほとんど変化の一種ように 私はここのprintfを置くつもりです。 1070 00:54:54,540 --> 00:54:55,790 おっと。 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 だから、これは何があれば印刷するだろう 私は、入力として1つを置く? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 うん。 1075 00:55:07,770 --> 00:55:10,360 それは取らなかったことを言うだろう 二度高い数字ですよね? 1076 00:55:10,360 --> 00:55:13,500 それはその最初のケースに当たると考えているので、 それが壊れていないだろう、それは下落するだろう 1077 00:55:13,500 --> 00:55:15,730 第二のケースに至る。 1078 00:55:15,730 --> 00:55:16,950 それについての質問? 1079 00:55:16,950 --> 00:55:18,280 >> ロブ:あなたは別の質問がありましたか? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH:OK、涼しい。 1081 00:55:20,840 --> 00:55:22,400 わかりました。 1082 00:55:22,400 --> 00:55:25,780 だから我々は呼ん何か他のものがあります 基本的には三項演算子 1083 00:55:25,780 --> 00:55:29,010 何の代替構文 もし、次にエルス。 1084 00:55:29,010 --> 00:55:30,470 そして、それはあなたが1行ですべてを行うことができます。 1085 00:55:30,470 --> 00:55:34,110 したがって、この特定のプログラムにおいて、 私はNをユーザーに求めている。 1086 00:55:34,110 --> 00:55:37,190 nが100よりも大きい場合と、私は言う 彼らは彼らは高い数字を選んだ。 1087 00:55:37,190 --> 00:55:39,560 他の私はそれらを教え、彼ら 低い数字を選んだ。 1088 00:55:39,560 --> 00:55:43,030 >> だから我々はこの非常に長い構文を使用することができ、 ストリングS、次いでnがあるかどうかを確認 1089 00:55:43,030 --> 00:55:45,260 100を超えると割り当て それに応じて。 1090 00:55:45,260 --> 00:55:49,450 しかし、我々はこれをはるかに簡潔に行うことができます この三項演算子の構文を使用して、 1091 00:55:49,450 --> 00:55:52,090 質問を伴う マークとコロン。 1092 00:55:52,090 --> 00:55:55,070 だから、疑問符が本質的に 右、質問をする? 1093 00:55:55,070 --> 00:55:56,625 >> ROB:たぶんそれを拡大します。 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH:はい。 1095 00:55:57,372 --> 00:56:00,210 良い点。 1096 00:56:00,210 --> 00:56:02,550 だから、これは三項演算子です。 1097 00:56:02,550 --> 00:56:06,100 私が最初に質問をし、 100 nよりも大きい? 1098 00:56:06,100 --> 00:56:09,770 そうであるならば、私が最初に実行 コロンの前の部分。 1099 00:56:09,770 --> 00:56:13,360 そうでない場合は、私が実行し コロンの後の第二部。 1100 00:56:13,360 --> 00:56:16,640 そのようにnが100より大きい場合には、 それは、高いピックアップしプット 1101 00:56:16,640 --> 00:56:18,360 その文字列Sに変換する。 1102 00:56:18,360 --> 00:56:22,170 nが100未満である場合には、低ピックアップ [文字列Sにあることを置きます。 1103 00:56:22,170 --> 00:56:30,186 だから、この大きな塊を凝縮する ちょうどその1行に分解。 1104 00:56:30,186 --> 00:56:32,010 >> スピーカ5:それは人気があるのだろうか。 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH:はい、それはのためにかなり普及している 基本的にあなたがしたい事 1106 00:56:36,070 --> 00:56:38,700 に基づいて割り当てを行う 条件のいくつかの並べ替え。 1107 00:56:38,700 --> 00:56:43,110 この場合、我々はしようとしていた 文字列sに値を割り当てます。 1108 00:56:43,110 --> 00:56:44,840 それはとてもではない - 1109 00:56:44,840 --> 00:56:47,670 私は本当に好みではないと思います それ以外の場合には。 1110 00:56:47,670 --> 00:56:49,390 しかし、それは特に便利です この割り当てのために。 1111 00:56:49,390 --> 00:56:54,490 >> ロブ:これはかなり一般的なパターンです。 あなたは、いくつかの変数がある場合、その 1112 00:56:54,490 --> 00:56:58,200 何か、設定した場合は、言おうとしている 1の値は、この変数には、そうでない設定 1113 00:56:58,200 --> 00:56:59,810 別の値に、この変数。 1114 00:56:59,810 --> 00:57:03,360 そして、それはシナリオです ここ三を使用しています。 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH:そして、あなたは保存している ラインの多くは、右? 1116 00:57:05,220 --> 00:57:08,090 それだけで、ほぼ間違いなくあなたのコードになります もう少し読みやすい。 1117 00:57:08,090 --> 00:57:08,635 はい、質問? 1118 00:57:08,635 --> 00:57:12,384 >> スピーカ6:三元の場合は、あなたが行くことができる、 文字列sは、S、疑問符に等しい? 1119 00:57:12,384 --> 00:57:15,280 そして、あなたが持っている可能性があり、言う、 5さまざまなオプション。 1120 00:57:15,280 --> 00:57:18,310 とnのどんな数に応じて、 あなたがそれらのいずれかを選ぶだろう、でしたか? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH:だから、疑問がある 文字列を行うことができ、構文のようなもの 1122 00:57:22,210 --> 00:57:25,910 sはnと等しく、その後つ以上を有する その疑問符の後のオプション? 1123 00:57:25,910 --> 00:57:29,740 そして、簡単な答えはノーで、そこではありません ない限り、これを行うには本当に良い方法 1124 00:57:29,740 --> 00:57:33,850 あなたが巣複数の三項にしたい 互いの内側の演算子。 1125 00:57:33,850 --> 00:57:38,050 >> あなたは、100よりも大きいNのように行うことができます 疑問符し、別の 1126 00:57:38,050 --> 00:57:41,850 三項演算子、N 50を超え、 疑問符、およびそのように、それの巣。 1127 00:57:41,850 --> 00:57:45,240 しかし、そのシナリオでは、あなたのコードの 、ちょっと読めないと乱雑になっ 1128 00:57:45,240 --> 00:57:47,920 そしてそれだけに行く方が良いかもしれません その点で、IF / Elseステートメント。 1129 00:57:47,920 --> 00:57:54,530 >> ROB:そしてまた、サイドノート、PHPなど 誤っ三を実装しています 1130 00:57:54,530 --> 00:57:58,053 このようなネストされた三元系、演算子 でも、彼らが必要として動作しません。 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH:うん。 1132 00:57:58,840 --> 00:58:01,170 だから、少し混乱し得る あなたが行く場合は特に 1133 00:58:01,170 --> 00:58:02,145 異なる言語へ。 1134 00:58:02,145 --> 00:58:04,810 >> ROB:それは十分にご混乱だ 言語はそれについて間違っている。 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH:だから、実際に、ただ明確にするために、 誰もが知っている何をするかという 1137 00:58:11,510 --> 00:58:13,900 %sはこっちでしょうか? 1138 00:58:13,900 --> 00:58:15,650 それについての質問? 1139 00:58:15,650 --> 00:58:19,760 私が推測するだけでカメラの、%sの 基本的に私たちは、プレースホルダを置くことができます 1140 00:58:19,760 --> 00:58:20,790 文字列の。 1141 00:58:20,790 --> 00:58:23,920 した後、最後に、我々はそれを指定する 変数我々はこの中に入れたい 1142 00:58:23,920 --> 00:58:25,500 プレースホルダは、Sである。 1143 00:58:25,500 --> 00:58:27,730 だから、基本的には、Sを取る そしてそれはここに入れます。 1144 00:58:27,730 --> 00:58:32,130 そして、それはあなたが選んだ、プリントアウトします 高いか、低い数値を選んだ。 1145 00:58:32,130 --> 00:58:33,770 [OK]をクリックします。 1146 00:58:33,770 --> 00:58:36,970 >> だから、ループはあなたが物事を行うことができ 円を描くように、右か? 1147 00:58:36,970 --> 00:58:40,300 この中に遭遇した可能性があります 永遠にループの形でスクラッチ 1148 00:58:40,300 --> 00:58:45,650 またはを繰り返したり、特定のリピート 回数。 1149 00:58:45,650 --> 00:58:47,540 では、なぜこれは、私たちのために良いでしょうか? 1150 00:58:47,540 --> 00:58:51,500 さて、C言語で、我々はこれを持っているのは、言わせて この曲は、スクラッチで実装 1151 00:58:51,500 --> 00:58:53,450 歌って、これは歌です それは決して終わらない。 1152 00:58:53,450 --> 00:58:55,710 それだけで延々と続くと いつまでも、永遠に。 1153 00:58:55,710 --> 00:58:59,395 さて、あなたは本当にプログラムを作ることができない それは、printfの無限の数を持ってい 1154 00:58:59,395 --> 00:59:00,850 その中の文、右? 1155 00:59:00,850 --> 00:59:04,900 >> したがって、この特定のシナリオでは、1ウェイ あなたはこの仕事をするとできること 1156 00:59:04,900 --> 00:59:09,330 それは永遠に印刷するようにすることである 代わりにwhileループを使用しています。 1157 00:59:09,330 --> 00:59:13,640 だから、whileループは何が実行されます その2ブレースの体内で 1158 00:59:13,640 --> 00:59:17,250 内容に基づいて、それに属している 条件である。 1159 00:59:17,250 --> 00:59:21,170 もし、以前にこの特別な例でそう 私たちは、何を、いつまでも、これを印刷する 1160 00:59:21,170 --> 00:59:23,590 我々は何でしょうか? 1161 00:59:23,590 --> 00:59:25,190 さて、確かに、右か? 1162 00:59:25,190 --> 00:59:32,290 >> だから、これは一種のアイデアを組み合わせた いくつかのブール式の 1163 00:59:32,290 --> 00:59:33,610 ループと一緒に。 1164 00:59:33,610 --> 00:59:35,780 そして、我々はブールについて学んだ 以前の表現。 1165 00:59:35,780 --> 00:59:39,650 だから、いつの内部状態 その一方が真のまま、このループ 1166 00:59:39,650 --> 00:59:41,480 上と延々と実行されます。 1167 00:59:41,480 --> 00:59:44,640 この場合、我々はそれを指定した場合 真の場合、これは無限の原因 1168 00:59:44,640 --> 00:59:49,310 上で曲を印刷し、ループ そして我々がすることなく前に、必要に応じて 1169 00:59:49,310 --> 00:59:52,410 無限を持っていたプログラムを持つ のprintf文の数であり、 1170 00:59:52,410 --> 00:59:55,220 ことはできません。 1171 00:59:55,220 --> 00:59:57,810 >> ので、より多くの説得力は、しかし、 あなたがこれを使用することができます 1172 00:59:57,810 --> 00:59:59,710 変数と条件。 1173 00:59:59,710 --> 01:00:04,420 それでは、我々は繰り返したいとしましょう フレーズ、完全に愚かな、10回。 1174 01:00:04,420 --> 01:00:08,380 だから、Whileループで何ができるである あなたが最初のカウンタを初期化することができます 1175 01:00:08,380 --> 01:00:10,860 外の変数 10 whileループ。 1176 01:00:10,860 --> 01:00:14,360 した後、基本的に、あなたが行くたびに、 Whileループを通して、あなたがプリントアウト 1177 01:00:14,360 --> 01:00:19,090 その文、あなたが減少 カウンタ変数末までは、 1178 01:00:19,090 --> 01:00:23,020 いくつかの点で、かつて我々は十分に私を引く 回、私は十分時代から1 - 1179 01:00:23,020 --> 01:00:27,290 ちょうど、私のマイナスマイナスを明確にする 私はマイナス1に等しいことを意味します。 1180 01:00:27,290 --> 01:00:31,280 >> それは基本的にに私が停止します かつて私は、ゼロにヒットポイント、この 1181 01:00:31,280 --> 01:00:35,260 条件がtrueでなくと ので、ループから抜けます。 1182 01:00:35,260 --> 01:00:37,045 だから、完全に愚かなだけ10回出力します。 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Whileループについてのご質問? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 [OK]をクリックします。 1187 01:00:46,790 --> 01:00:50,550 >> だから我々が行うことができる方法はありますか私たちだけ とより簡潔な方法で行った 1188 01:00:50,550 --> 01:00:51,715 私たちは、Forループと呼ぶもの。 1189 01:00:51,715 --> 01:00:55,750 そこらのループはで構成されています 初期設定、状態、および 1190 01:00:55,750 --> 01:00:58,950 我々の前に持っていただけのように更新、 このWhileループ内。 1191 01:00:58,950 --> 01:00:59,890 それでは見てみましょう。 1192 01:00:59,890 --> 01:01:02,900 このWhileループでは、我々は持っていた 初期化は、我々は持っていた 1193 01:01:02,900 --> 01:01:04,260 我々がチェック状態。 1194 01:01:04,260 --> 01:01:06,450 そして、我々は、更新があった 上部のステップ。 1195 01:01:06,450 --> 01:01:10,060 >> Forループでは、これは基本的に取り これらの三つのことで、それを凝縮 1196 01:01:10,060 --> 01:01:11,370 1行に分解。 1197 01:01:11,370 --> 01:01:15,130 それがでないように、最初にすること ループの初期化です。 1198 01:01:15,130 --> 01:01:19,090 それから、あなたはその後にセミコロンを行い、 あなたは私である状態を、やる 1199 01:01:19,090 --> 01:01:22,200 ゼロより大きいが、あそこ行く して、更新ステップ。 1200 01:01:22,200 --> 01:01:26,470 だから、これは、で行われます ループ本体の一番最後。 1201 01:01:26,470 --> 01:01:28,790 したがって、これら2つのプログラムがあります 基本的に同等。 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> ご質問? 1204 01:01:33,870 --> 01:01:37,000 だから、1つの違いは何ですか これら二つの間? 1205 01:01:37,000 --> 01:01:38,000 誰もがそれを指摘することはできますか? 1206 01:01:38,000 --> 01:01:40,480 それは少し微妙かもしれません。 1207 01:01:40,480 --> 01:01:41,930 それだけで非常に小さな違いだ。 1208 01:01:41,930 --> 01:01:42,330 はい? 1209 01:01:42,330 --> 01:01:49,008 >> スピーカ5:使用することができないだろ Forループの外に私の変数 1210 01:01:49,008 --> 01:01:49,962 [聞こえない]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH:その通りです。 1212 01:01:50,900 --> 01:01:53,550 だから、これは私たちが買ってあげるものです 後で変数のスコープと呼ばれる。 1213 01:01:53,550 --> 01:01:56,610 しかし、本質的に、これは私たちの生活をint型 このWhileループの外。 1214 01:01:56,610 --> 01:01:59,800 したがって、このWhileループを実行しても 実行すると、私は後で私を使用することができるでしょう 1215 01:01:59,800 --> 01:02:00,880 プログラムの中に。 1216 01:02:00,880 --> 01:02:05,430 >> これをループのために、これは私がint型のに対し、 このforループの内側にスコープされている。 1217 01:02:05,430 --> 01:02:10,240 そして、それはこの部分の内側にあるので、 ループのための、すなわち開始する 1218 01:02:10,240 --> 01:02:13,200 と括弧と両端の あそこ中括弧。 1219 01:02:13,200 --> 01:02:16,120 内で宣言だ何でも ここで外では使用できません。 1220 01:02:16,120 --> 01:02:20,420 私は外で私を使用しようとするのであれば、それはよ 教えて、宣言されていないシンボル。 1221 01:02:20,420 --> 01:02:22,420 そして、基本的に、私ではない それを使用することができる。 1222 01:02:22,420 --> 01:02:28,460 >> ROB:そしてよく、10年前、中 文字通りすべての場合、中括弧は 1223 01:02:28,460 --> 01:02:31,140 何を決定するのに使用 変数のスコープ。 1224 01:02:31,140 --> 01:02:37,240 だからそこに、私は10に等しいint型 この内で宣言されている 1225 01:02:37,240 --> 01:02:38,520 中括弧のセット。 1226 01:02:38,520 --> 01:02:42,530 そしてそうしている限り、あなたは、私を使用しようとして この中括弧の前に、それは大丈夫です。 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 あなたが作る入力するときには、あなたが表示される場合があります ダッシュ、ダッシュ、STD、等しく、C99を参照してください。 1229 01:02:51,460 --> 01:02:57,100 >> だから、Cの後のバージョンであること GCCはまた与えるよう実施している 1230 01:02:57,100 --> 01:02:58,740 このショートカット。 1231 01:02:58,740 --> 01:03:03,505 だから、これはC言語で許可されないために使用され、 あなたが見ることができる理由、そのためのint 1232 01:03:03,505 --> 01:03:07,600 私はこの中括弧の外にあるが、 それはまだであると考えられています 1233 01:03:07,600 --> 01:03:09,750 これらの中括弧の範囲。 1234 01:03:09,750 --> 01:03:14,120 しかし、これは非常に便利なものですが、 そしてそれは良い拡張したものです。 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH:ご質問? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 [OK]をクリックします。 1238 01:03:19,260 --> 01:03:22,820 だから何より有用なのは、その時々である あなたは内ダイナミズムのようなものをしたい 1239 01:03:22,820 --> 01:03:23,410 あなたのループ、右? 1240 01:03:23,410 --> 01:03:26,350 あなただけの、必ずしも印刷したくない あなたは、すべての時間は全く愚かな 1241 01:03:26,350 --> 01:03:28,650 からカウントダウンしたい 10か何か。 1242 01:03:28,650 --> 01:03:32,010 だからあなたはカウンタ変数を使用することができます そのループの内側にも。 1243 01:03:32,010 --> 01:03:35,530 その場合には、このプログラムだけで 全押し10からカウントダウンします。 1244 01:03:35,530 --> 01:03:39,260 そしてそれは何を印刷しないのですか? 1245 01:03:39,260 --> 01:03:42,790 それがゼロに印刷されない、 右、ときのため - 1246 01:03:42,790 --> 01:03:45,460 はい、それはまた、11は印刷されません。 1247 01:03:45,460 --> 01:03:49,200 >> だから、ゼロに印刷されないときのため 私はゼロで、覚えて、それが評価される 1248 01:03:49,200 --> 01:03:52,170 それが進む前の状態 ループ本体を実行します。 1249 01:03:52,170 --> 01:03:56,820 Iがゼロであるとき、これはそのように、偽である それがカウントダウンを印刷しない 1250 01:03:56,820 --> 01:04:00,200 ゼロ、それだけでカウントを出力します 1のすべての方法ダウン10ダウン。 1251 01:04:00,200 --> 01:04:03,420 我々は実際にはゼロを印刷したい場合、 その後、我々は、等号を置く 1252 01:04:03,420 --> 01:04:04,750 記号よりも、この大きな後。 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 [OK]をクリックします。 1255 01:04:10,130 --> 01:04:16,410 >> 入力検証を行うため、1つの方法は、その あなたがしなければ、ユーザーが要求したときである 1256 01:04:16,410 --> 01:04:18,620 何か、あなたは彼らを確認するには あなたの指示に従って、使用することです 1257 01:04:18,620 --> 01:04:19,400 Whileループは、右? 1258 01:04:19,400 --> 01:04:22,990 したがって、この特定のケースでは、私が求めている 正の数のため、その後、私はよ 1259 01:04:22,990 --> 01:04:23,810 入力を待っている。 1260 01:04:23,810 --> 01:04:28,210 >> 入力されている間、その後私はチェック ゼロより小さい、声をかけてください。 1261 01:04:28,210 --> 01:04:32,100 そうであれば、彼らは私に番号を与えるよう それは肯定的ではないが、求めておく、 1262 01:04:32,100 --> 01:04:33,600 求めておく、求めておく。 1263 01:04:33,600 --> 01:04:35,860 しかし、ある種の奇妙なこのことについては何ですか? 1264 01:04:35,860 --> 01:04:38,570 または何についての最適ないないようだ 右こここの構造体? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 誰ですか? 1267 01:04:44,758 --> 01:04:45,234 はい? 1268 01:04:45,234 --> 01:04:47,614 >> スピーカ6:あなたが繰り返している 命令を2回押します。 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH:右。 1270 01:04:48,100 --> 01:04:50,090 だから我々は2のprintf文を持っている ここで、右か? 1271 01:04:50,090 --> 01:04:53,440 だから我々はちょうどこの得ることができる方法はありませ 私たちになるだろう1まで 1272 01:04:53,440 --> 01:04:57,170 コー​​ド読みやすくし、A もう少しきれいに。 1273 01:04:57,170 --> 01:05:00,180 そして、我々はする必要はありません だけでなく、2回に分けて取得しています。 1274 01:05:00,180 --> 01:05:03,740 そして、あなたはこれを行うことができます1の方法です 実行 - whileループを使用することによって。 1275 01:05:03,740 --> 01:05:07,670 >> 観光·whileループは基本的に Whileループの場所の異なる形 1276 01:05:07,670 --> 01:05:11,460 中括弧の中には何でも 少なくとも1回実行されます。 1277 01:05:11,460 --> 01:05:14,840 だからここでは、私は、int型を宣言 入力、外側の第。 1278 01:05:14,840 --> 01:05:18,100 そして私はちょうどこれを行う、と言う 入力中に命令 1279 01:05:18,100 --> 01:05:19,140 ゼロ未満である。 1280 01:05:19,140 --> 01:05:20,530 だから、最初に行うに当たる。 1281 01:05:20,530 --> 01:05:24,190 それは、常に、少なくとも、これを実行します 一回なので、常にユーザーに確認します 1282 01:05:24,190 --> 01:05:25,960 少なくとも一度入力してください。 1283 01:05:25,960 --> 01:05:29,390 そして、それはその入力を評価し、 そしてそれは輪に点灯します。 1284 01:05:29,390 --> 01:05:30,135 はい、質問? 1285 01:05:30,135 --> 01:05:32,602 >> スピーカ6:それを行うための方法はありますか [聞こえない]の種類、あなたが言う場合にはのように、 1286 01:05:32,602 --> 01:05:34,268 GetStringメソッド、および誰か[聞こえない] 1287 01:05:34,268 --> 01:05:35,220 [聞こえない]する方法はありますか 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH:だから、疑問がある 入力検証を行う方法であれば、ユーザー 1289 01:05:40,060 --> 01:05:41,850 右に入れていません 変数の型? 1290 01:05:41,850 --> 01:05:44,460 我々はint型を要求し、もしそうなら、彼ら 代わりに、私たちに文字列を与えます。 1291 01:05:44,460 --> 01:05:49,110 そして、我々は実装した関数内 あなたのために、GetIntで、全てにおいてGetStringメソッド 1292 01:05:49,110 --> 01:05:52,680 これらの関数は、それらが実際に既に 基本的なタイプの入力の並べ替えを行う 1293 01:05:52,680 --> 01:05:54,120 ボンネットの下に検証。 1294 01:05:54,120 --> 01:05:57,390 ですから、我々の関数を使用している場合 あなたを与え、あなたが本当に必要はありません。 1295 01:05:57,390 --> 01:06:01,380 >> しかし、あなたはどのようにもっと見てみたい場合は、 あなたが実際にそれを行うことができ、あなたが見ることができる 1296 01:06:01,380 --> 01:06:03,360 ファイルのボンネットの下にI/O-- 1297 01:06:03,360 --> 01:06:07,990 標準I / O機能、ファイルではありません のような標準入力からの読み込みと 1298 01:06:07,990 --> 01:06:08,580 標準出力。 1299 01:06:08,580 --> 01:06:10,630 そして、あなたはより良い感覚を得ることができます あなたがそれを行う方法の。 1300 01:06:10,630 --> 01:06:13,670 >> ROB:一つの問題は、しかし、特にである 例を使用すると、 1301 01:06:13,670 --> 01:06:17,070 あなたは文字列を期待すると述べた と私は、intを入力してください。 1302 01:06:17,070 --> 01:06:20,110 どのように違いを言うだろう 意図的に欠け間 1303 01:06:20,110 --> 01:06:23,130 INT 123を望むに対する文字列123? 1304 01:06:23,130 --> 01:06:29,230 ため、文字列は、それがほとんどないがないだ 、それだけで何でも彼らの検証です 1305 01:06:29,230 --> 01:06:31,600 あなたが解釈する入力された 文字列として。 1306 01:06:31,600 --> 01:06:35,790 >> どんなにので、int型は、簡単です あなたはあなたが、利用者から取るの入力 1307 01:06:35,790 --> 01:06:37,470 常に文字列を取る。 1308 01:06:37,470 --> 01:06:40,650 だから、その文字列次にでき 確認し、これらの全ては 1309 01:06:40,650 --> 01:06:44,218 実際に数字? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH:わかりました。 1311 01:06:45,170 --> 01:06:46,420 ドゥーWhileループについてのご質問? 1312 01:06:46,420 --> 01:06:49,170 >> ROB:ああ、これもある - 1313 01:06:49,170 --> 01:06:55,130 スコープに戻って、多少の共通 ミスがいくつかのローカルを使用しようとしている 1314 01:06:55,130 --> 01:06:59,540 これを行うワイル内から変数 この条件の内側ループ。 1315 01:06:59,540 --> 01:07:02,850 そして実際に、我々だけを処分した場合には これとINT入力に等しい、と述べ 1316 01:07:02,850 --> 01:07:06,990 GetIntで、コンパイラは大声で叫ぶん ボランティア、入力が存在しないため 1317 01:07:06,990 --> 01:07:08,900 の範囲外 これらの中括弧。 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH:そして、だからこそ私たち ここでこのラインアップを必要としています。 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 [OK]をクリックします。 1321 01:07:14,630 --> 01:07:17,530 だから、あなたも抜け出すことができます ループ初期のあなたがしたい場合。 1322 01:07:17,530 --> 01:07:21,240 だから、これは別の方法である 我々だけで実装するのはどのような実装。 1323 01:07:21,240 --> 01:07:24,340 その代わりの条件を用いて 括弧の中に、我々は使用している 1324 01:07:24,340 --> 01:07:26,920 体の内側if文 実行 - whileループ。 1325 01:07:26,920 --> 01:07:30,000 >> そして基本的には、入力が最終的にあるとき ゼロより大きく、させて頂きます 1326 01:07:30,000 --> 01:07:31,000 ループから抜け出す。 1327 01:07:31,000 --> 01:07:33,420 だから我々はすべて行く ダウンここ道。 1328 01:07:33,420 --> 01:07:37,920 そして、あなたは、これがあると見ることができる おそらくこの中で好まれる 1329 01:07:37,920 --> 01:07:39,870 シナリオ、それは少しだから ビットクリーンで少し 1330 01:07:39,870 --> 01:07:41,380 読みやすくビット。 1331 01:07:41,380 --> 01:07:45,210 この一方で、あなたの並べ替え その中に余分な行があります。 1332 01:07:45,210 --> 01:07:47,890 それは、ほんの少し醜いです 私はある意味で、ね。 1333 01:07:47,890 --> 01:07:48,530 はい、質問? 1334 01:07:48,530 --> 01:07:52,178 >> スピーカ4:取得のみ解除されます ブレースの1セットからあなたは? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH:右。 1336 01:07:53,080 --> 01:07:58,100 そこで問題にのみ解除されますされている あなたは一つのループから抜け出す? 1337 01:07:58,100 --> 01:07:59,280 そしてその答えはイエスです。 1338 01:07:59,280 --> 01:08:04,290 だから、あなたは、ネストされたforループしている場合 私はint型を持っている場合は、私が0に等しい 1339 01:08:04,290 --> 01:08:09,040 10時までとし、int型のためjは0に等しい 10時まで、私は、内から抜け出す場合は、 1340 01:08:09,040 --> 01:08:12,310 ループ、私はまだ行く 外側のループに。 1341 01:08:12,310 --> 01:08:15,760 だから、実行しておこう 外側に操作。 1342 01:08:15,760 --> 01:08:17,640 それについての質問? 1343 01:08:17,640 --> 01:08:18,000 はい? 1344 01:08:18,000 --> 01:08:21,760 >> スピーカ5:しかし、唯一の機能を破る 中括弧のために、ではない他のために 1345 01:08:21,760 --> 01:08:22,230 文? 1346 01:08:22,230 --> 01:08:22,700 [聞こえない] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH:だから質問が解除されている とは対照的に、ループのための唯一の機能 1348 01:08:27,620 --> 01:08:29,014 もし同様の他の文? 1349 01:08:29,014 --> 01:08:32,950 そしてはい、それは、そうであるため、 あなたは、右、ループを抜け出している 1350 01:08:32,950 --> 01:08:33,630 意味で。 1351 01:08:33,630 --> 01:08:37,215 >> ROB:大部分のケースでは、それがだ これは、IFものの一種である、 1352 01:08:37,215 --> 01:08:37,660 その後破る。 1353 01:08:37,660 --> 01:08:41,580 だから、に適用する分割する必要はありません その周りにラップされます。 1354 01:08:41,580 --> 01:08:45,250 また、これは、ループの多くはありませんが、 しかし、スイッチもあることを覚えておく 1355 01:08:45,250 --> 01:08:46,340 休憩で外に壊れた。 1356 01:08:46,340 --> 01:08:48,390 私たちは、休憩が使用されて見ました スイッチの前に。 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH:そして、あなたはまた、それらを使用することができます 一方ループ内およびループの場合。 1358 01:08:52,189 --> 01:08:54,560 ご質問? 1359 01:08:54,560 --> 01:08:55,830 [OK]をクリックします。 1360 01:08:55,830 --> 01:08:57,779 だから、次回は機能する。 1361 01:08:57,779 --> 01:09:01,500 ですから、これらのBYOBのいずれかを使用している可能性があります スクラッチプロジェクト内のブロック。 1362 01:09:01,500 --> 01:09:04,569 そして、これは基本的に可能にする あなたのセットを定義する 1363 01:09:04,569 --> 01:09:05,680 従うべき指示。 1364 01:09:05,680 --> 01:09:09,569 >> そして、私はそれの意味することはのは考えてみましょうです 戻って数学に、右、代数。 1365 01:09:09,569 --> 01:09:13,370 あなたは私たちがxの関数と呼んでいるものがあり、 いくつかの変数とのこれを言わせて 1366 01:09:13,370 --> 01:09:16,080 この関数は、xのfはXプラス5に等しい。 1367 01:09:16,080 --> 01:09:20,410 だから、この黒として、xのfを考えることができます その後に15を取り、箱 1368 01:09:20,410 --> 01:09:22,590 20を生成します。 1369 01:09:22,590 --> 01:09:26,630 >> そのように、より一般的には、関数である いくつかの入力を受け取り、何かして 1370 01:09:26,630 --> 01:09:27,880 その後、いくつかの出力を生成します。 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 そして、なぜ機能は良いですか? 1373 01:09:32,960 --> 01:09:35,189 彼らはいくつかの理由でもいいです。 1374 01:09:35,189 --> 01:09:40,470 だから、誰かが刺しを取りたいん 何を意味するのか、組織での? 1375 01:09:40,470 --> 01:09:42,630 なぜ機能的に役立つ? 1376 01:09:42,630 --> 01:09:43,090 はい? 1377 01:09:43,090 --> 01:09:44,735 >> スピーカ4:それはあなたを作る コー​​ドを読みやすく。 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH:右。 1379 01:09:45,399 --> 01:09:47,670 そうなことの一つは、それが作るです コー​​ドを読み、右? 1380 01:09:47,670 --> 01:09:53,710 intではなく、xがXに等しいように持っていることの 倍x倍xを、Iはxのキューブを有することができ、 1381 01:09:53,710 --> 01:09:57,190 より読みやすく、よりある 読者に理解できる。 1382 01:09:57,190 --> 01:10:01,150 >> 組織は、という点にもあります 管理可能にコードを分割 1383 01:10:01,150 --> 01:10:05,610 そのため、代わりにしようとする部分、 すべて1長いセクションでこれを実装 1384 01:10:05,610 --> 01:10:09,070 メインでは、ソートのそれを分割することができます 等には、[OK]を、の関数を書いてみましょう 1385 01:10:09,070 --> 01:10:11,910 何かをキューブに、のは書いてみましょう 何かを二乗にする機能。 1386 01:10:11,910 --> 01:10:15,950 あなたは小さなにそれを分割することができますこの方法、 あなたが取り組むことができる小さなパーツ 1387 01:10:15,950 --> 01:10:18,944 タックルしようとしているとは対照的に、 すべて一度に大きな問題。 1388 01:10:18,944 --> 01:10:21,806 >> ROB:またはきわめて小さい場合でも、少しパーツ あなたとパートナーが取り組むことができます。 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH:うん。 1390 01:10:22,283 --> 01:10:23,855 >> ROB:だからではなく、両者の あなたは1を移植しようとしている 1391 01:10:23,855 --> 01:10:27,170 同時に機能します。 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH:簡素化。 1393 01:10:28,800 --> 01:10:30,050 誰もが推測を取りたい? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 はい? 1396 01:10:33,410 --> 01:10:34,675 >> スピーカ5:もっと繰り返し。 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH:右。 1398 01:10:35,260 --> 01:10:39,210 だから、あなたが使ってできることの一つは、 簡素化は、それが一種の上にあるということです 1399 01:10:39,210 --> 01:10:42,520 再利用性と同じ行であること 私はキューブ関数を書いたら、私がすることができます 1400 01:10:42,520 --> 01:10:45,410 ちょうどその何度も繰り返し使用 私のプログラムの代わりに入力して、再び 1401 01:10:45,410 --> 01:10:49,610 以上のX倍のx倍xと 何度も何度も。 1402 01:10:49,610 --> 01:10:52,980 そして、ここで単純化だけでも それは一種のコードを作る意味 1403 01:10:52,980 --> 01:10:55,900 スプリットたら簡単にデバッグする 関数にこのアップ。 1404 01:10:55,900 --> 01:10:58,250 あなたはどこをローカライズすることができますので、 あなたの問題は、ソートのです。 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 ご質問? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> だから、もう一つのアイデアは、右、抽象化したもの? 1409 01:11:06,540 --> 01:11:07,390 このブラックボックス。 1410 01:11:07,390 --> 01:11:11,360 好きな人には、GetIntでは何をするか知っていますか ユーザからの入力を受信する? 1411 01:11:11,360 --> 01:11:12,510 私たちは本当に正しい、あなたに言ったことがありますか? 1412 01:11:12,510 --> 01:11:15,670 私たちはあなたに言ってきたすべてがGetIntではないです まさにそれはそれがないと言います。 1413 01:11:15,670 --> 01:11:18,440 だから我々は、どのように教えていない場合でも、 それが動作する、あなたはまだ知っている。 1414 01:11:18,440 --> 01:11:21,670 >> したがって、この特定のケースでは、これは ない四重機能 1415 01:11:21,670 --> 01:11:24,520 入力に異なるもの 出力を生成する。 1416 01:11:24,520 --> 01:11:28,050 そして、あなたは数を四倍にすることができます 4を乗じて。 1417 01:11:28,050 --> 01:11:30,790 またはあなたは私たちが呼んでいるものができる ビット2によってそれをシフトします。 1418 01:11:30,790 --> 01:11:32,960 そして、我々はこれをカバーします 少し後で。 1419 01:11:32,960 --> 01:11:36,570 そして、どのようにこれを知っている必要はありません この関数は、実際に限り動き 1420 01:11:36,570 --> 01:11:37,640 述べたように動作します。 1421 01:11:37,640 --> 01:11:40,740 >> だからボンネットの下に、私は次のようになり 同様に、入力された時刻を返す 1422 01:11:40,740 --> 01:11:41,690 2で割った8。 1423 01:11:41,690 --> 01:11:42,510 そして、あなたは右、知っているだろう? 1424 01:11:42,510 --> 01:11:44,970 あなたが知る必要があるのはある それは言うことありません。 1425 01:11:44,970 --> 01:11:48,070 だから、便利なことだ 抽象化について。 1426 01:11:48,070 --> 01:11:52,910 >> そしてもう一つは、このアイデアのようなものです。 1にコードをローカライズする 1427 01:11:52,910 --> 01:11:54,280 特定のセクション。 1428 01:11:54,280 --> 01:11:57,450 あなたは問題があるんであれば、あなたはしないでください しようとしてすべてのコードを介して行かなければならない 1429 01:11:57,450 --> 01:11:58,730 問題があった場所に固定する。 1430 01:11:58,730 --> 01:12:00,990 したがって、この場合には、Iが実装 間違っキューブ。 1431 01:12:00,990 --> 01:12:02,820 私はキューブが掛けると思った 3による。 1432 01:12:02,820 --> 01:12:05,760 >> したがって、この場合には、この1つのプログラムである それはちょうど3を掛けるました 1433 01:12:05,760 --> 01:12:06,750 どこでも。 1434 01:12:06,750 --> 01:12:10,910 とされている別のプログラムがあります アウト機能に織り込まキューブ。 1435 01:12:10,910 --> 01:12:14,040 だから今、私は私の間違いを修正したい場合は、 ここで、私はすべての単一の行を修正する必要があります 1436 01:12:14,040 --> 01:12:15,620 このプログラムのコードの。 1437 01:12:15,620 --> 01:12:19,190 一方、他方では、私が使用している場合 この関数は、私は変更する必要があります 1438 01:12:19,190 --> 01:12:20,650 一箇所で何が間違っていた。 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> だから、コンピュータサイエンスでは、 入力と出力を呼び出します。 1441 01:12:28,730 --> 01:12:31,640 入力はパラメータと呼ばれているか 引数、および出力が呼び出されます 1442 01:12:31,640 --> 01:12:32,950 値を返す。 1443 01:12:32,950 --> 01:12:39,000 そして、我々は、これは、ソートたちをどのように役立つかが表示されます 第二に関数を定義する。 1444 01:12:39,000 --> 01:12:41,430 だから、これは関数定義である キュービングのため。 1445 01:12:41,430 --> 01:12:45,110 だから、それからの入力を受け取り、 それはその回数を返し 1446 01:12:45,110 --> 01:12:47,020 それ自身3回。 1447 01:12:47,020 --> 01:12:48,020 それでは、これを打破しましょう​​。 1448 01:12:48,020 --> 01:12:53,090 >> だから我々は、関数ヘッダーを持っている 基本的には三つのことで構成されています。 1449 01:12:53,090 --> 01:12:56,050 だから我々は、パラメータを持っている 私が前に言ったように、ある 1450 01:12:56,050 --> 01:12:57,680 この関数への入力。 1451 01:12:57,680 --> 01:12:59,300 そして、我々は、関数に名前を付けます。 1452 01:12:59,300 --> 01:13:00,740 この場合には、キューブと呼ばれています。 1453 01:13:00,740 --> 01:13:03,860 そして、我々はどのようなタイプを指定する の戻り値です。 1454 01:13:03,860 --> 01:13:06,760 >> この場合、私のキューブ機能 それはまた、整数を取り込み、 1455 01:13:06,760 --> 01:13:07,890 整数を返します。 1456 01:13:07,890 --> 01:13:11,510 私は2を渡すのであれば、2は整数です それは、私には8を返す 1457 01:13:11,510 --> 01:13:13,250 整数である。 1458 01:13:13,250 --> 01:13:15,420 だから、型名のパラメータを返す。 1459 01:13:15,420 --> 01:13:16,670 それについての質問? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> そして、戻り値は実際には リターンを言って最後に指定 1462 01:13:24,230 --> 01:13:27,540 してから何を返す 戻り値が含まれています。 1463 01:13:27,540 --> 01:13:30,940 この場合、我々はそれをすべて置く場合 一緒に、この関数は、取り込ん 1464 01:13:30,940 --> 01:13:35,100 パラメータは、それが何かと呼ばれる、と それはタイプ何かを返す 1465 01:13:35,100 --> 01:13:36,350 我々はそれがであることを行っていたと言うこと。 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 ご質問? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> では、どのように関数を使用するのですか? 1470 01:13:45,080 --> 01:13:49,230 まあ、我々は、関数を記述し、 我々は正しい、我々のプログラムでそれを使うのか? 1471 01:13:49,230 --> 01:13:51,565 だから私は、キューブに呼ばれ、 私はキューブを使用することができます。 1472 01:13:51,565 --> 01:13:54,200 >> しかし、何が注意してください 順序が重要ということです。 1473 01:13:54,200 --> 01:13:58,100 私はメインの下のキューブを持っている場合、それはだ キューブに実行するつもり。 1474 01:13:58,100 --> 01:14:00,360 この時点では、何もありません プログラム内のキューブと呼ばれ、それはだ 1475 01:14:00,360 --> 01:14:02,550 同じようになるだろう、私が持っている 全く考えはどのような立方体ではありません。 1476 01:14:02,550 --> 01:14:05,060 >> だから、暗黙の、あなたを教えてくれます 関数の宣言。 1477 01:14:05,060 --> 01:14:06,690 つまり、表示さエラーです。 1478 01:14:06,690 --> 01:14:10,230 そしてこの場合、キューブは以下の通りです 主なので、それはないだろう 1479 01:14:10,230 --> 01:14:12,006 それについて知っている。 1480 01:14:12,006 --> 01:14:14,724 >> スピーカ5:だから主は、通常、 最後の関数は、定義された? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH:だから質問は、 通常、最後の主である 1482 01:14:17,290 --> 01:14:18,170 ユーザーが定義したいことは? 1483 01:14:18,170 --> 01:14:19,730 なし。 1484 01:14:19,730 --> 01:14:22,280 それがために、私たちは通常、メインのようなものだ 右、上にあると? 1485 01:14:22,280 --> 01:14:24,640 なぜならそれはあなたが最初のことだ プログラマが開いて欲しい 1486 01:14:24,640 --> 01:14:25,640 参照するプログラム。 1487 01:14:25,640 --> 01:14:29,950 だから、どのように我々は、我々のこの問題を解決するのですか 一番上にあることが主なたいのですが、 1488 01:14:29,950 --> 01:14:33,750 私たちが望む機能は、我々は彼らが欲しい 主未満であることはまだ使用することができる 1489 01:14:33,750 --> 01:14:34,930 メインの内側にそれ? 1490 01:14:34,930 --> 01:14:36,870 >> まあ、我々は我々が呼んでいるものを使用 関数プロトタイプ。 1491 01:14:36,870 --> 01:14:40,830 それでは、関数プロトタイプ本質 ですが、最初に何を取る 1492 01:14:40,830 --> 01:14:45,060 署名または関数ヘッダ 我々がダウンして実装するために何をしたいの 1493 01:14:45,060 --> 01:14:47,420 ここで、我々はでそれを置く プログラムの先頭。 1494 01:14:47,420 --> 01:14:51,400 >> この場合、我々は、まあ、それを言う 後で私たちのプログラムでは、つもりだ 1495 01:14:51,400 --> 01:14:55,010 これを実装する約束を作る 取りint型キューブ、呼び出された関数 1496 01:14:55,010 --> 01:14:56,260 整数入力。 1497 01:14:56,260 --> 01:15:00,870 だから今、それがメインの上にあるので、 主な、それはよく、ああ、と言うだろう、 1498 01:15:00,870 --> 01:15:03,910 後のプログラムでは、それはなるだろう だから、私はそれを参照することができますので、私はよ 1499 01:15:03,910 --> 01:15:05,230 ちょうどそれが今の通す。 1500 01:15:05,230 --> 01:15:07,660 >> して、一番下にある、 私たちは、キューブを実装します。 1501 01:15:07,660 --> 01:15:11,180 そしてメインはちょうど、と言うだろう まあ、それは、リンクのソートされます 1502 01:15:11,180 --> 01:15:12,250 これら二つのシンボル。 1503 01:15:12,250 --> 01:15:14,320 そして、我々はどのようなことを取り上げます 後で意味します。 1504 01:15:14,320 --> 01:15:17,090 そしてそれは、これがあることを知っているよ それは使用するべきキューブ機能。 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> ROB:[聞こえない]たいと約 下部のメインまたは 1507 01:15:23,383 --> 01:15:24,880 トップ、私は両方を見てきました。 1508 01:15:24,880 --> 01:15:28,630 同じようなことがあります。 下部にメインを配置する。 1509 01:15:28,630 --> 01:15:32,520 しかし、いったんプロジェクトが、特に取得する 大きな、通常は主にしている 1510 01:15:32,520 --> 01:15:34,290 すべての独自のファイル。 1511 01:15:34,290 --> 01:15:38,170 その時点で、のような int型キューブラインだろう - 1512 01:15:38,170 --> 01:15:42,460 stdio.hの内集まりです ちょうどそのint型のような行を 1513 01:15:42,460 --> 01:15:44,010 キューブのint入力ライン。 1514 01:15:44,010 --> 01:15:50,170 >> だから、これらのプロトタイプは、物事はあなたがいる で、ヘッダファイルに配置する傾向がある 1515 01:15:50,170 --> 01:15:52,140 その時点、それは問題ではありません。 1516 01:15:52,140 --> 01:15:54,700 まあ、それは問題ではありません。 1517 01:15:54,700 --> 01:15:56,070 それらは常に最上部に移動します。 1518 01:15:56,070 --> 01:15:59,490 そして主は、すべて独自のファイルでない場合は、 あなたが置くことについて心配する必要はありません 1519 01:15:59,490 --> 01:16:02,360 個々の関数プロトタイプ ファイル内の。 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH:そして、我々はその少しに買ってあげる 少し後ロブは話し始めるとき 1521 01:16:05,370 --> 01:16:06,380 コンパイルについて。 1522 01:16:06,380 --> 01:16:09,480 だから差があります パラメータと引数の間。 1523 01:16:09,480 --> 01:16:12,500 とパラメータはちょうど何ですか 私たちは、これらの入力を呼び出すとき 1524 01:16:12,500 --> 01:16:13,820 私たちは、関数を定義する。 1525 01:16:13,820 --> 01:16:16,950 そして、我々はときに我々の引数で呼び出す 実際に関数に渡します。 1526 01:16:16,950 --> 01:16:19,600 >> したがって、この場合には、これはパラメータであり、 我々の前に言ったように。 1527 01:16:19,600 --> 01:16:24,130 そして、我々は実際にそこにそれを使用する場合、 Xのキューブは、それから、それ自体がX 1528 01:16:24,130 --> 01:16:25,910 我々は、引数と呼んでいるもの 機能キューブに。 1529 01:16:25,910 --> 01:16:28,150 >> ROB:だからパラメータの引数は - 1530 01:16:28,150 --> 01:16:33,270 この区別があり、非常に 同じ意味混乱。 1531 01:16:33,270 --> 01:16:37,090 この時点で、私には、それが一つのようなものだ 私はそれを参照して、それらの単語 1532 01:16:37,090 --> 01:16:41,190 野生では、私はすぐに助けることができません 彼らはそれを使用しているかどうかを質問 1533 01:16:41,190 --> 01:16:44,120 正しいコンテキスト、理由 違いは、単に十分な微妙です 1534 01:16:44,120 --> 01:16:45,500 誰もが傾向がある - 1535 01:16:45,500 --> 01:16:48,530 私はほとんどの場合、引数を言う にかかわらず、私の言いたいの。 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH:および機能も便利です 我々は、副作用と呼んでいるもののために。 1538 01:16:54,630 --> 01:16:59,230 だから、関数は入力を取ることができず、 それはまた、NOの出力を生成することはできません。 1539 01:16:59,230 --> 01:17:03,280 したがって、この特定のケースでは、私は 無を持つサブルーチンを定義する 1540 01:17:03,280 --> 01:17:03,970 値を返す。 1541 01:17:03,970 --> 01:17:07,730 そして、それを特定するために、我々は、使用 私たちはこっちに無効と呼んでいるもの。 1542 01:17:07,730 --> 01:17:10,890 だからこの関数の副作用 それだけのものを印刷していることである 1543 01:17:10,890 --> 01:17:11,920 ページへの出。 1544 01:17:11,920 --> 01:17:13,840 これは、実際に実行されません 入力、およびそれはしていません 1545 01:17:13,840 --> 01:17:15,360 実際に出力を生成する。 1546 01:17:15,360 --> 01:17:18,230 >> しかし、これはある意味で役に立つかもしれません あなたは、例えば、デバッグする場合 1547 01:17:18,230 --> 01:17:21,530 あなたのプログラムで何か、必要に応じ 少しサブルーチンを記述するために、その 1548 01:17:21,530 --> 01:17:25,160 プリントアウトする、のは言わせて、内容 メモリか何かの。 1549 01:17:25,160 --> 01:17:29,800 だからこれらの副作用は時々ある コンテキスト外に便利 1550 01:17:29,800 --> 01:17:33,010 ただ入力と出力のようなの。 1551 01:17:33,010 --> 01:17:34,260 ご質問? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> この特定のセグメントを終了するには、 このプログラムは何をするのでしょうか? 1554 01:17:44,240 --> 01:17:47,420 私はあなたたちののカップルをあげる それを読ん秒である。 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 非常に基本的なレベルでは、私たちがしたい 右、それはxとyを入れ替えていることであると言う? 1557 01:17:56,880 --> 01:18:00,090 >> それでは、どのように多くの実際に考える これはxとyを入れ替えるだろうか? 1558 01:18:00,090 --> 01:18:02,160 手を上げます。 1559 01:18:02,160 --> 01:18:02,760 誰ません。 1560 01:18:02,760 --> 01:18:03,070 [OK]をクリックします。 1561 01:18:03,070 --> 01:18:06,720 誰がそれをすることを考えている xとyを交換しない? 1562 01:18:06,720 --> 01:18:09,120 そして、それの合計はだった 全体ではなく、お部屋です。 1563 01:18:09,120 --> 01:18:10,440 だから、何人かの人々は確認されていません。 1564 01:18:10,440 --> 01:18:10,920 [OK]をクリックします。 1565 01:18:10,920 --> 01:18:11,630 それは合理的です。 1566 01:18:11,630 --> 01:18:16,450 >> それでは、何が起こるかを経由してみましょう あなたが実際に最初の関数を呼び出す 1567 01:18:16,450 --> 01:18:18,320 この質問に答えるため。 1568 01:18:18,320 --> 01:18:21,430 だから、これはどのようなメモリであり、 並べ替えのように見えます。 1569 01:18:21,430 --> 01:18:23,860 これは一種の単純化したモデルのようです。 ときのようにメモリがどのようなものかの 1570 01:18:23,860 --> 01:18:24,800 あなたがプログラムを実行します。 1571 01:18:24,800 --> 01:18:27,270 いわゆる何かがある ダウンここスタックと 1572 01:18:27,270 --> 01:18:28,330 何かがヒープと呼ばれる。 1573 01:18:28,330 --> 01:18:30,950 これらは向かって成長 メモリの真ん中。 1574 01:18:30,950 --> 01:18:33,860 >> したがって、この特定のケースでは、とき あなたは関数を呼び出すと、 1575 01:18:33,860 --> 01:18:35,680 スタックに置かれます。 1576 01:18:35,680 --> 01:18:38,900 して、その中に含まれているどのような 機能は、我々がいることを呼ぶものにとどまる 1577 01:18:38,900 --> 01:18:40,550 関数のスタックフレーム。 1578 01:18:40,550 --> 01:18:44,500 そしてとても素敵可視化を取得する これは、let's - 例えば、私たちは持っていた 1579 01:18:44,500 --> 01:18:45,960 プログラムのメイン早い。 1580 01:18:45,960 --> 01:18:47,820 そしてメインの内側に、我々はキューブと呼ばれる。 1581 01:18:47,820 --> 01:18:50,650 だから、主はまずスタックに行くだろう それは最初の関数なので、フレーム 1582 01:18:50,650 --> 01:18:51,640 それは呼ばれています。 1583 01:18:51,640 --> 01:18:55,740 >> した後、キューブはの内部で呼び出されたとき 主には、メインの上に置かれます 1584 01:18:55,740 --> 01:18:57,790 メモリの内部。 1585 01:18:57,790 --> 01:19:02,090 それでは、ここで気づくと、その立方体である 独自のパラメータがあり、その 1586 01:19:02,090 --> 01:19:02,950 自身の地元の人々。 1587 01:19:02,950 --> 01:19:06,720 だから、実際に何かを渡すとき 機能、パラメータということ 1588 01:19:06,720 --> 01:19:09,910 何であったかのコピーであるれます 主から渡された。 1589 01:19:09,910 --> 01:19:14,140 >> ソートのこれを説明するために、みましょう プログラムの中を歩く。 1590 01:19:14,140 --> 01:19:16,960 だから我々は、スタックを持っているが、これはある 単にスタック部分。 1591 01:19:16,960 --> 01:19:21,240 そして、私たちがやっていることは我々が最初に初期化される 1と2のXとY。 1592 01:19:21,240 --> 01:19:22,400 だから我々は、これらの小さな箱を持っている。 1593 01:19:22,400 --> 01:19:25,310 彼らは主のスタックに座っている スタック上のフレーム。 1594 01:19:25,310 --> 01:19:26,580 彼らは、1と2が含まれています。 1595 01:19:26,580 --> 01:19:28,820 >> 今、私たちは、スワップを呼び出します。 1596 01:19:28,820 --> 01:19:33,940 何が起こるかは、我々は中にxとyを渡している スワップ、スワップは、自身のコピーを作成します。 1597 01:19:33,940 --> 01:19:36,520 内側に使用するそれらの変数の そのスタックフレームの。 1598 01:19:36,520 --> 01:19:39,920 だから今あそこ、我々は、これを持っている X持っていた値が含まれていると、bを、 1599 01:19:39,920 --> 01:19:41,620 そのYが持っていた値が含まれています。 1600 01:19:41,620 --> 01:19:42,670 そのように一つ、二つ。 1601 01:19:42,670 --> 01:19:47,130 >> そして、あなたは、これは別々であることがわかります メインの内側にxとyから。 1602 01:19:47,130 --> 01:19:51,390 だから我々は現在、一時的に作成 格納する変数。 1603 01:19:51,390 --> 01:19:56,100 我々はBに等しいを設定するので、 一から二変化する。 1604 01:19:56,100 --> 01:19:59,340 そして、我々は等しくセットB ショートカットに、その1です。 1605 01:19:59,340 --> 01:20:01,640 >> して、今、私たちが出て終了 この関数の。 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 あなたは、関数の外に出るときは、 スタックフレームがスタックからポップされます。 1608 01:20:07,410 --> 01:20:08,270 私たちは、プッシュと呼んでいます。 1609 01:20:08,270 --> 01:20:12,750 あなたは、スタックにスタックフレームをプッシュ スタックオフの場合、あなたはポップ。 1610 01:20:12,750 --> 01:20:16,080 だから何が起こると、そのすべてである ただのスタックフレームの並べ替えていた 1611 01:20:16,080 --> 01:20:17,280 炎の中で上がる。 1612 01:20:17,280 --> 01:20:19,180 だからそれは存在しません。 1613 01:20:19,180 --> 01:20:20,470 >> しかし、我々は何に気づくのですか? 1614 01:20:20,470 --> 01:20:23,690 私たちは、実際に変更されたことがない xとyの値は、右か? 1615 01:20:23,690 --> 01:20:26,530 ので、これらは、主にローカルとどまった。 1616 01:20:26,530 --> 01:20:29,900 スワップに何かを渡すことで、 実際にこれらの値を変更することはありません。 1617 01:20:29,900 --> 01:20:31,260 そして、我々はこれは何を呼び出すのですか? 1618 01:20:31,260 --> 01:20:33,040 私たちは、価値によって、この通過を呼んでいます。 1619 01:20:33,040 --> 01:20:36,860 >> あなたがに物事を渡すCの中のSO 機能は、値によってそれらを通過して、 1620 01:20:36,860 --> 01:20:40,160 のためにそれらのコピーを作成します 使用する機能。 1621 01:20:40,160 --> 01:20:43,980 そして、我々はと呼ばれるものについて学びます 後で参照渡しますが、それはです 1622 01:20:43,980 --> 01:20:45,390 あなたはこの問題を解決することができる方法です。 1623 01:20:45,390 --> 01:20:47,080 しかし、我々は気にする必要はありません その後まで。 1624 01:20:47,080 --> 01:20:52,200 >> ROB:そして、実際に、その用語、パッシング 参照することによって、そのようにCがあっても持っていません 1625 01:20:52,200 --> 01:20:54,270 参照渡し。 1626 01:20:54,270 --> 01:20:56,760 Cは、排他的に値渡しました。 1627 01:20:56,760 --> 01:20:59,630 どんなにあなたが何をすべきか、あなたはいつもしない 何かのコピーを渡す。 1628 01:20:59,630 --> 01:21:03,395 私は一種の言及のようにそれは、まさにそれだ その前にポインタを 1629 01:21:03,395 --> 01:21:07,690 文字列は本当に4であること メモリ内のどこかを指し示すバイト。 1630 01:21:07,690 --> 01:21:11,890 >> まあ、私はこの文字列を持っている場合、それはだ それはどこの文字列である私に言って - 1631 01:21:11,890 --> 01:21:15,470 まあ、私はこれまでこのポインタを持っている場合 メモリ上に置いて、私は渡すことができます 1632 01:21:15,470 --> 01:21:19,160 機能へのポインタのコピー、および その関数は、まだどこにある知っている 1633 01:21:19,160 --> 01:21:19,780 それはメモリである。 1634 01:21:19,780 --> 01:21:22,950 したがって、これらのポインタの両方を指している メモリ内の同じ場所にあり、 1635 01:21:22,950 --> 01:21:26,460 それは我々ができるようになるだろう方法を説明します を超えて物事を変更する 1636 01:21:26,460 --> 01:21:29,852 現在のスタックフレーム。 1637 01:21:29,852 --> 01:21:31,040 >> ジョセフ:あなたがコンパイルしたいのですか? 1638 01:21:31,040 --> 01:21:31,820 >> ロブ:いいえ、それは午前5時30分です。 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH:わかりました。 1640 01:21:32,910 --> 01:21:35,040 それが5時30です。 1641 01:21:35,040 --> 01:21:35,360 [OK]をクリックします。 1642 01:21:35,360 --> 01:21:39,280 だから我々は、私は推測してコンパイルカバーします 次のセクション、またはあなたのセクション 1643 01:21:39,280 --> 01:21:42,795 その点でのリーダーになります。 1644 01:21:42,795 --> 01:21:43,272 そして - 1645 01:21:43,272 --> 01:21:44,630 >> ROB:ご質問? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH:ご質問? 1647 01:21:46,760 --> 01:21:47,150 はい? 1648 01:21:47,150 --> 01:21:52,469 >> スピーカ5:CS50から文字列を使用して、任意の 我々が使用したい機能 1649 01:21:52,469 --> 01:21:53,880 これらの、それは、C関数のようになるでしょう。 1650 01:21:53,880 --> 01:21:59,050 CS50はに行っておりませんし、 追加しました。 1651 01:21:59,050 --> 01:22:01,850 >> ROB:正しい。 1652 01:22:01,850 --> 01:22:08,155 [聞こえない]のように、Cのいずれかに、 私たちの文字列のものを使用します。 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH:そして最後に一つ私がしたい 言及は、我々はスタイルガイドを持っているということです 1654 01:22:12,400 --> 01:22:13,130 このクラスの。 1655 01:22:13,130 --> 01:22:13,360 >> ROB:ああ、うん。 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH:だから、から来ている場合は、 前のプログラミングの経験、あなた 1657 01:22:15,270 --> 01:22:17,750 一定の規則を持っている可能性がある場合 あなたはパッティングのようなコードを書いている 1658 01:22:17,750 --> 01:22:20,950 同じ行の中括弧または特定 インデントのやり方 1659 01:22:20,950 --> 01:22:22,240 または、変数に名前を付ける。 1660 01:22:22,240 --> 01:22:26,870 このクラスでは、フォローしたい 特定のスタイルガイドという理由だけで、 1661 01:22:26,870 --> 01:22:31,100 さて、あなたは外に出ている場合での仕事 業界では、あなたが期待することになるだろう 1662 01:22:31,100 --> 01:22:34,780 のスタイルガイドに従うこと あなたがに行くれる会社。 1663 01:22:34,780 --> 01:22:38,040 >> 例えばのように、Facebookが私は思う 命名の特定の並べ替えを持っている 1664 01:22:38,040 --> 01:22:38,760 慣例。 1665 01:22:38,760 --> 01:22:42,570 とラクダの違いがあります ケーシング変数と同じよう 1666 01:22:42,570 --> 01:22:44,610 アンダースコアで区切る。 1667 01:22:44,610 --> 01:22:52,170 また、私のような、最も重要なことだと思い 例えば、インデント、右? 1668 01:22:52,170 --> 01:22:56,440 >> 我中括弧で始めるのですか 条件は、それら 1669 01:22:56,440 --> 01:22:57,730 次の行にあります。 1670 01:22:57,730 --> 01:23:01,230 そして、我々はまた、中括弧を置く それだけで1行であったとしても。 1671 01:23:01,230 --> 01:23:06,100 そして、実行する方法は多くの時間がある これらの括弧を残すことができ、それ 1672 01:23:06,100 --> 01:23:08,380 それだけで1行だ場合にはオフに If文の下に。 1673 01:23:08,380 --> 01:23:12,070 しかし、このクラスでは、我々はフォローしたい ちょうどので、あなたが得る特定のスタイルガイド 1674 01:23:12,070 --> 01:23:13,550 そういったことに慣れて。 1675 01:23:13,550 --> 01:23:16,410 >> ROB:うん、スタイル50をしようとしている このスタイルガイドを施行し、我々はしている 1676 01:23:16,410 --> 01:23:18,080 スタイル50を使用するつもり あなたのコード年生まで。 1677 01:23:18,080 --> 01:23:25,150 だから、私たちのために物事が容易になり、 うまくいけば、その物事を行うべきではありません 1678 01:23:25,150 --> 01:23:30,120 あなたが与えられたために非常に悪い 標準化されたスタイルがあることであってはならない 1679 01:23:30,120 --> 01:23:31,460 非現実的。 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH:そして最後に、スタイルを見つけるには ガイド、manual.cs50.net/styleにアクセスしてください。 1681 01:23:36,000 --> 01:23:37,725 そして、ええ。 1682 01:23:37,725 --> 01:23:40,575 >> スピーカ4:あなたが強制するつもりです 行ごとの任意の文字? 1683 01:23:40,575 --> 01:23:42,480 >> ROB:はい。 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH:申し訳ありませんが、みんな。 1685 01:23:45,405 --> 01:23:47,680 >> ロブ:それは唯一のものの1のようなものだ。 1686 01:23:47,680 --> 01:23:50,420 この時点で、私は120でOKです。 1687 01:23:50,420 --> 01:23:52,460 私は120を言って、OKだ 行あたりの文字数。 1688 01:23:52,460 --> 01:23:53,830 私はいくつかの制限されてそこに理解しています。 1689 01:23:53,830 --> 01:23:57,130 私は80が非常に小さいと思うが、 我々はそれを強制している。 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH:個人的には、と思う C、80文字がよりOKです。 1691 01:24:00,260 --> 01:24:04,160 あなたは他に取得を開始したら JavaScriptやPHPなどの言語ではない 1692 01:24:04,160 --> 01:24:08,860 ただ制限するため、合理的な それ80文字まで。 1693 01:24:08,860 --> 01:24:09,260 [OK]をクリックします。 1694 01:24:09,260 --> 01:24:12,780 まあ、それは、スーパーセクションだった。 1695 01:24:12,780 --> 01:24:14,750 誰もがお菓子をしたいのですか? 1696 01:24:14,750 --> 01:24:16,000 >> スピーカ4:はい。 1697 01:24:16,000 --> 01:24:18,667