11计算机二级考试C语言选择题(6)

2019-06-11 16:44

p=p->next; } }

A.计算链表head中结点的个数 B.遍历链表head,输出表中值为奇数的元素 C.删除链表head中的所有结点 D.插入一个新元素到链表head中 51809以下程序的输出结果是( B )。 #include #include typedef struct node {int data;

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 void main()

{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 main() { FILE *fp; long int n;

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 main() { FILE *fp; long int n;

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 main() { FILE *fp;

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 main() { FILE *fp;

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 main() { FILE *fp;

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 #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 #include void main() {FILE *in,*out;

if((in=fopen(\ {printf(\

30


11计算机二级考试C语言选择题(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新苏教版四年级下册数学教学工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: