栏目导航: 福建招生考试网 > 专升本考试 > 专升本试题 > 文章正文
 
专升本考试C语言模拟试题及参考答案二
福建招考网整理自:2exam.com 2006-12-6 11:11:11

答案仅供参考)

一.单项选择题

1.  以下定义语句中正确的是 (C)
 A)char a='A'b='B'; B)float a=b=10.0;
 C)int a=10,*b=&a; D)float *a,b=&a;

2. 下列运算符中,优先级最高的是 (A)

A. ->           B.  ++              C. &&               D. =

3. 表达式!(x>0&&y>0)等价于 (A)

A. ! (x>0) || ! (y>0)  B. !x>0 || !y>0           C.  !x>0 && !y>0     D. !(x>0) && ! (y>0)

4. 有以下程序
 main()
 { int a=666,b=888;
 printf("%d\n",a,b);
 }

程序运行后的输出结果是(B
 A)
错误信息 B)666 C)888 D)666,888
5.
有以下程序

 main()
 { int i;
 for(i=0;i<3;i++)
 switch(i)
 {
 case 0:printf("%d",i);
 case 2:printf("%d",i);
 default:printf("%d",i);
 }
 }

程序运行后的输出结果是 C
 A)022111 B)021021 C)000122 D)012

6. xy代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 (C)
 A)abs(x-y)<10 B)x-y>-10&& x-y<10
 C)!(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100

7. 数组定义为,int a[11][11]; 则数组a 的元素个数为: (D)

A. 12                   B.  144                       C. 100                        D.  121

8. 对于以下的变量定义,不正确的表达式是:(D

   struct node {

           int  j , k ;

   }x,*p=&x;

A.    p->k=2;      B.  (*p).k=2;              C.   x . k=2                     D.   x->k=2

9. 不正确的赋值或赋初值的方式是 B

A.   char str[ ]=”string”;                         B.  char str[10];  str=”string”;

C.   char *p=”string”;                 D.  char *p; p=”string”;

10. 设程序中不再定义新的变量,写出在函数main中可以使用的所有变量为:(B

   #include <stdio.h>

   int z;

   int p(int x)

   {   static int y;

        return (x+y);

   }

   void main( )

   {   int a,b;

 printf(“%dn”, p(a));

………

   }  

A. a,b                    B. a,b,z                       C.  a,b,y,z                   D.  a,b,x,y,z

11.有以下程序
 main()
 { int i=0,x=0;
 for (;;)
 {
 if(i==3||i==5) continue;
 if (i==6) break;
 i++;
 s+=i;
 };
 printf("%d\n",s);
 }

程序运行后的输出结果是 D
 A)10 B)13 C)21 D)
程序进入死循环
12.
有以下程序

 main()
 { char a,b,c,d;
 scanf("%c,%c,%d,%d",&a,&b,&c,&d);
 printf("c,%c,%c,%c\n",a,b,c,d);
 }

若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是(A
 A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6
13.s12
s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 D
 A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
 C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
14.
有以下定义和语句
 int a[3][2]={1,2,3,4,5,6,},*p[3];
 p[0]=a[1];

*p[0]+1)所代表的数组元素是 (C)
 A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]

15.程序中对fun函数有如下说明
 void *fun();

此说明的含义是:
(C)
 A)fun
了数无返回值

 B)fun
函数的返回值可以是任意的数据类型
 C)fun
函数的返回值是无值型的指针类型
 D)
指针fun指向一个函数,该函数无返回值
16.
有以下程序
 void fun(int *a,int i,int j)
 { int t;
 if(i<J)
 { t=a;a=a[j];a[j]=t;
 i++; j--;
 fun(a,i,j);
 }
 }
 main()
 { int x[]={2,6,18},i;
 fun(x,0,3);
 for(i=0;i<4;i++) printf("%2d",x);
 printf("\n");
 }

程序运行后的输出结果是 (C)
 A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2
