奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

帮助中心知识拓展客服QQ 515224986
查看: 458|回复: 0

16春学期奥鹏吉大《C语言程序设计》在线作业二标准答案

[复制链接]

2万

主题

27

回帖

6万

积分

管理员

积分
60146
发表于 2016-5-29 20:03:19 | 显示全部楼层 |阅读模式
扫码加微信
吉大16春学期《C语言程序设计》在线作业二

一、单选题:
1.以下程序有错,错误原因是    main(    )    { int *p,i;char *q,ch;    p=&i;    q=&ch;    *p=40;    *p=*q;    ......    }          (满分:4)
    A. p和q的类型不一致,不能执行*p=*q;语句
    B. *p中存放的是地址值,因此不能执行*p=40;语句
    C. q没有指向具体的存储单元,所以*q没有实际意义
    D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
2.在16位IBM-PC机上使用C语言,若有如下定义    struct data    { int i;    char ch;    double f;    } b;    则结构变量b占用内存的字节数是          (满分:4)
    A. 1
    B. 2
    C. 7
    D. 11
3.若已定义:    int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;    其中 0≤i≤9, 则对a数组元素不正确的引用是          (满分:4)
    A. a[p-a]
    B. *(&a[i])
    C. p[i]
    D. a[10]
4.有如下程序:    long fib(int n)    { if(n>2)return(fib(n-1)+fib(n-2));    else return(2);    }    main(    )    { printf("%d\n",fib(3));}    该程序的输出结果是          (满分:4)
    A. 2
    B. 4
    C. 6
    D. 8
5.设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是          (满分:4)
    A. p=1;
    B. *q=2;
    C. q=p;
    D. *p=5;
6.执行以下程序后,a,b的值分别为   main(    )   { int a,b,k=4,m=6,*p1=&k,*p2=&m;   a=p1==&m;   b=(*p1)/(*p2)+7;   printf("a=%d\n",a);   printf("b=%d\n",b);   }          (满分:4)
    A. -1
    5
    B. 1
    6
    C. 0
    7
    D. 4
    10
7.有如下程序    int a[10]={1,2,3,4,5,6,7,8,9,10};    int *p=&a[3],b;b=p[5];    则b的值是          (满分:4)
    A. 5
    B. 6
    C. 9
    D. 8
8.以下程序有语法错误,有关错误原因的正确说法是    main(    )    { int G=5,k;    void prtchar(    );    ...    k=prtchar(G);    ...    }          (满分:4)
    A. 语句 void prtchar(    );有错,它是函数调用语句,不能用void说明
    B. 变量名不能使用大写字母
    C. 函数说明和函数调用语句之间有矛盾
    D. 函数名不能使用下划线
9.有以下程序:    #include    union pw    { int i;    char ch[2];}a;     main(    )     {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}    程序的输出结果是          (满分:4)
    A. 13
    B. 14
    C. 208
    D. 209
10.若有以下程序    #include     int a[]={2,4,6,8};    main(    )    { int i;    int *p=a;    for(i=0;i<4;i++)a[i]=*p;    printf("%d\n",a[2]);    }    上面程序输出结果是          (满分:4)
    A. 6
    B. 8
    C. 4
    D. 2
二、多选题:
1.已知:int x;,则下面的说明指针变量pb的语句(    )不是正确的。          (满分:4)
    A. int pb=&x;
    B. int *pb=x;
    C. int *pb=&x;
    D. *pb=*x
2.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:4)
    A. int a[10]=(0
    0
    0
    0
    0);
    B. int a[10]={};
    C. int a[10]={0};
    D. int a[2]={10
    9
    8}
3.关于文件的打开方式描述正确的是:(    )。          (满分:4)
    A. r:打开只读文件
    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
    C. a:打开或建立一个把数据追加到文件尾的文件
    D. r+:打开用于更新数据的文件
4.不与while(x)语句中的x等价的是(    )。          (满分:4)
    A. x= =0
    B. x= =1
    C. x!=1
    D. x!=0
5.以下叙述中正确的是(    )。          (满分:4)
    A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
    B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
    C. 可以通过赋初值的方式确定数组元素的个数
    D. 数组名代表的是数组所占存储区的首地址,其值不可改变
三、判断题:
1.模运算符要求两侧均应为整型数据。(    )          (满分:4)
    A. 错误
    B. 正确
2.switch语句中,各个case和default的出现次序不影响执行结果。(    )          (满分:4)
    A. 错误
    B. 正确
3.puts和gets函数只能输入或输出一个字符串          (满分:4)
    A. 错误
    B. 正确
4.语句int pt中的*pt是指针变量名。          (满分:4)
    A. 错误
    B. 正确
5.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:4)
    A. 错误
    B. 正确
6.for(;;)语句相当于while(1)语句          (满分:4)
    A. 错误
    B. 正确
7.数据结构指的是数据的组织形式,数组就是一种数据结构(    )          (满分:4)
    A. 错误
    B. 正确
8.共用体所占的内存空间大小取决于占空间最多的那个成员变量。          (满分:4)
    A. 错误
    B. 正确
9.switch语句中,多个case可以共用一组执行语句。(    )          (满分:4)
    A. 错误
    B. 正确
10.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。          (满分:4)
    A. 错误
    B. 正确

奥鹏易百网www.openhelp100.com专业提供网络教育各高校作业资源。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

GMT+8, 2024-5-28 16:34

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

快速回复 返回顶部 返回列表