while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t;} ... ...
则该程序段的功能是_________.
A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序) C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序) 6.有两个字符数组a、b,则以下正确的输入语句是______. A)gets(a,b); B)scanf(\ C)scanf(\ 7.下面程序段的运行结果是________. char a[7]=\char b[4]=\ strcpy(a,b); printf(\
A)空格 B)\\0 C)e D)f
8.判断字符串s1是否大于字符串s2,应当使用_______. A)if(s1>s2) B)if(strcmp(s1,s2)) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)
9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间
用空格分隔,请选择填空。 #include
char s[80],c1,c2=''; int i=0,num=0; gets(s);
while(s[i]!='\\0') {c1=s[i];
if(i==0)c2=''; else c2=s[i-1]; if(_ _)num++ i++; } }
A)c1==''&&c2=='' B)c1!=''&&c2=='' C)c1==''&&c2!='' D)c1!=''&&c2!='' 10.下面程序的运行结果是_______. #include
{char str[]=\ 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 二、填空题
1. 若有定义:double x[3][5];则x数组中行下标的下限为____0_____,列下标的上限为___4______.
2.下面程序以每行4个数据的形式输出a数组,请填空。 #define N 20
printf(\
main() {int a[N],i;
for(i=0;i {if (___i % 3 == 0___) ___printf(“\\n”);___ printf(\ } printf(\} 3. 下面程序可求出矩阵a的主对角线上的元素之和,请填空。 main() {int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(__i==j___)sum=sum+__a[i][j]_____; printf(\} 4. 当从键盘输入18并回车后,下面程序的运行结果是__10010______. main() {int x,y,i,a[8],j,u,v; scanf(\ y=x;i=0; do {u=y/2; a[i]=y%2; i++;y=u; }while(y>=1) for(j=i-1;j>=0;j--) printf(\ } 5. 下面程序用插入法对数组a进行降序排序。请填空。 main() {int a[5]={4,7,2,5,1}; int i,j,m; for(i=1;i<5;i++) {m=a[i]; j=_ i-1___; while(j>=0&&m>a[j]) {__a[j+1]=a[j]_____; j--; } __a[j+1]_____=m; } for(i=0;i<5;i++) printf(\ printf(\} 6. 下面程序的功能是在三个字符串中找出最小的,请填空。 #include {char s[20],str[3][20]; int i; for(i=0;i<3;i++)gets(str[i]); strcpy(s,__str[0]_____); if(strcmp(str[2],s)<0)strcpy(s,str[2]); printf(\ } 7. 下面程序的运行结果是___#&*&%_____. #include {char s[]=\ int k;char c; for(k=1;(c=s[k])!='\\0';k++) {switch(c) {case 'A':putchar('%');continue; case 'B':++k;break; default:putchar('*'); case 'C':putchar('&');continue; } putchar('#'); } } 七、函数 一、选择题 1. 建立函数的目的之一是_ _____. A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2.以下正确的函数定义形式是________. A)double fun(int x,int y) B)double fun(int x; int y) C)double fun(int x, int y); D)double fun(int x,y); 3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为______. A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______. A)float B)int C)long D)double