0.ショーのPTAのスコア
スクリーンショットは示しています。
1.この章では、研究をまとめたもの
1.1学習コンテンツの概要
(A)定義機能
ライブラリ関数をプログラミングする際に直接呼び出され、ユーザが定義することができるように1)関数は、カスタム属し、ライブラリ関数とカスタム関数二種類のscanf()のprintf()を含む特定のジョブを完了するために別のプログラムモジュールであります機能。
によって定義された関数の一般的な形式:
函数类型 函数名(形式参数表) /*函数首部*/ { 函数实现过程 /*函数体*/ }
そこには、現在の関数型のボイド、int型、ダブル、などを学んでいるときに、関数呼び出し、ボイドが通常、など、それはリターンを要求することはできませんので、それは値を返しませんが、値を返しませんが、その役割は、一般的に画面出力に反映されますListなど個別の文の通り、()。そして関数は、後者のタイプは、対応するタイプの値を要求される返します。
コール(b)の機能
- カスタム関数を呼び出すと、プログラムは関数定義を持っていると呼ばれる関数の宣言に対応する機能を呼び出す必要があります。
- 呼処理機能:
- あなたが関数呼び出しが発生した場合、任意のCプログラムは、メイン関数main()で開始し、実行され、主な機能は、対応する機能の実装の賛成で中断され、機能が停止し、元からメイン関数の実装後に返す、となります日付が続きます。
(C)パラメータおよびパラメータ関数。
- 関数定義、パラメータテーブルが配置されているが、(呼び出し元の関数に関数の主なパラメータは、パラメータと呼ばれる場合)引数で受信することに加えて、引数、パラメータ、同様に通常の変数を使用することになります。範囲は、範囲定義関数に限定されているので、パラメータ引数は、一から一、可能となっている両方のタイプの同じ数が、パラメータ値、関数内のカスタム関数のパラメータに渡される引数の役割でなければなりません、パラメータ引数の変化は重要ではありません。
(D)は、グローバル変数、ローカル変数、静的ローカル変数。
- 変数内で定義されたC言語の関数のローカル変数、関数の制限内のローカル変数の有効範囲。変数ローカル変数は、さまざまな機能間の相互干渉を回避するために使用されます。でも、同じ名前のパラメータを持つ複数の機能、そしてまた、実際の変数パラメータの主な機能と同じ名前を持つが、異なる機能に属しているとき、彼らはお互いに干渉しないであろう、異なるエンティティおよび変数の使用を持っています。
- 変数は関数の外で定義されていないに関数と呼ばれるグローバル変数。グローバル変数のスコープは、最初からプログラムを含むファイルの末尾に定義され、その範囲内の全ての機能が動作します。私たちは、一般的にプログラムの先頭でグローバル変数を定義します。
異なるスコープグローバル変数とローカル変数に、彼らは同じ名前を許します。グローバル変数の関数と同じ名前のローカル変数は、関数内のグローバル変数は動作しない場合は、ローカル変数は、同様に動作することで、時に複合文の対象と同じ名前と複合文のローカル変数の関数のローカル変数、。
グローバル変数は、複数の機能の間のデータ通信に使用されてもよいです。しかし、一般的に、ローカル変数や関数の引数をフルに活用します。
静的ローカル変数、関数呼び出しの終わりが回収システムであるため、そのライフサイクルは、プログラムの最後まで続くことはない普通のローカル変数のように、再び静的な記憶領域を格納します。記憶部が保持されるので、静的ローカル変数を含む関数が再び呼び出されると、関数呼び出しの前の値はまだこのコールに使用し続けることが、記憶されています。
(E)データ型
コンピュータ処理情報をバイナリ形式で表現され、元のコード値を反転、使用することができ、表現を補完します。
正0、負の数のための1。
正の元のコードの数、抗コード及びそれを補完します。
負:
オリジナルコード:符号ビットが1であり、値は、残りのビットの絶対値を表します。
反転:符号ビットが1であり、他のものは、元のコードを否定します。
補完:1プラスに反転。
-1的原码是:10000000 00000001 -1的反码是:11111111 11111110 -1的补码是:11111111 11111111
(F)エスケープ文字
バックスラッシュ文字や数字によってエスケープ文字は、複数のキャラクタの形でエスケープ文字が、他の意味に文字や数字の後ろにそれを置くが、それは文字定数を表している文字を、一定の使用上の他の文字とその使用と同じ。
-
文字 意味 \ nは ラップ \トン 水平タブ \\ バックスラッシュ 「」 二重引用符 " 単一引用符 \ DDD 表される文字1〜3進整数 \社会 1~2文字の16進整数を表します。
入出力(H)データ
-
小数 オクタル 六角 int型 %D % %バツ 長いです %LD %I %LX 符号無し %で % %バツ unsigned long型 %呂 %I %LX
優先順位と結合部分(I)演算子
演算子クラスの合計 | 演算子 | 方向への参加 | 優先順位 |
---|---|---|---|
論理演算子 | ! | (右結合)を右から左へ | 高いです |
算術演算子 | ++ - + - | ||
* / %(双目) | 左から右へ(左結合) | ||
+ - (単項) | |||
関係演算子 | <<=>> = | ||
==!= | |||
論理演算子 | && | ||
|| | |||
条件式 | ?: | (右結合)を右から左へ | |
代入演算子 | = + = - = * = / =%= | 左から右へ(左結合) | 低いです |
コンマ演算子 | 、 |
(J)論理演算子
- &&:
- 式を評価するときEXP1 && EXP2、EXP1は、最初のカウントがまだゼロであれば、その後は一定EXP1 && EXP2 0の値は、この時間は、EXP2計算値の必要がありません。
- ||:
- EXP1 || EXP2を解決するとき数えるそれがゼロ以外の場合、EXP1はまず、EXP2のEXP1 ||の値は1でなければならない、この時点では、EXP2カルクの必要はありません。
コードと、この章の経験1.2の学習量の私の理解;
1.2.1学習体験
この章の学習、私は彼らが少しを保持することができなかったことを感じ始めている、後で配列と機能と組み合わせる場合は特に、被写体の難しさは、もはや自分自身をまとめるために、極端に小さくしている、学校のと同じくらい簡単ですが見つかりませんでした、タイトルをブラッシング自分自身を見つけます少ないとコミュニティの開始前に、スケジュールので、最近の運動会の時、、、だけでなく、大会期間中の観光名所を少なく、実際にはこれが主な理由ではないですが、私は他の人にもしなければならないことを行うが、一部人々は、非常に明確なものと社会のポイントを学ぶ割り当てられた時間の2は非常に良いです置くことができますが、私はしませんでしたが、もっと重要なのは、私は質問が長すぎる、常に考えている時間を費やしていません我々は最終的にそこに細流の上に、それを取る必要があり、それはあなたが他の多くの人々に言わせれば、メリットは以上であってよく、実際には、多くの時間を要しました。
1.2.2累積コード
コードの量 |
---|
900以上の |
2.統合された操作
タイトル:式プライマリポート自動生成システムオペレータ
図2.ジョブの機能。
コンテンツマッピング:
構造マッピング:
アクセシビリティ機能紹介:
3.関数の機能と導入のグローバル変数
3.1グローバル変数
この算術システムでは、私は、グローバル変数を使用しますが、今ブログを書く時間、グローバル変数の使用ならばと思います、そして、彼らの全体のシステムは常に、理由の言葉に、各サブルーチンのために、よりシンプルになりませんでした私は仕事の後、彼らは改善されることを願って、そこので、いくつかの固定変数要求数がありますが、期限の理由に、今私は私のプログラムを改善することはできません。
次のように一般的な変数は次のとおりです。
3.2.ListMenu()関数
(A)main()関数
小贴士:cai()引出年级选择目录;
- 小贴士:system(“cls”)函数是用来当闯关结束后把屏幕上的东西清掉,就是起清屏作用,使整体的体验更好点。
小贴士:system("pause"),屏幕会出现提示词“按任意键关闭此窗口”
3.3子函数功能介绍及截图
(a)闯关函数目录介绍:
一年级:
G1L1(); //整十数加一位数或整十数加整十数
G1L2(); //整十数加一百以内的数
G1L3(); //三个数十以内的混合运算;
upgrade1(); //一百以内连加连减混合运算;
二年级:
G2L1(); //1~9的乘除法运算
G2L2(); //1~9的乘法运算
G2L3(); //整百数加减整十数
upgrade2(); //取余
三年级:
G3L1();//十以内除法加法的混合运算
G3L2();//三位数相加减
G3L3();//两位数相乘
upgrade3();//两位数除一位数,有余数
(b)辅助功能函数介绍:
showone(); //年级选择菜单;
showtwo(); //闯关目录;
Op(); //随机生成不同的运算符;
praise2(); //随机生成不同奖励的话;
praise1(); //告诉级别;
digit(); //随机生成不同范围类型的数;
procrdure1(); //对于两个数的四则运算,通用的过程;
procedure2(); //对于三个数的四则运算,通用的过程;
3.3.1辅助功能函数截图
(1)showone();
(2)showtwo();
(3)Op();
(4)praise1()
(5)praise2()
(6)fact()
(7)digit()
- 小贴士:由于每次使至少两个随机数的运算,所以我如果要把随机生成的数的范围放到一个函数里,那么只能通过同一范围的数的变形,来得到在一个函数里,生成两个同一范围的不同两个数。
(8)proceduer1()
- 小贴士:这个使对两个随机数进行运算的通用部分。
(9)procedure2()
- 相比较与procedure1(),它多传入了值和运算符,并且,进行peocedure2()的,都是boss级别,这时,里面还会多嵌套一个升级版boss级别,当小朋友的分数是满分时,可以选择做或不做。
3.3.2闯关函数截图
(1)G1()
(2)G2()
- 小贴士:G3与上述类似。
(3)G1L1()
- 小贴士:对于每一个年级的小兵级别,都是两个随机数之间的运算,所以内容和上述相似。
(4)upgrade1()
- 小贴士:这是一年级的升级版大boss,对于二年级和三年级的升级版,因为题型不同,则是另设一个函数,不在procedure2()里。
(5)upgrade3()
- 小贴士:因为二年级和三年级的升级版大boss是求余,于是它们的函数另外写,就不与procedure1()和procedure2()混合。
(6)总结
procedure1():G1L1(),G1L2(),G2L1(),G2L2(),G2L3(),G3L2(),G3L3(),G3L2(),
upgrade3,upgrade2()
procedure2():G1L3(),upgrade1(),G3L1(),
4.运行结果截图,测试用例。
在这里,选的都是其中明显与其它不同的部分,没选出来的都是与选出来的相似的,具体会在下面说明。
1.G1L1
- 如果中途退出:
- 小贴士:其它年级的小兵级别于此是差不多的界面。
2.upgrade1()
- 小贴士:如果进入到一年及升级版boss级,则会出现提示,进入后,页面会被清空,进行测试,如果不想继续测试,则第二数输入0,然后回出现提示,是否继续通关,跳回年级界面。
3.G2L2()
- 在调试的时候,发现答对所以题目,随后会出现打升级版boss。说明程序限制不够,后来仔细看,确实是这样。
4.upergrade3()
- 在这里,我发现我不能进去升级版阶段,但是我去调试的时候,其实有点懵逼,还是不知道为什么会不进去,,,请教请教T_T
5.调试过程中遇到得问题及解决办法
- Q1:在进行提醒语句时,比如你是否继续闯关,要输入一个字符,一开始不知道,于是一直进入不了那个条件,后来请教学长,发现输入字符后得那个回车被当作字符吸收掉了,于是与之进不去。
- Q2:我现在才知道,当一段代码长到无法想笑时,只要有一点额错误,就可能得大动干戈,即使我使用得了很多函数,但是一旦错了也是非常不容易改的,只能一步一步调试,然后一步一步改,真心不容易。
- Q3:由于时间得限制,我还不能将我的程序进行进一步得完善,比如由于小学生没有负数,于是如果将值进行限制,那么在运行我的程序时,就会发现卡壳现象,被卡在那里了,这给人得体验式非常不好的,就像我们平时用手机一样。这部分我还不知道如何进行完善,之后将会请教学姐学长进行改正。
- Q4:说起来其实我的代码还是有很多的不足,比如对于升级版的大boss不那个环节,不知道如何进去。但是又觉得自己没错,好无奈。