c语言试卷.doc,c语言试卷下载

发布时间:2022-11-27

本文目录一览:

  1. C语言试题
  2. C语言考试试题答案
  3. c语言试卷

C语言试题

自考“C语言程序设计”模拟试题一 2008-1-3 相关自考频道点评提问自考网上培训 自考“C语言程序设计”模拟试题一

一、填空题

  1. C语言中基本的数据类型有:、______。
  2. C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______。
  3. 整数-35在机内的补码表示为______。
  4. 执行下列语句int a=8; a+=a-=a*a;后,a的值是______。
  5. 有如下语句:char A[ ]={"I am a student"};该字符串的长度是______,A[3]=______。
  6. 符号“a”和‘a’的区别是______。
  7. 所谓“指针”就是______。“&”运算符的作用是______。“*”运算符的作用是______。
  8. 有如下输入语句:scanf("a=%d,b=%d,c=%d",a,b,c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______。

二、选择题

  1. 设整型变量a为5,使b不为2的表达式是( )。 A. b=a/2
    B. b=6-(——a)
    C. b=a%2
    D. b=a3?2:1
  2. 为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。 A. 缩排位置相同的if
    B. 在其之前未配对的if
    C. 在其之前未配对的最近的if
    D. 同一行上的if
  3. 以下程序的输出结果是( )。
    int x=10,y=10;
    printf("%d %d\n",x——,——y);
    
    A. 10 10
    B. 9 9
    C. 9 10
    D. 10 9
  4. 设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )。 A. P+i*2
    B. P+(i-1)*2
    C. P+(i-1)
    D. P+i
  5. 选出下列标识符中不是合法的标识符的是( )。 A. hot_do
    B. cat1
    C. _pri
    D. 2ab
  6. 以下程序的输出结果是( )。
    int a=5;
    float x=3.14;
    a*=x*('E' - 'A');
    printf("%f\n",(float)a);
    
    A. 62.000000
    B. 62.800000
    C. 63.000000
    D. 62
  7. 设有说明double (*p1)[N];其中标识符p1是( )。 A. N个指向double型变量的指针。
    B. 指向N个double型变量的函数指针。
    C. 一个指向由N个double型元素组成的一维数组的指针。
    D. 具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
  8. 在C程序中有如下语句:char *func(int x,int y);它是( )。 A. 对函数func的定义。
    B. 对函数func的调用。
    C. 对函数func的原型说明。
    D. 不合法的。
  9. 以下程序的输出结果是( )。
    char str[15]="hello!";
    printf("%d\n",strlen(str));
    
    A. 15
    B. 14
    C. 7
    D. 6
  10. 分析以下程序的输出结果是( )。
    main()
    {
        int a=5,b=-1,c;
        c=adds(a,b);
        printf("%d",c);
        c=adds(a,b);
        printf("%d\n",c);
    }
    int adds(int x,int y)
    {
        static int m=0,n=3;
        n*=++m;
        m=n%x+y++;
        return(m);
    }
    
    A. 2,3
    B. 2,2
    C. 3,2
    D. 2,4
  11. 下列描述中不正确的是( )。 A. 字符型数组中可能存放字符串。
    B. 可以对字符型数组进行整体输入、输出。
    C. 可以对整型数组进行整体输入、输出。
    D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
  12. 以下程序的输出结果是( )。
    #define f(x) x*x
    main()
    {
        int a=6,b=2,c;
        c=f(a)/f(b);
        printf("%d\n",c);
    }
    
    A. 9
    B. 6
    C. 36
    D. 18
  13. 设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是( )。 A. 1
    B. 0
    C. 4
    D. 3
  14. 定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]);的输出结果是( )。 A. 1 5 9
    B. 1 4 7
    C. 3 5 7
    D. 3 6 9
  15. 以下对二维数组a进行正确初始化的是( ) A. int a[2][3]={{1,2},{3,4},{5,6}};
    B. int a[ ][3]={1,2,3,4,5,6};
    C. int a[2][ ]={1,2,3,4,5,6};
    D. int a[2][ ]={{1,2},{3,4}};
  16. 两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
    int x;
    scanf("%d",x);
    if(x++>5) printf("%d",x);
    else printf("%d\n",x - -);
    
    A. 7和5
    B. 6和3
    C. 7和4
    D. 6和4
  17. 设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是( )。 A. aa数组成元素的值分别是"abcd"和"ABCD"
    B. aa是指针变量,它指向含有两个数组元素的字符型一维数组
    C. aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
    D. aa数组的两个元素中各自存放了字符'a'和'A'的地址
  18. 下列程序的输出结果是( )。
    char *p1="abcd", *p2="ABCD", str[50]="xyz";
    strcpy(str+2,strcat(p1+2,p2+1));
    printf("%s",str);
    
    A. xyabcAB
    B. abcABz
    C. ABabcz
    D. xycdBCD
  19. 下列程序的输出结果是( )。
    int a[5]={2,4,6,8,10},*P,**k;
    p=a; k=p;
    printf("%d",*(p++));
    printf("%d\n",**k);
    
    A. 4 4
    B. 2 2
    C. 2 4
    D. 4 6
  20. 不能把字符串:Hello!赋给数组b的语句是( )。 A. char b[10]={'H','e','l','l','o','!'};
    B. char b[10]; b="Hello!";
    C. char b[10]; strcpy(b,"Hello!");
    D. char b[10]="Hello!";

