1. Trang chủ
  2. » Tất cả

18-19,HK1,NNLTC,De CPRL1300641_DapAn-upload

6 11 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 273,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hãy trả lời các yêu cầu tương ứng... - 0.5 đ Nhập vào một mảng một chiều gồm A phần tử số nguyên, yêu cầu: dùng con trỏ và cấp phát bộ nhớ động.

Trang 1

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

KHOA ĐIỆN – ĐIỆN TỬ

BM: KT MÁY TÍNH VÀ VIỄN THÔNG

ĐÁP ÁN CUỐI KỲ HK 1 NĂM HỌC 2018 - 2019 Môn: Ngôn ngữ lập trình C

Mã môn học: CPRL130064

Đề số/Mã đề: CPRL1300641

TRẮC NGHIỆM (4.0 đ)

Cho các chương trình (với các dòng lệnh được đánh số thứ tự) như bên dưới Hãy trả lời các yêu

cầu tương ứng

{

return 0;

else

return x;

}

{

for(i = 0; i < 5; i++)

a[i] = i;

printf("%d \n", i); (16)

for(i = 0; i < 5; i++)

printf printf ("%d ", a[i]);

(20)

printf("\n");

for( i = 0; i < 5; i++)

printf("%d ",a[i]); (26)

(27)

int d = 0;

for(i = 0; i < 5; i++)

Thư viện ở dòng lệnh (1) được khai báo cho hàm nào trong chương trình:

printf,

Phép % ở dòng lệnh (5) là phép toán gì: Chia lấy dư

Sau khi thực thi hết dòng lệnh (13), giá trị biến i là:

Không xác định

Sau khi thực thi hết dòng lệnh (16), kết quả in ra màn hình là:

5 Sau khi thực thi hết dòng lệnh (20), kết quả in ra màn hình là:

0 1 2 3 4

Sau khi thực thi hết dòng lệnh (26), kết quả in ra màn hình là:

1 2 4 Hãy viết lại dòng (25) và (26) dùng lệnh switch sao cho chức năng không thay đổi:

switch (a[i] % 3){

case 0:

break;

default:

printf("%d ", a[i]);}

} Lệnh d++; ở dòng lệnh (41) tương

đương với lệnh gì:

Trang 2

if(a[i]%2 == 0)

printf("\n %d",d); (42)

for(i = 0 ; i < 5; i++)

a[i] = Func1(a[i]);

for(i = 0; i < 5; i++)

printf("%d ", a[i]);

(51) getch();

}

d = d + 1 Sau khi thực thi hết dòng lệnh (42), kết quả in ra màn hình là:

3

Lệnh ở dòng (48) có tác dụng gì: Con trỏ xuống dòng về đầu dòng

Sau khi thực thi hết dòng lệnh (51), kết quả in ra màn hình là:

0 0 2 0 4

#include <conio.h>

void main (void)

{

int a[4] = {2,4,6,8};

int *x, i;

printf("%d\n", *x + 1); (12)

printf("%d\n", *(x + 2)); (15)

x = a;

printf("%d\n", *x); (19)

getch();

}

Lệnh ở dòng lệnh (9) thực thi công việc gì: .Lấy địa chỉ của a[1]gán vào x Sau khi thực thi hết dòng lệnh (12), kết quả in ra màn hình là:

5 Sau khi thực thi hết dòng lệnh (15), kết quả in ra màn hình là: 8

Sau khi thực thi hết dòng lệnh (19), kết quả in ra màn hình là:

2

Trang 3

TỰ LUẬN (6.0 đ)

Câu 1 (1.5 đ) Viết MỘT chương trình C xử lý tất cả các yêu cầu sau:

- (1.0 đ) Nhập mảng một chiều gồm 200 phần tử số nguyên, yêu cầu: chỉ chấp nhận và lưu số

DƯƠNG vào mảng

- (0.5 đ) Sắp xếp và in ra mảng theo trật tự giảm dần

#include <stdio.h>

#include <conio.h>

void main(void)

{

int a[200],i,hold,j; ………

for (i = 0; i < 200; i++) ………

{

printf("Nhap phan tu thu %d:\n", i + 1);

scanf_s("%d", &a[i]); ………

while (a[i] <= 0) ………

{

printf("Nhap lai phan tu thu %d:\n", i + 1);

scanf_s("%d", &a[i]);

}

}

for (j = 1; j < 200; j++){

for (i = 0; i < 199; i++)

{

if (a[i] < a[i + 1]) {

hold = a[i];

a[i] = a[i + 1];

a[i + 1] = hold;

} }

}

for (i = 0; i < 200; i++){ ………

printf("%d ", a[i]);

}

_getch();

}

0.25đ 0.25đ

