C функция блог вакансии 03--

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不那个环节,不知道如何进去。但是又觉得自己没错,好无奈。

рекомендация

отwww.cnblogs.com/-sushi/p/11789672.html