main()
{float x,y,z;
scanf("%f%f",&x,&y);
z=x/y;
while(1)
{if(fabs(z)>1.0) {x=y;y=z;z=x/y;}
else break;}
printf("%f",y);}
A) 1.5 B)1.6 C) 2.0 D) 2.4
*140
B
下面程序的运行结果是:
#include "stdio.h"
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if (b>=20) break;
if(b%3==1) {b+=3;continue;}
b-=5;}
printf("%d\n",a);}
A) 7 B) 8 C)9 D) 10
*141
B
下面程序的运行结果是:
#include "stdio.h"
main()
{int i;
for(i=1;i<=5;i++)
{if (i%2) printf("#");
else continue;
printf("*");
}
printf("$");}
A) *#*#$ B) #*#*#*$ C) *#*#$ D)#*#*$
*142
A
下面程序的运行结果是:
main()
{int i,j,a=0;
for (i=0;i<2;i++)
{ for (j=0;j<=4;j++)
{if (j%2) break;
a++;}
a++;}
printf("%d\n",a);
}
A) 4 B) 5 C) 6 D) 7
*179
c
在c语言中,引用数组元素时,其数组下标的数据类型允许是__.
A)整型常量 B)整型表达式
c)整型常量或整型表达式D)任何类型的表达式
*180
D
以下对一维整型数组a的正确说明是__。
A) int a(10); B)int n= 10,a[n];
c) int n; D) #define SIZE 10;
scanf("%",&J1); int a[SIZE];
int a[n];
*181
D
若有说明:int a[10];则对a数组元素的正确引用是__。
A)a[10] B) a[3.5] C) a(5) D) a[10-10]
*182
A
在C语言中,一维数组的定义方式为:,类型说说明符 数组名__。
A) [常量表达式] B) [整形表达式]
c)[ 整型常量]或[整型表达式] D)[整型常量]
*183
C
以下能对一维数组a进行正确初始化的语句是__。
A) int a[10]=(0,0,0,0,0) B)int a[10]={}
C) int a[]={0};D) int a[10]={10*1};
*184
C
以下对二维数组a的正确说明是__。
A) int a[3][]; B) floatf a(3,4);
c) double a[1][4]; D) float a(3)(4);
*185
C
若有说明:int a[3][4]; 则对a数组元素的正确引用是__。
A) a[2][4] B) a[1,3] C) a[1+1][0] D) a(2)(1);
*186
D
若有说明:int a[3][4];则对a数组元素的非法引用是__。
A) a[0][2*1] B) a[1][3] C)a[4-2][0] D)a[0][4]" "
*187
B
以下能对二维数组a进行正确初始化的语句是__。
A) int a[2][]={{1,0,1},{5,2,3}};
B) int a[][3」={{1,2,3},{4,5,6}};
C) int a [2][4]={{1,2,3},{4,5},{6}};
D) int a[][3={{1,0,1},{},{1,1}};
*188
C
以下不能对二维数组a进行正确初始化的语句是__。
A) int a[2][3]={0};
B) int a[][3」={{1,2,3},{4,5,6}};
C) int a[2][4]={{1,2,3},{4,5}{6}};
D) int a[][3]={{1,0,1},{0},{1,1}};
*189
D
若有说明: int a[3]「4]={0};则下面正确的叙述是
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确:。
C)数组a中各元素都可得到初值,但其值不一定为0。
D)数组a中每个元素均可得到初值0
*190
D
若有说明:int a[][4]={0,0};则下面不正确的叙述是__。
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)因为二维数组0中第二维大小的值除以初值个数的商为1,故数组a行
数为1
D)只有元素a[0]「0」和a[0]「1」可得初值0,其余元素均得不到初值0
*191
B
若有说明:int a[3]「4];则数组a各元素
A)可在程序的运行阶段得到初值0
B)可在程序的编译阶段得到初值0
C)不能得到确定的初值
D)可在程序的编译或运行阶段得初值0
*192
C
以下各组选项中,均能正确定义二维实型数组a的选项是
A)float a[3][4]; B)float a(3,4);
float a[][4]; float a[3][4];
float a[3][]={{1},{0}}; float a[][]={{0},{0}};
C)float a[3][4]; D)float a[3][4];
static float a[][4]={{0},{0}}; float a[3][];
auto float a[][4]={{0},{0},{0}}; float a[][4]
*193
A
下面程序(每行程序前面的数字表示行号)
1 main()
2 {
3 int a[3]={3*0};
4 int i;
5 for(i=0;i<3;i++) scanf("%d",&a[ i]);
6 for(i=1;i<3;i++) a[0]=a[0]+a[ i] ;
7 printf("%d\n",a[0]); }
A)没有错误B)第3行有错误
C)第5行有错误 D)第7行有错误
*194
C
下面程序一一一(每行程序前面的数字表示行号)。
1 main()
2 {
3 float a[10]={0.0};
4 int i
5 for(i=0;i<3;i++) scanf("%d",&a[ i]);
6 for(i=0;i<10;i++) a[0]=a[0]+a[ i];
7 printf("%d\n",a[0]);
8 }
A)没有错误 B)第3行有错误
C)第5行有错误 D)第7行有错误
*195
D
下面程序有错的行是
1 main()
2{
3 int a[3]={1};
4 int i;
5 scanf("%d",&a);
6 for(i=1;i<3;i++) a[0]=a[0]+a[ i];
7 printf("a[0]=%d\n",a[0]);
8 }
A)3 B)6 C)7 D)5
*196
D
下面程序(每行程序前面的数字表示行号)
1 main()
2 {
3 int a[3]={0};
4 int i;
5 for(i=0;i<3;i++)scanf("%d",&a[ i]);
6 for(i=1;i<4;i++)a[0]=a[0]+a[ i];
7 printf("%d\n",a[0]);
8 }
A)没有错误 B)第3行有错误
C)第5行有错误 D)第6行有错误
*197
D
若二维数组a有m列,则计算任一元素a[ i][j]在数组中位置的公式为
(假设a[0][0]位于数组的第一个位置上。)
A)i*m+j B)j*p+i。C)i*m+j-1 D)i*m+j+1
*198
B
对以下说明语句的正确理解是
int a[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
*199
B
以下不正确的定义语句是__.
A) double x[5]={2.0,4.0,6.0,8.0,10.0};
B) int y「5」={0,1,3,5,7,9};
C) char c1[]={’1’,’2’,’3’,’4’,’5’}; 4 。二入广 \ "’ (:
D) char c2[]=}{'\x10','\xa','\x8'};
*200
B
若有说明:int a[」「3」={1,2,3,4,5,6,7};则a数组第一维的大小是__.
A) 2 B) 3 C) 4 D)无确定值
*201
B
若二维数组a有m列,则在a[ i][j]前的元素个数为__.
A)j*m+j B)i*m+j C)i*m+j D)i*m+j+1
*202
A
定义如下变量和数组:
int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是 。"
for(k=0;k<3;k++) printf ("%d",a[k][2-k]);
A) 3 5 7B)3 6 9 C) 1 5 9 D) 1 4 7
*203
B
若有以下程序段:
......
int a[]={4,0,2,3,1};i,j,t;
for(i=1;i<5;i++)
{t=a[ i];j=i-1;
while(j>=0&&t>a[j])
{a[j+1]=a[j];j--;}
......
则该程序段的功能是 __.
A)对数组a进行插入排序(升序)
B)对数组a进行插入排序(降序)
C)对数组a进行选择排序(升序)
D)对数组a进行选择排序(降序)
*204
D
以下正确的定义语句是__.
A) int a[1」[4」={1,2,3,4,5};
B) float x[3][]={{1},{2},{3}};
C) long b[2][3]={{1},{1,2},{1,2,3}};
D) double y[][3]={0};
*205
C
下面程序的运行结果是__.
main()
{int a[6」「6」,i,j;
for(i=1;i<6;i++)
for(j=1;j<6,j++)
a[ i][j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{for(j=1;j<6;j十十)
printf("%2d",a[ i][j]);
printf("\n"_);}
}
A)11111 B)00001 C)10000 D)10001
11111 00010 01000 01010
11111 00100 00100 00100
11111 01000 00010 01010
11111 10000 00001 10001
*206
C
下面程序的运行结果是 __.
main()
{int a[6],i;
for(i=1;i<6;i十十)
{a[ i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[ i]);
}
}
A)—40404B)—40403
C)一40443D)一40440
*207
D
下面是对s的初始化,其中不正确的是__.
A) char s[5」={"abc"} B)char s[5]={'a','b','c'};
C) char s[5]="" D) char s[5]="abcdef";
*208
B
下面程序段的运行结果是 __.
char c[5]={'a','b','\0','c','\0'};
printf("%s",c);}
A)’a’’b’ B) ab C) ab c D) ab
(其中 表示空格)
*209
D
对两个数组a和6进行如下初始化
char a[]="ABCDEF";
char b[]={’A’,’B’,’C’,’D’,’E’,’F’};卜
则以下叙述正确的是 __.
A) a与b数组完全相同 B) a与b长度相同
C) a和b中都存放字符串 D) a数组比b数组长度长
*210
B
有两个字符数组a、b,则以下正确的输入格式是 __.
A) gets (a,b); B) scanf ("%s%s",a,b);
C) scanf ("%s%s",&a,&b); D) gets ("a"), gets ("b");
*211
D
有字符数组a[80]和b[80],则正确的输出形式是__.
A) puts (a,b); B) printf ("%s,%s,a[],b[]);
C) putchar(a,b); D) puts (a), puts (b);
*212
D
下面程序段的运行结果是__.
char a[7]="abcdef";
char b[4]="ABC";
strcpy(a,b);
printf ("%c",a[5]);
J。 " 了
A)一 B)\O C) e D)f(其中一表示空格)
*213
D
有下面的程序段
char a[3],b[]="china";
a=b;
printf("%s",a);
则__.
A)运行后•将输出Chm、"、B)运行后将输出Ch’一
C)运行后将输出Chi D)编译出错
*214
B
下面程序段的运行结果是__.
char c[]="\t\v\\\0will\n";
printf("%d",strlen(c));
A)14 B) 3 C) 9 D)字符串中有非法字符,输出值不确定
*215
D
判断字符串a和b是否相等,应当使用__.
A) if (a==b) B) if (a=b)
C) if (strcpy(a,b)), D) if (strcmp(a,b))
*216
D
判断字符串s1是否大于字符串s2应当使用__.
A) if (sl>s2) B) if (strcmp(s1,s2))
C) if (strcmp(s2,sl)>0) D) if (strcmp(s1,s2)>0)
*217
A
下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。
char x[]="programming";
char y[]="Fortran";
int i=0;
while (x[ i]!='\0'&& y[ i]!='\0')
{if (x[i ]==y[ i]) printf ("%c", 1 );
else i++;}
}
【1】A)x[i++] B)y[++i] C)x[ i] D)y[ i]
*218
D
下面描述正确的是__.
A)两个字符串所包含的字符个数相同时,才能比较字符串
B)字符个数多的字符串比字符个数少的字符串大
C)字符串"STOP "与"STOp"相等
D)字符串"hat"小于字符串"he"
*219
C
下述对C语言字符数组的描述中错误的是
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
*220
B
有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素
的规律插入到a中。请选择填空。
#indude
main()
{char a[20」="cehiknqtw";
char s[]="fbla";
int i,k,j;
for(k=0;s[k]!='\0';k十+)
{j=0;
while(s[k]>=a[j]&&a[j]!='\0')j++;
for(i=str1en(a);i>=j;i--) 【2】;
a[j」=S[k」;
}
puts(a);
}
【2】 A) a[ i]=a[i+1] B) a[i+1]=a[ i];
C) a[ i]=a[i-1] D) a[i-1]=a[ i];
*221
A
下面程序的功能是将字符串5中所有的字符c删除。请选择填空。
#include
main()
{char s[80];
int i,j;
gets(s);
for(i=j=0;s[ i]!='\0';i++)
if(s[ i]!='c')【1】
puts(s);
【1】A)s[j++]=s[ i] B)s[++j]=s[ i];
C) s[j]=s[ i];j++; D) s[j]=s[ i];
*222
B
下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间
用空格分隔。请选择填空。
#indude
main()
{char s[80」,c1,c2='';
int i=0,num=0;
gets(s);
while(s[ i]!='\0')
{c1=s[ i];
1f(i==0) c2='';
else c2=s[i-1];
if(【1】) num++;
i++;
)
printf("There are %d words.\n",num);
}
【1】A)c1='' && c2=='' B)cl!='' && c2==''
C)c1=='' && c2!='' D)cl!='' && c2!=''
*223
A
下面程序的运行结果是
#indude
main()
{char ch[7]={"12ab56"};
int i,s=0;
for(i=0;ch[ i]>='0'&&ch[ i]<='9';i+=2)
s=10*s+ch[ i]-'0';
printf("%d\n",s);
}
A)1 B)1256 C) 12ab56 D)1
2
5
6
*224
A
当运行以下程序时,从键盘输入:aa bb
cc dd
(表示回车),则下面程序的运行结果是
# include
main()
{char a1[5],a2[5」,a3[5],a4[5];
scanf("%s%s",a1,a2);
gets(a3); gets(a4);
puts(al); puts(a2);
puts(a3); puts(a4);
}
A) aa B) aa ()aa D) aa bb
bb bb bb cc
cc cc dd dd
cc dd dd ee
*225
D
当运行以下程序时,从键盘输入:ab
c
dd
(表示回车),则下面程序的运行结果是
#include
#difine N 6
main()
{ char c[N];
int i=0;
for (;i
for(i=0; i
、
A)abcdef B)a C)b D)ab
b c c
c d d
e
f
*226
A
当运行以下程序时,从键盘输入:AhaMA Aha(
则下面程序的运行结果是
#include "stdio.h"
main()
{char s[80],c='a';
int i=0;
scanf("%s",s);
while(s[ i]!='\0')
{if(s[ i]==c) s[ i]=s[ i]-32;
else if(s[ i]==c-32) s[ i]=s[ i]+32;
i++;
}
puts(s);
)
A)ahAMa B)AhAMa C) AhAMa ahA D) ahAMa ahA
*227
D
下面程序的运行结果是一一一。
#include
#inc1ude
main()
{char a[80」="AB",b[80]="LMNP";
int i=0;
strcat(a,b);
whi1e(a[i++]!='\0')b[ i]=a[ i];
puts(b);
}
A)LB B)ABLMNP C)AB D)LBLMNP
*228
B
下面程序的运行结果是
#include
main()
{
char str[]="SSSWLIA",c;
int k;
for(k=2;(c=str[k])!='\0';k++)
{switch(c)
{case 'I':++k;break;
case 'L':continue;
default:putchar(c);continue;
}
putchar('*');
}
}
A)SSW* B)SW* C) SW*A D)SW
*229
B
下面程序的运行结果是
#include
main()
{char a[]="morning",t;
int i,j=0;
for(i=1;i<7;i++) if(a[j]
t=a[j];a[j]=a[7];
a[7]=a[j];puts(a);
}
A) mogninr B) mo C) morning D) mornin