1.已知字母 a 的 ASCII 十进制代码为97,则执行下列语句后的输出结果为(C).
char a =' a '; a --;
printf ("% d ,% cln ", a +2'-'0', a +'3'-'0');
A . b , c
C .98, c
2.经过以下语句定义后,表达式 z += x > y ?++ x :++ y 的值为(C
int x =1, y =2, z =3;
A .2
B .3
C。6
D .5
解析:右结合
3.以下描述中正确的是(C).
A .由于 do - while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B . do - while 循环由 do 开始,用 while 结束,在 while (表达式)后面不能写分号
C .在 do - while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作
D . do - while 循环中,根据情况可以省略 while
解析:A可以使用复合语句,但一定要加{}
B。一定要加;
D。不能省略
4.对 for (表达式1;;表达式3)可理解为(B
A . for (表达式1;0;表达式3)
C . for (表达式1;表达式1;表达式3)
D . for (表达式1;表达式3;表达式3)
B . for (表达式1;1;表达式3)
5. 功能:将十进制数转换成十六进制数。
#include "stdio.h"
#include "string.h"
main ()
{
int a,i;
char s[20];
printf("input a integer:\n");
scanf("%d",&a);
c10_16(s,a);
for(i=strlen(s)-1;i>=0;i--)
printf("%c",s[i]);
printf("\n");
}c10_16(char p[],int b)
{
int j,i=0;
while (b>0)
{
j=b%16;
if(j>=0&&j<=9)
p[i]= j + '0';
else p[i]=j+55;
b=b/16;
i++;
}
p[i]='\0';
}