C语言选择题第二部分.docx
- 文档编号:24511771
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:15
- 大小:33.65KB
C语言选择题第二部分.docx
《C语言选择题第二部分.docx》由会员分享,可在线阅读,更多相关《C语言选择题第二部分.docx(15页珍藏版)》请在冰豆网上搜索。
C语言选择题第二部分
C语言选择题第二部分
1.在C语言中,根据一个表达式的值转向多个分支的语句是(B)。
A)if-else语句
B)switch语句
C)case语句
D)return语句
2.设有inti=0;下列语句的运行结果是(A)。
while(i<=6)
{printf("%d",i);
i=i+1;
}
A)0123456
B)012345
C)01234
D)0123
3.设有intn=60;下列语句的运行结果是(A)。
switch(n/10)
{
case6:
printf("@");break;
case5:
printf("#");
default:
printf("$");
}
A)@
B)#$
C)$
D)@#$
4.设有定义:
inti,a[10];能正确输入a数组各元素的语句是(B)。
A)i=10;scanf("%d",&a[i]);
B)for(i=0;i<=9;i++)scanf("%d",a+i);
C)for(i=0;i<10;i++)scanf("%d",a[i]);
D)for(i=0;i<10;i++)scanf("%d",&a);
5.以下一维数组定义中,正确的是(A)。
A)inta[5]={1,2,3,4,5};
B)inta[5]=1,2,3,4,5;
C)inta[1to5];
D)inta[];
6.设有ini;下列语句的运行结果是(C)。
for(i=0;i<5;i++)
printf("%d",i);
A)0123456
B)012345
C)01234
D)0123
7.设有charch;下列语句的运行结果是(C)。
for(ch='B';ch<='F';ch++)
putchar(ch);
A)ABCDEFG
B)ABCDEF
C)BCDEF
D)BCDEFG
8.已知一个字符串的最大字符长度为8,要使用字符数组str存放该字符串,以下哪种定义是正确的:
(A)。
A)charstr[9];
B)charstr[8];
C)charstr;
D)charstr(9);
9.设有inta=70;写出下列语句的运行结果:
(A)。
if(a>=60)
if(a>=80)
printf("VeryGood");
else
printf("Good");
else
if(a>=40)
printf("Bad");
else
printf("VeryBad");
A)Good
B)VeryGood
C)Bad
D)VeryBad
10.设有inti;以下语句中,循环次数为100次的语句是(B)。
A)for(i=0;i<=100;i++)
B)for(i=0;i<100;i++)
C)for(i=0;i<99;i++)
D)for(i=1;i<99;i++)
11.设有定义chara[]="abcDEF",*p=a+3;则puts(p)的输出结果是(D)。
A)abcDEF
B)bcDEF
C)cDEF
D)DEF
12.在字符串常用函数中,用于复制字符串的函数是(B)。
A)strlen
B)strcpy
C)strcat
D)strcmp
13.设有charstr[80];则下列输入字符串的语句中正确的是(C)。
A)scanf("%s",&str);
B)scanf("%s",str[80]);
C)scanf("%s",str);
D)scanf("%s",str[0]);
14.若有以下的定义:
intt[3][2];则t数组最后一个元素是(D)。
A)t[3][2]
B)t[2][3]
C)t[2]
D)t[2][1]
15.*下面程序段的运行结果是(B)。
charc[]="\tv\\\0will\n";
printf("%d",strlen(c));
A)13
B)3
C)9
D)10
16.设有定义:
inta[10]={6,7,8,9,10};正确的解释是(B)。
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)将5个初值依次赋给a[5]至a[9]
17.设有inti=0;下列语句的运行结果是(B)。
do{
printf("%d",i);
i=i+1;
}while(i<=5)
A)0123456
B)012345
C)01234
D)0123
18.以下字符串定义与赋值中,正确的是(D)。
A)chars[80];s={'A','B','C'};
B)chars[80];s="ABC";
C)chars[80]={"A","B","C"};
D)chars[80]="ABC";
19.设有下列变量说明与函数说明,则合法的函数调用语句是(B)。
intfunc(inta[],intn);
inta[10],n,x;
A)func(a,n)=x;
B)x=func(a,n);
C)x=func(a[],n);
D)x=func(a[10],n);
20.设有下列变量说明与函数说明,则合法的函数调用语句是(C)。
voidswap(int*p,int*q);
intx,y;
A)swap(x,y);
B)swap(*x,*y);
C)swap(&x,&y);
D)swap(p,q);
21.下列选项中合法的函数说明语句是(A)。
A)doublefunc(inta,intb);
B)doublefunc(inta,b);
C)doublefunc(a,intb);
D)doublefunc(a,b);
22.设有定义inta[]={1,3,5,7,9},*p=a;结果为7的表达式是()A。
A)*(p+3)
B)*(p+4)
C)*p+3
D)*p+4
23.设有定义intm,n,*p;与语句“m=n;”等价的语句是A()。
A)p=&n;m=*p;
B)p=&m;n=*p;
C)p=*n;m=*p;
D)p=*m;n=*p;
24.设有定义intm=2,n=5,*p=&n;则语句“m=*p;”的结果是(B)。
A)指针p指向m
B)变量m的值变为5
C)变量n的值变为2
D)指针p指向m,同时变量m的值变为5
25.设有说明intn;charstr[80];与函数调用:
n=hex2dec(str);则函数hex2dec正确的函数说明应该是:
A()。
A)inthex2dec(charstr[]);
B)voidhex2dec(charstr[]);
C)inthex2dec(charstr);
D)voidhex2dec(charstr);
26.设有定义char*p[]={"Shanghai","Beijing","Honkong"};则结果为'j'字符的表达式是(B)。
A)p[3][1]
B)*(p[1]+3)
C)*(p[3]+1)
D)*p[1]+3
27.*以下程序执行后输出结果是(C)。
main()
{char*s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
A)n,two
B)t,one
C)w,one
D)o,two
28.*主调函数中要实现交换两个整型变量的值,应该调用下列4个函数中的(C)。
A)voidfun_a(intx,inty)
{int*p;
*p=x;x=y;y=*p;
}
B)voidfun_b(int*x,int*y)
{int*p;
*x=*y;*y=*x;
}
C)voidfun_c(int*x,int*y)
{*x=*x+*y;
*y=*x-*y;
*x=*x-*y;
}
D)voidfun_d(intx,inty)
{intp;
p=x;x=y;y=p;
}
29.*设有定义:
chars[20];则在下面表达式中错误表示s[1]的地址的是()B。
A)s+1
B)++s
C)&s[0]+1
D)&s[1]
30.*下面程序段的运行结果是(D)。
charc[]="\tv\\\0will\n";
printf("%d",sizeof(c));
A)14
B)3
C)9
D)10
31.以下4个变量定义中,定义p为二级指针的是(A)。
A)int**p;
B)int(*p)();
C)int*p[10];
D)int(*p)[10];
32.*若有以下定义和赋值语句,则与&s[i][j]等价的是(C)。
ints[2][3]={0},(*p)[3],i,j;
p=s;i=j=1;
A)*(*(p+i)+j)
B)*(p[i]+j)
C)*(p+i)+j
D)(*(p+i))[j]
33.以下4个变量定义中,定义p为指针数组的是A()。
A)int*p[10];
B)int(*p)();
C)int**p;
D)int(*p)[10];
34.在C语言中,表示结束当前函数的语句是A()。
A)return语句
B)break语句
C)continue语句
D)end语句
35.*若已定义x为int类型变量,下列定义指针变量p的语句正确的是(A)。
A)int*p=&x;
B)intp=&x;
C)int*p=x;
D)intp=x;
36.在C语言中,表示循环的一组语句是(A)。
A)for,while,do-while
B)for,while,do-until
C)for,loop,do-loop
D)for,foreach,while
37.以下选项中,合法的函数说明语句是(C)。
A)voidfunc(chara[],b[]);
B)voidfunc(*a,charb[]);
C)voidfunc(chara[],char*b);
D)voidfunc(char*a,*b);
38.*以下定义语句中正确的是()B。
A)chara="A",b="B";
B)char*p="abcd",*q=p+1;
C)inta=b=0;
D)float*a,b=&a;
39.*设有以下语句:
structst
{intn;
structst*next;
}a[3]={5,&a[1],7,&a[2],9,'\0'},*p=a;
则以下表达式的值为6的是(D)。
A)p++->n
B)p->n++
C)(*p).n++
D)++p->n
40.设有以下结构体定义及初始化,则表达式结果为'i'的是(A)。
structnode
{intnum;
charname[20];}
stu[2]={101,"Wang",102,"Li"},*p=stu;
A)stu[1].name[1]
B)p->name[1]
C)stu[0].name[1]
D)p->name[1]+1
41.*若以下定义:
structlink
{intdata;
strucklink*next;
}a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
指针p指向变量a,,q指向变量c。
则能够把c插入到a和b之间并形成新的链表的语句组是(D)。
A)a.next=c;c.next=b;
B)p.next=q;q.next=p.next;
C)p->next=&c;q->next=p->next;
D)(*p).next=q;(*q).next=&b;
42.设建立了一个链表结构,head指向链表头结点,p指向链表中某个结点,q是一个指向结点的指针,以下(B)组语句的功能是输出p下一结点(数据为E的结点)的数据项。
A)q=p;printf("%c",q->data);
B)q=p->next;printf("%c",q->data);
C)q=p;printf("%c",q);
D)q=p->next;printf("%c",q);
43.设有以下结构体定义及初始化,表达式p->score的结果是(B)。
structnode
{
intnum;
floatscore;
}stu[2]={101,91.5,102,92.5},*p=stu;
A)101
B)91.5
C)102
D)92.5
44.设有以下结构体定义及初始化,表达式x.fz*y.fm的结果是(A)。
structfs{intfz,fm;};
structfsx={2,3},y={5,7};
A)14
B)10
C)21
D)15
45.若有以下定义,输出字母M的语句是(D)。
structperson
{
charname[9];
intage;
};
structpersonst[10]={{"john",17},{"paul",19},{"Mary",18}};
A)printf("%c",st[2].name);
B)printf("%c",st[3].name[1]);
C)printf("%c",st[2].name[1]);
D)printf("%c",st[2].name[0]);
46.以下文件函数中,用于将数据写到文件的函数是(C)。
A)fread
B)fgets
C)fwrite
D)fscanf
47.设有定义FILE*fp;将整数n以文本方式写到fp文件的语句是(B)。
A)fp=fopen("file.txt","w");
B)fprintf(fp,"%d",n);
C)fwrite(&n,sizeof(int),1,fp);
D)fclose(fp)
48.需要以写模式打开一个名为myfile.txt的文本文件,下列打开文件正确的选项是(B)。
A)fopen("myfile.txt","r");
B)fopen("myfile.txt","w");
C)fopen("myfile.txt","rb");
D)fopen("myfile.txt","wb");
49.以下文件函数中,用于关闭文件的函数是(D)。
A)fopen
B)fprintf
C)fscanf
D)fclose
50.分析以下函数,该函数的功能是(A)。
voidsca_from_file(inta[],intn,charfn[])
{
FILE*fp;inti;
fp=fopen(fn,"r");
for(i=0;i fscanf(fp,"%d",&a[i]); fclose(fp); } A)打开文件fn,从文件中读出n个整数到数组a中 B)打开文件fn,将数组a的n个元素写到文件中 C)打开文件fn,从文件中读出n,再读n个整数到数组a中 D)打开文件fn,将n和数组a的n个元素依次写到文件中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选择题 第二 部分