Работа со строками СИ информатика

Работа со строками по информатике одна из важнейших тем при подготовке к ЕГЭ.

Символьная информация

Символьная константа – это лексема, которая состоит из изображения символов и ограничивающих апострофов.

’A’, ’a’, ’b’, ’9’, ’+’,

Специальные символы – управляющие последовательности:

’\n’ – перевод строки;

’\t’ – горизонтальная табуляция;

’\r’ – возврат каретки (курсора) к началу строки;

’\\’ – обратная косая черта \;

’\’’ – апостроф (одиночная кавычка);

’\”’ – кавычка (символ двойной кавычки);

’\0’ – нулевой символ;

’\a’ – сигнал-звонок;

’\b’ – возврат на одну позицию;

’\f’ – перевод (прогон) страницы;

’\v’ – вертикальная табуляция;

’\?’ – знак вопроса.

Символьные переменные

Описание символьных переменных:

char список_имен_переменных;

char c, b, l;

Для ввода и вывода символьных значений в форматных строках библиотечных функций printf и scanf используется спецификация преобразования %c.

Пример: необходимо вывести предложение, слова в котором разделены пробелами, и в конце которого стоит точка

Текст программы :

#include <stdio.h>

int main()

{

  char z, s; //z — текущий вводимый символ

  printf (“\n Input the sentence:\n“);

  for (z = s = ‘ ‘; z != ‘.‘; s = z)

  {  /* s – предыдущий символ */

    scanf(“%c“, &z);

    if (z==‘ ‘ && s==‘ ‘) continue;

    printf (“%c“, z);

  }

  return 0;

}

Внутренние коды и упорядоченность символов

В языке принято соглашение, что везде, где синтаксис позволяет использовать целые числа, можно использовать и символы, т.е. данные типа char, которые при этом представляются  числовыми значениями своих внутренних кодов.

Такое соглашение позволяет сравнительно просто упорядочивать символы, обращаясь с ними как с целочисленными величинами.

Таблица ASCII (American Standard Code for Information Interchange) – американский стандартный код для обмена информацией.

Таблица ASCII

Таблица ASCII

Пример: Печать десятичных цифр

#include <stdio.h>

int main ()

{

  char z;

  for (z=’0′; z<=’9′; z++)

  {

  if (z ==’0′ || z==’5′)

  printf(«\n»);

  printf(» %c-%x «, z, z);

  }

  return 0;

}

Результат выполнения программы:

 0-30  1-31  2-32  3-33  4-34

 5-35  6-36  7-37  8-38  9-39

Пример: посчитать сумму десятичных цифр в введенной последовательности символов, заканчивающейся точкой

#include <stdio.h>

int main ()

{

  char z;

  int s = 0;

  do

  {

  scanf(«%c»,&z);

  if ((z>=’0′)&& (z<=’9′))

  s += z -‘0’;

  }

  while (z!=’.’);

  printf(«%d\n», s);

  return 0;

}

Добавить комментарий

Ваш e-mail не будет опубликован.