17.
有以下说明和定义语句
 struct student
 { int age; char num[8];};
 struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
 struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是 (D)
 A) (p++)->num B)p->num C)(*p).num D)stu[3].age
18.
已定义ch为字符型变量,以下赋值语句中错误的是 (A)
A
ch='\'; Bch=62+3; Cch=NULL; D
ch='\xaa';
19.
以下选项中不能正确把cl定义成结构体变量的是
(B)
A
typedef struct B
struct color cl
{ int red; { int red;
int green; int green;
int blue; int blue;
} COLOR; };
COLOR cl;
C
struct color D
struct
{ int red; { int red;
int green; int green;
int blue; int blue;
} cl; } cl;
20.
有以下程序

fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d\n", r);
}

程序运行后的输出结果是 (D)
A
3 B6 C8 D
12
21.
有以下程序段

main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
}

程序在执行了c=&b;b=&a;语句后,表达式:**c的值是 (C)
A
)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址

22.
设有 int x=11; 则表达式 (x++ * 1/3) 的值是 (A)
 A) 3 B) 4 C) 11 D) 12

23. 下列程序的输出结果是 (C)
 A) 3 B) 3.2 C) 0 D) 3.07
 main()
 { double d=3.2; int x,y;
 x=1.2; y=(x+3.8)/5.0;
 printf("%d \n", d*y);
 }
24.
下列变量定义中合法的是
(A)
 A) short _a=1-.le-1; B) double b=1+5e2.5;
 C) long do=0xfdaL; D) float 2_and=1-e-3;
25.
以下循环体的执行次数是
(C)
 A) 3 B) 2 C) 1 D) 0
 main()
 { int i,j;
 for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);
 }
26.
以下叙述正确的是
(D)
 A) do-while
语句构成的循环不能用其它语句构成的循环来代替。

 B) do-while
语句构成的循环只能用break语句退出。
 C)
do-while语句构成的循环,while后的表达式为非零时结束循环。
 D)
do-while语句构成的循环,while后的表达式为零时结束循环。
27.
下列程序执行后的输出结果是(A
 A) G B) H C) I D) J
 main()
 { int x='f'; printf("%c \n",'A'+(x-'a'+1)); }
28.
下列程序执行后的输出结果是 (A)
 A) 6 B) 7 C) 8 D) 9
 void func(int *a,int b[])
 { b[0]=*a+6; }
 main()
 { int a,b[5];
 a=0; b[0]=3;
 func(&a,b); printf("%d \n,b[0]);
 }
29.
下列程序的运行结果是
(B)
 A) a=%2,b=%5 B) a=2,b=5
 C) a=d, b=d D) a=%d,b=%d
 #include
 main()
 { int a=2,c=5;
 printf("a=%d,b=%d\n",a,c); }
30.
设有数组定义: char array [ ]="China"; 则数组 array所占的空间为
(C)
 A) 4
个字节 B) 5个字节 C) 6个字节 D) 7个字节

31.
下列程序的输出结果是 (B)
 A) 5 B) 6 C) 7 D) 8
 struct abc
 { int a, b, c; };
 main()
 { struct abc s[2]={{1,2,3},{4,5,6}}; int t;
 t=s[0],a+s[1],b;
 printf("%d \n",t);
 }
32.
若有以下调用语句,则不正确的fun函数的首部是
(C)
 A) void fun(int m, int x[]) B) void fun(int s, int h[41])
 C) void fun(int p, int *s) D) void fun(int n, int a)
 main()
 { …
 int a[50],n;
 …
 fun(n, &a[9]);
 …
 }
33.
设已有定义: char *st="how are you"; 下列程序段中正确的是
(A)
 A) char a[11], *p; strcpy(p=a+1,&st[4]);
 B) char a[11]; strcpy(++a, st);
 C) char a[11]; strcpy(a, st);
 D) char a[], *p; strcpy(p=&a[1],st+2);
