1.下列定义不正确的是(C
?A?.#?define?PI?3.141592
?C?.?int?max?(?x?,?y?);?int?x?,?y?;{}
?B?.#?define?S 345
?D?.?static?char?c?;
函数没有定义x,y的类型
2.以下程序段的输出结果为(D
?char?c?[]="?abc?";
?int?i?=0;
?while?(?c?[?i?++]!=10');?printf?("%?d?",?i?-1);
?A?.?abc?
?B?.?ab?
?C?.2
D。3
3.执行语句?for?(?i?=1;?i?++<4;);后变量?i?的值是(C
?A?.3?
B。4
C。5
D。不定
4.若有?char?a?[80],*?s?=?a?;正确的输入语句是(A
?scanf?("%?s?",?s?);
?scanf?("%?c?",?s?);
?gets?(*?s?);
?getchar?(?s?,80);
4功能:将一个字符串中下标为?m?的字符开始的全部字符复制成为另一个字符串。
#?include?<?stdio?.?h?>
?void?strcopy?(?char?*str1,?char?"str2,?int?m?)
?char?*?pl?,"p2;
——————————
p2=str2;
?while?(*?pl?)
——————————
——————————
?int?i?,?m?;
?char?str?1[80],str2[80];
?gets?(?strl?);
?scanf?("%?d?",&?m?);
?trcopy?(str1,str2,?m?);
?puts?(?str?1);?puts?(str2);
【1】 p1= str1 + m
【2】 *p2++=*p1++ 或 *(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++
【3】 *p2='\0' 或 *p2=0 或 *p2=NULL
5.有一篇文章,有三行文字,每行有80个字符。要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。
#include<stdio.h>
void main()
{
int i,j,big=0,sma=0,num=0,spa=0,oth=0;
char text[3][80];
for(i=0;i<3;i++)
{
printf("请输入行%d:\n",i+1);
gets(text[i]);
for(j=0;j<80&&text[i][j]!='\0';j++)
{
if(text[i][j]>='A'&&text[i][j]<='Z')
big++;
else if(text[i][j]>='a'&&text[i][j]<='z')
sma++;
else if(text[i][j]>='0'&&text[i][j]<='9')
num++;
else if(text[i][j]==' ')
spa++;
else
oth++;
}
}
printf("大写字母:%d\n",big);
printf("小写字母:%d\n",sma);
printf("数字:%d\n",num);
printf("空格:%d\n",spa);
printf("其它:%d\n",oth);
}