2024年09月25日 第2回
変数の扱いについて学ぶことができました.
メモリについての図のおかげで変数のイメージが少し分かりました.
理解してくれたようで良かったと思います.
getcharの扱い方が最初全然わからなかったけれど,
試行錯誤しているうちにわかるようになりました.
理解できたようで良かったと思います.
今回の講義で習ったスキャンの方法などは知らなかったのでためになった
スキャンというのはscanf のことでしょうかね.
getcharの仕組みが難しく理解するのに時間がかかったが,
TAさんにきいて理解することができた.
なぜ二回行われているかがわかってよかった.
理解できてよかったとおもいます.
変数について理解することができた.
課題6のgetcharがなぜうまく動かなかったのかをしっかりと復習したい.
不明なところがあれば来てください.
変換仕様の(%dや%fなど)を覚えるのが苦手なのですが,なにか由来のある文字なのでしょうか?mvコマンドはmove,cdコマンドはchange directoryなどで覚えやすかったので,そういった由来があるならお教えいただけたら幸いです.
%dはdecimalで10進数,%fはfloating point で浮動小数点数です.
getcharは改行を一つの文字として認識してしまうため,
scanfよりも面倒なものと思っていましたが,
実行してみると,
scanfの中身で空白を入れておかなければうまくいかなかったので,
個人的にはgetcharの方が視覚的にはわかりやすいと思ってしまいました.
なるほど色々な解釈がありますね.
getchar の数字の順番が難しかった.
課題7からやってもらうと良かったと思います.
コードを打つとき,
間違ってprintfではなくprintgを打ったミスが多かったです.
それでgccコマンドを使うとき,
エラーが出てきてやり直す時間が無駄だと思いました.
今度からコードを打つときは,
もっと気を付けたいと思います.
でも,これは間違いがすぐわかるミスですね.コンパイルできないだけなので.
課題7でスペースの打ち間違えがあり,
それを直すのに手こずりました.
今週の復習をしっかり行って,
次の講義を受けたいと思います.
そうしてください.
個人的にはなかなか慣れない作業だったが,
コマンドを打ち込んでいくのが楽しいと感じることができてよかった.
楽しいのであれば,素晴らしい.
getcharの仕組みがよくわからなかったため自分で調べることでscanfとの違いもわかり,
プログラミングは自分で調べたり試すのが上達に大事だと思った.
自分で調べるのが大切ですね.ネット情報を鵜呑みしては行けませんが,
プログラミング関係では,それが正しいかどうかすぐに確認できるので
(コードを書いてみれば良いから),使ってみると良いでしょう.
課題を解く前は理解したつもりでいましたが,
いざ課題を解いてみると詰まるところが多かったです.
特に,
途中の課題5でうまくいかずに,
かなり時間をかけてしまいました.
変数は計算等でうまく利用できると便利なので,
更に理解が深まって良かったです.
ヒントに課題7から先にやるようにとしておいたと思います.
改行にシビアだったgetcharに苦戦した.
まだ使いこなせていないと感じるので,
今後も積極的に使っていきたい.
課題7で確認してください.
池口教授は前期の講義で,
1つのOSしか使えないのはエンジニアとして不足だと仰いましたが,
私はwindowsでコーディングした経験がまだありませんので,
emaxsと並行してwindowsのエディタを使ってプログラミングする練習もすべきでしょうか.
emacs ですかね.
さて良い質問だと思います.
私の個人的な経験,感覚からすると,
U->Wは容易ですが,W->Uは敷居が高く困難だと思うので,
現状で良いと思います.
確かに,「1つのOSしか使えないのはエンジニアとして不足」という趣旨のことを
言ったと思います (正確にはエンジニアではなくて情報工学科,と行ったと思います) が,
上記があるからですね.
変数を代入するときに=を用いることが意外であり,
いずれ慣れるようになるのか不安だ
代入演算子ですね.慣れますね.
getcharの仕組みが理解できずに苦戦した.
また,
授業内で説明された型の種類について,
int とlong intでは,
表せる数の範囲が同じなのに区別されていて,
疑問に思った.
これはシステムに依存しているので,ある環境では同じことがありますが,
多くの場合は32ビットだと同じで64ビットになると違うと思います.
今回の講義では変数の扱い方と型について学びましたが,
小数ではない整数の型について,
char, short, int, longの四種類がありました.
なぜ整数だけで4種類も型があるのでしょうか?何か歴史的な背景などがあるのであれば気になります.
また,
講義の内容とは関係ありませんが,
大学側のLinuxPC内のファイルを,
手元のノートパソコンのWindowsとリアルタイムで同期する方法はありますでしょうか?ご教授いただければ幸いです.
char は1バイト,short は2バイト,int は4バイトなどとなっていて,
扱いたい情報の範囲が限られている場合,
例えば,0から255の範囲で良い場合1バイトで十分ですが,
このような場合に4バイト割り当てたらもったいないですよね.
メモリが多くない時代からのものなので,ある意味歴史的と言って良いかもしれません.
あと,同期ですが何と何を同期するのかよくわかりませんが,
いずれにしてもリアルタイムについては私は知らないです.
色々とつまづいてしまいましたが,
なんとかやり切ることができました.
kadai7があったとはいえ,
getchar関数の仕様を正確に把握するのに手間取ってしまった.
わかっていないと正常に動作せず,
関数の仕様を正確に把握することが大事なんだなと実感しました.
課題7から先にやると良いというヒントがあったと思います.
今回の講義を通して変数のしくみを知ることができました.
c言語において数字を出力するには決まった方が存在することを初めて知り,
とても興味深かったです.
次回の講義も楽しみにしています.
理解できてよかったと思います.
何とか課題を終わらせることができたが%cの前にスペースを開く理由やch=getcharを2回打つ理由などが理解できなかったので次回までに調べておきたい.
課題7をやりましたか?
scanf(" %c",&char);のようにパーセントの前にスペースが必要ということを知らずに,
改行文字を取得してしまってうまく動かなかった.
TAさんに聞いて解決することができたが,
このようなことには気を付けたいと思った.
あと一か所だけ是各スペースが入っていてうまく動かなかったのでこれも気を付けようと思った.
最後は解決はできたのでしょうか.
scanfとgetcharの動作の違いを意識しながら課題を進めることができた.
よろしいと思います.
ch=getcharを二回打つのが理解できなかった.
2回打ちというか読み込むからですかね.
課題7のコードをそのまま実行した場合うまくいかなかったので,
TAさんからアドバイスをもらいコードを少し書き直して実行できました.
勝手に書き直したというのはアウトですが...
これはどのようなアドバイスでしょうか.
前回よりスムーズに課題を行えた.
よろしいと思います.
c言語における変数の基本的な事について学ぶことが出来た.
プログラミングが初めてだと,
自分が何をしているのか分からないまま演習が進んでいってしまう事が起こりうる.
それを防ぐため,
頭の中や紙上で今から何を行うかを理解してから演習に取り組むことが重要だと感じた.
素晴らしい.その通りです.
大学のLinux環境から自分の環境にデータを移す際に少し手間取ってしまった.
次回からはスムーズにできるよう頑張りたい.
まずは慣れることが大切ですね.
getchar()で改行文字を捨てる時,getchar()の戻り値を何らかの変数に代入する(dummy = getchar();)ほうがいいのか,代入せずそのまま捨てる(getchar();)方が良いのかご教示願います.
getcharはEOFを返す場合があるようですね.なので,dummy ともせずに,
明示的な変数を用意した方が良いと思います.
今回の課題を通して,
getcharの使い方がよく分かった.
課題5に戸惑ったが,
最終的にうまくいったのでよかった.
また,
スペースの使い方があまりよくわからないと感じた.
数字の前後は必ずスペースをつくるなど決まり事はあるのでしょうか.
ありません.
プログラミングに今までやったことがなく理解するのにかなりの労力がかかるが,
パズルのようでやっていて面白い一面もあった.
確かにパズルのようですね.
getcharに\nが入ってしまうことにずっと気づかなくて悩んでいました,
でもGoogleで調べて解決できたのでよかったです.
調べたのは良いと思います.
getcharが改行を拾うことを知らなくて課題で詰まってしまった.
getcharがscanfの下位互換にしか思えなくて,
どう使い分けるのか気になった
課題7から先にやってはどうでしょうというヒントを入れておきました.
intやfloatの使い方について理解することが出来ました.
またscanfやgetcharについても理解することが出来ました.
よろしいと思います.
本日の講義では,
変数の宣言や代入,
キーボードからの文字の入力を学んだ.
特に課題5や6でgetchar(); を二回使って文字を入れるための箱と改行のための箱を作るという点に苦戦したが,
大変勉強になった.
自分はch1,ch2,ch3,ch4,ch5,ch6と作り,
数値を読み込ませるところの番号を割り当てるようにして作ったが,
他のやり方も知りたい.
具体的にコードを見せてくれますか.
前回の提出時には,
大学のLinux環境で動くかどうか確認せずに送ってしまったが,
今回でLinux環境とのディレクトリの同期の方法も学べ,
確認することが出来た.
環境についてもっとよく意識していこうと思った.
getcharの扱いについて,
教科書だけではわからなかった分も課題でわかって良かった.
よろしいと思います.
C言語における変数の使い方がよく分かりました.
特にscanf等が実用的だと感じました.
本日もありがとうございました.
理解できたようでよかったですが,入力に関してはscanfよりも他の方法を用いますかね.
scanfを用いる時に,
整数などの%dでは scanf("%d", &num); などで出来るのですが,
文字などの%cでは scanf("%c", &num); のように同じようにやってもコンパイルされず,
%cの前にスペースを入れることでうまくコンパイルが出来ることに気づくのが少し時間がかかってしまいました.
コンパイルできるできないというのは意味が良く分からないのですが...
操作になれてきたことで,
前回と比べ短時間で終わらせることができた.
今回の内容は難易度としてはあまり難しいと感じるものではなかったが,
今までに学んだ要素がいろいろと組み合わさったときに少しつまずくところがあった.
前回の範囲と今回の範囲をどちらも使って解く問題があり,
その際に前回の復習ができたのが良かった.
gccでコンパイルする際に間違っているとエラーで教えてくれ,
すばやく直せるようになっているのがとてもやりやすかった.
よろしいと思います.
演習課題5以降では getchar() を用いて文字の標準入力を受け取りましたが,
「連続で getchar() を実行すると以前に入力した改行文字が入力されてしまい,
正しく文字が入力できない」ということに気づかず,
詰まってしまいました.
プログラムを丁寧にトレースして解決したのですが,
してやられた感が否めませんでした.
初めてで気づかないので演習をやってもらいました.
getcharの動作の理解に少し苦しんだが,
最終的には全て動作させることができた.
よろしいと思います.
今回はscanfとgetcharの違いについて学べた.
特にgetcharのときに改行文字の除去が少し複雑でてこずってしまったが何とか理解することができた.
できたようで良かったと思います.
今回の課題では,
問題4の進数の変換に使う記号は%dでは出力できないことを忘れてしまっていたため,
長いこと躓いてしまった.
次からは忘れないよう記憶しておこうと思います.
また,
%lfのlが1なのか,
I(iの大文字)なのか判別できなく,
うまいこと出力できなかったため,
気を付けようと思います.
変換仕様について,どのように表現するか,また,エラーメッセージを 見ればわかると思います.
前回はコードを書いてそれが実行されるかでしたが,
今回は実行する際にキーボードを打つという自分の行動が加わって正しく実行できているかを知ることができるというのが面白いと思いました.
"ch* = getchar()"という同じようなコードを何度打てば思い描いた結果が得られるのかに苦戦しましたが,
課題を通して理解することができました.
理解できたのであれば良かったとおもいます.
emacs上でMicrosoft IMEで全角文字を入力しようとすると頻繁に停止するので,
Microsoft IMEを使用しない方法で入力しているが,
予測変換の使い勝手があまりにも悪く,
普段のIMEの予測変換がかなり賢いことを実感した.
emacs上の日本語入力はどこが開発しているのかも気になったので,
調べてみたい.
停止するというのは応答が悪くなるということでしょうか.
ATOKとかが良いんじゃないですかねね
今回の授業の内容は,
プログラミングの基礎を理解する上で非常に重要だと感じました.
変数を使うことで,
プログラム内でデータを効果的に扱えるようになります.
プログラミング初心者にとって,
変数の基本をしっかりと理解することが,
これからの学びに繋がると感じました.
繋げてください.
コードの構造や仕組み,
ルールを理解して使うのがただ単純に楽しかった.
だがそれに夢中になるあまり,
初歩的なミスであるコンパイルし忘れなどをしてしまっていたりと様々な反省点がある.
新しい知識を得て自分がレベルアップしていく感覚がとても面白い.
コンパイルし忘れは慣れで解決するでしょう.
今日の講義では,
キーボードから入力した数値や文字を表示するプログラム方法についてを主に学んだ.
全ての課題が終わった後,
ファイルを自分の端末に持ってきて一つにまとめる作業に手間取ってしまった.
次回は素早く行えるよう確認をしっかりして来週の講義に臨みたいと思う.
確認は重要だと思います.
今回は変数についての基礎的な内容を学びました.
getcharを複数行い,
無駄な文字を排除する操作は実践する上で重要な工夫だと思うので,
こういった気づきづらいものを演習の中で身につけていきたいと思いました.
それが良いと思います.
課題7でのscanfとgetcharの違いを確認する際,
上手くいかないことが多かった.
しかし,
そのたびになぜうまくいかないのかを考えることで,
違いについてしっかりと理解することができた.
ミスによって,
違いについて理解することができたが,
もっと少ない回数で理解できるように努めようと思った.
理解できたのであれば,それで良いと思います.
前回と比べて急に内容が複雑になり,
とても戸惑いましたが教科書を丁寧に読み自分なりに理解をしたらなんとか課題ができました.
次はもっと予習に時間をかけてある程度授業が始まるまでに理解をし,
演習を通してより深い理解を目指したいです.
説明動画は見ていないですかね.
今日は自分の勘違いで課題6に相当時間がかかってしまったが,
全体的に見ると動画・資料がわかりやすかったのでうまくできたのでよかった.
最後のscanfとgetcharの違いを確認する課題のおかげで色々と整理できたのでありがたかった.
よろしいと思います.
変数の宣言や初期化,
型などについては事前に他の言語でのプログラミングを学んだ時に知っていましたが,
Cにおける変換仕様に関わる変数の使い方に慣れるのに時間がかかりました.
また,
getchar()の使い方として,
改行文字や区切り文字を取り除くために複数回変数に代入するやり方にも初めて触れました.
ところで,
今回の課題7のように,
既に書かれたコードの動作を確認するために書き写す課題の場合,
動作に関係のないコメント部分は省略してもよいのでしょうか.
まぁ,何が役立つと考えるかですね.
タイパが全てではないです.
今回は変数を中心に学習しました.
これまで勉強しいてきたCPUの動作原理を理解することで,
最初にメモリを定義する必要があったり,
&でアドレスを指定し参照するなどPythonとの違いを理解することができました.
みなさんPが使えないときはどうするのでしょう?
基本順調だったが,
getcharの扱い方が全く分からずに混乱した.
一番最初のch = getcharは改行文字を消す必要がないなどの留意点をつかめていなかった.
今はできる?
getcharを行う際に,
改行文字を捨てるという考え方を理解するのに苦戦し,
時間がかかってしまった.
しかし,
TAさんに質問し,
教えていただけたので,
しっかりと理解することができ,
自分のものにすることができたと実感している.
実感できたのであれば,それは素晴らしいですね.
kadai1.c~のように,
.cのあとに~のついたファイルができてしまうのですが,
これは自分が何か余計な操作をしてしまっているのですか.
ファイルを編集した際にできるバックアップファイルです.
余計な操作をしているわけではないので,
前回の講義冒頭で説明したinit.el において,
バックアップファイルを作成しないようにもできます.
今回の講義では,
今まで曖昧にしか分かっていなかった変数の概念をより詳細に知ることが出来た.
getcharなどで文字を入力する際に改行文字を除去する作業をしないと改行されるということで,
改めてコンピュータの中では改行も文字であるということを実感した.
変数の宣言の際に用いている"int"と,
コードの最初に記載する"int main(void)"の"int"は同じものなのかが気になりました.
同じものとありますが,何と同じものなのかが記述されていないので,
なんとも言えませんが,"int main(void)" の "int" は
mainという関数が返す値の型が"int" であることを示すものなので,
変数の型ということを考えているのであれば同じですね.
今回はcharのところで少し手間取ってしまったが,
なんとか理解することができた.
もう一度復習してこれからの授業に備えていきたい.
よろしいと思います.
少し躓いてしまう場面があった.
今回のことはしっかりと復習して次回の講義に生かしていきたいと思いました.
そうしてください.
最後の課題で,
文字を入力する方法を2通りやった.
違いはわかったが,
それぞれどのようなメリットがあるのかよくわからなかった.
分からなければ質問してください.
どのような作業をしているのかわからなかったが,作業をしていくうちにだんだん分かってきた
だんだんですか...
今回の講義では変数を指定して出力することをしましたが,
getcharの部分で苦戦したりしたので家で復習したいです.
復習は重要ですね.
課題5以降のキーボードからの文字の文字の入力のためのプログラミングを考えるのに苦戦しましたが,
課題7のおかげでだいぶ理解が進みました.
課題の中に前回の復習も入っていたので,
来週までに今週の内容も復習して,
来週の課題をスムーズに進められるようにしようと思いました.
よろしいと思います.この調子で.
今回の講義では, scanfやgetcharを学びました. 教科書では, 数字のときはscanf, 文字の時はgetcharと使い分けていましたが, 多少勝手が違えど, 結局どちらも同じように出力できたので, 今後は使いやすい方を使っていこうと思っています.
うまく使ってください.
getcharの扱いで戸惑ってしまいましたが,
問題7を実行したことで動作の仕方を理解することができました.
よろしいと思います.
今回の演習では,
特にdoubleとgetcharがうまくいかなかったため,
次はできるようにしたいと思った.
復習しましょう.
プロンプトに入力された値に応じた値を返すというコードを今回初めて書いたのですがそれがプログラミングという感じで感動しました.
あと,
floatとdoubleの使い分けが難しいと感じました.
基本floatを使って,
値が大きくてエラーをはいたらdoubleを使うのですかね.
感動しましたか.それはよかった.
課題6番に苦戦しました.
getcharに対しての理解が甘くて時間を使ってしまいました.
課題7を先にやりましょう.
空白の有無によってコマンドの実行が上手くいったりいかなかったりしたので,
かなり苦戦しました.
無駄な空白は入れないように心掛けようと思います.
また,
理解が浅いが故のエラーも多かったので,
講義動画で分からなかったところは調べたり,
質問したりして解決したいです.
分からなければ質問してください.
scanfとgetcharの使い分けがむずかしかった.
課題5の代入を連続でおこなう操作がプログラミング結果の先を見据えながら逆算して考えれて面白かった.
面白いのは大切ですね.
前回よりもスペースを開けるなどの細かい調整が必要で苦戦してしまったので,
次までに慣れておきたいと思った.
よろしいと思います.
私は,
資料と動画を見て簡単な練習問題をやっただけでgetcharを使いこなせる気になっていたが演習では全くできず,
つまずいてしまったためしっかりと忘れないように学習しようと感じた.
納得と会得は違いますね.
ch= getchar();を2回打たないといけない理由が知りたいです>>
getcharは入力ストリームから1文字ずつ読み込む関数ですが,
入力があると,最後に改行も入力されますが,
この改行文字もgetcharで読み込まれてしまうからです.
例えば,実行ファイルを動かして,Aという女児を入力し他とします.
普通はこの後Enterを入れますが,最初のgetcharの呼び出しで文字Aを読み込み,
次の呼び出しで改行文字 (\n) を読みこむからです.
変数の宣言や標準入力についてC言語を通して表現する方法を学びました.
よろしいと思います.
getcharでは一番最初の入力以外は改行文字を除去する必要があったけれどscanfはどの段階でも改行文字を除去する必要がないというところがわかりづらく感じました.
また今回の課題7からscanfでできることgetcharでできることはあまり変わらないといえると思うので,
どちらかはいなくなってもいいのではないかと思いました.
でもわかりましたか?
実際はどちらも使わないかもしれません.
授業と課題自体は難しくないが,
zipと同期の時に問題がよく出ます
どんな問題が出るのかを具体的に書いてくれないと何とも言えないですね.
改行やスペースを文字として扱うところが難しかったです.
scanfで文字を入力するときに" %c"のように”と%の間に空白を入れないとうまくいかず,
これは入力するとき文字の前にある改行コードを拾わないようにするための工夫であると考えました.
上で同じ質問があったので,そちらを見てください.
getcharの改行文字の除去が複雑に感じて難しかったです.
1つ1つの理論を理解せず,
感覚でやっていくと,
この先苦労しそうに感じたので復習をしっかりと行おうと思います.
そうですね.理由は必要だと思います.
scanf("%d", &num); のように入力するのが普通ですが,
printf と混ざってしまいscanf("%d", num); のように「&」を付け忘れてしまったり,
scanf("%d\n", &num); のように「\n」を余分に付けてしまったり些細なミスが多々あり時間を浪費してしまったので次回からは気を付けたいです.
また,
例えば,
「少数を入力します.」のような途中までは全角(少数を入力します)で最後に半角(.)の文章を打つのはプログラミング工学以外でも少なからずありますが全角と半角を切り替えるのは正直面倒くさいです.
ただ私が非効率な方法を取っているだけで本当はもっと効率的な方法があるのでしょうか.
ご教授お願いします.
どのような方法をやっているのか知らないで何とも言えないですね.
このような質問は現場で聞いてもらうのが効率的だと思います.
面倒臭いと思う世代なのかもしれませんが.
getcharの読み込み,
上書きについてはじめはよくわかりませんでしたがわかるようになってよかったです.
よろしいと思います.
今まではなんとなくでやっていたが変数の名前のはじめに数字を使ってはいけないことを初めて知った.
これからは細かいルールも覚えていきたい.
初回だ話した内容ですね.真面目にやった方が良いと思います.
変数とその周辺知識や,
実際に変数を利用する方法,
そしてscanfやgetcharの使い方について,
その注意点を含めてよく理解できた.
演習課題,
特に課題5,
6,
7を通じて,
今回の学習内容の理解を深めることができた.
時間はかかったものの,
資料や教科書等を参照したり,
試行錯誤を重ねたことで,
曖昧な部分を残さずに演習課題を終わらせることができた.
よろしいと思います.
予習をしたが,
今回の演習で躓いたことが多く,
特に文字に関することが苦手だと感じた.
なので,
文字の所を重点的に復習すると共に,
より予習を深くやっていきたい.
それが良いですね.
前回に比べて実用的で少し難しく感じました.
自分でも勉強してC言語を用いて色々なことができるようになりたいと思いました.
ぜひなってください.
今日は何回も間違えてカードを書き直したが,
訂正していく過程で自分がどこを間違えやすいか気づけた.
かつ,
早く終えることができたため良い経験になった.
カード?
今回の課題7の中で,
ch=getchar()の右に注釈として「改行文字を除去」と書いてありましたが,
この意味がわかりませんでした.
ぜひ教えてください.
上で同じ質問があります.
スペースひとつでプログラムがうまく動くかどうかが変わってしまった.
これから,
細かいところにより気をつけていきたい.
気をつけてください.
変数について主に取り扱った.
キーボードからの入力の際に,
scanf("%d",...);の部分の”と%の間にスペースがあるときとないときで動作が変わったこと,
その動作の変化が以降の行のscanfにも影響したことがあった.
スペースを入れるか入れないか統一してミスを減らしていきたい.
慣れたら大丈夫と思いますよ.
文字入力にはscanfのほかにgetcharがあり,
それぞれコードの書き方が違うことを知った.
scanfは文字だけ読み取るがgetcharは改行やスぺースも読み取ってしまうため読み取りなおす必要があるとわかった.
理解できたようでよかったと思います.
今回の講義で変数についての理解が深まりました.
また,
scanfとgetcharの違いも理解できました.
そこで質問なのですが,
scanfでも文字の取得ができるのになぜgetcharの方が使われているのでしょうか.
getcharが使われているということはないと思います.
今日は変数について学んだ.
数字を代入することは簡単にできたがcharを使って文字を入力することに少々手間取った.
char独特の動き方にも慣れていきたい.
演習を重ねることが大切だと思います.
課題7でgetcharをなぜ2回入力しないといけないのかわからず,
TAの方に質問したところとても分かりやすく説明してくださり,
TAの方のすごさを感じることができました.
2回getcharを打つのは,
1つ目でその直前にPCから入力した改行を削除するためなので,
入力の最初にgetcharが来る場合はgetcharを2回入力する必要はないことを学びました.
コマンドの一つ一つの意味を理解しながら課題を進めることは,
とても大切なことだと改めて痛感しました.
質問して解決したのであればよかったと思います.
プログラミングは数学のように結果が同じでもコードが長かったり短かったりするというのが少しわかりました.
そうですね.書き方にはよりますね.
今回手こずったのは,
「改行文字」の存在である.
「コード上には見えておらず,
プログラム上存在する文字」を認識することは非常に難しいことであると感じた.
しかし,
「改行文字をはじめとしたエラー発生の原因となるもの」を認識する工夫が必要であると考えた.
これからはエラーの発生や,
思った通りに実行されていない時,
プログラムがどのように実行されているのかをしっかり考えて,
論理的に原因究明できる能力(デバック能力)を身につけていきたい.
ぜひ身につけてください.
課題4では使い慣れない%oと%xが出てきたため,
少してこずった.
課題5,6ではgetcharとscanfの使い方に少し手こずったので家に帰ってしっかりとコマンドの使い方を定着させていきたいと思う.
課題7を先にやるようにヒントが書かれていたと思います.
講義動画を視聴していて,
前期でのCSの内容がよく出てきていると感じ,
前期で学習したことを実際にプログラミングを通して触れられることはとても興味深く感じました.
そうですね.関係しますね.
getcharを二回書くのが理解するのに時間がかかって大変だった.
教室が暑い
でも理解できましたかね.暑い場合は言ってください.
scanf関数を使う際にスペースを入れ忘れるとエラーが起こりました.
これからはその細かなところまでも注意を払っていきます.
そうですね.それが良いですね.
今回の演習では,
新しく変数の使い方を理解することができた.
また,
うまくいかないときにはやみくもにいろいろなことを試すよりも,
何をしたいかを明確化することや,
書いたコードにどのような意味が含まれているのかを理解しながら作業するほうが効率的で,
プログラミングの楽しさを感じることができた.
確かに理解は大切です.それがないと先に進めないので.
getcharで前の入力のエンターの改行が入ってしまうことを最初理解してなかったので少し戸惑ったがそれ以外はスムーズに作業することができた.
よろしいと思います.
今回は,
変数など扱いましたが,
うまく課題をクリアできました.
質問なのですが,
%dなどを書く際に例などではスペースなどが入っているのですが普段も入れるべきなのでしょうか.
この場合は出力をどのように整形するかという考え方によると思います.
scanfとgetcharの違いの理解に時間がかかった.
getcharの使い方が少し癖のあるように感じた.
慣れていく.
よろしいと思います.慣れてください.
今日やった課題は前回と違って自分の中でうまく整理しなければいけない問題が多く深い理解が求められていると感じました.
だんだんと理解が深まっていき徐々にスピードも上がってきたのでこの短い時間でも成長を感じられました.
素晴らしい.
今回は変数について学んだ.
変数の宣言や代入の演習を整数や少数など様々な形で行った.
また,
scanfを学んだ.
scanfでは&を使ったり,
変換仕様が違ったりするので注意が必要だと感じた.
文字を入力するときのgetcharの改行文字を代入させないようにする仕組みに少し苦戦した.
でも理解できましたか?
まだ2回目のプログラミング演習であるが,
c言語の書き方の雰囲気がつかめた来た気がする.
また,
今回でてきたgetcharの使い方を理解するのに少々時間を要した.
つかめましたか...
今日の講義では変数を扱った.
ユーザー側からの入力を受け取ることができてかつそれらを表示できるようになることができた.
本課題で苦労した点は課題5のgetcharの挙動を把握するところだった.
結局課題7のところを見ることで自分が何を間違えていたのかを理解できた.
getchar()を二回入力することで一回目に入力した改行分の入力を入れ直すという発想は出てこなかったと思う.
この演習でわかったのであればそれで良いです.
getcharについて,
改行文字を除去するために(変数)= getchar();を2回書かないといけないことに気づくまでに時間がかかり,
課題5でつまずいた.
課題7と照らし合わせて確認することである程度使い方を理解することができた.
よろしいと思います.
getchar と scanf の違いが分かりにくかった
過去形ということは,今は理解できた?