武汉理工大学继续教育《C语言程序设计》在线作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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是结构体类型名