一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 编写程序,用以建立某班级的学生档案信息,每个学生档案信息包括姓名邮编、电话。

  2. 输入三个国家的名称按字母顺序排序后输出。

    #include< stdio.h>

    #include< string.h>

    int main(void)

    {

    char *s[ ]={"China",'America,Russia}*p/*定义指针数组s和指针变p*/

    int i,j,k=3;

    for(i=0;ifor(j=0;j<______;j++)

    if( strcmp(s[j], s[j+1])>0)

    {

    p=s[j];

    s[j]=______;

    s[j+1]=p;

    }

    for(i=0; i

    printf("%s\n",s[i]);

    return 0;

    }

  3. 用指针方法实现:输入8个整数,将其中的最大数和最后一个数交换,最小数和第1个数交换,然后将8个整数倒序输出。

  4. 下面的程序是使用结构体类型来计算复数m和n的差。

    #include<stdio.h>

    void main()

    {

    struct comp

    {

    float re; float im;

    };

    ________m,n,z;

    scanf("%f, %f, %f, %f", &m. re, &m. im, &n. re, &n. im);

    z.re=________,z.im=________;

    printf("%6.2f+%6. 2fi \n", z. re, z. im);

    }

  5. 将文本文件r.txt中的字符逐一读出并显示在屏幕上。

    #include< stdio.h>

    #include< stdlib.h>

    void main()

    {

    FILE*fp

    char ch;

    if((fp fopen("r. txt",______))==NULL)/*第一空*/

    {

    printf("can't open file! \n"); exit(0);

    }

    printf("读文件并显示:\n");

    while(! feof(fp))

    {

    ch= fgetc(fp);

    printf("%c",_____);/*第二空*/

    }

    printf("\n");

    fclose(_______);/*第三空*/

    }

  6. struct stu 

    int num; 

     char name[10]; 

    int age; 

    }; 

    void py(struct stu *p)

    {

     printf("%s\n",( *p). name);

     } 

    void main() 

    struct stu student [3]={{ 1001, "Sun",25}

                       {1002,"Ling",23}, 

                       {1003,"Shen",22}}; 

    py(student+2) 

    }

  7. #include< stdio.h>

    void main()

    {

    int i;

    char *country[ ]={"Brazil", "Russia", "India","China", "SouthAfrica"};

    for(i=1;i<4;i+=2)

    printf("%s\n", country[i]);

    }

  8. C盘中p1.c.txt文件的内容为: abcde。盘中p1.c.txt为空文档。

    #include< stdio.h>

    #include< stdlib.h>

    void main()

    {

    FILE *f1, *f2;

    int k;

    if((f1= fopen("C: \\pl. c. txt", "r"))= =NULL)

    {

    printf("can not open file!\n");

    exit(0)

    }

    if((f2= fopen "D: \\p1.c. txt", w")) =NULL)

    {

    printf("can not open file! \n");

    exit(0);

    }

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

    {

    if( feof(f1))break;

    fputc(fgetc(f1), f2);

    }

    printf("复制成功");

    fclose(f1);

    fclose(f2);

    }

  9. 设 float[6][4];,则数组a中第一维下标的最大值是________。

  10. #include< stdio.h>

    #define MAX(x,y,z)(x >y? (x>z? x: z): ( y>z? y:z))

    int main(void)

    {

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

    printf("%d,",MAX(a,b,c));

    printf("%d,",MAX(a*b,b,b+a));

    printf("%d \n", MAX(a, b+c, a*c));

    return 0;

    }

  11. 利用形参和实参结合传递结构体类型数据,分为_______和值传递两种方式。

  12. 无参宏定义的一般形式为_______。

  13. 设inta[2][5]={{8},{4}};,则数组元素_______的值为4。

  14. 机器语言和汇编语言都是面向机器的语言,也称为______。

  15. C语言的转移语句包括goto语句、 break语句、______和 return语句。

  16. C程序中调用字 isalpha符处理库函数(),则需要使用#include命令包含头文件______。

  17. 值传递是把实参的______传给被调用函数的形参。

  18. 取地址运算符是_______运算符。

  19. 设 typedef float REAL REAL=1;,表达式x/2的值是________。

  20. C语言中规定,程序中各函数之间()

    • A.既允许直接递归调用,也允许间接递归调用
    • B.不允许直接递归调用,也不允许间接递归调用
    • C.允许直接递归调用,不允许间接递归调用
    • D.不允许直接递归调用,允许间接递归调用
  21. 为了判断两个字符串s1和s2是否相等,应当使用()

    • A.if(s1 ==s2)
    • B.if(s1 =s2)
    • C.if(strcmp(s1, s2))
    • D.if(strcmp(s1,s2)==0)
  22. 执行语句for(k=3;++k<5;k++)++k;后,变量k的值是()

    • A.3
    • B.5
    • C.6
    • D.7
  23. 运行下列程序后,输出结果是() 

    #include< stdio.h> 

    f(int x, int y, int *z) 

     return(*z=x*x+y*y); 

    void main() 

    int a=3; 

    f(f(1,2,&a),f(1,2,&a),&a); 

    printf("%d",a); 

    }

    • A.9
    • B.10
    • C.50
    • D.60
  24. 函数中定义的变量,其作用域是()

    • A.本函数
    • B.本程序的所有文件
    • C.本文件的所有函数
    • D.本文件的第一个函数
  25. 以下数组的初始化合法的是()

    • A.char a[6] ="string"
    • B.inta[5]={0,1,2,3,4,5};
    • C.char a ="string";
    • D.inta[]={0,1,2,3,4,5}
  26. 可以作为自定义标识符的是()

    • A.2x
    • B.break
    • C.m-n
    • D.m_n
  27. 设有数组定义语句“int a[50];”,下列数组元素引用中下标不越界的是()

    • A.a[0]
    • B.a[-1]
    • C.a[50]
    • D.a[51]
  28. 设int m=5;,语句 while(m= =0) printf("%d",m-=2);的循环体执行的次数是()

    • A.0
    • B.1
    • C.2
    • D.无限
  29. 指针变量指向一维数组后,可以进行的运算不包括()

    • A.逻辑运算
    • B.赋值运算
    • C.算术运算
    • D.关系运算
  30. 设int m=5,n,*p1,*p2;,下列程序段正确的是()

    • A.p1 =&m; p2 =p1;
    • B.p1=&m; p2=* p1;
    • C.p1=&m;p2=&p1;
    • D.p1=&m;p2=&n;*p1=p2;
  31. 变量的指针是指该变量的()

    • A.名字
    • B.一个标志
    • C.地址
    • D.值
  32. 设int m=5,*p;,使p指向变量m的语句是()

    • A.m=p;
    • B.p=m;
    • C.*p=*m;
    • D.p=&m;
  33. 以下不正确的描述是()

    • A.break语句不能用于除循环语句和 switch句以外的任何其他语句
    • B.在 switch语句中使用 break语句和 continue语句的作用相同
    • C.在循环语句中使用 continue语句是为了结束本次循环而不是终止整个循环的执行
    • D.在循环语句中使用 break语句是为了使流程跳出循环体提前结束循环
  34. C程序的组成是()

    • A.若干子程序
    • B.循环体
    • C.若干过程
    • D.语句