二级c语言分类模拟题524,c语言二级考试模拟题库

发布时间:2022-11-24

本文目录一览:

  1. 2009年上半年全国计算机等级考试二级C语言笔试试题及答案
  2. 计算机二级C语言笔试题和面试题答案目
  3. 计算机二级c语言程序设计有哪些题型?
  4. 求历届江苏省计算机等级考试二级C语言的试题及答案
  5. 计算机二级考试C语言模拟试题二

2009年上半年全国计算机等级考试二级C语言笔试试题及答案

一、选择题(每题2分,共计70分)

  1. (1)下列叙述中正确的是
    A) 栈是先进先出的线性表
    B) 队列是"先进后出"的线性表
    C) 循环队列是非线性结构
    D) 有序线性表即可以采用顺序存储结构,也可以采用链式存储结构
  2. (2)支持子程序调用的数据结构是
    A) 栈
    B) 树
    C) 队列
    D) 二叉树
  3. (3)某二叉树有5个读为2的结点,则该二叉树中的叶子结点数是
    A) 10
    B) 8
    C) 6
    D) 4
  4. (4)下列排序方法中,最坏情况下比较次数最少的是
    A) 冒泡排序
    B) 简单选择排序
    C) 直接插入排序
    D) 堆排序
  5. (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是
    A) 编译程序
    B) 操作系统
    C) 教务管理系统
    D) 汇编程序
  6. (6)下面叙述中错误的是
    A) 软件测试的目的是发现错误并改正错误
    B) 对被调试程序进行"错误定位"是程序调试的必要步骤
    C) 程序调试也成为Debug
    D) 软件测试应严格执行测试计划,排除测试的随意性
  7. (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
    A) 提高耦合性降低内聚性有利于提高模块的独立性
    B) 降低耦合性提高内聚性有利于提高模块的独立性
    C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
    D) 内聚性是指模块间互相连接的紧密程度
  8. (8)数据库应用系统中的核心问题是
    A) 数据库设计
    B) 数据库系统设计
    C) 数据库维护
    D) 数据库管理员培训
  9. (9)有两个关系R,S如下:
    由关系R通过运算得到关系S,则所使用的运算为
    A) 选择
    B) 投影
    C) 插入
    D) 连接
  10. (10)将E-R图转换为关系模式时,实体和联系都可以表示为
    A) 属性
    B) 键
    C) 关系
    D) 域
  11. (11)以下选项中合法的标识符是
    A) 1_1
    B) 1-1
    C) 11
    D) 1
    _
  12. (12)若函数中有定义语句:int k;,则
    A) 系统将自动给k赋初值0
    B) 这是k中的值无定义
    C) 系统将自动给k赋初值-1
    D) 这时k中无任何值
  13. (13)以下选项中,能用作数据常量的是
    A) o115
    B) 0118
    C) 1.5e1.5
    D) 115L
  14. (14)设有定义:int x=2;,以下表达式中,值不为6的是
    A) x*=x+1
    B) x++,2x
    C) x
    =(1+x)
    D) 2*x,x+=2
  15. (15)程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是
    A) 123.141593
    B) 12 3.141593
    C) 12,3.141593
    D) 123.1415930
  16. (16)若有定义语句:double x,y,*px,*py;执行了px=x;py=y;之后,正确的输入语句是
    A) scanf("%f%f",x,y);
    B) scanf("%f%f" x,y);
    C) scanf("%lf%le",px,py);
    D) scanf("%lf%lf",x,y);
  17. (17)以下是if语句的基本形式:
    if(表达式) 语句
    其中"表达式"
    A) 必须是逻辑表达式
    B) 必须是关系表达式
    C) 必须是逻辑表达式或关系表达式
    D) 可以是任意合法的表达式
  18. (18)有以下程序
    #include stdio.h
    main()
    {
        int x;
        scanf("%d",x);
        if(x=3) ; else
        if(x!=10) printf("%d\n",x);
    }
    
    程序运行时,输入的值在哪个范围才会有输出结果
    A) 不等于10的整数
    B) 大于3且不等于10的整数
    C) 大于3或等于10的整数
    D) 小于3的整数
  19. (19)有以下程序
    #include stdio.h
    main()
    {
        int a=1,b=2,c=3,d=0;
        if (a==1 b++==2)
            if (b!=2||c--!=3)
                printf("%d,%d,%d\n",a,b,c);
            else printf("%d,%d,%d\n",a,b,c);
        else printf("%d,%d,%d\n",a,b,c);
    }
    
    程序运行后输出结果是
    A) 1,2,3
    B) 1,3,2
    C) 1,3,3
    D) 3,2,1
  20. (20)以下程序段中的变量已正确定义
    for(i=0;i4;i++,j++)
        for(k=1;k3;k++); printf("*");
    
    程序段的输出结果是
    A) ********
    B) ****
    C) **
    D) *
  21. (21)有以下程序
    #include stdio.h
    main()
    {
        char *s={"ABC"};
        do
        {
            printf("%d",*s%10);s++;
        } while (*s);
    }
    
    注意:字母A的ASCII码值为65。程序运行后的输出结果是
    A) 5670
    B) 656667
    C) 567
    D) ABC
  22. (22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
    A) n=0;while((ch=getchar())!=\n)n++;
    B) n=0;while(getchar()!=\n)n++;
    C) for(n=0;getchar()!=\n;n++);
    D) n=0;for(ch=getchar();ch!=\n;n++);
  23. (23)有以下程序
    #include stdio.h
    main()
    {
        int a1,a2; char c1,c2;
        scanf("%d%c%d%c",a1,c1,a2,c2);
        printf("%d,%c,%d,%c",a1,c1,a2,c2);
    }
    
    若通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,
    程序输出结果是:12,a,34,b 则正确的输入格式是(以下_代表空格,CR代表回车)
    A) 12a34bCR
    B) 12_a_34_bCR
    C) 12,a,34,bCR
    D) 12_a34_bCR
  24. (24)有以下程序
    #include stdio.h
    int f(int x,int y)
    {
        return ((y-x)*x);
    }
    main()
    {
        int a=3,b=4,c=5,d;
        d=f(f(a,b),f(a,c));
        printf("%d\n",d);
    }
    
    程序运行后的输出结果是
    A) 10
    B) 9
    C) 8
    D) 7
  25. (25)有以下程序
    #include stdio.h
    void fun(char *s)
    {
        while(*s)
        {
            if (*s%2==0) printf("%c",*s);
            s++;
        }
    }
    main()
    {
        char a[]={"good"};
        fun(a); printf("\n");
    }
    
    注意:字母a的ASCII码值为97,程序运行后的输出结果是
    A) d
    B) go
    C) god
    D) good
  26. (26)有以下程序
    #include stdio.h
    void fun(int *a,int *b)
    {
        int *c;
        c=a;a=b;b=c;
    }
    main()
    {
        int x=3,y=5,*p=x,*q=y;
        fun(p,q); printf("%d,%d,",*p,*q);
        fun(x,y);printf("%d,%d\n",*p,*q);
    }
    
    程序运行后输出的结果是
    A) 3,5,5,3
    B) 3,5,3,5
    C) 5,3,3,5
    D) 5,3,5,3
  27. (27)有以下程序
    #include stdio.h
    void f(int *p,int *q);
    main()
    {
        int m=1,n=2,*r=m;
        f(r,n); printf("%d,%d",m,n);
    }
    void f(int *p,int *q)
    {
        p=p+1;*q=*q+1;
    }
    
    程序运行后的输出结果是
    A) 1,3
    B) 2,3
    C) 1,4
    D) 1,2
  28. (28)以下函数按每行8个输出数组中的数据
    #include stdio.h
    void fun(int *w,int n)
    {
        int i;
        for(i=0;in;i++)
        {
            ____________
            printf("%d ",w[i]);
        }
        printf("\n");
    }
    
    下划线处应填入的语句是
    A) if(i/8==0) printf("\n");
    B) if(i/8==0) continue;
    C) if(i%8==0) printf("\n");
    D) if(i%8==0) continue;
  29. (29)若有以下定义
    int x[10],*pt=x;
    
    则对数组元素的正确引用是
    A) *x[10]
    B) *(x+3)
    C) *(pt+10)
    D) pt+3
  30. (30)设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是
    A) gets(s);
    B) while((s[i++]=getchar())!=\n);s[i]=\0;
    C) scanf("%s",s);
    D) do{scanf("%c",s[i]);}while(s[i++]!=\n);s[i]=\0;
  31. (31)有以下程序
    #include stdio.h
    main()
    {
        char *a[]={"abcd","ef","gh","ijk"};int i;
        for(i=0;i4;i++) printf("%c",*a[i]);
    }
    
    程序运行后的输出结果是
    A) aegi
    B) dfhk
    C) dfhk
    D) abcdefghijk
  32. (32)以下选项中正确的语句组是
    A) char s[];s="BOOK!";
    B) char *s;s={"BOOK!"};
    C) char s[10];s="BOOK!";
    D) char *s;s="BOOK!";
  33. (33)有以下程序
    #include stdio.h
    int fun(int x,int y)
    {
        if(x==y) return (x);
        else return((x+y)/2);
    }
    main()
    {
        int a=4,b=5,c=6;
        printf("%d\n",fun(2*a,fun(b,c)));
    }
    
    程序运行后的输出结果是
    A) 3
    B) 6
    C) 8
    D) 12
  34. (34)设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是
    A) auto
    B) register
    C) static
    D) auto 或register
  35. (35)有以下程序
    #include stdio.h
    int b=2;
    int fun(int *k)
    {
        b=*k+b;return (b);
    }
    main()
    {
        int a[10]={1,2,3,4,5,6,7,8},i;
        for(i=2;i4;i++) {b=fun(a[i])+b; printf("%d ",b);}
        printf("\n");
    }
    
    程序运行后的输出结果是
    A) 10 12
    B) 8 10
    C) 10 28
    D) 10 16
  36. (36)有以下程序
    #include stdio.h
    #define PT 3.5 ;
    #define S(x) PT*x*x ;
    main()
    {
        int a=1,b=2 ; printf("%4.1f\n",S(a+b));
    }
    
    程序运行后的输出结果是
    A) 14.0
    B) 31.5
    C) 7.5
    D) 程序有错无输出结果
  37. (37) 有以下程序
    #include stdio.h
    #define PT 3.5 ;
    #define S(x) PT*x*x ;
    main()
    {
        int a=1,b=2 ; printf("%4.1f\n",S(a+b));
    }
    
    程序的运行结果是
    A) 1,2
    B) 2,3
    C) 3,4
    D) 4,1
  38. (38)设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)IsDIV(m,7)为真时所要表达的是
    A) 判断m是否能被5或者7整除
    B) 判断m是否能被5和7整除
    C) 判断m被5或者7整除是否余1
    D) 判断m被5和7整除是否都余1
  39. (39)有以下程序
    #include stdio.h
    main()
    {
        int a=5,b=1,t;
        t=(a2)|b; printf("%d\n",t);
    }
    
    程序运行后的输出结果是
    A) 21
    B) 11
    C) 6
    D) 1
  40. (40)有以下程序
    #include stdio.h
    main()
    {
        FILE *f;
        f=fopen("filea.txt","w");
        fprintf(f,"abc");
        fclose(f);
    }
    
    若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt的内容为
    A) helloabc
    B) abclo
    C) abc
    D) abchello

