欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
C語(yǔ)言一維數組初步學(xué)習筆記

http://www.jb51.net/article/83728.htm

2016

數組

可以存儲一組或者多組數值的變量,里面包含多個(gè)元素,數組的每個(gè)成員都是一個(gè)數組元素。

一維數組

定義:類(lèi)型 數組名[常量表達式] = {值1, 值2, 值3…};

1
2
3
4
int a[3] = {0, 1, 2};
float f[2] = {1.2, 2.3, 3.14};
char str[] = {'h', 'e', 'l', 'l', 'o'};
chat str1 = "iPhone";//這也是定義字符數組的方法,字符數組后面會(huì )詳細講解,這里先了解一下

當數組元素個(gè)數為變量時(shí),只能聲明數組,不能直接賦值:

1
2
3
int length = 4;
int a[length]; //這樣可以
int a[length] = {2, 4, 6, 8};//這樣的話(huà)就會(huì )報錯

注意事項:

1、系統不會(huì )檢測數組元素的下標是否越界,編程時(shí),必須保證數組下標不能越界。

2、不能這樣定義數組 int array[] = {}; //數組個(gè)數和初始值不能同時(shí)為空

3、也不能這樣定義數組 int array[2] = {1, 2, 3}; //數組的值的個(gè)數大于數組的個(gè)數

4、數組是一個(gè)整體,不能直接參加運算,只能對單個(gè)元素進(jìn)行處理,通常用到數組的地方都會(huì )用到循環(huán)

常見(jiàn)數組操作
如果初始化數組的時(shí)候,數組的元素個(gè)數確定,那么常量表達式可以不寫(xiě):

1
int a[] = {1, 3, 5, 7, 9};//數組的長(cháng)度為5 相當于int a[5] = {1, 3, 5, 7, 9};

int 就是數組類(lèi)型,表示這個(gè)數組中的每個(gè)元素都是 int 類(lèi)型。

訪(fǎng)問(wèn):通過(guò)數組名+下標去訪(fǎng)問(wèn)數組中的元素,而且注意數組的下標是從 0 開(kāi)始的,a[0] 就是第一個(gè)元素,a[1] 代表第二個(gè)元素,a[2] 代表第三個(gè)元素。所以數組的最后一個(gè)元素就是 數組的長(cháng)度 – 1,一定不要寫(xiě)a[3],這樣的話(huà)就屬于數組越界。

在數組的訪(fǎng)問(wèn)的時(shí)候我們通常會(huì )通過(guò) for 循環(huán)來(lái)操作,這個(gè)操作一般稱(chēng)為遍歷

1
2
3
4
5
6
7
8
9
10
11
12
int ages[28];
//循環(huán)賦值
for(int i = 0; i < 28; i++)
{
  int age = arc4random() % 13 + 18;//每個(gè)人的年齡的范圍是:18 ~ 30 之間的隨機值
  ages[i] = age;//給每個(gè)元素賦值
}
//訪(fǎng)問(wèn),也叫遍歷
for(int i = 0; i < 28; i++)
{
  printf("a[%d] = %d ", i, ages[i]);
}

兩個(gè)數組的每個(gè)元素對應相加,相加的和存放到第三個(gè)數組中:

1
2
3
4
5
6
7
8
int a1[] = {2, 4, 5, 6, 10};
int a2[] = {1, 3, 4, 5, 6};
int a3[5];
for(int i = 0; i < 5; i++)
{
  a3[i] = a1[i] + a2[i];
  printf("a3[%d] = %d ", i, a3[i]);
}

輸出結果為:

1
a3[0] = 3 a3[1] = 7 a3[2] = 9 a3[3] = 11 a3[4] = 16

數組的長(cháng)度如何計算:

sizeof(數組名)/sizeof(數組第一個(gè)元素)

1
2
3
int arr[] = {2, 3, 4, 6, 7};
int length = sizeof(arr) / sizeof(arr[0]);
printf("length = %d\n", length);

輸出結果為:

