108. 以下程序段运行后,循环体中的 n+=3; 语句运行的次数为( )。
int i,j,n=0;
for(i=1;i<=3;i++) {for(j=1;j<=i;j++) {n+=3;
printf(\ } }
A. 6次 B. 9次 C. 12次 D. 1次 109. do?while循环与while循环的主要区别是( )。
A. while循环体至少无条件执行一次,而do?while循环体可能都不执行
B. do?while循环体中可使用continue语句,while循环体中不允许出现continue语句 C. do?while循环体中可使用break语句,while循环体中不允许出现break语句 D. do?while循环体至少无条件执行一次,而while循环体可能都不执行 110. 以下程序段运行后,循环体运行的次数为( )。 int i=8,a=0; for ( ;i<8;i++) a+= i; A. 0次 B. 1次 C. 8次 D. 无限 111. 以下程序段运行后变量a的值为( )。 int i=1,a=0; for( ;i<3;i++) { continue; a+=i; } A. 6 B. 3 C. 0 D. 5 112. 有以下程序: void main() { int i;
for(i=1; i<=3; i++) switch(i)
{ case 1: printf(\ case 2: printf(\ default : printf(\ } }
执行后输出结果是( )。 A. 1223 B. 1 C. 111223 D. 123 113. 以下程序的运行结果是( )。 void main() {int s = 0, i = 0; while(i< 8) {i++;
if(i%2==0)
continue; s+=i; }
printf(\ }
A. 36 B. 7 C. 16 D. 12 114. 以下程序的运行结果是( )。 void main() {int s = 0, i = 0; while(i< 10) {i++;
if(i % 2==0) s += i; }
printf(\ }
A. 20 B. 30 C. 25 115. 以下程序的运行结果是( )。 void main() {int x = 5; do {
printf(\ } while(!x); }
A. 5 4 3 2 1 B. 4 3 2 1 0 C. 5 D. 4
116. 以下程序的运行结果是( )。 void main() {int i,j, k=0;
for(i= 3;i>=1;i--) {for(j=i;j<=3;j ++) k += i * j ; }
printf(\ }
A. 19 B. 29 C. 6 117. 以下程序运行时,循环体的执行次数是( void main() {int i,j;
for(i=0,j=1;i<=j+1;i=i+2,j--) printf(\
D. 45 D. 25 。 ) }
A. 3
B. 2 C. 1 D. 0
四、数组
118. 设已定义char s[ ]=\,则字符串所占的字节数是( )。 A. 19 B. 16 C. 18 D. 14 119. 数组元素下标的数据类型为( )。 A. 整型常量、字符型常量或整型表达式 B. 字符串常量
C. 实型常量或实型表达式 D. 任何类型的表达式
120. ( )是正确的数组定义。 A. int n=10,x[n];
B. int x[10]; C. int N=10;int x[N]; D. int n;
scanf(\ int x[n];
121. 若已定义 int arr[10]; 则不能正确引用arr数组元素的是(A. arr[0] B. arr[1] C. arr[10-1] D. arr[7+3] 122. 若已定义 int x[4]={2,1,3}; 则元素x[1]的值为( )。 A. 0 B. 2 C. 1 D. 3 123. 以下程序段运行后,x[1]的值为( )。
int x[5]={5,4,3,2,1};
x[1]=x[3]+x[2+2]-x[3-1]; A. 6 B. 0 C. 1 D. 5 124. ( )是合法的数组定义。 A. char str[ ]={48,49,50,51,52,53}; B. int a[5]={0,1,2,3,4,5}; C. int a[ ]=\D. char str[ ]=‘string’; 125. 若有以下程序: void main( )
{char s[10]= \ r=s;
printf(\ } 则( )。
A. 执行时输出:ajskdl B. 执行时输出:a C. 执行时输出:aj D. 编译不通过
。 )126. 下面程序段的运行结果是( )。 int m[]={5,8,7,6,9,2},i=1; do{
m[i]+=2;
}while(m[++i]>5); for(i=0;i<6;i++)
printf(\ \A. 7 10 9 8 11 4 B. 7 10 9 8 11 2 C. 5 10 9 8 11 2 D. 5 10 9 8 11 4
127. 下面程序段的运行结果是( )。 int m[]={5,8,7,6,9,2},i=1; for(i=0;i<6;i++) {if(i % 2 !=0) m[i]+=10; }
for(i=0;i<6;i++)
printf(\ \A. 5 18 7 16 9 12 B. 15 18 17 16 19 12 C. 15 8 17 6 19 2 D. 5 8 7 6 9 2
128. 下面关于数组的叙述中,正确的是( )。
A. 定义数组后,数组的大小是固定的,且数组元素的数据类型都相同 B. 定义数组时,可不加类型说明符
C. 定义数组后,可通过赋值运算符\对该数组名直接赋值 D. 在数据类型中,数组属基本类型 129. 以下程序段的运行结果是( )。 int a[]={1,2,3,4},i,j; j=1;
for(i=3;i>=0;i--) {a[i]=a[i]*j; j=j*3; }
for(i=0;i<4;i++)
printf(\ \A. 3 6 9 12 B. 18 12 9 4 C. 27 18 9 4 D. 54 18 9 4
130. 下面关于字符数组的叙述中,错误的是( )。 A. 可以通过赋值运算符“=”对字符数组整体赋值
B. 不可以用关系运算符对字符数组中的字符串进行比较
C. 字符数组中的字符串可以整体输入、输出 D. 字符数组可以存放字符串
131. 以下程序段的运行结果是( )。
main() { int i=4,j; j=i;
pic(i+2*j-2,'*'); putchar('\\n'); for(j-=2;j>=0;j--) { pic(3-j, ' '); pic(i+2*j, '*'); putchar('\\n'); } }
pic(int len,char c) { int k;
for(k=1;k<=len;k++) putchar(c); }
A. *
*** ***** ******* B. **********
********** ********** ********** C. ****
****** ******** ********** D. **********
******** ****** ****
132. 以下程序段执行后输出的结果是( )。 int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\A. 2 B. 3 C. 6 133. 以下程序段执行后p的值是( )。
int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1; for(j=0;i<2;i++)
for(k=j;k<4;k++) p*=a[j][k]; A. 108 B. 18 C. 12
D. 7
D. 2