hàm malloc, alloc, realloc, free, cấp phát và giải phóng bộ nhớ động trong lập trình c
biến động được tạ ra khi chạy chương trình. thông qua con trỏ bộ nhớ được cấp phát và quản lý
các thao tác trên bộ nhớ và con trỏ nằm trong thư viện stdlib.h và alloc.h
các hàm cấp phát và giai phóng bộ nhớ: maaloc, alloc, realloc, free
chứa năng của hàm malloc là cấ phát 1 vùng nhớ có kích thowcs sizeví dụ: int *p;p=(int *)malloc(100);p=(int *)malloc(80*sizeof(int));
hàm free dùng để giải phóng bộ nhớ đã cấp phát.free(p);
ví dụ:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>void...
Wednesday, December 31, 2014
KIỂU FILE TRONG LẬP TRÌNH C
KIỂU FILE TRONG LẬP TRÌNH C
file là 1 tập hợp thông tin được lưu dưới 1 cái tên chung *.txt, *.exe
khai báo: file *tên biến; ở đây là biến con trỏ
file *open(char *tên file,char *kiểu mở);
kiểu mở là 1 trong các chuổi sau đây:
"rb":read only
"wb":write
"ab":thêm vào cuối file
"r+b":đọc và ghi
"w+b":tạo file mới để ghi và đọc
"a+b":mowrvaf thêm vào cuối file
ví dụ:
f=open("t1.txt","w+b");
đóng tập tin fclose(f);
fcloseall(f);
kiểm tra đọc đến cuối file chưa.
dùng hàm:
feof(f)=0 nếu chưa và =1 nếu đã hết;
đọc ghi số nguyên...
Sunday, December 28, 2014
sắp xếp chẵn trước, lẻ sau và tăng dần - bài tập c
.png)
//sắp xếp các phần tử của mảng sao cho các phần tử chẵn đứng trước, các phần tử lẻ đúng sau đông thời cũng sắp xếp tăng dần
#include<stdio.h>
#include<conio.h>
int a[10] = { 1, 5, 4, 8, 2, 9, 8, 6, 3, 9 };
int n = 10;
void sapxep(int a[], int n)
{
int i, j;
for (i = 0; i < n - 1;i++)
for (j = i + 1; j < n;j++)
if ((a[i] % 2 != 0 && a[j] % 2 == 0)
|| (a[i] % 2 == 0 && a[j] % 2 == 0 && a[i]>a[j])
...
viết hàm tính sin(x) - bài tập lập trình c
.png)
//viết hàm tính sin(x)
#include<stdio.h>
#include<conio.h>
#include<math.h>
double sin(double x)
{
double ps = x, i = 1, tong = x,dau=-1;
while (fabs(ps) > 0.00001)
{
ps = ps*x*x / ((i + 1)*(i + 2));
tong += dau*ps;
dau = -dau;
}
return tong;
}
void main()
{
double x;
printf("x="); scanf_s("%lf", &x);
printf("%lf\n", sin(x));
...
in ra màn hình tam giác pascal - bài tập c
.png)
//in ra màn hình tam giác pascal với số hàng bất kỳ nhập vào
#include<stdio.h>
#include<conio.h>
int tohop(int n, int k)
{
if (k == 1 || k == n) return 1;
return tohop(n - 1, k - 1) + tohop(n - 1, k);
}
void main()
{
int n;
printf("N="); scanf_s("%d", &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
if (j == 1)
{
for (int m = 1; m <= n - i;m++) printf(" ");
...
liệt kê số bằng tổng ước số của nó - bài tập c
.png)
Viết chương trình tìm và in ra các số (<=1000) thỏa tính chất: số bằng tổng các ước số của nó. Ví dụ: 6 = 1 + 2 + 3.
liệt kê số bằng tổng ước số của nó - bài tập c
//liệt kê các số nhỏ hơn 1000 thỏa số bằng tổng các ước số của nó
#include<stdio.h>
#include<conio.h>
void so()
{
for (int i = 3; i < 1000; i++)
{
int tong = 0;
for (int j = 1; j < i;j++)
if (i%j == 0) tong += j;
if (tong == i) printf("%d\n",i);
...
tìm kiếm phần tử giá trị k trong mảng - bài tập c
.png)
tìm các phần tử có giá trị bằng k cho trước và hiện ra màn hình các phần tử đó.
//tìm các phần rử có giá trị bằng k cho trước và hiện ra màn hình các phần tử đó.
#include<stdio.h>
#include<conio.h>
int a[10] = { 1, 2, 3, 4, 3, 4, 2, 3, 4, 1 };
int n = 10;
void dem(int a[], int n, int k)
{
int b = 0;
for (int i = 0; i < n;i++)
if (a[i] == k) b++;
printf("co %d phan tu co gia tri %d\ncac phan tu do la:\n",b,k);
for...
tính số e - bài tập lập trình c
.png)
viết chương trình c tính số e và lũy thừa cơ số e
//tính số e, lũy thừa với số e
#include<stdio.h>
#include<conio.h>
#include<math.h>
double e(double x)
{
double tong = 1, i = 1, ps = 1;
while (ps > 0.00001)
{
ps = ps*x / i;
tong += ps;
i++;
}
return tong;
}
void main()
{
printf("e^1=%lf\ne^7=%lf\n", e(1),e(7));
...
tính số pi (3.14) - bài tập lập trình c
.png)
viết chương trình c, lập trình tính số pi (3.14)
//tính số pi
#include<stdio.h>
#include<conio.h>
#include<math.h>
double pi()
{
double dau,s=1,tong=1;
int n = 1;
while (fabs(s)>0.00001)
{
if (n % 2 == 0) dau = 1; else dau = -1;
s = dau / (2 * n + 1);
tong += s;
n++;
}
return tong*4;
}
void main()
{
printf("%.10lf\n", pi())...