一起答

全国自考高级语言程序设计(一)精选试题及答案6

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 下列函数的主要功能是从形参fp指向的文件中读取形参n-1个字符(或读到字符'\n',或遇到文件尾,)补充字符串结束标记符组成字符串,存人形参str指向的内存。

    #include< stdio.h>

    void f( char *st, int n, FILE *fp)

    {

    int k;

    for(k=0;k<n-1;k++)

    {

    if( feof(fp)) break;

    ________;

    if (*(st+k)=='\n')

    {________;break;}

    }

    ________ ='\0' ;

    return ;

    }

  2. 编写程序输入30个学生的学号、姓名、3门课程的成绩,存入一个结构体类型的数组。统计每个学生的总分并输出学生的学号、姓名、总分。

  3. 利用循环嵌套输出以下图形。

    1

    121

    12321

    1234321

    123454321

  4. 函数f用于计算数组各元素值的平方,函数调用f并输出各元素的值。

    #include< stdio.h>

    void(int a,int s[])

    {

    int i;

    for(i=0;i<________ ;i++)

    s[i]=s[i]*s[i];

    }

    main()

    {

    int i,b[5]={1,2,3,4,5};

    f(5,________);

    for(i=0;i<5;i++)

    printf("%5d",________);

    printf("\n");

    }

  5. 统计文本文件 letter txt中字符'b'、'e'、'g'和'n'各自出现的次数。

    #include< stdio.h>

    void main()

    {

    char ch;

    FILE______;

    int b=0,e=0,g=0,i=0,n=0;

    fp =fopen ("letter. txt",______);

    while(! feof(fp))

    {

    ch= fgetc(fp);

    switch(______)

    {

    case'b':b++;break;

    case'e':++;break;

    case'g':++; break;

    case'i':++;break;

    case'n': n++;

     }

    }

    printf("%d, %d, %d, %d, %d\n", b,e,g,i,n);

    felose(fp);

    }

  6. #include< stdio.h> 

    void main() 

    int x=5; 

    if(x--<5) 

    printf("%d\n",x); 

    else printf("%\",x++); 

    }

  7. #include <stdio. h>

    #define PRI printf

    #define NL "\n"

    #define D "%d"

    #define D1 D NL

    #define D2 D D NL

    #define D3 D D D NL

    #define D4 D D D NL

    #define S "%s"

    int main(void)

    {

    int a=2,b=3,c=4,d=5;

    char s[ ] ="STRING";

    PRI(D1, a);

    PRI(D2, a, b);

    PRI(D3,a, b,c);

    PRI(D4, a, b,c,d);

    PRI(S,s);

    return 0;

    }

  8. #include< stdio.h> 

    void main() 

    {}

    int a[3][4]={1,3,5,7,12,14,16,18,9,6,4,2},j,k,m,n,x; 

    x=m=n=0;

    for(j=2;j>-1;j--) 

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

    if(x<a[j][k])

    x=a[j][k],m=j,n=k;

    printf("a[%d][%d]=%d\n",m,n,x);

    }

  9. #include< stdio.h>

    int fun()

    {

    int m=1;

    static int n=2;

    ++m;++n;

    return(m+n);

    }

    void main()

    {

    int a,b;

    a=fun();

    b=fun();

    printf("a=%d,b=%d\n",a,b);

    }

  10. 在缓冲文件系统中,对文件的读/写是通过________实现的。

  11. 结构体类型的成员本身也可以是结构体类型,这称为结构体类型的_______。

  12. 格式输入/输出函数中,用于输入/输出单个字符的格式字符是________,用于输入输出字符串的格式字符是s。

  13. 若一个函数直接或间接地调用了其自身,这种调用称为_______。

  14. 程序中,若使用库函数 stremp()时,应在程序开头用include令包含_______头文件。

  15. 函数中的变量,若不专门声明为 static型,则隐含为______变量。

  16. 设有语句 typedef float*F;,则数据定义语句Fx,y,z[2];,相当于数据定义语句_______。

  17. 设int i=100;,则循环语句 while(i>=1)i- -;执行后,i的值为________。

  18. C语言中,实现多分支选择结构的是_______语句或if-else-if语句。

  19. 设int x=3;,执行语句x<<=2;后x的值是()

    • A.0
    • B.1
    • C.6
    • D.12
  20. C语言把文件看作是一个字符(字节)的序列,根据数据的组织形式可分为_______和二进制文件两种。

  21. 在C语言中,下列说法不正确的是()

    • A.调用函数时,只能把实参的值传送给形参
    • B.在函数中,最好使用全局外部变量
    • C.形式参数只是局限于所在函数
    • D.被声明为 static存储类型的内部变量是全局变量
  22. 下列语句中,不能将fp指向的文件的内部指针指向文件尾的是()

    • A.fseek(fp,20L,1);
    • B.fseek(fp,0L, SEEK_END);
    • C.fp =fopen("a. txt","ab");
    • D.fp=fopen("a.txt","ab+");
  23. 函数的递归调用是()

    • A.函数的自我调用
    • B.函数的嵌套调用
    • C.自定义函数调用主函数
    • D.系统函数调用主函数
  24. 不属于C语言转义字符的是()

    • A.\
    • B.Iddd
    • C.\b
    • D.Ir
  25. 设有定义int x=8,y,z;,则执行y=z=x++,x=y==z后,变量x值是()

    • A.0
    • B.1
    • C.8
    • D.9
  26. 转义字符\n的作用是()

    • A.竖向跳格
    • B.回车
    • C.退格
    • D.回车换行
  27. 若要定义一个只允许本源程序文件中的所有函数使用的全局变量,则该变量的存储类型是()

    • A.extern
    • B.register
    • C.static
    • D.auto
  28. 关于指针运算符“*”的说法错误的是()

    • A.是单目前缀运算符
    • B.运算对象只能是指针变量
    • C.运算结果是运算对象对应的变量或数组元素等
    • D.运算结合性是自右向左
  29. 下列函数返回值的类型是() 

    int fun(float x) 

    float y; 

    y=3*x-4; 

    return y:

    • A.int
    • B.void
    • C.float
    • D.double
  30. 设char s[]="BeijingChina",执行语句printf("%d,&d\n",stren(s),sizeof(s))后输出结果是()

    • A.12,12
    • B.12,13
    • C.13,12
    • D.13,13
  31. 设有数据定义语句char s1[10]="abc",s2[10]="ABCD";,则执行语句“printf("%d",strlen( strcat(s1,s2)));"后的输出结果是()

    • A.3
    • B.5
    • C.8
    • D.7
  32. 设float,x,y,z,用语句fun(z,((x,y),x+z));中参数的个数是

    • A.4
    • B.3
    • C.2
    • D.1
  33. 计算机的组成部分包括输入设备、输出设备、存储器、运算部件和()

    • A.寄存器
    • B.编译器
    • C.控制部件
    • D.缓存
  34. 已知:char*p,*q;,正确的语句是()

    • A.p*5
    • B.p/=q
    • C.p+=5
    • D.p+=q