下面说明不正确的是
A.char a[10]="china";
B.char a[10],*p=a;p="china"
C.char *a;a="china";
D.char a[10],*p;p=a="china"
A.char a[10]="china";
B.char a[10],*p=a;p="china"
C.char *a;a="china";
D.char a[10],*p;p=a="china"
A.只初始化了第一个元素,即a[0][0]可得到初值0
B.此初始化语句不正确
C.数组a中各元素都可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初值0
(25)有以下程序(说明:字母A的ASCII码值是65)
#include <stdio.h>
void fun(char *s)
{ while(*s)
{ if(*s%2) printf("%c",*s);
s++;
}
}
main()
{ char a[]="BYTE";
fun(a); printf("\n");
}
程序运行后的输出结果是
A)BY
B)BT
C)YT
D) YE
A.a+1表示的是字符t的地址
B.p指向另外的字符串时,字符串的长度不受限制
C.p变量中存放的地址值可以改变
D.a中只能存放10个字符
下面程序是将字符串P中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。
#include<stdio.h>
void cp(char *P,char *b)
{int i,k=0;
while(*p)
{i=0;
while(______)/*第一空*/
{b[k]=*p;
k++;p++;i++;
}
if(*p)
{______;/*第二空*/
}
}
______;/*第三空*/
}
main()
{char a[20],b[20];
gets(a);
cp(a,b);
puts(b);
print f("\n");
}
A.LANGUAGE
B.language
C.LAN
D.langUAGE
#include <stdio.h>
main ()
{ int i; char? s[21],*p;
for (i=0;i<20;i++)
s[i]=getchar ();
s[i]=【6】;
p =【7】
while (*p)putchar? (【8】);
}
A.8
B.12
C.4
D.7
下面程序用来输出两个字符串中较短的长度。
main()
{char pl[20],p2[20];
int i1,i2,num;
gets(p1);
gets(p2);
i1=______;/*第一空*/
i2=______;/*第二空*/
num=(______)?i1:i2;/*第三空*/
printf("%d\n",nurn);
}
下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。
#include "stdio.h"
main()
{char c;
while((c=getchar())!='\n')
{if(c>='a'&&c<='z')
c=c-30;
if(c>'z'||c<='z'+2)
c=c-26;}
printf("%c",c);
}
错误:______
改正:______
参考答案:错误
编写strcat函数(6分) 已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc); 其中strDest 是目的字符串,strSrc 是源字符串。 (1)不调用C++/C 的字符串库函数,请编写函数 strcat
A.67,D
B.B,C
C.C,D
D.不确定的值