
- •1 Вопрос
- •2 Вопрос
- •3 Вопрос
- •Вопрос 5
- •Вопрос 6
- •Вопрос 7
- •Вопрос 8
- •Вопрос 9
- •Вопрос 10
- •Вопрос 12
- •Вопрос 13,14 (спс. Юле)
- •Вопрос 15,16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21,22
- •Вопрос 23
- •Вопрос 24
- •Вопрос 25
- •Вопрос 26
- •Вопрос27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •Вопрос 32
- •Вопрос 33
- •Вопрос 34
- •Вопрос 35
- •Вопрос 36
- •Вопрос 36
- •Вопрос 37
- •Вопрос 38
- •Вопрос 39
- •Вопрос 40
Вопрос 37
Варианты описания массивов в языке программирования Си. Аргументы функции main.
Примеры:
int a[2][3]; /* представлено в виде матрицы
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2] */
float b[10]; /* вектор из 10 элементов имеющих тип double */
int w[3][3] = { { 2, 3, 4 },
{ 3, 4, 8 },
{ 1, 0, 9 } };
В последнем примере объявлен массив w[3][3]. Списки, выделенные в фигурные скобки, соответствуют строкам массива, в случае отсутствия скобок инициализация будет выполнена неправильно.
В языке C заданы два встроенных аргумента функции main: argc и argv.
Выглядит это так:
int main(int argc, char *argv[])
Аргумент argc типа integer содержит в себе количество аргументов командной строки.
Аргумент argv типа char - указатель на массив строк. Каждый элемент массива указывает на аргументы командной строки. Один параметр отделяется от другого пробелами.
argv[0] - полное имя запущенной программы
argv[1] - первая строка записаная после имени программы
argv[2] - вторая строка записаная после имени программы
argv[argc-1] - последняя строка записаная после имени программы
argv[argc] - NULL
Вопрос 38
Основные спецификации форматного ввода/вывода (для функций printf и scanf) в библиотеке stdio языка программирования Си.
Символ |
Вводимые данные; тип аргумента |
d |
десятичное целое: int * |
i |
целое: int *. Целое может быть восьмеричным (с 0 слева) или шестнадцатеричным (с 0x или 0X слева) |
o |
восьмеричное целое (с нулем слева или без него); int * |
u |
беззнаковое десятичное целое; unsigned int * |
x |
шестнадцатеричное целое (с 0x или 0X слева или без них); int * |
c |
символы; char *. Следующие символы ввода (по умолчанию один) размещаются в указанном месте. Обычный пропуск символов- разделителей подавляется; чтобы прочесть очередной символ, отличный от символа-разделителя, используйте %1s |
s |
Строка символов(без обрамляющих кавычек); char *, указывающая на массив символов, достаточный для строки и завершающего символа '\0', который будет добавлен |
e, f, g |
число с плавающей точкой, возможно, со знаком; обязательно присутствие либо десятичной точки, либо экспоненциальной части, а возможно, и обеих вместе; float * |
% |
сам знак %, никакое присваивание не выполняется |
Символ |
Тип аргумента; вид печати |
d, i |
int; десятичное целое |
o |
unsigned int; беззнаковое восьмеричное (octal) целое (без нуля слева) |
x, X |
unsigned int; беззнаковое шестнадцатеричное целое (без 0x или 0X слева), для 10...15 используются abcdef или ABCDEF |
u |
unsigned int; беззнаковое десятичное целое |
c |
int; одиночный символ |
s |
char *; печатает символы, расположенные до знака \0, или в количестве, заданном точностью |
f |
double; [-]m.dddddd, где количество цифр d задается точностью (по умолчанию равно 6) |
e, E |
double; [-]m.dddddde±xx или [-]m.ddddddE±xx, где количество цифр d задается точностью (по умолчанию равно 6) |
g, G |
double; использует %e или %E, если порядок меньше, чем -4, или больше или равен точности; в противном случае использует %f. Завершающие нули и завершающая десятичная точка не печатаются |
p |
void *; указатель (представление зависит от реализации) |
% |
Аргумент не преобразуется; печатается знак % |