2022.10.31-牛客-Java数组专项练习

2022.10.31-Java数组专项练习

(多选)1、以下不能对一维数组a进行正确初始化的语句是( D

A. int a[10] = {0, 0, 0, 0, 0};
B. int a[10] = { };
C. int a[] = {0};
D. int a[10] = {10*a};

解析:
A选项,前5个元素为0,后面5个元素编译器补为0
B选项,编译器自动将所有元素置零
C选项,编译器自动计算元素个数
D选项,a是整型数组,10*a操作非法

(多选)2、下列给定程序中,函数fun的功能是:进行数字字符转换。若形参ch中是数字字符’0’~‘9’,则将’0’转换成’9’,‘1’转换成’8’,‘2’转换成’7’,…,‘9’转换成’0’;如果是其他字符则保持不变,并将转换后的结果作为函数值返回。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
试题程序。( A、B

#include 
____ fun(char ch){
	if(cha >= '0' && ____)
		return '9' - (ch - ____);
	return ch;
}
int main(){
	char c1, c2;
	printf("\nThe result:\n");
	c1 = '2';
	c2 = fun(c1);
	printf("c1=%c c2=%c\n",c1,c2);
	c1 = '8';
	c2 = fun(c1);
	printf("c1=%c c2=%c\n",c1,c2);
	c1 = 'a';
	c2 = fun(c1);
	printf("c1=%c c2=%c\n",c1,c2);
}

A. int ch<=‘9’ ‘0’
B. char ch<=‘9’ ‘0’
C. char ch<=‘9’ 0
D. int ch<=‘9’ 0

解析:
A选项中,返回char,那么if条件里面做了隐式类型转换:int数字转成char(printf语句中)
B选项中,返回int,那么main中赋值给char变量的时候做了类型转换:int转char

你可能感兴趣的:(牛客Java专项练习,java,学习)