Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Типы переменных. Функции ввода/вывода

Рассмотрим пример программы, содержащей различные типы переменных.

Пример 1.

#pragma hdrstop

#include<stdio.h>

#include<conio.h>

//---------------------------------------------------------------------------

 

#pragma argsused

int main(int argc, char* argv[])

{

char slash='/';

short day=15;

short month=9;

int year=2012;

//char* name="Yulia";

/*char name[80]="Yulia";*/

char name[]="Yulia";

int myAge=19;

float myWeightInKg=57.2;

long myAgeInDays=7277;

printf("Anketa\n\n");

printf("Date=%2d%c%2d%c%d\n",day,slash,month,slash,year);

//printf("Date=%2d\/%2d\/%d\n",day,month,year);//

printf("Name=%s\n",name);

printf("My age =%d\n", myAge);

printf("My weight in kilograms=%.1f\n", myWeightInKg);

printf("My age in days=%d\n", myAgeInDays);

getch();

return 0;

}

 

Перед тем как использовать переменные, программа должна объявить их. Первой мы объявляем переменную символьного типа char с идентификатором (именем) slash. Символьный тип char предназначен для работы с символами и строками. Переменные этого типа занимают в памяти компьютера один байт, в котором хранится номер (код) символа в стандартной для всех моделей PC таблице символов ASCII. Таким образом, в памяти компьютера все символы хранятся как числа. Инициализируем, т.е. присваиваем ей значение, нашу переменную slash символом /, при этом символ берется в апострофы. Последовательность символов образует строку. Строка в С хранится как последовательность значений типа char, которые заканчиваются нулевым символом (нулевым кодом) ‘\0’. Нулевой символ позволяет функциям, работающим со строками, обнаружить конец строки. В нашей программе переменная name – имя массива, в котором хранится строка Yulia.

Рассмотрим оператор printf на примере:

printf("My age =%d\n", myAge);

Внутри строки находится спецификатор %d, специальная команда, которая «объясняет» функции printf(), где и в каком месте должна появиться переменная myAge. Функция printf() заменяет спецификатор, значением переменной, записанной после строки, заключенной в кавычки. Символ, стоящий после знака процента, указывает, какого типа должна быть выведена переменная. В нашем случае – это d, значит, вывести нужно целую переменную. В нашей программе функция printf() использует также спецификаторы %c, %f для отображения переменных типа char и float соответственно. После спецификатора в функции стоит управляющий символ \n, который обозначает переход на новую строку. Функция printf() дает возможность задать точность представления, с которой будут напечатаны данные. Для этого поместите между знаком процента и спецификатором преобразования десятичную точку с последующим числом: “%.1f”. Переменная myWeightInKg будет напечатана с одним десятичным знаком после точки. Функция позволяет также задать размер (ширину) поля, в которой печатаются данные. Целое число, задающее ширину поля, может быть вставлено между знаком процента и спецификатором преобразования: “%2d”.

В нашей программе мы использовали комментарии. Цель комментариев – пояснить содержание программы, компилятор их полностью игнорирует. Если мы используем блок комментариев, то заключаем его в двухсимвольные ограничители /* и */. Для однострочных комментариев мы можем использовать два символа //, такой комментарий действует от начала этих символов до конца строки. В нашей программе, например, мы закомментировали два способа объявления и инициализации переменной name.

Пример 2.

#pragma hdrstop

 

//---------------------------------------------------------------------------

 

#pragma argsused

#include <stdio.h>

#include <conio.h>

int main()

{

float a,b,c;

 

printf("Adding two numbers\n\n");

printf("Enter first summand\n");

scanf("%f",&a);

printf("Enter second summand\n");

scanf("%f",&b);

c=a+b;

printf("%.2f+%.2f=%.2f \n",a,b,c);

getch();

 

return 0;

}

В этой программе мы использовали функцию scanf(), которая отвечает за ввод данных в программе с клавиатуры. Функция содержит один или несколько спецификаторов, заключенных в кавычки (строка формата). За строкой формата, через запятую следует адрес переменной, предназначенный для приема данных. Например:

scanf("%f",&a);

Выражение &a передает адрес переменной a функции scanf().

 

 

Пример 3.

#pragma argsused

#include <stdio.h>

#include <conio.h>

int main(int argc, char* argv[])

{

char slash = '/';

short chislo = 1;

short month = 9;

int year =2010;

long population = 10000000L;

float pi = 3.14159;

double velosity =299791336.2;

long double lightYear = 9.5e15;

 

printf("Date = %02d%c%02d%c%d\n",chislo,slash, month, slash, year);

printf("Population of the Belarus = %ld\n",population);

printf("Pi = %f\n",pi);

printf("Velocity of light = %13.2lf meter/sec\n",velosity);

printf("One light year = %.0Lf meter\n",lightYear);

getch();

return 0;

}

 

Задание.

1. Написать программу1, выводящую на экран ваши анкетные данные (аналогично примеру1). При выводе вашего веса изменять число знаков после запятой (после спецификатора не указывать количество знаков, указать 2 знака). Изменить при объявлении переменной «вес» и при ее выводе тип float на int. Результаты изменений отразить в отчете. В качестве примера может быть использован также пример 3.

2. Написать программу 2, реализующую арифметические операции для трех чисел согласно варианту (аналогично примеру 2). Значения переменных вводятся с клавиатуры.

3. Выполнить трассировку программы 1, наблюдая изменение значений переменных в ходе выполнения трассировки.

4. * Написать программу, вычисляющую площадь круга. Значение радиуса вводим с клавиатуры, r2 определять как r*r.

 

Арифметическое выражение
1. d=a+b-c
2. d=a*b-c
3. d=a-b-c
4. d=(a+b)*c
5. d=(a-b)*c
6. d=a*b+c
7. d=a+b*c
8. d=2a+3b+4c
9. d=5a*b-3c
10. d=6a-2b+3c
11. d= (2a+6b)*c
12. d=4a+3c*b
13. d=2a+b-c

 



<== предыдущая лекция | следующая лекция ==>
Телеграфные аппараты С. Морзе, Д. Юза и | Изучение работы электрооборудования комплектной ячейки КСО-272
Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 339 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2515 - | 2363 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.133 с.