试题答案

3773考试网专升本考试试题答案正文

专升本考试C语言模拟试题及参考答案三

来源:fjedu.com 2006-12-6 11:15:08

(答案仅供参考)

一、单项选择题

1.   C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。

    A”.c”      B“.obj”       C“.exe”      D“.bas”

2.   以下选项中不正确的整型常量是_C____

    A 12L        B -10         C 1,900      D 123U

3.   表达式___C___的值是0

A3%5       B3/5.0         C3/5         D3<5

4.   表达式 !(x>0||y>0) 等价于__D___

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

5.   若变量已正确定义并赋值,表达式__D____不符合C语言语法。

A4&&3    B+a     Ca=b=5        Dint(3.14)

6.   若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。

   A2030,40      B20 30 40   C20, 30 40    D20, 30,40

7.   执行语句 printf(” __D____”,  2); 将得到出错信息。

A%d     B%o        C%x    D%f

8.   设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。

A12         B13         C14         D15

9.   设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__

A2           B3           C4         D&a[0]+1

10.  若变量已正确定义并赋值,表达式 -k++ 等价于__A____

A-(k++)    B(-k)++     C-(k+1)        D-(++k)

11.  C 语言程序中,在函数内部定义的变量称为__D____

A、全局变量     B、全程变量    C、外部变量  D、内部变量

12.  x是整型变量,表达式 (x=10.0/4.0) 的值是__D___

A2.5        B 2.0      C 3      D2

13.   对于以下的变量定义,表达式__A____是正确的。

       struct node {

              char s[10];

              int k;

       } p[4];

Ap->k=2       Bp[0].s=“abc”        Cp[0]->k=2       Dp->s=‘a’

14.   下列运算符中,优先级从高到低依次为__D___

A&&!||        B||&&!     C&&||!       D !,&&||

15.   下列程序段的输出结果是__B___

int  *p,  *q,  k = 1, j=10 ;

p=&j; q = &k ;  p = q ; (*p)++;

printf("%d",*q);

A1         B2         C10         D11

16 以下各选项企图说明一种新的类型名,其中正确的是水量 C
A) typedef v1 int; B) typedef v2=int;
C) typedefv1 int v3; D) typedef v4: int;
17.
以下选项中,非法的字符常量是 C
A) ‘\t’ B) ‘\17’ C
“n” D) ‘\xaa’
18.
以下程序的输出结果是 C

main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
19.
以下程序的输出结果是(B
main()
{ char st[20]= “hello\0\t\\\”;
printf(%d %d \n”,strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20.
以下程序的输出结果是 D
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(“%d\n”,a);
}
A) 101 B) 6 C) 5 D) 4
21.
以下程序的输出结果是 D
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
{ a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf(%d\n”,a.u.x);
}
A) 4 B) 5 C) 6 D) 0
22.
以下程序段的输出结果是 (A)
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A) 9 B) 12 C) 13 D) 14
23.
以下程序的输出结果是
(B)
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
24.
不合法的main函数命令行参数表示形式是
(C)
A) main(int a,char *c[]) B) main(int arc,char **arv)
C) main(int argc,char *argv) D) main(int argv,char *argc[])
25.
有以下程序

main()
{ char *s[]={"one","two","three"},*p;
 p=s[1];
 printf("%c,%s\n",*(p+1),s[0]);
}

执行后输出结果是 (C)
A) n,two B) t,one C)w,one D) o,two
26.
设有如下说明

typedef struct
{ int n; char c; double x;}STD;

则以下选项中,能正确定义结构体数组并赋初值的语句是 (A)
A) STD tt[2]={{1,'A',62},{2, 'B',75}};
B) STD tt[2]={1,"A",62},2, "B",75};
C) struct tt[2]={{1,'A'},{2, 'B'}};
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
27. 若变量cchar类型,则能正确判断出c为小写字母的表达式是(  D  )。

A) 'a'<=c<= 'z'           B) (c>= 'a')||(c<= 'z')
C) ('a'<=c)and ('z'>=c)     D) (c>= 'a')&&(c<= 'z')

 

 



二、填空题

1. ch是字符型变量,判断ch为英文字母的表达式是:

(ch>=’A’&&ch,=’Z’)||(ch>=’a’&&ch<=’z’) __

2.  计算下列分段函数的 if 语句是_ if(x>0)y=1;else if(x=0)y=0;else y=-1;___

      1      x>0

y=    0      x=0

      -1     x<0

3.  表达式 !!5的值是__1____

4.  下列程序段的输出结果是___12___

printf("%xn", (0x19 <<1) & 0x17);

5.  下列程序段的输出结果是__ k=4 s=6___ 

int k, s;

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

              if (s>k) break ;

    else s += k;

printf("k=%d s=%d", k, s);

6.    下列程序段的输出结果是__15___ 

    #define MIN(x,y)   (x)<(y)?(x) : (y)

    printf("%d",10*MIN(10,15));

7.    下列程序在运行时可能会出错,原因是__指针变量s未赋初值____

       # include

void main( )

{   char *s;

           gets(s);

    puts(s);

}

8.    下列程序段的输出是___6  0__

# include

    int f(int m)                     

{   static int k=0;

    int s=0;           

        for(; k<=m; k++) s++;

        return s;

}

void main( )

{  int s1, s2;

   s1=f(5);

   s2=f(3);

   printf("%d %d\n", s1, s2);

}

9.    下列程序段的输出结果是__ fgh ___ 

char  *st[ ]={"abcd","efgh","ijkl","mnop"};

printf("%s", *(st+1)+1);

10.  typedef定义一个含10个元素的整型数组ARR

             typedef  int  ARR[10];       

11.以下程序调用findmax函数返回数组中的最大值,请填空。
findmax(int *a,int n)
{ int *p,*s;
for(p=a,s=a; p-a
if (   *p>*s    ) s=p;
return(*s);
}
main()
{ int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}

三、程序()填空题

1.设变量x, y, z已正确定义和赋值,请仔细阅读程序段A,然后在程序段B中填入正确的内容,使程序段A和程序段B有相同的功能。

程序段A

程序段B

x=x+y;

y=x-y;

x=x-y;

z=x+y;

  z=x  ;

  x=y  ;

y=z;

z=x+y;

2.请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。

char *f1(char s[ ], char t[])

{  int k;

   for(k=0; t[k]!=' '; k++)

      s[k]=t[k];

   s[k]=' ';

   return s;

}

触屏版 电脑版
3773考试网 琼ICP备12003406号-1