普通高校专升本考试C语言程序设计模拟试题2

时间:2013-06-17 10:02 来源:未知 作者:博联教育 点击:

一、填空題(每空1分,共20分)

1.C程序是由      构成的,一个C源程序至少且仅包含一个       。

2.C语言规定标识符只能由      、      和下划线3种字符组成,且第一个字符必须为     或下划线。

3.著名计算机科学家沃思提出的一个公式:数据结构+算法=    

4.Turbo C++中,若有语句:int a;则a的范围是-32768~       

5.C中的转义符“\n”表示:         。

6.表达式21 % 4 的值为        

7.C语言中没有专门的       变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组。

8.已知a=79.345,则表达式(int)a 的值为         。

9.表达式3 & 2 的值是         。

10. 若a=5,经a+=3;后a=     

11.已知ch='B',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为      。

12.C中定义符号常量PI为3.14159的宏命令是        。

13.函数形参和调用的实参是普通变量时,参数按      方式进行传递。

14.C中逻辑运算符的优先次序是:    à     à     。

15.定义一个共用体变量,共三个成员分别是字符型、整形和浮点型,则该共用体变量所占内存长度为     个字节。

二、单项选择题(每题2分,共40分)

1.下列C语言标识符中,合法的是(    )

       A. if                                      B. return

       C. 23a                                     D. a23

2.欲从键盘给整型变量a赋值3,b赋值2,则对应语句scanf("%d,%d",&a,&b);  的输入格式是()

       A. 3  2                                    B.  2,3

       C. 2  3                                    D.  3,2

3. C语言源程序文件经过C编译程序编译连接之后生成的文件后缀名(    )

       A.  .exe                                   B.  .obj

       C.  .bat                                   D.  .c

4.结构化程序设计的三种基本结构是(    )

       A. 顺序结构、复杂结构、循环结构           

       B. 顺序结构、复杂结构、分支结构

       C. 顺序结构、分支结构、选择结构           

       D. 顺序结构、选择结构、循环结构

5.以下表达式中,值为0的是(    )

       A. 4%5                                     B. 4/5.0

       C. 4/5                                     D. 4<5

6.设下列表达式中所涉及的变量均已正确定义,则不符合C语言语法的是(    )

       A. 4&&3                                    B. a++

       C. a=b=5                                   D. int(3.14159)

7.设变量定义为【int a[3]={1,3,5}, *p=&a[0]+1;】,则*p的值是(    )

       A. 2                                       B. 3

       C. 4                                       D. &a[0]+1

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

       A. 全局变量                                B. 外部变量

       C. 全程变量                                D. 内部变量

9.对于以下的变量定义,正确的表达式是(    )

           struct node {

             char s[10];

             int k;

             } p[4];

       A. p->k=2                                  B. p[0]->k=2

       C. p(0)->k=2                               D. p->s='a'

10.若变量c为char类型,则能正确判断出c为小写字母的表达式是(    )

       A. (c>= 'a')||(c<= 'z')                    B. 'a'<=c<= 'z'

       C. (c>= 'a')&&(c<= 'z')                    D. ('a'<=c)and ('z'>=c)

11.C语言中以“只读”方式打开文件,应选择的参数是(    )

       A. o                                       B. w

       C. a                                       D. r

12.设变量定义为【int a[2][3]={1,2,3,4,5,6}, *p=a[1];】,则p的值是(    )

       A. 数组a的首地址

B. 数组a的第1个元素的地址

       C. 数组a的第“1”行的首地址              

D. 数组a的第“1”列的首地址

13.用链表表示线性表的优点是(    )

       A.便于随机存取                           

       B.便于插入和删除操作

       C.花费的存储空间较顺序存储少             

       D.数据元素的物理顺序与逻辑顺序相同

14. 结构化程序设计主要强调的是(    )

       A.程序的规模                             

       B.程序设计语言的先进性

       C.程序的效率                             

       D.程序清晰的结构

15.以下表达式中,不正确的字符常量是(    )

       A. 'n’                                    B."a"

       C. '2’                                    D. '\101’

16.若【int x=12,*p=x;】,则正确的赋值表达式是(    )

       A. p=x                                     B. p=*x

       C. *p=x                                    D. *p=*x

17.设有如下程序段:

      int i=5;

for(;i<=10;)i++;

执行完这段程序后,i的值是(    )

   A. 5                                       B. 6

   C. 10                                      D. 11

18.设有如下程序段:

      int i=15;

while(i<15)i++;

则以下描述中正确的是(    )

   A. 循环体语句执行15次                    

   B. 这是一个死循环

   C. 循环体语句一次也不执行                 

   D. 循环体语句只执行一次

19.设有如下程序段:

       char a[2][6]={"abcde","uvwxy"},*p=a[1];

       printf("\n%s",p);

这段程序执行后,屏幕输出的结果是(    )

A. abced                                     B. uvwxy

     C. b                                         D. v 

20.设有如下程序段:

      union

{

int i;

        char c;

}a;

a.i=12;

a.c='A';

printf("\n%d",a.i);

这段程序执行后,屏幕输出的结果是(    )

   A. 12                                      B. 97

   C. 65                                      D. A

 

三、程序填空(每空3分,共15分)

1.已知fibonacci数列:1,1,2,3,5,8,......,它可由下面公式表述:

           F(1)=1               n=1

           F(2)=1               n=2

           F(n)=F(n-1)+F(n-2)   n>2

以下程序的功能是求F(49)的值,请在下划线处填上正确内容,使程序能正确运行。

#include <math.h>

#include <stdio.h>

#include <conio.h>

main()

{

int i;

  double f[50];              

  f[1]=      ;f[2]=          ;

  for(i=3;i<=49;i++)

     f[i]=           ;    

  printf("f[49]=%12.0lf",f[49]);

}

 

2.以下程序的功能是用递归法求n!,请在下划线处填上正确的语句,使程序能正确运行。

#include <stdio.h>

long f(int n)

{

if(n==1)return(        );                 

 else return (                      );            

}

main()

{

 int n;

  printf("n=");

  scanf("%d",&n);

  printf("%d!=%ld",n,f(n));

}

 

四、写出以下程序运行结果(每题4分,共12分)

1.以下程序输出的结果是:

           #include "stdio.h"

            void main()

            {

char s[]="hello\nworld";

             printf("%s",s);

            }

      

2.以下程序输出的结果是:

#include "stdio.h"

void main()

{

int i,g,s,b,q;

 for(i=1234;i<1236;i++) 

{

g=i/1 %10;

     s=i/10 % 10;

     b=i/100 % 10;

     q=i/1000 % 10;

     printf("%d%d%d%d\n",g,s,b,q);

    }

}

3. 以下程序输出的结果是:

            #include "stdio.h"

            void main()

            {

char ch[]="I-love-Great-Wall-of-China!";

             char *p=ch;

             printf("%c",*(p+5));

           }

 

五、编程题(第1题5分,第2题8分,共13分)

1.将一张百元大钞对换成1元、5元、10元的小钞,要求每种小钞最少要一张,编程求共有多少种对换方法。

 

2.编程输出所有"水仙花数"。(一个三位数等于它每一位数字的立方和,那么我们称这个数为"水仙花数" )

云南博联教育 云南成人高考报名,昆明成人高考 云南函授报名,昆明函授报名