13. 以下叙述中正确的是( )
A)预处理命令行必须位于源文件的开头
B)在源文件的一行上可以有多条预处理命令
C)宏名必须用大写字母表示
D)宏替换不占用程序的运行时间
14. 以下语句或语句组中,能正确进行字符串赋值的是( )
A)char *sp; *sp="right!";
B)char s[10]; s="right!";
C)char s[10]; *s="right!";
D)char *sp="right!";
15. 有以下函数
fun(char *a,char *b)
{
while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b))
{ a++; b++;}
return (*a-*b);
}
该函数的功能是( )
A)计算a和b所指字符串的长度之差
B)将b所指字符串复制到a所指字符串中
C)将b所指字符串连接到a所指字符串后面
D)比较a和b所指字符串的大小
16. 以下选项中,不能作为合法常量的是( )
A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
17. 以下叙述中正确的是( )
A)用C程序实现的算法必须要有输入和输出操作
B)用C程序实现的算法可以没有输出但必须要有输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
18. 有以下程序
main()
{ int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是( )
A)*********** B)*********** C)*********** D)***********
19. 有以下程序
main()
{ int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( )
A)m=123n=456p=789 B)m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
20. 有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);
}
程序运行后的输出结果是( )
A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3
參考答案:13d
14d
15c
16b
17d
18a
19a
20b
前面的13、15不是很把握