? 对部分元素赋初值,未赋初值的元素自动取0值 ? 若对全部元素赋初值,则第一维的长度可以不指定 例1:(2006-04-16)以下数组定义中错误的是(B) A) int x[][3]={0};
B) int x[2][3]={{1,2},{3,4},{5,6}}; C) int x[][3]={{1,2,3},{4,5,6}}; D) int x[2][3]={1,2,3,4,5,6};
【解析】若对全部元素赋初值,则第一维的长度可以不指定,C项正确。二维数组的初始化可以按行连续赋值,D项正确。C项二维数组的初始化超过第一维度长度,故错误。 5.知识点:二维数组和for语句 例1:(2010-03-09)有以下程序 #include
{int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)
for(j=i;j<3;j++) printf(“%d”,a[i][j]); printf(“\\n”);
}程序运行后的输出结果是 123569 。 6.知识点:字符串
定义:由“”引起来的,由若干个字符所组成的序列。 字符串的结束标志:?\\0?
如字符串“china”,在内存中存储形式是
第 31 页 c h i n a \\0 该字符串的长度为5字节,所占的存储空间为6字节。 7.知识点:字符数组的定义及初始化
? 字符数组名是地址常量,不能赋值给数组名。 例1:(2009-04-32)以下选项中正确的语句组是(D)
A)char s[];s=”BOOK!”; B)char *s;s={“BOOK!”};
C)char s[10];s=”BOOK!”; D)char *s;s=”BOOK!”;
【解析】字符数组名是地址常量,不能赋值给数组名,故A、C项错误,D项指针s是个变量,将字符串常量赋值给s,是正确的。B项中给s赋值时不能用花括号将字符串括起来。 例2:(2009-09-31)下面是有关C语言字符数组的描述,其中错误的是(D)
A)不可以用赋值语句给字符数组名赋字符串 B)可以用输入语句把字符串整体输入给字符数组 C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串
8.知识点:字符数组的输入与输出 例1:(2009-09-13)有以下程序 #include
{char a[20]=”How are you?”,b[20];
共 78 页
scanf(“%s”,b);printf(“%s %s\\n”,a,b); for(i=0;s[i]!=0;i++) }程序运行时从键盘输入:How are you?<回车> if(s[i]>='0'&&s[i]<='9') n++; 则输出结果为How are you? How printf(\
【解析】scanf函数输入,以空格作为字符串输入结束的标志, } 程序运行后的输出结果是 (B) 故字符数组b只接收到字符串”How”。 A)0 B)3 C)7 D)8 例2:(2011-03)有以下程序 【解析】:for循环读取字符数组s中的字符,当读到0时退出main() 循环,注意0和‘0’的区别,字符‘0’的ASCII码为48,‘\\0’{ char a[30],b[30]; 的ASCII 码才是0,所以读取的字符为“012xy”中的字符,scanf(\for循环读取到字符后判断是不是数字字符,如果是n自增1,gets(b); “012xy”中的数字字符只有三个,所以选择B。 printf(\9.知识点:字符串处理函数
}程序运行时若输入:how are you? I am fine<回车>则输出结果例1:(2011-09-32)有以下程序: 是(B) #include
第 32 页 共 78 页
}程序运行后的输出结果是 (C) main() A.beijing B.china C.welcome D.tiananmen {char a[20]=”ABCD\\0EFG\\0”,b[]=”IJK”; 【解析】双层for循环部分是典型的排序方法,通过strcmp比strcat(a,b); printf(“%s\\n”,a); 较两个字符串的大小,然后借助t数组作为中转数组,通过}程序运行后的输出结果是(B) strcpy函数完成a[i]和a[j]两个字符串的交换,使a数组按从小A)ABCDE\\0FG\\0IJK B)ABCDIJK C)IJK 到大排序,即{”beijing” , D)EFGIJK “china” , ”tiananmen”,”welcome” ,”you” } 【解析】把字符数组b中的字符串连接到字符数组a中字符串例1:(2010-09-23)有以下程序 的后面,并删去字符串a后的第一个字符串结束标志?\\0?。故#include
例2:(2010-09-33)有以下程序 #include
#include
第 33 页 共 78 页
第 34 页
共 78 页
第四课 指针
第 35 页 共 78 页