0. показать PTA баллы
На скриншоте:
1. В настоящей главе приведены исследования
1.1 Обучения резюме содержания
(A) Определение функции
1) функция представляет собой отдельную программу модулей для выполнения конкретной работы, в том числе библиотеки функций и пользовательских функций двух видов, зсапЕ (), Е (), как библиотечные функции могут быть вызваны непосредственно при программировании, и определяемые пользователем, пользовательские принадлежат функция.
Общий вид функции определяется по формуле:
函数类型 函数名(形式参数表) /*函数首部*/ { 函数实现过程 /*函数体*/ }
Там в настоящее время обучения функциональных типов пустот, INT, двойной и т.д., пустота не возвращает значение, поэтому он не может требовать возвращения, хотя она не возвращает значение, но его роль, как правило, отражается на выходе экрана и т.д., когда вызов функции, как правило, отдельные заявления способы, такие как List (). А функция возвращает тип последнего требуется значение соответствующего типа.
Вызов функции (б)
- При вызове пользовательской функции, программа должна иметь определение функции и вызывать функции, соответствующие вызываемой функции декларации.
- Вызов функции процесса:
- Любая программа C выполняется, начиная с основной функцией Main (), если вы столкнулись с вызовом функции, основная функция приостанавливается в пользу реализации соответствующей функции, то функция вернет после выполнения основной функции, а затем от оригинала приостановлено дата продолжается.
(С) функция параметров и параметров.
- Когда определение функции, таблица параметров расположена называется параметром, основные параметры функции в вызывающую функцию () становится аргументы, параметры, в дополнение к получению на аргументы, использование обычной переменной аналогично. Аргумент Параметр должен быть один к одному и тому же количество обоих типов были возможны, но роль аргумента, переданного значения параметров, параметра в пользовательской функции в функции, поскольку объем ограничен функцией диапазона, определенного , любое изменение аргумента параметр не имеет значения.
(D), глобальные переменные, локальные переменные, статические локальные переменные.
- Функция на языке С определяется внутри переменной называемой локальные переменные , эффективного объема локальных переменных внутри функции ограничений. Переменные локальные переменные используются , чтобы избежать взаимных помех между различными функциями. Когда множество функций, даже с тем же параметром имя, а также с тем же именем, что и основной функцией действительного переменного параметра, но принадлежат к разным функциям, они имеют разные объекты и использование переменных, не будут мешать друг другу.
- Переменные , определенные вне функции называется функцией не любой глобальным переменными . Область видимости глобальных переменных определяется от начала до конца файла , содержащего программу, в рамках своей сферы все функции работают. Как правило , мы определим глобальные переменные в верхней части программы.
В связи с различными области видимости глобальных переменных и локальных переменных, они позволяют такое же имя. Когда локальная переменная с тем же именем, как функция от глобальных переменных, глобальные переменные в функции не работает, с помощью локальной переменной действует Аналогичным образом, когда локальная переменная с тем же именем и функции локальной переменной составного оператора, при условии составного оператора.
В то время как глобальные переменные могут быть использованы для передачи данных между множеством функций. В целом, однако, в полной мере использовать локальные переменные и аргументы функции.
Статическая локальная переменная для хранения статической области памяти опять же , не так, как обычные локальные переменные , которые после окончания вызова функции является система восстановления, ее жизненный цикл будет продолжаться до конца программы. Так как блок хранения сохраняется после того , как функция , содержащая статические локальные переменным вызываются снова, предыдущее значение вызова функции по - прежнему сохраняется, чтобы продолжать использовать для этого вызова.
Тип (Е) Данные
обработка информации компьютера представлена в двоичной форме, могут быть использованы исходные значения кода, перевернутый, дополняют представление.
0 для положительных, 1 для отрицательных чисел.
Положительное число оригинального кода, анти-кода и дополняют тот же.
Отрицательный:
Оригинальный код: знаковый бит равен 1, то значение представляет собой абсолютное значение остальных битов.
Перевернутый: бит знака равен 1, а другие отрицают исходный код.
Дополнение: 1 плюс инвертированной;
-1的原码是:10000000 00000001 -1的反码是:11111111 11111110 -1的补码是:11111111 11111111
(F) маскирующий
Экранирующий символ в символ обратной косой или цифр, поместите его позади символов или чисел в другой смысл, хотя экранирующий символ в виде множества символов, но постоянный символ представляет собой символ , так же , как его использование с другими персонажами на постоянном использовании.
-
характер смысл \ п Wrap \ т Вкладка по горизонтали \\ бэкслэш «» Двойные кавычки ' Одинарные кавычки \ ддд Символ 1 до 3 восьмеричного целого числа представлено \ социализация От 1 до 2-х символов шестнадцатеричное число представляет.
Входные и выходные данные (ч)
-
десятичный восьмеричный наговор ИНТ % d %, то %Икс долго % л.д. % I % лк неподписанный в% %, то %Икс неподписанных долгое % Lu % I % лк
Старшинство и ассоциативность часть (я) оператор
Оператор класса Всего | операторы | Присоединение направления | приоритет |
---|---|---|---|
Логические операторы | ! | Справа налево (правый переплет) | высокая |
Арифметические операторы | ++ - + - | ||
* /% (Твин глаз) | Слева направо (слева привязки) | ||
+ - (унарный) | |||
Операторы отношения | <<=>> = | ||
==! = | |||
Логические операторы | && | ||
|| | |||
Условное выражение | ?: | Справа налево (правый переплет) | |
Операторы присваивания | = + = - = * = / =% = | Слева направо (слева привязки) | низкий |
оператор запятая | , |
(J) логические операторы
- &&:
- Exp1 && ехр2 при вычислении выражения, EXP1 первый подсчет, если она по-прежнему равна нулю, то значение константы exp1 && ехр2 0, на этот раз, не имеет никакой потребности exp2 Вычисл.
- ||:
- При решении EXP1 || exp2, EXP1 первый подсчет, если он не равен нулю, то значение || exp2 EXP1 должно быть 1, в настоящее время, нет необходимости ехр2 известково.
Мое понимание кода и количество изучения опыта 1.2 этой главы;
1.2.1 Изучение опыта
Изучение этой главы, я начал чувствовать, что они не могли держать немного, особенно в сочетании с более поздним массива и функции, нашел трудность предмета уже не так просто, как в школе, были незначительными, чтобы подвести итоги своей собственной, найти себя чистит титул все меньше и меньше времени, из-за недавней Спартакиаде, запланированном перед началом сообщества, а также вещей, чтобы сделать во время игры, но на самом деле это не главная причина, я делаю то, что другие люди также должны делать, но некоторые люди могут узнать вещи и общества в целом точки очень ясно, поставил два из отведенного времени очень хорошо, но я этого не делал, но что более важно, я тратить время на вопрос слишком долго, всегда думает Мы должны принять его, вон там SIKE в конце концов, так что потребовалось много времени, на самом деле, если вы спросите много других людей, выгоды могут быть больше.
1.2.2 Накопительного кода
Количество кода |
---|
Более 900 |
2. Операции Интегрированные
Оператор Выражение основной порт Автоматическая система генерации: Название
Фигура 2. Функция работы.
Содержание отображения:
Отображение структуры:
Введение функции Доступность:
3. Функции функции и глобальные переменные введены
3.1 Глобальные переменные
В этой арифметической системе, я не использовать глобальные переменные, но теперь время, чтобы написать в блоге, думаю, если использование глобальных переменных, то вся их система будет более простой, потому что для каждой подпрограммы на слова, всегда есть так мало фиксированный переменный счетчик запроса, но из-за временные причины, и теперь я не могу улучшить свою программу, я надеюсь, что после работы, они могут быть улучшены.
Общие переменные следующим образом:
Функция 3.2.ListMenu ()
(А) Главный () функция
小贴士: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不那个环节,不知道如何进去。但是又觉得自己没错,好无奈。