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

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

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

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

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

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

Лабораторная работа №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 для выбора:

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

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