1216笔记

1216 C基础review: 

二维数组 

指针:一定要知道指针的指向,即指针指向哪里  指针的运算:注意移动字节数问题  指针与数组的关系 

指针数组:int *pb[4]; 

数组指针:int (*pa)[4];

1.冒泡排序 

int arr[5] = {11,45,2,66,34}; 

参加数据个数      比较次数     

第一轮       

5              4 ----------->arr[4] 

arr[0] arr[1]----> arr[1] 

arr[1] arr[2]----> arr[2] 

arr[2] arr[3]----> arr[3] 

arr[3] arr[4]----> arr[4]     

第二轮       

4              3 ----------->arr[3] 

arr[0] arr[1]----> arr[1] 

arr[1] arr[2]----> arr[2] 

arr[2] arr[3]----> arr[3]     

第三轮       

3              2 ----------->arr[2] 

arr[0] arr[1]----> arr[1] 

arr[1] arr[2]----> arr[2]     

第四轮       

2              1 ----------->arr[1] 

arr[0] arr[1]----> arr[1] 

3.字符串 

(1)字符串常量     

字符串是由双引号括起来的字符序列集合     

"a"  "hhh" "097#yhol" "jak897f#$^HG*"     

字符串的结束标志:"\0" 

(2)C中没有字符串所对应的数据类型,通常使用字符数组保存字符串;     

char arr[32] = {"hello,uuhhio"};     

char arr[32] = {"jdkahfapei*&^%89789"};     

char af[7] = {'q','e','r','e'};      char bf[7] = "qere";     

注意:字符数组保存字符和保存字符串是有区别的;     

字符串有'\0' 

(3)字符串的输入和输出     

scanf() /printf()------>占位符:%s     

scanf()不能接受字符串中的空格      但是单个空格用scanf()可以输入 

(4)get()/puts()     

get():从键盘输入       

可以接收输入的空格        此函数有bug,不建议使用     

puts():输出字符串       

自动换行,无需换行符   

(5)fgets()/fput()     

例如:       

char arr[128];       

peintf("input string:");                 

fgets(arr,sizef(arr),stdin);       

//fgets(arr,100,stdin);       

fputs(arr,stdout);     

fgets():获得数据       

arr:数组名,即一个地址       

stdin:标准输入       

sizeof(arr):读取数据的大小,也可以直接用数字代替             

fputs():输出数据       

arr:要输出的字符串       

stdout:标准输出         

注:此处无BUG,可以安心使用  (6)指针和字符串     

(7)字符串相关函数     

头文件:#includestrlen():计算字符串长度

strcpy():字符串拷贝

strcmp():字符串的比较

int ret = strcmp(arr,buf);

若ret=0;则两字符串相等

若ret>0;则arr大于buf

若ret<0;则arr小于buf

注:不需要知道返回值的具体值!!!

strcat():字符串的拼接

strcat(arr,buf);

将buf的内容,拼接到arr中,一定要保证arr的空间足够大,否则会出现数组越界问题。

你可能感兴趣的:(1216笔记)