p=p->next; } }
A.计算链表head中结点的个数 B.遍历链表head,输出表中值为奇数的元素 C.删除链表head中的所有结点 D.插入一个新元素到链表head中 51809以下程序的输出结果是( B )。 #include
struct node *next; }Node;
Node list[4]={{4,&list[1]},{3,&list[2]},{2,&list[3]},{1,0}}; void output(Node *head) { Node *p=head; while(p!=NULL)
{ printf(\ p=p->next; } }
void main() {output(list); }
A.1 2 3 4 B.4 3 2 1 C.3 2 1 4 D.2 1 3 4 51810 若按以下定义: struct node { int data;
struct node *next; } *p, *q;
并已建立如下图所示的链表结构,指针p和q分别指向图中所示结点: ┌──┬──┐ ┌──┬──┐ ┌──┬──┐... p→│data│next┼→│data│NULL│ q→ │data│next│ └──┴──┘ └──┴──┘ └──┴──┘ 则可以将指针q所指的结点连接到链表末尾的程序段是( A )。
A.q->next=NULL; p=p->next; p->next=q; B.q->next=p->next; p=p->next; p->next=q; C.p=p->next; q->next=p; p->next=q; D.(*q).next=(*p).next; p=(*p).next; (*p).next=q; 51811 若有定义: struct node { int data;
struct node *next; };
float link(struct node *head) {int m=0,n=0; struct node *p=head;
while(p!=NULL) {m+=p->data; n++;
26
p=p->next; }
if(n>0) return 1.0*m/n; else return 0 }
调用link函数时head是指向链表首结点的指针,整个链表结构如下图: ┌──┬──┐ ┌──┬──┐ ┌──┬──┐ head →│data│next┼→│data│next┼→...─→│data│NULL│ └──┴──┘ └──┴──┘ └──┴──┘ 则函数link()的功能是( B )。
A.统计链表head中结点的个数 B.遍历链表head,计算表中各结点成员data的平均值 C.遍历链表head,计算表中各结点成员data的总和 D.创建一个新链表head 51812 若有以下定义: struct node { int data;
struct node *next; } *p,*q,*t;
指针p、t和q分别指向图中所示结点: p t q ↓ ↓ ↓
┌──┬──┐ ┌──┬──┐ ┌──┬──┐ │data│next┼→│data│next┼→│data│next┼→...
现要将t和q所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是( C ) A.t->next=q->next;p->next=q;q->next=t; B.p->next=q;t->next=q->next;q->next=t; C.q->next=t;t->next=q->next;p->next=q; D.t->next=q->next;q->next=t;p->next=q; 51900 以下程序中的循环执行了( C )次。 #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 51901 错误的枚举类型定义语句是( B )。 A.enum car {A, B, C}; B.enum car {1, 2, 3}; C.enum car {X=0, Y=5, Z=9}; D.enum car {D=3, E, F}; 51902 假定已有如下定义: int k ; enum colors {red, green, blue, pink} ; int a[3]; ( B )是对以下语句是否符合语法规则的正确判断。 a[red]=pink; /* 语句1 */ red=1; /* 语句2 */ └──┴──┘ └──┴──┘ └──┴──┘ 27 k=green+blue; /* 语句3 */ A.语句1和语句2正确,语句3错误 B.语句1和语句3正确,语句2错误 C.语句2和语句3正确,语句1错误 D.语句1正确,语句2和语句3错误 51903设有如下定义:typedef int *INTEGER;INTEGER p,*q;下列叙述正确的是( D )。 A.程序中可用INTEGER代替int类型名 B.不能用INTEGER来定义变量 C.p是int型变量,q是基类型为int的指针变量 D.p是基类型为int的指针变量 51904在对无符号数的位运算中,操作数左移三位相当于( D )。 A.操作数除以6 B.操作数乘以6 C.操作数除以8 D.操作数乘以8 51905以下程序段运行后变量k的值为( D )。 int m=7,n=2,k;k=(m^n)<<1; A.0 B.98 C.20 D.10 51906若有定义:int m=7,n=10,k; 则执行语句k=m&n;后k的值为( A )。 A.2 B.1 C.17 D.15 51907以下程序的输出结果为( B )。 #include {enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat}; enum Weekday day=wed; printf(\ } A.2 B.3 C.4 D.5 51908 若按如下类型说明,则( B )是错误的叙述。 typedef struct {int no; char *name; int cj; }S,*p; A.S是一个结构体类型名 B.p是一个结构体类型名 C.p是指向结构体类型S的指针类型名 D.no是结构体类型S的成员 51909下面程序段的运行结果是( A )。 int p=7,q=4; printf(\ A.4 B.5 C.6 D.7 51910若有以下类型说明,则叙述错误的是( C )。 typedef union {char name[10]; int age; }ustu,*umy; A.umy是指向共用体类型ustu的指针类型名 B.ustu是一个共用体类型名 C.umy是一个共用体类型名 D.age是共用体类型ustu的成员 51911 定义枚举类型的关键字是( C )。 A.typedef B.include C.enum D.fnum 51912 下面程序段的运行结果是( B )。 main() {int a=5,b=3; printf(\ A.0 B.1 C.2 D.3 52000 以下程序的功能是( C )。 #include fp=fopen(\ fseek(fp,0,SEEK_END); n=ftell(fp); 28 fclose(fp); printf(\ A.计算文件wj.txt的起始地址 B.计算文件wj.txt的终止地址 C.计算文件wj.txt的长度 D.将文件指针定位到文件末尾 52001 以下程序的功能是( D )。 #include fp=fopen(\fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(\} A.将文件指针从地址为0处移动到文件末尾 B.计算文件指针的当前地址 C.计算文件exam.txt的终止地址 D.计算文件exam.txt的字节数 52002文本文件quiz.txt的内容为\不包含引号),以下程序段的运行结果是( B )。 FILE *fp; char *str; if((fp=fopen(\ str=fgets(str,7,fp); printf(\ A.Progr B.Progra C.Program D.Programming 52003文件操作的一般步骤是( D )。 A.打开文件,定义文件指针,修改文件,关闭文件 B.打开文件,定义文件指针,读写文件,关闭文件 C.定义文件指针,定位指针,读写文件,关闭文件 D.定义文件指针,打开文件,读写文件,关闭文件 52004下面程序的运行结果是( B )。 #include int a=2,b=4,c=6,k,n; fp=fopen(\ fprintf(fp,\ fprintf(fp,\ fclose(fp); fp=fopen(\ fscanf(fp,\ printf(\ fclose(fp); } A.2 4 B.2 6 C.4 2 D.6 2 52005对于以下程序,说法正确的是( B )。 29 #include fp=fopen(\ if(fp!=NULL) { fprintf(fp,\ fclose(fp); printf(\ } } A.程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是\B.程序运行后,当前工作目录下存在quiz.txt文件,其中的内容是\C.程序运行之前,当前工作目录下一定不存在quiz.txt文件 D.程序运行之前,当前工作目录下一定存在quiz.txt文件 52006以下程序运行后,文件test.txt的内容是( B )。 #include char str[][10]={\ fp = fopen(\ if(fp!=NULL) fprintf(fp,\ fclose(fp); fp = fopen(\ if(fp!=NULL) fprintf(fp,\ fclose(fp); } A.first B.second C.first second D.second first 52007以下程序的可执行文件名为abc.exe。 #include void main(int argc,char *argv[]) {if(argc!=2) {printf(\ printf(\ } 在DOS命令行输入:abc right<回车>,则输出结果是( C )。 A.Input error B.I love abc C.I love right D.I love 52008 对下面程序描述正确的是( C )。 #include if((in=fopen(\ {printf(\ 30 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库11计算机二级考试C语言选择题(6)在线全文阅读。
相关推荐: