Tải bản đầy đủ (.pdf) (5 trang)

ĐỀ THI NGÔN NGỮ C ĐHSPKT TPHCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (349.31 KB, 5 trang )

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐÁP ÁN CUỐI KỲ HỌC KỲ 2 NĂM HỌC 2015-2016

Môn: Kỹ thuật lập trình và giao tiếp
Mã môn học: PRIN337664
Đề số/Mã đề: 1

Đáp án có 05 trang.

Câu 1: ( 0.5 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a = 7, b = 5;
int *p;
p = &b;
a = *p;
*p=*p+1;
printf("%d va %d", a, b);

5 va 6

Câu 2: ( 0.5 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a = 2;
for (int i = 0; i < 5; i++){
a = a + i;
if (a == 5)
continue;
printf("%d\n", a);

2
3


8
12

}

Câu 3: ( 1.0 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a[5] = {1,2,3,7,0};
int j;
for (int i = 0; i < 4; i++){
j = i + 1;
a[i] = a[j];
}

3, 7, 0, 0

printf("%d, %d, %d, %d", a[1], a[2], a[3], a[4]);

Trang 1/5


Câu 4: ( 0.5 điểm) Cho biết kết quả của a và b sau khi thực hiện chương trình sau

#include "stdio.h"
int hamc(int *p);
void main(void)
{
int a = 29, b = 5;
b = hamc(&a);
printf("a=%d, b=%d", a, b);


a=31, b=1

}
int hamc(int *p)
{
*p=*p+2;
return(*p % 2);
}

Câu 5: ( 1.5 điểm)
Cho đoạn chương trình sau:
int i, n = 10; int a, s = 0;
for (i = 1; i <= 10; i++){
printf("Nhap so thu %d: ", i);
scanf("%d", &a);
s += a;
if (s > 40)
break;
}

Hãy vẽ lưu đồ thực hiện đoạn chương trình này:

i=1, n=10, s=0

i<=10

printf("%d", s);

S


Đ
Hãy viết lại đoạn chương trình dùng phát
biểu while sao cho chức năng chương

Nhap gia
tri a

trình không đổi.
int i=1, n = 10; int a, s = 0;
while (i <= 10){
printf("Nhap so thu %d: ", i);
scanf("%d", &a);
s += a;
if (s > 40)
break;
i++;
}

s=s+a

s>40

Đ

S

printf("%d", s);

i=i+1


s

<

Trang 2/5


Câu 6: (2.0 điểm) Viết chương trình C thực hiện các chức năng:
- Nhập vào độ pH cho 10 hồ nuôi cá cảnh sử dụng con trỏ và cấp phát bộ nhớ động. Tên
-

các hồ nuôi được đặt tên theo số thứ tự từ 1 đến 10.
Tính và in ra màn hình giá trị trung bình độ pH của 10 hồ.
In ra màn hình tên hồ có độ pH > 8.8. Việc này được thực hiện dùng hàm. Hàm main
chỉ cần gọi hàm và lấy kết quả.

#include
#include
#include
#include

"stdafx.h"
"stdio.h"
"conio.h"
"stdlib.h"

void ktpH(float *a, int n);
void main(void)
{
float *p,s=0;

p = (float *)malloc(10 * sizeof(float));
for (int i = 0; i < 10; i++){
printf("Nhap do pH cho ho %d: ", i + 1);
scanf("%f", p + i);
s = s + *(p + i);
}
printf("Do pH trung binh: %.2f\n", s / 10);
ktpH(p, 10);
getch();
}
void ktpH(float *a, int n){
int t = 0;
printf("Ho co do pH lon hon 8.8: ");
for (int j = 0; j < n; j++){
if (*(a + j)>8.8){
printf("Ho %d. ", j + 1);
t = t + 1;
}
}
if (t == 0)
printf("Khong co");
}

Trang 3/5


Câu 7: (2. 5 điểm) Viết chương trình C lần lượt thực hiện các chức năng:
- Tạo một kiểu cấu trúc NhietDo để quan sát nhiệt độ trong ngày, gồm thông tin các biến
theo định dạng số thực như sau:
 Nhiệt độ buổi sáng (tsang)

 Nhiệt độ buổi trưa (ttrua)
 Nhiệt độ buổi tối (ttoi)
-

Nhập giá trị nhiệt độ của 6 ngày trong tuần (tính từ thứ hai đến thứ bảy).
In ra màn hình giá trị nhiệt độ các buổi trưa trong tuần.
Tính nhiệt độ trung bình trong một ngày (giá trị trung bình của nhiệt độ buổi sáng, trưa,
tối) và in ra màn hình ngày nóng nhất trong tuần.

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
struct NhietDo{
float tsang;
float ttrua;
float ttoi;
};
int main()
{
struct NhietDo t[6];
int i,vt;
float tb[6], max;
for (i = 0; i < 6; i++){
printf("Nhap nhiet do cho ngay thu %d\n", i + 2);
printf("Nhiet do buoi sang: ");
scanf("%f", &t[i].tsang);
printf("Nhiet do buoi trua: ");
scanf("%f", &t[i].ttrua);
printf("Nhiet do buoi toi: ");
scanf("%f", &t[i].ttoi);

tb[i] = (t[i].tsang + t[i].ttrua + t[i].ttoi) / 3;
}
printf("\nNhiet do cac buoi trua trong tuan\n");
for (i = 0; i < 6; i++){
printf("Thu %d:%7.1f\n", i+2, t[i].ttrua);
}
max = tb[0]; vt = 0;
for (i = 1; i < 6; i++){
if (tb[i]>max){
max = tb[i];
vt = i;
}
}
printf("\nNgay nong nhat trong tuan: Thu %d", vt + 2);
getch();
return 0;
}

Trang 4/5


Câu 8: (1.5 điểm) Cho giao diện C# như HÌNH 1

-

textBox1

textBox2

comboBox1


button1

HÌNH 1
Số nguyên dương được nhập vào textBox1.
Lựa chọn chức năng kiểm tra số đã nhập chia hết cho 3 hoặc chia hết cho 5 tại
comboBox1.

Hiển thị ra textBox2 chữ “CÓ” ứng với trường hợp chia hết hoặc “KHÔNG” ứng với
trường hợp không chia hết.
Ví dụ: Nhập 9 vào textBox1, chọn chia hết cho 3 thì được kết quả là CÓ nhưng chọn chia hết cho 5
thì được kết quả là KHÔNG.
-

Hãy viết mã nguồn cho nút nhấn button1.
double a;
int n;
a = Convert.ToDouble(textBox1.Text);
n = comboBox1.SelectedIndex;
switch (n)
{
case 0:
if (a % 3 == 0)
textBox2.Text = "CO";
else
textBox2.Text = "KHONG";
break;
case 1:
if (a % 5 == 0)
textBox2.Text = "CO";

else
textBox2.Text = "KHONG";
break;
default:
textBox2.Text = "CHON YEU CAU";
break;
}

Trang 5/5



×