Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Результат работы программы




Содержимое памяти ЭВМ

Результат работы программы

Результат работы программы

Программма

Пример

int n;

char *p;


printf( "\пСколько букв в Вашем имени?");
scanf ( "%u", &n);        
p=(char *)malloc(n+1),      
printf( "\пВведите Ваше имя: ");  
scanf(" %s", p);        

Вывод строк

Для вывода строк наиболее часто используют функции puts и printf.

Функция puts выводит на экран строку с заданным адресом, добавляя в завершение символ новой строки. Выводятся все символы из строки, пока не встретится завершающий нуль-символ. У функции только один аргумент, являющийся указателем строки.

 

 

#include <stdio.h>      
#define DEF "Я строка #d efine."  
main ( { char )      
strl [ ]="Ma( :сив инициализирован мной.";
char *str2="Указатель инициализирован мной.";
puts ("Я аргумент функции puts.");  
puts (DEF);      
puts (strl);      
puts (str2);      
puts (&strl[4]);      
puts } (str2 + 4);      

Я аргумент функции puts.

Я строка #define.

Массив инициализирован мной.

Указатель инициализирован мной.

ив инициализирован мной,

атель инициализирован мной.

Функция printf. Мы рассмотрели подробно данную функцию. Подобно puts, она использует указатель строки в качестве аргумента. Функция printf менее удобна, чем puts, но более гибкая.


Разница между puts и printf заключается в том, что printf не переводит автоматически курсор на новую строку. Так,

printf("%s\n", string); дает то же самое, что и

puts(string);. Первый оператор требует ввода большего числа символов и большего времени при выполнении на компьютере. С другой стороны, printf позволяет легко объединять строки для печати их в одной строке. Например:

/?гш(/("Хорошо, %s, %s.\n", name, MSG); объединяет слово "Хорошо" с именем пате и с символьной строкой MSG в одну строку.

Примеры обработки строк

Программа «обрезания» строки [14]

 

 

#include <stdio.h>        
#include <string.h>        
main() { char message[]="C        
трока символов";    
puts(message);        
delmessage(messag е,Ю) г    
  /*вызов функции delmessage */
puts(message); }        
/^delmessage() — фун кция укорачивает строку*/  
/^message, оставляя лишь первые size символов. */
void delmessage(str, size )    
char *str;        
int size; {        
if (strlen(str)>size)      
*(str+size)= } '\0';      

 

С т р о к а си м в о л о в
С т р о к а си м      
1 <-----   -> 1      
  символов        

Строка сим'\0'олов'\0'

Программа объединения двух строк [14]

#include <stdio.h>

#include <string>

char flower[40];

char addition[]="ы хорошо пахнут";

/^массив добавка*/

main()

{

puts("Назовите ваш любимый цветок"); gets(flower);

strcat(flower,addition);

puts(flower); }

 

Назовите ваш любимый цветок
Пион   <Enter>  
Пионы хор ошо пахнут  

Замечание: массив flower должен содержать достаточно места, чтобы поместить addition.

Программа сравнения двух строк [14]

#include <stdio.h> #include <string.h> #define reply "Грант"


main ()

{

char name[40];

puts("Кто похоронен в могиле Гранта?");

gets(name);

while(strcmp(name, reply)!=0)

{

puts("Неверный ответ.\п"); gets(name);

puts("Правильно!");

Программа копирования строк [14]

 

 

#include < stdio.h)    
#define WORDS "Проверьте, пожалуйста, вашу последнюю
запись."    
main () { static char *orig = WORDS;    
   
static char copy[40];    
puts(orig);    
puts(copy);    
strcpy(copy, orig);    
puts(orig);    
puts(copy); }    

Результат работы программы

Проверьте, пожалуйста, вашу последнюю запись.Проверьте, пожалуйста, вашу последнюю запись. Проверьте, пожалуйста, вашу последнюю запись.





Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 422; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.