34.
下列程序执行后的输出结果是
(A)
 A) you&ne B) you C) me D) err
 mai()
 { char arr[2][4];
 strcpy(arr,"you"); strcpy(arr[1],"me");
 arr[0][3]='&';
 printf("%s \n",arr);
 }
35.
下列程序执行后的输出结果是
(B)
 A) 6 B) 8 C) 10 D) 12
 #define MA(x) x*(x-1)
 main()
 { int a=1,b=2; printf("%d \n",MA(1+a+b));}
36.
变量a所占内存字节数是
(C)
 A) 4 B) 5 C) 6 D) 8
 union U
 { char st[4];
 int i;
 long l;
 };
 struct A
 { int c;
 union U u;
 }a;

二、填空题

1. 表达式1<0<5的值是        1       

   3. 表达式 ~(10>>1^~5) 的值是         0            

2. 设变量已正确定义,在程序段B中填入正确的内容,使程序段 A 和程序段B等价。

       程序段 A

       for(k=s=0;k<=10;s+=a[k++])

            if(a[k]<0) break;

       程序段B

       for(k=0,s=0; ; s+=a[k++])

            if(   a[k]<0 || k>10         ) break;

3. 下列程序的输出结果是      100         

       #define T 10

       #define  MD 3*T

       printf(“%d”,30/MD);

4. 下列程序的输出结果是    k=5, s=15           

      int k,s;

          for(k=s=0;k<10&&s<=10;s+=k)

              k++;

          printf(“k=%d,s=%d”,k,s);

5. 下列程序的输出结果是      5,9         

       #include <stdio.h>

int f(int m)

{    static int k=2;

        k++;

     return k+m;

}

void main( )

{    int s;

     s=f(2);

     printf(“%d,%dn”,s,f(s));

}

  6.  对于以下递归函数f,条用f(3)的返回值是     -2          

      f(int n)

       { 

     return((n<=0)?n:f(n-1)+f(n-2));

       }

 7. 下列程序的输出结果是       -10        

             int c[ ]={10,0,-10};

       int *k=c+2;

       printf(“%d”,*k--);

 8. 下列程序的输出结果是    2  1           

       int k=1,j=2,*p=&k,*q=p;

       p=&j;

       printf(“%d %d”,*p,*q);

 9. 下列程序的输出结果是      un, g          

       #include <stdio.h>

       char *f(char *str)

       {   return str=”fun”;

 }

void main( )

{    char *str=”one”;

      printf(“%s,%cn”, f(str)+1,*f(str)+1);

}

 10. 下列程序的输出结果是     1,3          

       #include <stdio.h>

       void p(int *x,int y)

       {   ++*x;     y--;  }

       void main( )

       {   int x=0,y=3;

            p(&x,y);

            printf(“%d,%d”x,y);

    }

 11. 下列程序的输出结果是    1 0 0 1           

       #include <stdio.h>

       {   int j,k,a[2][2];

            for(k=1;k<3;k++)

               for(j=1;j<3;j++)

              a[k-1][j-1]=(k/j)*(j/k);

            for(k=0;k<2;k++)

               for(j=0;j<2;j++)

              printf(”%d”,a[k][j]);

       }

