武汉理工大学继续教育《C语言程序设计》在线作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选(共计100分,每题2.5分)

1、若已定义int a=11; 执行以下语句后的输出结果是()。printf("a=%d,a=%o,a=%x\n",a,a,a) ;

A. a=11, a=11, a=b

B. a=11, a=13, a=b

C. a=11, a=13, a=c

D. a=11, a=12, a=13

2、

A.

B.

C.

D.

3、以下程序运行后,文件test.txt的内容是()。#include main() { FILE *fp; char str[][10]={"first","second"}; fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[0]); fclose(fp); fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[1]); fclose(fp); }

A. first

B. second

C. first second

D. second first

4、若有以下定义:struct node { int data; struct node *next; } struct node *head,*p; 已建立如下图所示的链表: p ↓┌──┬──┐┌──┬──┐┌──┬──┐head →│data│next┼→│data│next┼→... →│data│NULL│└──┴──┘└──┴──┘└──┴──┘能删除指针p所指向结点的程序段是()。

A. p = p->next; head->next=p->next; free(p);

B. free(p); p = p->next; head->next=p->next;

C. head->next = p->next; free(p);

D. free(p); head->next = p->next;

5、若有定义:int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; ,则()表达式是错误的。

A. a[2]

B. p++

C. p[2]

D. a++

6、下面叙述错误的是()。

A. C源程序可由一个或多个函数组成

B.

C.

D. 注释说明部分只能位于C源程序的最前面

7、()为合法的常量。

A.

B.

C.

D.

8、以下程序的运行结果是()。void main() {int s = 0, i = 0; while(i< 8) { i++; if(i%2==0) continue; s+=i; } printf("%d\n",s); }

A. 36

B. 7

C. 16

D. 12

9、以下程序段的运行结果是()。main() { int i=4,j; j=i; pic(i+2*j-2,'*'); putchar('\n'); for(j-=2;j>=0;j--) { pic(3-j, ' '); pic(i+2*j, '*'); putchar('\n'); } } pic(int len,char c) { int k; for(k=1;k<=len;k++) putchar(c);}

A.

B.

C.

D.

10、设有以下程序段:int a=1, b=10, c=1, x; x=a&&b||++c; printf(″%d, %d\n″,x,c); 执行后输出的结果是()

A. 0,0

B. 0,1

C. 1,0

D. 1,1

11、以下条件语句中(其中s1和s2分别表示C语言的语句),()与其他三条语句不等价。

A. if(a) s1; else s2;

B. if(a == 0) s2; else s1;

C. if(a != 0) s1; else s2;

D. if(a == 0) s1; else s2;

12、若已定义int arr[10]; 则不能正确引用arr数组元素的是()。

A. arr[0]

B. arr[1]

C. arr[10-1]

D. arr[7+3]

13、若有定义:int *p,k=4; p=&k;以下均代表地址的是()。

A. k, p

B. &k, &p

C. &k, p

D. k, *p

14、以下程序的运行结果是()。main() { int a[3]={1,2,3}; int *num[3]; int **p,i; for(i=0;i<3;i++) num[i]=&a[i]; p=num; printf("%d",**p);}

A. 1

B. 3

C. &a[0]

D. num

15、以下程序中的循环执行了()次。#define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0; for(i=0;i

A. 5

B. 6

C. 8

D. 9

16、若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为()。

A. 2 3 5

B. 3 2 5

C. 5 2 3

D. 5 3 2

17、以下程序运行后,a的值是()。main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } }

A. 101

B. 100

C. 8

D. 7

18、下面叙述正确的是()。

A. 宏展开不占用运行时间,只占用编译时间

B. 预处理命令也是C语句,必须以分号结束

C. 一个源程序只能有一个预编译处理命令行

D. 宏名必须用大写字母表示

19、若有定义int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d",m,n,k); 执行后的输出结果是()。

A. 4321432143211231231232121

B. 432112321

C. 4321+123+21

D. 432+123+021

20、()语句符合C语言语法。

A.

B.

C.

D.

21、已有如下定义和输入语句,char c1,c2;int x; scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是()。

A. K9H

B. K 9 H

C. K9 H

D. 9KH

22、

A.

B.

C.

D.

23、若有定义:struct student{int num; char sex; int age;}stu1;下列叙述不正确的是()。

A. student是结构体类型名

相关文档
最新文档