c语言中字符 12是多少,c语言中字符串的讲解(DOC可编).doc
c語言中字符串的講解(DOC可編).doc
第一部分:字符串的概念
---字符串:用雙引號引起來的一串字符。在C語言,系統將自動的為字符串添加一個結束標志\0 ,該結束標志不作為字符串的實際長度,但作為結束標志在內存中占有1個字節的存儲空間。
例如: "abc"
---在C語言中是沒有字符串類型的數據。但在實際應用中卻是用到大量的字符串。
---在C中字符串的存取是依靠于一維的字符型數組來實現的。
例如: char str[10]={'A','B','C','D','E','\0','a','b'};
---把以\0作為結束的一個字符型數組可以看成是一個字符串。
第二部分:字符串的存儲
1.在定義字符型數組的同時為其賦字符串
例如: char str[8]={'A','B','C','D'};
---- char str[8]={"ABCD"};
---- char str[ ]="ABCD";
**** 用字符型數組來存放字符串的時候,要在內存中為其開盤一個足夠大的存儲空間。
**** 在執行部分不能給字符型數組直接賦字符串:
char str[8];
str="ABCD";錯
>>>在執行部分給字符型數組賦字符串要逐個賦值最后在人為的為其添加一個結束標志。
例如: char str[8];
str[0]='A',str[1]='B'...str[3]='D', str[4]='\0';
2.把字符串付給字符型指針:
(1)在定義部分讓一個指針指向某個字符串:
char *p="ABCD";
(2)也可以再執行部分讓一個指針指向字符串:
char *p;
p="ABCD";
3.區分:
把字符串賦給字符型數組的時候,數組要為字符串在內存中開盤一個足夠大的空間,而把字符串賦給指針,只表示該指針指向了某個字符串,并不為其開辟空間。
第三部分:字符串的輸入和輸出
1.調用scanf和printf
---> printf函數:
***輸出的必要條件: 輸出項可以為 數組名,指針,字符串本身
***在C語言中用格式字符%s來實現字符串的整體輸出。
***輸出直到遇到第一個\0結束輸出。
例如:
#include
void main()
{ char str[10]="ABCD\0abc",*p=&str[2];
printf("%s\n",str);
printf("%s\n",p);
printf("%s\n","ABCD\0abc" );
}
---> scanf函數:
**** 輸入的必要條件: 輸入項可以是 數組名 或 指針
**** 也是用 %s 來實現字符串的整體輸入。
**** scanf函數不能把帶有空格的字符串讀入。
例如:
#include
void main()
{ char str[10]="********",*p=&str[2];
scanf("%s",str); //scanf("%s",p);
printf("%s\n",str);
}
2.調用gets和puts
---> gets函數
***** 一般調用形式: gets(參數)
例如:
#include
void main()
{ char str[100],*p=str;
gets(p);// gets(str);
printf("%s\n",str);
}
--->puts函數
**** 一般調用形式: puts(參數);
**** 在輸出后將自動換行。
#include
void main()
{ char str[100],*p=str;
gets(p);// gets(str);
puts(str);
}
第四部分:字符串數組
"zhangsan" "lisi" "wangwu"
a[100] b[100] c[100]
*p *q *s
1.用一個二維的字符型數組來存放字符串數組。
例如: char s[3][100]={"AAAA",
"BBB",
"CC"
};
***二維字符型數組中一維(行)的大小表示字符串的個數,二維(列)的大小表示每個字符串的最大長度。
總結
以上是生活随笔為你收集整理的c语言中字符 12是多少,c语言中字符串的讲解(DOC可编).doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浙江省计算机二级aoa成绩,浙江省计算机
- 下一篇: JDBC入门级操作