C语言第7--10章习题
一、单项选择题
1.下面程序输出结果是1
main()
{ int x,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
f(int b[],int n)
{int i,r;
r=1;
for(i=0;i<=n;i++)  r=r*b[i];
return r;
}
  A)6                B)24                C)120            D)720
2.以下程序运行后,输出结果是2
void fun(int x,int y,int z)
{    z=x*x+y*y;}
main()
{
    int a=31;
    fun(5,2,a);
    printf("%d\n",a);
}
A) 0      B)29        C)31      D)不确定值
3.如有定义char s[10]= "abc";,则下面程序段的功能是3
FILE *fp;
fp=fopen("t2.txt","w")
fputs(s,fp);
fclose(fp);
A) 把t2.txt中的字符串写入到s中        B) 把s中的字符串写入到t2.txt中
C) 从fp指向的文件中读取字符串        D) 从s中读取字符串
4.C语言中自己定义函数时,允许省写函数类型,此时函数的类型默认为4
A) int型          B) void型          C) float型            D) double型
5.有下列函数调用语句,函数fun1()实参个数是5
fun1(a+b,(y=9,y*x),fun2(y,n,k));
A)6                    B) 5                C) 4            D) 3
6.执行下列程序段后,输出结果是6
int c[5]={1,2,11,12,21}, *p, *q=&c[1]; 
p=q;      printf("%d",*(p+2));
A)12                    B) 11              C) 4            D) 3
7.执行下列程序段后,输出结果是7
char s[ ]="world";
printf("%c",*s+2);
A) r                    B) y              C) rld            D) y的ASCII码值
8.设有如下定义:
    int a=2,b, *p=&a,*t=&b;
    要将变量a的值赋值给变量b,可以执行赋值语句8
A) *t=p;                    B) *t=*p;            C) t=p;          D) t=&a;
9.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是9
A) k=*p1+*p2;            B) p2=k;            C) p1=p2;      D) k=*p1 * (*p2);
10.以下对枚举类型名的定义中正确的是10
A) enum a={one,two,three};            B) enum a{"one","two","three"};
C) enum a= {"one","two","three"};      D) enum a {one=9,two=-1,three};
11.下列程序段的输出结果是11
struct abc{int a; int b;int c;};
    struct abc s[2]={1,2,3,4,5,6};
    printf("%d",s[0].a+s[1].b);
A)5                    B) 6              C) 7            D)8
12.如果int在内存占2个字节,以下程序的运行结果是12
#include "stdio.h"
main()
{ struct date
{ int year,month,day;}today;
printf("%d\n",sizeof(struct date));}
A)6                    B) 8            C) 10          D)3
二、填空题
1.下列程序的运行结果是         
    main()
    { int i,x;
        for (i=1,x=1; i<=50; i++)
        { if (x>=6)    break;
          if (x%2==1)
          { x+=5; continue;  }
        x-=3;
    }
      printf("%d  %d\n",x,i );
    }
2.下列程序段的运行结果是        c语言中struct
fun3(int x)
{static int a=3;
a+=x;
return(a);
}
main()
{ int k=2,m=1,n,p;
n=fun3(k);    p=fun3(m);
printf("%d  %d \n",n,p);
}
3.下列程序段的输出结果是       
#include "stdio.h"
struct  num
{ int a;
int b;
float  f;
char g[10];};
main()
{ struct num n={1,3,5.0, "chang"},*pn=&n;
printf("%d  %.1f  %s",pn->b/n.a*++pn->b,(*pn).a+pn->f,n.g);
}
4.下列程序的输出结果是     
main()
{printf("%d\n",fun(9));}
fun(int x)
{int p;
if(x==0||x==1) return(3);
p=x-fun(x-2);
return p;    }
三.程序填空题
下列程序中,函数amin( )的功能是求一个一维整型数组中的最小值
main( )函数中定义了数组a,共10个元素,并调用amin( )函数求数组a中所有元素的最小值。
#include <stdio.h>
int amin(int b[],int n)
{  int min,k;
min=b[0]
for(k=1;k<n;k++)
    if (    1    )  min=b[k];   
  2    ;                       
}                   
void main()
{
int a[10]={1,2,3,4,5,99,7,8,9,10},m;
m=  3  ;                           
  printf("最小值=%d\n",m);
}
C语言第7--10章习题
一、单项选择题
1.下面程序输出结果是1
main()
{ int x,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
f(int b[],int n)
{int i,r;
r=1;
for(i=0;i<=n;i++)  r=r*b[i];
return r;
}
  A)6          B)24          C)120      D)720
2.以下程序运行后,输出结果是2
void fun(int x,int y,int z)
{    z=x*x+y*y;}
main()
{
    int a=31;
    fun(5,2,a);
    printf("%d\n",a);
}
A) 0      B)29        C)31       D)不确定值
3.如有定义char s[10]= "abc";,则下面程序段的功能是3
FILE *fp;
fp=fopen("t2.txt","w")
fputs(s,fp);
fclose(fp);
A) t2.txt中的字符串写入到s        B) s中的字符串写入到t2.txt
C) fp指向的文件中读取字符串        D) s中读取字符串
4C语言中自己定义函数时,允许省写函数类型,此时函数的类型默认为4
A) int          B) void          C) float            D) double
5.有下列函数调用语句,函数fun1()实参个数是5
fun1(a+b,(y=9,y*x),fun2(y,n,k));
A)6                    B) 5                C) 4            D) 3
6.执行下列程序段后,输出结果是6
int c[5]={1,2,11,12,21}, *p, *q=&c[1]; 
p=q;      printf("%d",*(p+2));
A)12                    B) 11              C) 4            D) 3
7.执行下列程序段后,输出结果是7
char s[ ]="world";
printf("%c",*s+2);
A) r                  B) y              C) rld            D) yASCII码值
8.设有如下定义:
    int a=2,b, *p=&a,*t=&b;
    要将变量a的值赋值给变量b,可以执行赋值语句8
A) *t=p;                  B) *t=*p;            C) t=p;          D) t=&a;
9.设p1p2是指向同一个int型一维数组的指针变量,kint型变量,则不能正确执行的语句是9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。