感觉挺好的C语言联系题,含答案 下载本文

printf(“%s”,c); A.ab B.abc C.ab\\0 D.ab\\0c\\0 答案:A

设有数组定义:char array[]=“china”;,则数组array所占的空间为:( )。 A.4个字节 B.5个字节 C.6个字节 D.7个字节 答案:C

判断字符串s1是否大于字符串s2,应当使用:( )。 A.if(s1>s2) C.if(strcmp(s2,s1)>0) 答案:D

若有说明:int a[][4]={0,0};,则下面不正确的叙述是:( )。 A.数组a的每个元素都可得到初值0

B.二维数组a的第一维大小为1

C.因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值 答案:D

下列语句中,不正确的是:( )。 A.char str[5]=\B.char str[]={'h','e','l','l','o','\\0'}; C.char str[5]={\

D.char str[100]=\答案:A

下面错误的初始化语句是:( )。 A.char str[]=\B.char str[100]=\C.char str[]={'h','e','l','l','o'};

D.char str[]={'hello'}; 答案:D

定义了一维int型数组a[10]后,下面错误的引用是:( )。 A.a[0]=1; B.a[10]=2; C.a[0]=5*2;

D.a[1]=a[2]*a[0];

答案:B

下面的二维数组初始化语句中,错误的是:( )。 A.float b[2][2]={0.1,0.2,0.3,0.4}; B.int a[][2]={{1,2},{3,4}}; C.int a[2][]= {{1,2},{3,4}}; D.float a[2][2]={0}; 答案:C

引用数组元素时,数组下标可以是:( )。 A.整型常量 B.整型变量 C.整型表达式 答案:D

D.以上均可

B.if(strcmp(s1,s2)) D.if(strcmp(s1,s2)>0)

定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为:( )。 A.24 B.25 C.18 D.17 答案:B

strlen(\的结果为:( )。 A.0 B.1 C.2 D.3 答案:B

下面程序的运行结果是:( )。 main() {

int a[][3]={1,2,3,4,5,6}; printf(\} A.3 B.4 C.5 D.6

答案:C 下面程序的运行结果是:( )。

main() { char s1[20]=\ char s2[15]=\

printf(\

}

A.20 B.15 C.5 D.2 答案:D

下面程序的运行结果是:( )。 main() { char s1[20]=\ int i=0;

while(s1[i++]!='\\0')

printf(\

}

A.ABCDEF B.BDF C.ABCDE D.BCDE 答案:B

下面程序的运行结果是:( )。 main() { int n[2]={0},i,j,k=2; for(i=0;i

n[j]=n[i]+1;

printf(\

}

A.不确定的值

B.3

C.2

答案:A

D.1

下面程序的运行结果是:( )。 main() { int x[]={22,33,44,55,66,77,88}; int k,y=0;

for (k=1;k<=4;k++)

if (x[k]%2==1) y++; printf(\

B.1

C.2

D.3

} A.0

答案:C

下面程序的运行结果是:( )。 main() {

int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j

D.21

}

A.14 B.19 C.20 答案:A

下面程序的运行结果是:( )。 main() {

char ch[7]= {\

int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0';

printf(\} A.1 B.1256 答案:A main() {

char s[]=\int i; i=0;

while(s[i]!='\\0') {

C.12ab56 D.l2

下面程序的运行结果是:( )。

if(s[i]>='a'&&s[i]<='z')

printf(\

i++;

} }

A.ab 答案:C main() {

B.ab1c2d4e C.abcde D.a

下面程序的运行结果是:( )。

int i=0,n=0;

char s[10]=\for(i=0;s[i]!='\\0';i++)

if(s[i]<='9'&&s[i]>='0')

n=n*10+(s[i]-'0'); else

break; printf(\

B.29801

C.01

D.298

}

A.298h01 答案:D

二、判断题:

( F )在程序中可以对数值数组中的数据进行整体使用。

( T )如果strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2。 ( F )字符数组的输出不能一次性的整体输出。 ( T )用scanf函数输入的字符串不可以带空格。 ( T )用gets函数输入的字符串可以带空格。

( F )实现两个字符串的复制可以使用str1=str2;语句。

( T )使用strcpy函数可以实现两个字符串的复制。 ( T )使用strcat函数可以实现两个字符串的连接。

( F )使用strlen函数可以求出一个字符串的实际长度(包含‘\\0’字符)。 ( F )如有定义char a[]=”student”;则数组a的长度为7。

( F )如有定义char a[20];则可以通过a=“I am a boy”;给a赋值。 ( T )如有定义int a[2][3];则数组a的最后一个元素为a[1][2]。

( T )如有定义int a[3][4]={0}; 则数组a的所有元素初值均为0。

( F )C语言中数组名实质上是数组的首地址,是一个变量地址,可对其进行赋值。 ( F )构成数组的各个元素可以有不同的数据类型。

( F )若有说明:int a[10];,则可以a[10]引用数组a的第10个元素。

( T )引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。 ( T )若有int a[10]={6,7,8,9,10};,则是将5个初值依次赋给a[0]至a[4]。

( T )一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组。 ( T )在C语言中,允许用字符串来直接初始化字符数组。 ( F )字符数组的输出不能一次性的整体输出。

( F )使用strcat函数可以实现两个字符串的复制。 三、多选题