- •1.Учебно-методический комплекс дисциплины
- •Данные о преподавателе:
- •1.2 Данные о дисциплине:
- •Выписка из учебного плана
- •1.3 Пререквизиты
- •1.4 Постреквизиты
- •1.5 Цели и задачи дисциплины
- •1.6 Перечень и виды заданий и график их выполнения
- •Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •1.8 Контроль и оценка знаний.
- •1.9 Политика и процедура курса
- •2 Содержание Активного раздаточного материала
- •2,1 Тематический план курса
- •2.2 Конспект лекционных занятий
- •#Define millenium 1000
- •// Нельзя изменять
- •/* Это моя первая программа на Си*/
- •Void main()
- •Void main ()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main(void)
- •If (логическое выражение) оператор 1;
- •Void main()
- •If (логическое выражение)
- •If (условие 1 )
- •If (условие 1 )
- •If (X) printf ("Число не равно нулю");
- •Void main()
- •Void main(void)
- •Void main()
- •Void main()
- •Int n; // Количество узлов интерполяции
- •Int k; // Номер узла
- •Void main()
- •Vvedi 5 7
- •Int *a; // Указатель на массив целых чисел
- •Void main()
- •Int vect[10], s1[50];
- •Int vect [n];
- •Void main( )
- •Int min; // номер минимального элемента
- •Int random ( int n )
- •Void lin(char a)
- •Void z1(int * X, int * y)
- •Void z1(int*, int*);
- •Int имя переменной;
- •Void main()
- •8 Есть цифра
- •8 Есть буква или цифра
- •Int integ;
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Int ocen;
- •Void main( )
- •File *указатель на файл;
- •Fclose(имя_указателя);
- •Void main()
- •Int h; /*дескриптор создаваемого файла*/
- •Void main()
- •Initgraph(&g_driver,&g_mode," ");
- •Vgamed 1 640x350
- •Vgahi 2 640x480
- •Initwindow ( 400, 300 ); // открыть окно для графики 400 на 300
- •Void main(void)
- •Int g_driver,g_mode,g_error;
- •2.3 Планы лабораторных занятий
- •Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп).
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс).
- •2.6 Тестовые задания для самоконтроля с указанием ключей
- •Глоссарий
2.5 Планы занятий в рамках самостоятельной работы студентов (срс).
В рамках самостоятельной работы студенты выполняют самостоятельнозадания, приведенные в пункте.2.4
2.6 Тестовые задания для самоконтроля с указанием ключей
1.Выберите правильное описание строковых констант
A) #define s ‘stroka’
B) define s=”stroka”
C) #define s=‘stroka’
D) define s stroka
E) #define s “stroka”
2. Укажите какие из спецификаций шаблона являются эквивалентными при вводе данных
A) %f %c
B) %e %c
C) %f %e
D) %u %g
E) %s %d
3.
Выберите правильный вариант фрагмента
для решения задачи
A) y=log(abc(5*x+3))+cos(PI*x*x)+tan(pow(x,3));
B) y=ln(abs(5x+3))+cos(PI*x*x)+tg(pow(x,3));
C) y=log(abs(5*x+3))+cos(PI*x*x)+tan(pow(x,3));
D) y=ln(abc(5*x+3))+cos(PI*x*x)+tan(pow(x,3));
E) y=log(abs(5x+3))+cos(PI*x*x)+tg(pow(x,3));
4.Выберите правильное описание условного оператора для решения задачи: даны a и b, меньшее из них заменить полусуммой, а большее – удвоенным произведением
A) if (a<b) {a1=(a+b)/2; b1=2*a*b;}
B) if (a<b) {a=(a+b)/2; b=2*a*b;}
C) if a<b a1=a+b/2; b1=2*a*b;
D) if a<b {a=(a+b)/2; b=2*a*b;}
E) if (a<b) a1=(a+b)/2; b1=2*a*b;
5.
Выберите правильное описание цикла
WHILE
для вычисления
A) k=1;
while (k<=n)
{ z=x+y; }
B) k=1;
while (k<n)
{ z=x+k*y;
k++;}
C) k=1;
while (k<=n)
{ z=x+k*y;
k++; }
D) k=1;
while (k<n)
z=x+k*y;
E) k=1;
while (k<=n)
z=x+k*y;
k++;
6.Что будет напечатано в результате выполнения следующей программы
main()
{ int i=3, p=1;
for(;i*i*i>0;i--) p*=i*(i+1);
printf("i=%d, p=%d\n",i,p); }
A) i=0, p=144
B) 0, 72
C) i=0, p=72
D) i=1, p=72
E) i=0, p=144
7.Что будет напечатано в результате выполнения следующей программы
main()
{int s=17,t=29,z=47,x,y,f;
x=!(s>t)&&(s>z);
y=x++ +--z;
f=(y>=z);
printf(“x=%d, y=%d, f=%d”, x, y, f); }
A) x=1, y=46, f=1
B) x=2, y=47, f=1
C) x=1, y=47, f=1
D) x=1, y=46, f=0
E) x=2, y=46, f=1
8. Что будет напечатано программой с использованием указателей массивов (где 54300 и 54200 - начальные адреса массивов a[2] и b[2])
main()
{int i; long a[2],*pa;
double b[2],*pb;
pa=a; pb=b;
for(i=0;i<2;i++)
printf("указатели+%d: %u %u\n",i,pa+i,pb+i);}
A) указатели+0: 54300 54200
указатели+1: 54302 54208
B) указатели+0: 54300 54200
указатели+1: 54304 54204
C) указатели+0: 54300 54200
указатели+1: 54304 54208
D) указатели+0: 54300 54200
указатели+1: 54302 54204
E) указатели+0: 54300 54200
указатели+1: 54308 54204
9.Выберите правильный фрагмент программы для решения следующей задачи: дан массив целых чисел х[8]. ; вычислить (x1+x8)(x2+x7)…( x8+x1)
A) int x[8], *px, p=1;
px=*x;
for(i=0;i<8;i++)
p*=*(px+i)+*(px+7);
int x[8], *px, p=0;
px=x;
for(i=0;i<8;i++)
p+=*(px+i)+*(px+7-i);
C) int x[8], *px, p=1;
px=x;
for(i=0;i<8;i++)
p*=*(px+i)+*(px+7-i);
D) int x[8], *px, p=0;
px=x;
for(i=0;i<8;i++)
p+=*(px+i)+*(px+7);
E) int x[8], *px, p=1;
px=x;
for(i=0;i<8;i+=2)
p*=*(px+i)+*(px+7-i);
10.Что будет напечатано следующей программой
double a[7]={2,3,1,4,-2,5,6};
main()
{ int i;
for(i=0;i<7;i+=2)
a[i]=pow(a[i],3);
for(i=0;i<7;i++)
printf(“%f ”,a[i]); }
A) 8 3 1 4 –8 5 216
B) 2 27 1 64 –2 125 6
C) 8 27 1 64 –8 125 216
D) 3 31 64 –2 5 216
E) 2 3 1 4 -8 125 216
11.Что будет напечатано в результате выполнения следующей программы
main()
{ int i, a[7]={0,1,2,0,5,6,4};
for (i=0;i<7;i++)
{if (a[i]==5) break;
a[i]*= a[i];}
for (i=0;i<7;i++)
printf("%d ",a[i]);}
A) 0 1 4 0 5 6 4
B) 0 1 4 0 25 36 16;
C) 0 1 2 0 5 6 4
D) 0 1 8 0 125 36 16
E) 0 1 2 0 25 6 16
12 Выберите правильный фрагмент ввода строковых данных str1, str2
A) scanf(“%s%s“, str1, str2);
B) scanf(“%s%c“, &str1, &str2);
C) scanf(“%s%c“, str1, str2);
D) scanf(“%c%c“, str1, str2);
E) scanf(“%u%u“, str1, str2);
13. Назовите оператор цикла с постусловием
A) for
B) while
C) do while
D) switch
E) static
14. Выберите функцию для преобразования строки в целое число
A) atof()
B) atoi()
C) strtod()
D) strchr()
E) strrev()
15. Функция fprintf() – это
A) преобразование строкового значения в целое
B) преобразование целого числа в строковое значение
C) преобразование числа с плавающей точкой в строковое значение
D) преобразование действительного числа в строку
E) запись в файл
16. Функция fgets
A) открывает файл и связывает его с потоком
B) считывает строку из потока
C) считывает символ из потока
D) закрывает поток
E) выполняет проверку на конец потока
17. Переменная, объявленная вне любого блока или функции, является
A) локальной переменной
B) глобальной переменной
C) переменной действительного типа
D) базовой переменной
E) рекурсивной переменной
18. Выберете правильный вариант определения суммы положительных элементов, расположенных в нечетных строках массива A[7,7]
A) for(i=0,s=0;i<7;i+=2)
for(j=0;g<7;i++);
if(a[i][j]>0) s+=a[i][j];
B) for(i=0,s= 0;i<7;i+=2)
for( j=0;j<7;j++)
if (a[i][j]>0) s+=a[i][j];
C) for (i=0,s=0;i<7;i+=2);
for(j=0;j<7;j++)
if (a[i][j]>0) s+=a[i][j];
D) for(i=0;s=0;i<7;i+2)
for(j=0;j<7;j++)
if (a[i,j]>0) s+=a[i,j];
E) for(i=0;s=0;i<7,i+=2)
for(j=0;j<7;j++)
if(a[i][j]>0) s+=a[i][j] ;
19. Выберите правильный вариант ответа следующей программы
#define stroka “Функция копирования”
main(){
static char *ptr=stroka;
static char res[40];
static char name[]=”, функция объединения”;
puts(ptr);
puts(res);
strcpy(res,ptr);
puts(res);
puts(name);
strcat(res,name);
puts(res);
puts(name);}
A) Функция копирования
Функция копирования
функция объединения
Функция копирования, функция объединения
функция объединения
B) Функция копирования
Функция копирования, функция копирования
Функция копирования, функция объединения
, функция объединения
C) Функция копирования
Функция копирования, функция объединения
Функция копирования, функция объединения
D) Функция копирования
Функция копирования
Функция копирования, функция объединения
, функция объединения
E) Функция копирования
Функция копирования, функция объединения
, функция объединения
20. Выберите правильный фрагмент программы для вывода сведений о машинах марки BMV 1995 года выпуска (Сведения о машинах хранятся в массиве структур)
A) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)!=0 && mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
B) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 & mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
C) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 && mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
D) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 || mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
E) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0) && (mas[i].god==1995)
printf(“%d %s”, mas[i].fio, mas[i].nomer);
21. Назовите директиву препроцессора для определения констант
A) #include
B) #define
C) typedef
D) union
E) extern
22. Выберите спецификатор преобразования для вывода символов
A) %с
B) %f
C) %d
D) %s
E) %u
23.
Выберите правильный вариант фрагмента
для решения задачи
A)
;
B)
;
C)
;
D)
;
E)
;
24. Функция gets
A) открывает файл и связывает его с потоком
B) считывает строку из потока
C) считывает символ из потока
D) закрывает поток
E) выполняет проверку на конец потока
25. Какая функция используется для получения случайных чисел
A) rand
B) srand
C) return
D) atan2
E) floor
26.
Выберите правильный вариант фрагмента
для решения задачи
A) y=pow(exp(3*x)+7,1/4)+cos(pow(x,5))+ln(abs(3*x+7));
B) y=pow(exp(3*x)+7,1/4)+pow(cos(5,x))+log(abs(3*x+7));
C) y=pow(exp(3*x)+7,1/4)+cos(pow(5,x))+log(abc(3*x+7));
D) y=pow(exp(3*x)+7,1/4)+cos(pow(x,5))+log(abs(3*x+7));
E) y=pow(exp(3*x)+7,1/4)+ pow(cos(x,5))+ln(abs(3*x+7));
27.
Выберите правильный вариант фрагмента
для решения задачи
A) y=pow(pow(x,5)+1.7,1/7)+cos(pow(x,3))+log(pow(x,4))+sin(PI*x);
B) y=pow(pow(x,5)+1.7,1/7)+cos(pow(x,3))+ln(pow(x,4))+sin(PIx);
C) y=pow(pow(x,5)+1.7,1/7)+ pow(cos(3),x)+log(pow(4,x))+sin(PI*x);
D) y=pow(pow(x,5)+1.7,1/7)+pow(cos(x),3)+ln(pow(x,4))+sin(PI*x);
E) y=pow(pow(x,5)+1.7,1/7)+cos(pow(3,x))+log(pow(4,x))+sin(PIx);
28. Выберите спецификатор преобразования для вывода восьмеричных целых чисел без знака
A) %f
B) %d
C) %x
D) %o
E) %u
29. Выберите правильное описание условного оператора для решения задачи: даны x и y, если отрицательно одно из них, то числа увеличить на 0,5
A) if ( x<0 & y<0) {x+=0.5; y+=0.5;}
B) if ( x<0 || y<0) {x+=0.5; y+=0.5;}
C) if ( x<0 && y<0) {x+=0.5; y+=0.5;}
D) if ( x<0 ! y<0) {x+=0.5; y+=0.5;}
E) if ( x<0 || y<0) x+=0.5; y+=0.5;
30. Выберите правильный фрагмент программы для вывода сведений о машинах марки BMV 1995 года выпуска (Сведения о машинах хранятся в массиве структур)
A) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)!=0 && mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
B) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 & mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
C) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 && mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
D) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0 || mas[i].god==1995)
printf(“%s %d”, mas[i].fio, mas[i].nomer);
E) for(i=0;i<5;i++)
if (strcmp(mas[i].marka, “BMV”)==0) && (mas[i].god==1995)
printf(“%d %s”, mas[i].fio, mas[i].nomer);
Таблица 6
Коды правильных ответов
№ вопроса |
Правильный ответ |
№вопроса |
Правильный ответ |
1 |
E |
16 |
B |
2 |
C |
17 |
B |
3 |
C |
18 |
B |
4 |
B |
19 |
A |
5 |
C |
20 |
E |
6 |
A |
21 |
B |
7 |
B |
22 |
A |
8 |
C |
23 |
D |
9 |
C |
24 |
B |
10 |
A |
25 |
A |
11 |
A |
26 |
D |
12 |
A |
27 |
A |
13 |
C |
28 |
D |
14 |
B |
29 |
B |
15 |
E |
30 |
E |