0.25đ 0.25đ

0.25đ

0.25đ

Câu 2 (1.0 đ) Viết MỘT chương trình C, xử lý các yêu cầu sau:

- (0.5 đ) Nhập vào mảng 2 chiều 16 hàng x151cột các phần tử số nguyên

- (0.5 đ) Cho biết trong mảng có hay không có số lẻ

#include <stdio.h>

#include <conio.h>

void main(void)

{

int a[16][151], i, j, dem = 0; ………

for (j = 0; j < 16; j++){

for (i = 0; i < 151; i++){

printf("Nhap phan tu hang %d cot %d:\n", j + 1, i + 1);

scanf_s("%d", &a[j][i]);

}

} ………

for (j = 0; j < 16; j++){

for (i = 0; i < 151; i++){

0.25đ

0.25đ

Trang 4

if (a[j][i] % 2 == 1) dem++;

}

} ………

if (dem == 0) ………

printf("Mang khong co so nguyen le");

else

printf("Mang co so nguyen le");

_getch();

}

0.25đ 0.25đ

Câu 3 (1.5 đ) Viết MỘT chương trình C xử lý các yêu cầu sau:

- (0.5 đ) Nhập vào một số nguyên A, yêu cầu: chỉ chấp nhận giá trị A > 0

- (0.5 đ) Nhập vào một mảng một chiều gồm A phần tử số nguyên, yêu cầu: dùng con trỏ và cấp phát bộ nhớ động

- (0.5 đ) In ra số lớn nhất của mảng vừa nhập

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main(void)

{

int i, A, max, *p;

printf("Nhap so nguyen A:\n");

scanf_s("%d", &A); ………

while (A <= 0){

printf("nhap lai so nguyen A!");

scanf_s("%d", &A); ………

}

p = (int*)malloc(A*sizeof (int)); ………

for (i = 0; i < A; i++){

printf("Nhap so phan tu thu %d:\n", i + 1);

scanf_s("%d", &*(p+i)); ………

} max = *p; ………

for (i = 1; i < A; i++){

if (max < *(p+i)) ………

max = *(p+i);

}

printf("so lon nhat la: %d", max);

free(p);

_getch();

}

0.25đ

0.25đ

0.25đ

0.25đ

0.25đ

0.25đ

Câu 4 (0.5 đ) Viết (định nghĩa) HÀM bằng ngôn ngữ C thực hiện công việc: tìm số lớn nhất trong

hai số nguyên Hàm có:

- Tham số đầu vào: 2 số nguyên

- Kết quả trả về: số lớn nhất trong 2 số đầu vào

Trang 5

int TimSoLon(int x, int y){ ………

if (x > y) ………

return x;

else

return y;

}

0.25đ 0.25đ

Câu 5 (1.5 đ) Viết MỘT chương trình C xử lý:

- (0.5 đ)Định nghĩa(tạo) một kiểu cấu trúc DonHang để quản lý đơn hàng của khách hàng, gồm các thành phần:

+ Mã đơn hàng (ma): kiểu int

+ Tên khách hàng (ten): kiểu char

+ Số điện thoại (sodt): kiểu int

+ Tổng tiền (tien): kiểu int

- (0.5 đ) Nhập dữ liệu cho danh sách đơn hàng của 300 khách hàng từ bàn phím

- (0.5 đ) Hãy cho biết trong danh sách vừa nhập có hay không có đơn hàng của khách hàng có số điện thoại là: 0909123456

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#define Max 300

struct DonHang { ………

int ma, sodt, tien;

char ten[10]; }; ………

void main(void){

struct DonHang sdh[Max]; ………

int i, dem = 0, a;

for (i = 0; i < Max; i++) {

printf("Nhap vao ma don hang thu %d: ", i + 1);

scanf_s("%d", &sdh[i].ma);

_flushall();

printf("Nhap vao ten khach hang: ");

scanf_s("%c", &sdh[i].ten[i]);

_flushall();

printf("Nhap vao so dien thoai: ");

scanf_s("%d", &sdh[i].sodt);

_flushall();

printf("Nhap vao so tien: ");

scanf_s("%d", &sdh[i].tien);

_flushall(); ………

}

a = atoi("0909123456");

for (i = 0; i < Max; i++){

if ((sdh[i].sodt) == a)

dem++; ………

}

if (dem !=0) ………

printf("co don hang so dien thoai 0909123456\n");

else

printf("Khong co don hang cua so dien thoai 0909123456\n");

_getch();

}

0.25đ

0.25đ

0.25đ

0.25đ

0.25đ

0.25đ

Trang 6

Ngày 18 tháng 12 năm 2018

Thông qua bộ môn

Ngày đăng: 16/06/2021, 18:17

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w