12. 下面程序的功能是:计算110之间奇数之和及偶数之和,请填空。
 #include
 main()
 { int a, b, c, i;
 a=c=0;
 for(i=0;i<10;i+=2)
 { a+=i;
   b = i + 1    ;
 c+=b;
 }
 printf("
偶数之和=%d\n",a);
 printf("
奇数之和
=%d\n",c-11);
 }
13.
下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。

 #include
 main()
 { int i, j;
 for(i=0;   i<10    ; i++)
 { j=i*10+6;
 if(    i % 3 != 0   ) continue;
 printf("%d",j);
 }
 }

网站版权与免责声明  
由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
  资料库
·2007年我国独立学院本地生源比例情况(本
·2007年我国民办大学本地生源比例情况(本
·2008中国最受媒体关注独立学院排行榜
·2008中国最受媒体关注民办大学排行榜
·2008中国独立学院本科专业学费排行榜
·2008中国民办大学专业学费排行榜
·2008年中国独立学院排行榜100强
·2008年中国民办大学排行榜100强
·2008年中国独立学院排行榜10强
·2008年中国民办大学排行榜10强
·2008中国民办大学专科专业学费排行榜
·2008中国一流大学名单排行
·北京民办高校名单
·2008年新设置高校名单
·中国大学50强排行榜
·上海市列入985工程及211工程的院校名单
·各省高招办联系方式
·独立学院设置与管理办法-中华人民共和国教
·教育部2007年认定的国家级重点中等职业学
·2007年具有招生资格的独立院校名单
·2007年度经教育部审批不同意设置的高等学
·2007年度经教育部审批不同意设置的高等学
·2007年度经教育部审批同意设置的高等学校
·2007年度经教育部备案或审批同意设置的高
·2007年第二批高校特色专业建设点名单
·2007年度第一批高等学校特色专业建设点名
·福建省高等职业教育精品专业名单
·各学历层次高校学生毕业证书内容样本
·福建省2007年度第一批全国高校特色专业名
·中国校友会网2008中国大学排行榜501-600强
·中国校友会网2008中国大学排行榜401-500强
·中国校友会网2008中国大学排行榜301-400强
·中国校友会网2008中国大学排行榜201-300强
·2008年中国最受媒体关注大学排行榜100强
·2008年中国大学排行榜101-200强-中国校友
·中国校友会网2008中国大学排行榜100强
·2007年度国家精品课程(本科)名单
·2008年具有小语种单独招生资格的25所院校
·59所自主招生试点高校名单及联系方式
·自主招生高校名单截止2007年共59所
·2007年具有成人高等学历招生资格的成人高
·普通本科高校、高等职业学校国家励志奖学
·普通本科高校、高等职业学校国家助学金申
·普通本科高校、高等职业学校国家助学金管
·普通本科高校、高等职业学校国家奖学金管
·高等学校学生勤工助学管理办法
·中国校友会网2007中国最受媒体关注独立学
·2007中国独立学院学费排行榜
·中国校友会网2007年中国独立学院排行榜10
·中国校友会网2007中国最受媒体关注民办大
·中国校友会网2007中国最受媒体关注民办大
·中国校友会网2007中国民办大学学费排行榜
·中国校友会网2007年中国民办大学排行榜10
·教育部直属师范大学师范生免费教育实施办
·截止2007年5月8日具有招生资格的专科/高职
·2007年中国大学排行榜物资资源排行
·2007年中国大学排行榜教师资源排行
·2007年中国大学排行榜学生情况排行
·2007年中国大学排行榜学术成果排行
·2007年中国大学排行榜学术资源排行
·2007年中国大学排行榜声誉排行
·2007年中国大学排行榜综合指标排行
·具有教授或者副教授评审权的高等学校名单
·教育部关于公布2007年普通高等教育高职高
·留学中介服务机构名单(截至2007年3月15日
·厦门市被批准正式成立的民办高校名单
·中央教育部直属6所师范院校名单
·民办高等学校办学管理若干规定
·部分外国语专业单独招生试点高校名单
·香港最佳大学排名公布 港大等位列三甲
·开设港、澳、台、侨学生高考补习班学校名
·开设港、澳、台、华侨学生预科班学校名单
·部分招收华侨、港澳地区及台湾省学生学校
·全球MBA百强榜出炉
·2003-2007年贵州省大学前3名排行
·2003-2007年云南省大学前4名排行
·2003-2007年新疆区大学前3名排行
·2003-2007年甘肃省大学前3名排行
·2003-2007年广西自治区大学前4名排行
·2003-2007年福建省大学前4名排行