对于齐次线性方程组(1) 若λ=0,则方程组有非零解; (2) 若λ=1,则方程组有非零解; (3) 若λ=-1,则方程组有非零解; (4) 若λ≠0且λ≠1,则方程组只有零解; 以上命题正确的个数为()个.
A.1
B.2
C.3
D.4
A.1
B.2
C.3
D.4
A.α1-α2,α2-α3,α3-α4,α4-α1
B.α1+α2,α2+α3,α3+α4,α4+α1
C.α1,α1+α2,α1+α2+α3,α1+α2+α3+α4
D.α1+α2,α2+α3,α3-α4,α4-α1
试题二(共 15分)
阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明 1】
函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。
例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。
1
2 2
2 4
2
【C函数 1】
int Counter(int n, int w[])
{ int i = 0, k = 1;
while ((1) ) {
if (n % 2) w[i++] = k;
n = n / 2; (2) ;
}
return i;
}
【说明 2】
函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。
【C函数 2】
void Smove(int A[], int n)
{ int temp, i = 0, j = n-1;
if (n < 2 ) return;
while (i < j ) {
if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }
else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }
else {
if ((5) ) {
temp = A[i]; A[i] = A[j]; A[j] = temp;
}
i++, j--;
}
}
}
对于细长压杆,若其长度系数μ增加一倍,则压杆的临界力Per的变化()。
A.为原来的1/4
B.为原来的1/2
C.为原来的4倍
D.增加1倍
A.两个整数相加,若最高位(符号位)有进位,则一定发生溢出
B.两个整数相加,若结果的符号位为0,则一定发生溢出
C.两个整数相加,若结果的符号位为1,则一定发生溢出
D.两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出
char *fun(char *str,char c)
{ int n=0; char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0') return NULL;
return(【 1 2 】 );
}
当执行以下程序时,输入 1234567890< 回车 > ,则其中 while 循环体将执行 【 7 】 次。
# include <stdio.h>
main()
{ char ch;
w hile((ch=getchar())== '0') printf("#");
}