Nhập xuất gián tiếp

Một phần của tài liệu giao trinh C(dttx) pot (Trang 65 - 67)

- Kết quả trả về của hàm là ký tự được ấn.

Chỉ số của mảng phải là một giá trị kiểu int không vượt qua kích thước của mảng, chỉ số của mảng bắt đầu từ 0.

5.2. Nhập xuất gián tiếp

Phạm vi ứng dụng

Nhập gián tiếp, sử dụng tốt với cả mảng một chiều, cũng như đa chiều.  Ví dụ

Ví dụ: Nhập, xuất dữ liệu cho mảng hai chiều (kiểu số thực(float)).

# include <stdio.h> # include <conio.h>

void main () /* Ham chinh */ {

float temp,a[3][3]; int i,j;

/*Nhập dữ liệu */ for (i=0;i<3;i++) for (j=0;j<3;j++)

{printf("\na[%d][%d]",i,j);

scanf("%f",&temp); /*Nhập gián tiếp thông qua biến temp*/ a[i][j]=temp; /*Gán giá trị của temp cho phần tử mảng*/ } /*Đưa giá trị các phần tử ra màn hình*/ for (i=0;i<3;i++) { printf(“\n”); for (j=0;j<3;j++) printf("%.2f ",a[i][j]); } getch(); } 6. MỘT SỐ VẤN ĐỀ LIÊN QUAN 6.1. Biến, mảng nộiKhái niệm

Là các biến (mảng) khai báo bên trong thân của một hàm.  Thời gian tồn tại

Từ lúc máy bắt đầu làm việc với hàm cho đến khi hàm đó kết thúc. Vậy các biến, mảng nội khai báo trong hàm main tồn tại trong suốt thời gian làm việc của chương trình.  Phạm vi sử dụng

Các biến (mảng) nội của một hàm chỉ có tác dụng bên trong hàm mà nó được khai báo.

Qui tắc khởi đầu khi khai báo mảng nội

Muốn khởi đầu cho một mảng nội, phải sử dụng toán tử gán

Ví dụ minh họa

Ví dụ 1

/*Minh họa mảng số một chiều, khởi đầu cho một mảng nội */

#include <stdio.h> void main() {

int a[3]={10,20,30}; /*Khởi đầu mảng một chiều với 3 phần tử, nằm trong thân hàm main()*/ /*Đưa các kết quả ra màn hình*/

printf("Noi dung cua a[0] => %d\n",a[0]); printf("Noi dung cua a[1] => %d\n",a[1]); printf("Noi dung cua a[2] => %d\n",a[2]);

}

Kết quả:

Noi dung cua a[0] =>10 Noi dung cua a[1] =>20 Noi dung cua a[2] =>30

Ví dụ 2

/* Chương trình minh họa mảng hai chiều, khỏi đầu cho một mảng nội */

#include <stdio.h> void main() {

static int a[2][3] = {

{10, 20, 30}, {11, 21, 31} {11, 21, 31}

}; /*Khởi đầu mảng hai chiều với 2 hàng, 3 cột trong thân hàm main()*/

int hang; int cot;

/*Đưa các kết quả ra màn hình*/

for(hang = 0; hang < 2; hang++) {

for(cot = 0; cot < 3; cot++)

printf("%5d",a[hang][cot]); printf("\n\n"); } } Kết quả: 10 20 30 11 21 31

Biến, mảng nội chưa khởi đầu thì giá trị của nó hoàn toàn không xác định.

Một phần của tài liệu giao trinh C(dttx) pot (Trang 65 - 67)