三、读程序题

  1. float f=3.1415927;
    printf("%f,%5.4f,%3.3f",f,f,f);
    
    则程序的输出结果是______。
  2. int x=6, y=7;
    printf("%d,",x++);
    printf("%d\n",++y);
    
    程序的输出结果是______。
  3. a=3;
    a+=(a>1)?a:1;
    printf("%d",a);
    
    结果是______。
  4. for (a=1,b=1;a<=100;a++)
    {
        if(b==20) break;
        if(b%3==1)
        {
            b+=3; continue;
        }
        b-=5;
    }
    
    程序的输出结果a的值为______。
  5. int y=1, x, *p, a[ ]={2,4,6,8,10};
    p=a[1];
    for(x=0;x<3;x++)
        y += *(p + x);
    printf("%d\n",y);
    
    程序的输出结果y的值是______。

四、程序填空题

  1. 从键盘上输入10个数,求其平均值。
    main()
    {
        int i;
        float f,sum;
        for(i=1,sum=0.0;i<11;i++)
        {
            ______;
            ______;
        }
        printf("average=%f\n",sum/10);
    }
    
  2. 以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
    #include <stdio.h>
    main()
    {
        FILE *fp;
        char c;
        fp=______;
        do{
            c=getchar();
            fputs(c,fp);
        }while(c!=EOF);
    }
    
  3. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
    main()
    {
        float x,amax,amin;
        scanf("%f",x);
        amax=x; amin=x;
        while(______)
        {
            if(x>amax) amax=x;
            if(______) amin=x;
            scanf("%f",x);
        }
        printf("\namax=%f\namin=%f\n",amax,amin);
    }
    

五、编程题

  1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。
  2. 输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
  3. 编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。
  4. 有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

C语言考试试题答案

  1. 11,12.
  2. { ,}, 变量声明,函数体.
  3. int,float,double.
  4. 存储空间.
  5. 将10赋值给变量s.
  6. ;
  7. 1,0.

c语言试卷

楼主采纳我吧,95分没问题,懒得敲可以直接下txt~~~~heihei (1).函数
(2). int
(3). short int
(4). 字母或下划线
(5) 数字
(6)下划线
(7.)255
(8) 分号;
(9) 'B'
(10) 0x42
(11) 单精浮点数
(12) 双精浮点数
(13) 4个
(14) 8个
(15) 右
(16) 左
(17) -(++I)
(18) 大写字母‘C’
(19) 当循环
(20) 先执行循环,后判断条件
(21) 循环体
(22) 开关语句
(23) for
(24) 循环
(25) 回车时
(26) 10
(27) 20
(28) (int)(x+3.0)
(29) 12回车345回车187回车
(30) if
(c1='a'c1='z')

选择题

1-5 DBDAC
6-10 CAACC

判断题

1—5 对错对对错
6-10 错对错对错

计算结果题:

  1. 32
  2. 18,30
  3. 66 C
  4. 400000,7.640000
  5. i=-4,j=5
  6. 852
  7. x=3,y=1
  8. 16
  9. a=2 ,b=8
  10. 打印


  11. 输出 a=14,b=14,c=3
  12. 输出 s=33,i=4

编程题

#include "stdio.h"
void main()
{
    int c,k,zhouchang;
    c=5;
    k=3;
    zhouchang=c*k;
    printf("zhouchang is %d\n",zhouchang);
}

第二题

#include "stdio.h"
void main()
{
    double x,y;
    scanf("%ld",x);
    if(x<=10)
        y=x;
    else if(x<50)
        y=2*x+6;
    else
        y=3*x-15;
    printf("%.2f",y);
}

第三题

#include "stdio.h"
void main()
{
    int i,s=0;
    for(i=2;i<=100;i+=2)
    {
        s+=i;
    }
    printf("%d\n",s);
}