2009年3月二级C语言程序设答案

选择题:

1-10: DACDC ABABC
11-20:CBDDA CDBCB
21-30:CDABA BACBC
31-40:ADBCC CBDAC

填空题:

  1. 19
  2. 白盒
  3. 顺序结构
  4. 数据库管理系统(DBMS)
  5. 菱形
  6. 4
  7. "x/y=%d"
  8. s=0
  9. 1AbCeDf2dF
  10. 7777654321
  11. max(int a,int b)
  12. NULL
  13. 1001,ChangRong,1098.0
  14. p=p—next

计算机二级C语言笔试题和面试题答案目

如下这份计算机二级C语言笔试题目对于要考基计算机二级证书的朋友来说,应该会很有帮助,需要的朋友赶紧收藏吧!

一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

  1. 下列叙述中正确的是
    A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
    B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
    C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
    D 上述三种说法都不对
    答案:B
  2. 下列叙述中正确的是
    A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
    B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
    C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
    D 上述三种说法都不对
    答案:C
  3. 软件测试的目的是
    A 评估软件可靠性
    B 发现并改正程序中的错误
    C 改正程序中的错误
    D 发现程序中的错误
    答案:B
  4. 下面描述中,不属于软件危机表现的是
    A 软件过程不规范
    B 软件开发生产率低
    C 软件质量难以控制
    D 软件成本不断提高
    答案:A
  5. 软件生命周期是指
    A 软件产品从提出、实现、使用维护到停止使用退役的过程
    B 软件从需求分析、设计、实现到测试完成的过程
    C 软件的开发过程
    D 软件的运行维护过程
    答案:A
  6. 面向对象方法中,继承是指
    A 一组对象所具有的相似性质
    B 一个对象具有另一个对象的性质
    C 各对象之间的共同性质
    D 类之间共享属性和操作的机制
    答案:D
  7. 层次型、网状型和关系型数据库划分原则是
    A 记录长度
    B 文件的大小
    C 联系的复杂程度
    D 数据之间的联系方式
    答案:D
  8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
    A 一对一
    B 一对多
    C 多对多
    D 多对一
    答案:C
  9. 数据库设计中反映用户对数据要求的模式是
    A 内模式
    B 概念模式
    C 外模式
    D 设计模式
    答案:C
  10. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
    A 自然连接
    B 交
    C 投影
    D 并
    答案:A
  11. 以下关于结构化程序设计的叙述中正确的是
    A 一个结构化程序必须同时由顺序、分支、循环三种结构组成
    B 结构化程序使用goto语句会很便捷
    C 在C语言中,程序的模块化是利用函数实现的
    D 由三种基本结构构成的程序本文由论文联盟收集整理只能解决小规模的问题
    答案:C
  12. 以下关于简单程序设计的步骤和顺序的说法中正确的是
    A 确定算法后,整理并写出文档,最后进行编码和上机调试
    B 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
    C 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
    D 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
    答案:D
  13. 以下叙述中错误的是
    A C程序在运行过程中所有计算都以二进制方式进行
    B C程序在运行过程中所有计算都以十进制方式进行
    C 所有C程序都需要编译链接无误后才能运行
    D C程序中整型变量只能存放整数,实型变量只能存放浮点数
    答案:B
  14. 有以下定义:inta; longb; doublex,y;则以下选项中正确的表达式是
    A a%(int)(x-y)
    B a=x!=y;
    C (a*y)%b
    D y=x+y=x
    答案:C
  15. 以下选项中能表示合法常量的是
    A 整数:1,200
    B 实数:1.5E2.0
    C 字符斜杠:‘\’
    D 字符串:"\007"
    答案:C
  16. 表达式a+=a-=a=9的值是
    A 9
    B _9
    C 18
    D 0
    答案:D
  17. 若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
    A ab+c
    B ch=getchar()
    C a==b+c
    D a++
    答案:A
  18. 有以下程序
    #include
    main()
    {
        int a=1,b=0;
        if(!a) b++;
        else if(a==0) if(a) b+=2;
        else b+=3;
        printf(”%d\n”,b);
    }
    
    程序运行后的输出结果是
    A 0
    B 1
    C 2
    D 3
    答案:C
  19. 有以下程序
    #include
    main()
    {
        int a=1,b=2;
        while(a6){b+=a;a+=2;b%二10;}
        printf(”%d,%d\n”,a,b);
    }
    
    程序运行后的输出结果是
    A 5,11
    B 7,1
    C 7,11
    D 6,1
    答案:D
  20. 有以下程序
    #include
    main()
    {
        int y=10;
        while(y--);
        printf(”Y=%d\n”,Y);
    }
    
    程序执行后的输出结果是
    A y=0
    B y= -1
    C y=1
    D while构成无限循环
    答案:B
  21. 有以下程序
    #include
    main()
    {
        char s[」=”rstuv";
        printf(”%c\n”,*s+2);
    }
    
    程序运行后的输出结果是
    A tuv
    B 字符t的ASCII码值
    C t
    D 出错
    答案:D
  22. 有以下程序
    #include
    #include
    main()
    {
        char x[]=”STRING”;
        x[0」=0;x=’\0’;x[2」=’0’;
        printf(”%d%d\n”,sizeof(x),strlen(x));
    }
    
    程序运行后的输出结果是
    A 61
    B 70
    C 63
    D 71
    答案:B
  23. 有以下程序
    #include
    Int f(intx);
    main()
    {
        intn=1,m;
        m=f(f(f(n)));printf(”%d\n”,m);
    }
    intf(intx)
    {
        returnx*2;
    }
    
    程序运行后的输出结果是
    A 1
    B 2
    C 4
    D 8
    答案:D
  24. 以下程序段完全正确的是
    A int *p;scanf("%d",p);
    B int *p;scanf(“%d”,p);
    C int k, *p=k;scanf("%d",p);
    D int k, *p:;*p= k; scanf(“%d”,p);
    答案:D
  25. 有定义语句:int p[4];以下选项中与此语句等价的是
    A intp[4];
    B int**p;
    C int
    (p「4」);
    D int (*p)「4」;
    答案:D
  26. 下列定义数组的语句中,正确的是
    A
    B
    C intx[0..10];
    D int x[];
    答案:B
  27. 若要定义一个具有5个元素的整型数组,以下错误的定义语句是
    A inta[5]=﹛0﹜;
    B intb[]={0,0,0,0,0};
    C intc[2+3];
    D inti=5,d[i];
    答案:A
  28. 有以下程序
    #include
    voidf(int *p);
    main()
    {
        inta[5]={1,2,3,4,5},*r=a;
        f(r);printf(”%d\n”;*r);
    }
    void f(int *p)
    {
        p=p+3;printf(”%d,”,*p);
    }
    
    程序运行后的输出结果是
    A 1,4
    B 4,4
    C 3,1
    D 4,1
    答案:D
  29. 有以下程序(函数fun只对下标为偶数的元素进行操作)
    # include
    void fun(int*a;int n)
    {
        int i、j、k、t;
        for (i=0;i
    

计算机二级c语言程序设计有哪些题型?

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。 单选题中110题为二级公共基础知识,单选题的1140题是C语言的内容。 操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。 程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。 程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。 编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。 二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。 C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。

求历届江苏省计算机等级考试二级C语言的试题及答案

  1. 那么简单 连我这12岁的小孩都过了 你还过不了?
  2. 又没叫你讲指针……建议你重新学
  3. 最后推荐:C语言集成开发与实验环境
  4. 建议你去读下《提问的智慧》
  5. PS:是全国统考

计算机二级考试C语言模拟试题二

一、选择题

  1. 运算符________的优先级最高。
    A. [ ]
    B. +=
    C. ?:
    D. ++
  2. main( )
    {
        int n; ( n=6*4,n+6),n*2; 
        printf(“n=%d\n”,n); 
    }
    
    此程序的输出结果是______________。
    A. 30
    B. 24
    C. 60
    D. 48
  3. 若有如下定义,则__________是对数组元素的正确的引用。
    int a[10] , *p ; p=a ;
    
    A. *a[10]
    B. a[11]
    C. *(p+11)
    D. *p *p *p
  4. 设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
    A. 0
    B. 4
    C. -4
    D. 2
  5. 各种基本数据类型的存贮空间正确的长度排列为__________。
    A. Char
    C. Char
  6. 下面的变量说明中__________是正确的。
    A. char:a, b, c;
    B. char a; b; c;
    C. char a, b, c;
    D. char a, b, c
  7. 表达式y=(1312?15:67?8:9)的值为____________ 。
    A. 9
    B. 8
    C. 15
    D. 1
  8. 若x=5,y=3 则y*=x+5; y的值为___________。
    A. 10
    B. 20
    C. 15
    D. 30
  9. 能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
    A. (a=0||b=0)(a0 ||b0)
    B. (a=0 b=0)(a0 b0)
    C. (a+b0) (a+b=0)
    D. a*b0
  10. C语言中,合法的字符型常数是_________。
    A. ‘A’
    B. “A”
    C. 65
    D. A
  11. 已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1y+z/2”的值是________。
    A. 6
    B. 0
    C. 2
    D. 1
  12. 若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
    A. ‘a’=c=’z’
    B. (c=’a’) || (c=’z’)
    C. (‘a’=c) and (‘z’=c)
    D. (c=’a’) (c=’z’)
  13. 设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。
    A. printf(“x=%d\n”,x)
    B. printf(“x=%ld\n”,x)
    C. printf(“x=l\n”,x)
    C. printf(“x=%D\n”,x);
  14. 从循环体内某一层跳出,继续执行循环外的语句是:___________。
    A. break语句
    B. return语句
    C. continue语句
    D. 空语句
  15. C语言用_______表示逻辑“真”值。
    A. true
    B. t或y
    C. 非零整型值
    D. 整型值0
  16. 为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。
    A. 缩排位置相同的if
    B. 在其之前未配对的if
    C. 在其之前未配对的最近的if
    D. 同一行上的if
  17. 在函数中默认存储类型说明符的变量应该是________存储类型。
    A. 内部静态
    B. 外部
    C. 自动
    D. 寄存器
  18. C语言中以只读方式打开一个文件应选择_______________参数。
    A. “r”
    B. “w”
    C. “rb”
    D. “a”
  19. 设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。
    A. 6个字节
    B. 7个字节
    C. 8个字节
    D. 9个字节
  20. 根据C语言的语法规则,下列________个是不合法标识符。
    A. do
    B. Name
    C. R5
    D. _exam

二、判断题

  1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )
  2. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )
  3. 在 C 程序中 ,APH 和 aph 代表不同的变量。( )
  4. 表达式 0195 是一个八进制整数。( )
  5. Continue语句的作用是结束本次循环。( )
  6. Extern变量的生命期是整个程序执行期。 ( )
  7. C语言中字符串的结束符是’\0’。 ( )
  8. 利用fclose函数关闭已打开的文件。 ( )
  9. C程序总是从main( ) 函数的第一条语句开始执行的。 ( )
  10. 数组名代表数组的首地址。( )

三、填空题

  1. C语言的预处理语句以__________开头。
  2. 表达式7+102 25 %5的结果是_______________。
  3. 下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
    Int n=0, ch; 
    Ch=getchar( );
    While( __________________ )
    {
        if ( ________________ ) n++; 
        c=getchar( );
    }
    
  4. C语言中getchar() 函数的功能是_________________________。
  5. int *p 的含义是______________________________。
  6. 定义fp为文件型指针变量的定义方法为_______________。
  7. 数组 int a[3][3];共定义了____________个数组元素。

四、读程序题

  1. 改正下列程序中不正确的语句。
    main( )
    {
        int a;
        scanf(“%d”, a); 
        if (a = 1) printf(“One\n”) ; 
    }
    
  2. 写出下列程序的运行结果。
    fun(int a, int b)
    {
        if(ab) 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); 
    }
    
  3. 改正下列程序中不正确的语句。
    main()
    {
        int n ;
        float s=1.0;
        for(n=10;n1;n- -)
            s=s+1/n;
        printf(“%6.1f\n”,s); 
    }
    
  4. 写出下列程序的运行结果。
    main()
    {
        int n;
        For(n=3; n=10; n++)
        {
            if(n%6= =0) break; 
            Printf(“%d”,n); 
        } 
    }
    
  5. 写出下列程序的运行结果。
    #include “stdio.h”
    Main()
    {
        int a[]={1,2,3,-4,5};
        int m,n,*p; 
        p=a[0]; 
        m=*(p+1); 
        n=*(p+4);
        printf(“%d %d %d ”,*p,m,n); 
    }
    

五、编程题

  1. 编程计算下列表达式:s=n!(n从键盘上输入)
  2. 输出1—100之间不能被12整除的数。
  3. 从键盘上输入10个整数存入一维数组中,按由大到小的顺序输出。
  4. 从键盘上输入9个数,按3行3列的格式输出。
  5. 编程将文件read.txt中的字符读出显示到屏幕上。