c期末复习参考

一、单项选择题(10小题,每小题2分,共20分)

  1. 下列关于C语言注释的叙述中错误的是( )。
    A.以“/”开头并以“/”结尾的字符串为C语言的注释部分
    B.注释可出现在程序中任何位置,用来向用户提示或解释程序的意义
    C.程序编译时,不对注释作任何处理
    D.程序编译时,需要对注释进行处理
    2、若有说明语句:char c=’\95’;,则变量c包含( )个字符。
    A.1 B.2
    C.3 D.语法错误
    3、C语言中规定,if语句的嵌套结构中,else总是( )配对。
    A.与最近的if 与第一个if B.与第一个if
    C.与按缩进位置相同的if D.与最近的且尚未配对的if
    4、运行下面程序,输出结果是( )。
    main()
    { int i=10,j=0;
    do
    { j=j+i;
    i–;}while(i>5);
    printf(“%d\n”,j);}
    A.45 B.40
    C.34 D.55
    5、若有以下数组说明,则数值最小的和最大的元素下标分别是( )。
    int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
    A.1,12 B.0,11 C.1,11 D.0,12
    6、若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。
    A.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 B.二维数组a的第一维大小为1
    C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
    D.数组a的每个元素都可得到初值0
    7、以下正确的函数形式是()。
    A.double fun(int x,int y){z=x+y; return z;}
    B. fun(int x, y){int z; return z;}
    C.fun( x, y){int x,y; double z;z=x+y; return z;}
    D.double fun(int x,int y){double z;z=x+y; return z;}
    8、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
    A.函数调用可以作为独立的语句存在
    B.函数调用可以作为一个函数的实参
    C.函数调用可以出现在表达式中
    D.函数调用可以作为一个函数的形参
    9、若有说明:“int a=2,*p=&a,*q=p;”,则以下非法的赋值语句是()。
    A.p=q; B.*p=q;
    C.a=q; D. q=a;
    10、设有以下说明语句,则下面的叙述中不正确的是()。
    struct   ex
    {   int x;
        float y;
        char z;}example;
    A.struct ex是结构体类型 B.ex是结构体类型名
    C.x,y,z都是结构体成员名 D.struct是结构体类型的关键字
    二、流程图绘制(2小题,每小题6分,共12分)

    三、程序阅读题(4小题,每题5分,共20分)
    1.以下程序运行时,如果从键盘键入5<回车>,则程序运行后的输出结果是什么?
    #include<stdio.h>
    int main()
    { int x,y;
    scanf("%d",&x);
    if(x<1) y=x;
    else if(x<10) y=2
    x-1;
    else y=3
    x-11;
    printf("%d\n",y);
    return 0;
    }
  2. 以下程序完成了什么式子的求解工作?
    #include <stdio.h>
    int main ( )
    { int i,j,sum,n;
    for(i=1,sum=0;i<=20;i++)
    { for(n=1,j=1;j<=i;j++)
    n=n*j;
    sum=sum+n;
    }
    printf("%d\n",sum);
    return 0;
    }
  3. 以下程序运行时,如果从键盘键入5<回车>,则程序运行后的输出结果是什么?
    #include <stdio.h>
    int main( )
    { int a[10]={16,10,8,4,2};
    int num;
    int i,j;
    scanf("%d",&num);
    for(i=0;i<5;i++)
    { if(num>a[i])
    break; }
    j=i;
    for(i=4;i>=j;i–) {a[i+1]=a[i]; }
    a[j]=num;
    for(i=0;i<6;i++) printf("%5d",a[i]);
    printf("\n “);
    return 0;}
    4.以下函数实现的功能是?
    void add (int a[],int b[],int c[],int n)
    { int i;
    for(i=0;i<n;i++)
    c[i]=a[i]+b[i];
    }
    四、程序填空题(3小题,每空3分,共18分)
    1.以下程序的功能是:由键盘输入a,b,c三个整数,输出其中最大的数。请填空。
    #include<stdio.h>
    int main()
    { int a,b,c,max;
    scanf(”%d%d%d",&a,&b,&c);
    【1】;
    if(max<b) max=b;
    if(max<c) 【2】;
    printf("%d\n",max);
    return 0;
    }
  4. 以下程序的功能是:求1!+2!+3!+4!+……+20!,请填空。
    #include <stdio.h>
    int main ( )
    { int i=1,sum=0,n=1;
    while(【1】)
    { n=n*i;
    【2】;
    i++;
    }
    printf(“1!+2!+3!+4!+……+20!=%d\n”,sum);
    return 0;
    }
    3.以下程序的功能是:在main函数中调用函数alter(),分别将两个int型的变量x和y的数值改变为它们的和以及它们的差,请填空。
    #include<stdio.h>
    int main()
    { void alter(int *p1,int *p2);
    int x,y,【1】;
    printf(“请输入两个整数:”);
    scanf("%d%d",&x,&y);
    alter(px,py);
    printf(“处理后x=%d,y=%d\n”,*px,*py);
    return 0;}
    void alter(int *p1,int *p2)
    { int result1,result2;
    【2】;
    result2=*p1-*p2;
    *p1=result1;
    *p2=result2; }
    五、编程题(3小题,每小题10分,共30分)
    1.2略
    3.输入4个整数,找出其中最大的数。(要求定义一个求两个数中最大数的函数,以此为基础再定义一个求四个数中最大数的函数,用函数的嵌套调用来处理本问题。)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夏风情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值