Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Bài tập C++ pptx
Nội dung xem thử
Mô tả chi tiết
I. CÁC BÀI TẬP MINH HỌA
3.1. Bài tập mẫu về phép toán số học: phép chia nguyên (/) và phép MODULE(%)
Bài 1: Cho biết giá trị của 8/-5 và 8%-5
Kết quả:
/* 8/-5=-1; 8%-5=3 */
3.2. Bài tập mẫu về phép toán thao tác trên bit
Bài 2: Giả sử ta đang xét các số nguyên 16 bit, a=0xc0b3, b=0x2435, a và b đều là kiểu
unsigned.? Cho biết kết quả từ các biểu thức sau:
(a) ~a
(b) a|b
(c) a^b
(d) a>>2
(e) a<<2
(f) a<<-2
Kết quả:
/* a=0xc0b3=1100000010110011
? b=0x2435=0010010000110101
(a) ? a=0011111101001100=0x3f4c
(b) a|b=1110010010110111=0xe4b7
(c) a^b=1110010010000110=0xe486
(d) a>>2 = 0011000000101100=0x302c
(e) a<<2 =0000001011001100 =0x02cc
(f)? a<<-2=0000000000000000=0x0
*/
3.3. Bài tập mẫu về biểu thức quan hệ và lô gíc
Bài 3: Hãy cho biết giá trị của j sau đoạn chương trình:
int j;
char c=?1?;
j=(c<=?9?) &&(c>=?0?);
Kết quả:
/*j=1*/
3.4. Bài tập mẫu về phép toán ép kiểu dữ liệu trong C
Bài 4: Hãy? cho biết giá trị của (int) 3.5, (int) 3.1, (int) 3.9, (int) -3.1, (int) -3.5, (int) -3.9
Kết quả:
/*(int) 3.5=3.0; (int) 3.1=3.0; (int) 3.9=3.0; (int)? -3.1= -3.0; (int)? -3.5= -3.0;
(int)? -3.9= -3.0;*/
3.5. Bài tập mẫu về phép toán tăng (++), giảm (--)
Bài 5: Cho b bằng 5 và c bằng 8. Hãy cho biết giá trị của a,b,c sau khi thi hành riêng biệt từng dòng
lệnh sau:
1. a=b++ + c++;
2. a=b++ + ++c;
3. a=++b + c++;
4. a=++b + ++c;
Kết quả:
/*Dòng lệnh 1? cho kết quả: a=13*/
/*Dòng lệnh 2? cho kết quả: a=14*/
/*Dòng lệnh 3? cho kết quả: a=14*/
Trang 1
/*Dòng lệnh 4? cho kết quả: a=15*/
Bài 6: Giả sử a bằng 1. Hãy cho biết giá trị của a,b sau dòng lệnh:
b=a++ + ++a;
Rồi kiểm tra tiếp xem a+=a+=a=?
Kết quả:
/* Sau dòng lệnh b=a++ + ++a; b sẽ bằng 4 và a sẽ bằng 3*/
/* Sau dòng lệnh a+=a+=a; a sẽ bằng 12 */
3.6. Bài tập mẫu về câu lệnh gán
Bài 7:
(a) Ðoạn mã sau sẽ làm gì?
a^ =b; /*Giải thích: a=a^b*/
b^=a; /* b=b^a*/
a^=b; /* a=a^b*/
(a) (b) Xét câu lệnh :
a^=b^=a^=b; /*Giải thích: a=a^b ; b=b^a; a=a^b
Như vậy (b) tương đương với (a)*/
3.7. Bài tập mẫu về toán tử phẩy
Bài 8: Hãy cho biết giá trị của b và a sau đoạn chương trình:
int a,b=2;
b=(a=3,(5*b)+(a*=b));
Kết quả
/*b=16 a=6*/
Bài 9: Hãy cho biết giá trị của n và x sau đoạn chương trình:
int n,x=2;
x=x-1;
n=(n=5,n*=10+x++);
Kết quả
/*n=55 x=2*/
3.8. Bài tập mẫu về biểu thức điều kiện
Bài 10: Hãy cho biết giá trị của b sau đoạn chương trình:
int a=1,b=(a)1:2;
b+=1;
Kết quả
/*b=2*/
Bài 11: Cho khai báo biến sau
int a,b;
cho biết kết quả từ các biểu thức sau:
(a) a=(b==2)1:2;
(b) a=(b=2)1:3;
(c)? a=(b=2)1:2;
Kết quả
/*
(a) a=2;
(b) a=1;
(c) a=1; ?????????*/
Trang 2
A. CÁC BÀI TẬP TỰ LÀM
Bài 1
Cho khai báo biến sau:
int pint;
float a;
char c;
double pd;
Hãy chọn phát biểu đúng
a. (double) pd=a;
b. c=+pint+;
c. print=(int) pd;
d. a=&print;
Bài 2
Cho khai báo biến sau:
int a,p;
double b,c;
Hãy chọn phát biểu đúng
a. p=(int) b+(c*=2);
b. p=a+(1,b-=1);
c. p=c;
d. a="abc";
Bài 3
Cho khai báo biến sau:
char a,p;
int b,pint;
Hãy chọn phát biểu sai
a. pint<<=a;
b. p->>b;
c. a+=1+b- (double) 1;
d. b=(char) a;
Bài 4
Cho chương trình sau:
#include<stdio.h>
unsigned t=1266;
int x,y;
char c1,c2;
long l;
main()
{
x=t%10*y;
c1=t%100-x;
c2=c1+2;
l=c1-c2*y;
printf("%c%d",c1,c2) ;
}
Kết quả in ra là:
a. Chương trình sai cú pháp
b. B 68
c. Chương trình in ra trị không xác định
d. Cả 3 câu đều sai
Trang 3
Bài 5
Cho chương trình sau:
#include<stdio.h>
main()
{
int a=11,i=5;
double f;
f=(double) ++a/i;
f*=a/i--;
f+=(double) (a=1) /++i;
printf("a=%d,i= %d, f=%f ",a,i,f);
}
Kết quả in ra là:
a. a=12,i=5,f=6.72
b. a=5,i=6,f=6.533333
c. a=4,i=5,f=5.6
d. a=1,i=5,f=5.000000
Bài 6
Cho biết kết quả của các chương trình sau
Chương trình 1:
#include <stdio.h>
main()
{
char a=2;
unsigned char b=7;
int c=-23;
unsigned d=124;
float re=675.89;
float rm=0.000887;
float rt=0.000887;
printf("\n%c\t%c ",a,b);
printf("\n%4d\t%3d\t%4d\t%3d ",c,d,c,d);
printf("\n%6.3f\t%6.3g\t%6.3g\t%6.3G\t%6.3G ",re,rm,rt,rm,rt);
}
Chương trình 2:
#include <stdio.h>
void main()
{
int n=5,p=9;
int q1,q2,q3,q4,q5;
float x1,x2,x3,x4;
q1=(n<p);
q2=(n==p);
q3=p%n+p>n;
q4= n%(p>n? n:p);
q5= n%(p<n? p:n);
x1=p/n;
x2= (float) p/n;
x3=(p+0.5)/n;
Trang 4