2020年秋季C语言程序设计(本)网上作业2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年秋季C语言程序设计(本)网上作业2
一、单选题
1. (5分)以下程序的输出结果是( D )。
#include <stdio.h> main() { int z,y[3]={2,3,4};Z=y[y[2]]=10; printf("%d",z);}
A. 10
B. 2
C. 3
D. 运行时出错,得不到确定值
2. (5分)能正确表示关系a≥10或a≤0的C逻辑表达式是( D )。
A. a>=10 or a<=0
B. a>=0|a<=10
C. a>=10 && a<=0
D. a>=10‖a<=0
3. (5分)下列程序的运行结果是( B )。
#include <stdio.h> void fun(int *a, int *b){ int *k; k=a; a=b; b=k;} main() { int a=3, b=6, *x=&a, *y=&b;fun(x,y); printf("%d %d", a, b);}
A. 6 3
B. 3 6
C. 编译出错
D. 0 0
4. (5分)以下叙述中,( D )不正确。
A. C语言中,文本文件以ASCⅡ码形式存储数据
B. C语言中,访问二进制文件的速度比文本文件快
C. C语言中,随机读写方式不适用于文本文件
D. C语言中,顺序读写方式不适用于二进制文件
5. (5分)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( A )。
A. p=2*(int*)malloc(sizeof(int));
B. p=(int*)malloc(2*sizeof(int));
C. p=(int*)malloc(2*2);
D. p=(int*)calloc(2,sizeof(int));
6. (5分)该程序的执行结果是( C )。
#include < stdio.h > func(int a,int b){static int m=0,i=2;i+=m+1;m=i+a+b;return (m); } main() {int k=4,m=1,p;p=func(k,m);printf("%d",p);p=func(k,m);printf(",%d\\n",p); }
A. 8,15
B. 8,16
C. 8,17
D. 8,8
7. (5分)下列程序执行后的输出结果是( A )。
#include <stdio.h> main() { int a[3][3], *p,i; p=&a[0][0];for(i=0;i<9;i++) p[i]=i+1;printf("%d ",a[1][2]);}
A. 6
B. 8
C. 9
D. 随机数
8. (5分)若执行以下程序时从键盘上输入9,则程序的输出结果是( B )。
#include <stdio.h> main() { int n;scanf("%d",&n);if(n++<10)printf("%d",n);else printf("%d",n--);}
A. 11
B. 10
C. 9
D. 8
9. (5分)下列程序段的输出结果是( A )。
#include <stdio.h> void fun(int *x, int *y) { printf("%d %d ", *x,*y); *x=3;*y=4;}main() { int x=1,y=2; fun(&y,&x); printf("%d %d",x,y); }
A. 2143
B. 1212
C. 1234
D. 2112
10. (5分)以下程序中,while循环工执行循环体( D )次。
#include <stdio.h> main() { int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}
A. 1
B. 10
C. 6
D. 无数次(死循环)
11. (5分)下面关于函数调用的说法中,( C )不正确。
A. 函数可以嵌套调用
B. 函数可以调用自身,形成递归调用
C. main函数可以与其它函数相互调用
D. 如果调用无参函数,则实参可以没有,但是括号不能省略
12. (5分)以下程序的输出结果是( D )。
#include <stdio.h> main() { char w[][10]="ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++) printf("%s",w[k]);}
A. ABCD FGH KL
B. ABCD EFG IJ M
C. EFG JK 0
D. EFGH IJKL
13. (5分)以下函数是返回a数组的最小值所在的下标,划线处应填入( D )。
fun(int *a, int n) { int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p])__________;return p;}
A. i=p
B. a[p]=a[i]
C. p=j
D. p=i
14. (5分)下列程序执行后的输出结果是( A )。
#include <stdio.h> void func(int *a,int b[]) { b[0]=*a+6; }main() { int a,b[5];a=0; b[0]=3;func(&a,b);printf("%d",b[0]);}
A. 6
B. 7
C. 8
D. 9
二、判断题
1. (5分)设:int n=2,*p=&n,**q=p;则语句n=*q非法。
(×)
√正确×错误
2. (5分)设:int a=1,b=2;则表达式(++a==b--)?--a:++b的值为1。
(√)
√正确×错误
3. (5分)设有如下结构说明,则t数组的每个元素均为结构体类型。
struct node { int a, b;char c;}t[20];(√)
√正确×错误
4. (5分)设:int a[3][4],(*p)[4]=a;则*(*(p+2)+3)表示引用a[2][3]的值。
(√)
√正确×错误
5. (5分)设:int a[]={23,54,10,33,47,98,72,80,61}, *p=a;则表达式*(p+5)表示引用值为47的数组元素。
(×)
√正确×错误
6. (5分)下面正确定义了仅包含一个数据成员info的单链表的结点类型。
struct node { int info;struct node next;} (√)
√正确×错误。