Программирование на языке Си. Основные теоретические сведения. Основные теоретические сведения

Страницы работы

6 страниц (Word-файл)

Фрагмент текста работы

Министерство Образования Республики Беларусь

Гомельский Государственный Технический университет им. П. О. Сухого

Кафедра «Промышленная электроника»

Лабораторная работа №26 “Программирование на языке Си”

по курсу МПТ

Выполнили ст. гр. ПЭ-41:

М.

В.

Принял преподаватель:

ГОМЕЛЬ 2003

Часть №1. Программирование на языке Си

1. Цель работы

Изучить основы программирования на языке Си. Овладеть навыками разработки и отладки программ  на персональном компьютере с использованием программного пакета Borland C++.

2.Основные теоретические сведения

Язык Си и созданный на его основе  Си++ (от англ. С, С++) является одним из наиболее распространенных языков программирования. Он сочетает в себе достоинства языка ассемблера (доступ к ячейкам памяти, регистрам микропроцессора, портам ввода-вывода; работа с битовыми и символьными величинами и т.д.) и достоинства языков высокого уровня, таких, как Паскаль, Фортран и др. (структурированность программ, использование привычных обозначений при записи формул, операций и т.д.). По объему занимаемой памяти и времени выполнения программы, написанные на языке Си, приближаются к программам, написанным на языке ассемблера.

Задания для самостоятельной работы.

1. Разработайте и выполните программу, которая выводит на экран сообщение:

Моя первая программа на языке Си.

Программу поместите в файл prog1.cpp.

/* Программа №1 */

# include <stdio.h>

main()

{

puts(“Моя первая программа на языке Си”);     // Вывод на экран

return 0;

}

2. Разработайте и выполните программу, которая выводит на экран сообщение :

Добро пожаловать в мой мир.

Командовать парадом буду я .

Программу поместите в файл prog2.cpp.

/* Программа №2 */

# include <stdio.h>

main()

{

puts(“Добро пожаловать в мой мир.

Командовать парадом буду я.”);     // Вывод на экран

return 0;

}

3. Наберите текст программы inout2.cpp и выполните ее. Внимательно посмотрите результаты работы программы. Обратите внимание, что программа правильно работает до момента выполнения последнего оператора scanf(). Эта строка программы выполняется без ожидания ввода данных с клавиатуры. Эта аномалия объясняется тем, что функция scanf() выполняет буферизированный ввод. Во входном буфере после ввода значения переменной х останется символ перевода строки, который передается в программу в качестве значения для ch при следующем обращении к функции scanf(). Исправить ошибку просто - следует очистить входной буфер (обозначается как stdin) перед обращением к функции scanf(), например, с помощью функции fflush(stdin). В общем случае, когда в программе имеется несколько операторов с функцией scanf(), рекомендуется очищать входной буфер перед каждым обращением к scanf().

/* inout2.cpp Программа, иллюстрирующая ввод-вывод*/

#include<stdio.h>

main()

{

char ch, name[80];

int i, j;

float x, x2;

printf(“Введите ваше имя: ”);

scanf(“%s”,name);

printf(“Здравствуйте,%s!Вас приветствует звонком компьютер\a\n”, name);

printf(“Введите любое целое число: ”);

scanf(“%d”,&i);

j=i+4;

printf(“%d+4=%d, верно?\n”, i, j);

printf(“Введите число с плавающей точкой: ”);

scanf(“%f”,&x);

x2=x*x;

printf(“%f в квадрате =%f, верно?\n”x, x2);

printf(“Введите любой символ: ”);

scanf(“%c”,&ch);

printf(“ASCII-код символа %c=%d(%#x)\n”, ch, ch, ch);

return 0;

}

4. Исправьте текст программы inout2.cpp, введя строки с функцией fflush(stdin) перед всеми операторами с функцией scanf() (за исключением первого). Запустите программу и убедитесь в корректности ее работы.

/* inout2.cpp Программа, иллюстрирующая ввод-вывод*/

#include<stdio.h>

main()

{

char ch, name[80];

int i, j;

float x, x2;

printf(“Введите ваше имя: ”);

scanf(“%s”,name);

printf(“Здравствуйте,%s!Вас приветствует звонком компьютер\a\n”, name);

printf(“Введите любое целое число: ”);

fflush(stdin);

scanf(“%d”,&i);

j=i+4;

printf(“%d+4=%d, верно?\n”, i, j);

printf(“Введите число с плавающей точкой: ”);

fflush(stdin);

scanf(“%f”,&x);

x2=x*x;

printf(“%f в квадрате =%f, верно?\n”x, x2);

printf(“Введите любой символ: ”);

fflush(stdin);

scanf(“%c”,&ch);

printf(“ASCII-код символа %c=%d(%#x)\n”, ch, ch, ch);

return 0;

5.  При выводе чисел с плавающей точкой компьютер обычно выводит 6 знаков после точки. Можно изменить это количество, используя указатель %.nf, где число n определяет количество знаков. Так, для вывода двух знаков после точки нужно в исследуемой  программе написать:

printf(“%.2f в квадрате =%.2f, верно?\n”, x, x2);

Внесите изменения в программу inout2.cpp и проверьте результат.

/* inout2.cpp Программа, иллюстрирующая ввод-вывод*/

#include<stdio.h>

main()

{

char ch, name[80];

int i, j;

float x, x2;

printf(“Введите ваше имя: ”);

scanf(“%s”,name);

printf(“Здравствуйте,%s!Вас приветствует звонком компьютер\a\n”, name);

printf(“Введите любое целое число: ”);

fflush(stdin);

scanf(“%d”,&i);

j=i+4;

printf(“%d+4=%d, верно?\n”, i, j);

printf(“Введите число с плавающей точкой: ”);

fflush(stdin);

scanf(“%f”,&x);

x2=x*x;

printf(“%2f в квадрате =%2f, верно?\n”x, x2);

printf(“Введите любой символ: ”);

fflush(stdin);

scanf(“%c”,&ch);

printf(“ASCII-код символа %c=%d(%#x)\n”, ch, ch, ch);

return 0;

6. Программа, иллюстрирующая работу оператора switch…

Задание№1. Наберите текст программы switch.cpp и выполните её при различных значениях к, например 1, 3, 5.

Задание№2. Закомментируйте строки программы с оператором break. Выполните программу при значении k=1, 3, 5.

Объясните полученные результаты.

Задание№1:

/*switch.cpp Программа, иллюстрирующая работу оператора switch… */

#include<stdio.h>

main()

{

int k;

printf(“Введите целое число в пределах 1…4 для выбора: ”);

scanf(“%d”,&k);

switch(k)

{

case 1: printf(“Выбор 1\n”);

break;

case 2: printf(“Выбор 2\n ”);

break;

case 3: printf(“Выбор 3\n ”);

break;

case 4: printf(“Выбор 4\n ”);

default : printf(“Ошибка\a\n”);

}

return 0;

}

Задание№2:

/*switch.cpp Программа, иллюстрирующая работу оператора switch… */

#include<stdio.h>

main()

{

int k;

printf(“Введите целое число в пределах 1…4 для выбора:

Похожие материалы

Информация о работе