1
length = 5

字符數組:用于存放字符變量的數組稱(chēng)為字符數組,有兩種定義格式:

1
2
char str[4] = {'a', 'b', 'c', 'd'};
char str2[] = "iPhone";//另外一種方式

字符串的輸出:

1
printf("str2 = %s\n", str2);//%s 輸出字符串,遇到 '\0' 結束

有'\0'結束標識的字符數組也稱(chēng)為字符串,系統提供了許多的一些字符串的函數

size_t strlen(const char *):計算字符串長(cháng)度,是字符串的有效長(cháng)度,不算'\0′

1
2
3
char str[] = "iPhone";
unsigned long length = strlen(str);//strlen 表示有效長(cháng)度
printf("length = %lu\n", length);

輸出結果為:

1
length = 6

strlen() 的實(shí)現原理:就是遍歷字符串,當遇到 ‘\0′ 的時(shí)候就結束。

char *strcpy(char *, const char *):字符串拷貝

1
2
3
char str1[] = "Unity";
char str2[] = "Android.....";
printf("%s\n", strcpy(str1, str2));

輸出結果:

1
Android

char *strcat(char *, const char *):字符串拼接

1
2
3
char str1[] = "Unity";
char str2[] = " iPhone";
printf("%s\n", strcat(str1, str2));

輸出結果:

1
Unity iPhone

int strcmp(const char str1*, const char str2*):字符串比較,并且根據 str1 按照字典順序小于、等于或大于 str2 的結果分別返回負整數、0或正整數。該返回值是 str1 和 str2 由前向后逐字符比較時(shí)遇到的第一個(gè)不相等字符處的字符的差值

1
2
3
char str1[] = "Unity";
char str2[] = "iPhone";
printf("%d\n", strcmp(str1, str2));

輸出結果:

復制代碼 代碼如下:
-20

指針訪(fǎng)問(wèn)數組
如果pa指向數組中的某個(gè)元素,那么pa+1將指向下一個(gè)元素,pa+i指向下i個(gè)元素。所以,若果pa指向a[0],那么*pa其實(shí)就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根據這個(gè)思路,我們可以使用指針來(lái)訪(fǎng)問(wèn)數組。
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int main(int argc, char *argv[])
{
 int score[10]={76,85,90,67,59,79,82,95,91,65};
 int wait, length, i;
 length = sizeof(score) / sizeof(score[0]);
 for(i = 0; i < length; i++)
 {
 printf("%d \n", *(score + i));
 }
 scanf("%d", &wait);
}

程序輸出:

1
2
3
4
5
6
7
8
9
10
76
85
90
67
59
79
82
95
91
65

數組下標與指針關(guān)系很密切。執行語(yǔ)句 pa = &a[0] 后,pa 和 a 就具有相同的值了,并且 *pa=a[0]。實(shí)際上C語(yǔ)言在計算數組下標時(shí)也是使用指針來(lái)完成的。下標與指針其實(shí)是等價(jià)的。

當把一個(gè)數組名傳遞給一個(gè)函數的時(shí)候,實(shí)際上傳遞的是該數組的第一個(gè)元素的地址。所以,數組名參數必須是一個(gè)指針。

計算字符串長(cháng)度的程序可以寫(xiě)成以下:

1
2
3
4
5
6
7
8
int strlen(char *s)
{
 int n;
   
  for(n = 0; *s != '\0'; s++)
   n++;
  return n;
}

s 是指針,也就是一個(gè)變量,對它進(jìn)行自增是合法的。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
指針數組,排序,創(chuàng )建一個(gè)長(cháng)度為size的動(dòng)態(tài)指針數組,然后從鍵盤(pán)讀取size個(gè)學(xué)生的名字存儲到字符數組中,字符數組首元素地址存儲到指針數組元素中
4.1 單項選擇題
C程序試題及答案
【C語(yǔ)言】C語(yǔ)言基礎知識概念
數組
【重要】數組與指針不等價(jià)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久