C语言1-7章练习题

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 main() {

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 main()

{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 #include main()

{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 main()

{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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4