3.下面代码运行后m的结果为(C)
int m = 6;
m = (m%3*4)?m/4:--m;
printf("%d",m);
A:1 |
B:2 |
C:5 |
D:6 |
5.以下代码输出的结果为(D)
int m = 0;
for (int i = 0; i<5; i++) {
switch (i) {
case 0:m++;
case 1:m++;break;
case 2:m++;continue;
case 3:m++;break;
default:m++;continue;
}
m++;
}
printf("%d",m);
A:12 |
B:11 |
C:10 |
D:9 |
6.以下代码运行的结果为(B)
int i = 1,m = 1;
for (; i<10; i++) {
if (i/2 == 2 || i%4==0) {
for (int j = 4; j < i; j++) {
m+=j;
}
}
}
printf("m = %d",m);
A: 26 |
B: 27 |
C: 28 |
D: 29 |
7. break关键字在哪一种语法结构中不能使用? (C)
A: for语句 |
B: switch语句 |
C: if语句 |
D: D. while语句 |
8.下列数组说明中,正确的(C)
A: int array[][]={0}; |
B: int array[3][]={0}; |
C: int array[][4]={0}; |
D: int array[][][5]={0}; |
10.下列选项中正确的语句组是(D)。
A: char s[8]; s={"lanou"}; |
B: char s[8]; s="lanou"; |
C: char * s; s={"lanou"}; |
D: char * s; s="lanou"; |
13.如有定义 int a[6] = {0};int * p1 = a;int * p2 = &a[6]; 则p2-p1的结果为(A)
A: 5 |
B: 6 |
C: 20; |
D: 24 |
2.随机找出1到10之间的n个数,找到的数不能重复(注:n小于10,要求高性能)
int a[10] = {1,2,3,4,5,6,7,8,9,10};
//随机数个数
int n = 10;
//随时数下标
int postion = 0;
for (int i = 0 ; i< n; i++) {
//每次限机的下标递减9,8,7...
postion = arc4random()%(10-i);
printf("%d ",a[postion]);
//将随机出来的元素与最后一个交换(相当于排除)
int temp = a[postion];
a[postion] = a[10-i-1];
a[10-i-1] = temp;
}
3. 输入一个整数数组,调整数组中数组的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
int i = 0; int j = 0; int temp=0; while (i < n) { if (arr[i]%2==0) { i++; continue; } temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; i++; j++; }
4.用c语言实现一个revert 函数,它的功能是将输入的字符长在原串上倒序后返回。 char *revert(char *str)
char * revert(char * str) { char * pc=str; int count=0; while ((*(pc+count)!='