C语言选择题90道Word下载.docx
- 文档编号:22616779
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:32
- 大小:29.04KB
C语言选择题90道Word下载.docx
《C语言选择题90道Word下载.docx》由会员分享,可在线阅读,更多相关《C语言选择题90道Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
c2);
printf("
%d,%c,%d,%c"
a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:
12,a,34,b则正确的输入格式是(以下˽代表空格,<
CR>
代表回车)(D)。
A)12˽a34˽b<
CR>
B)12˽a˽34˽b<
C)12,a,34,b<
D)12a34b<
(18)若变量已正确定义,在if(W)printf("
k);
中,以下不可替代W的是(A)。
A)a<
>
b+cB)ch=getchar()C)a==b+cD)a++
(19)有以下程序段:
main()
{inta,b,c;
a=10;
b=50;
c=30;
if(a>
b)a=b;
b=c;
c=a;
a=%db=%dc=%d\n"
a,b,c);
程序的输出结果是(B)。
A)a=10b=50c=30
B)a=10b=50c=10
C)a=10b=30c=10
D)a=50b=30c=50
(20)下列叙述中正确的是(B)。
A)在switch语句中,不一定使用break语句
B)在switch语句中必须使用default
C)break语句必须与switch语句中的case配对使用
D)break语句只能用于switch语句
(21)以下不构成无限循环的语句或语句组是(A)。
A)n=0;
do{++n;
}while(n<
=0);
B)n=0;
while
(1){n++;
C)n=10;
while(n);
{n--;
D)for(n=0,i=1;
;
i++)n+=i;
(22)有以下程序:
#include<
main()
{intc=0,k;
for(k=1;
k<
3;
k++)
switch(k)
{default:
c+=k;
case2:
c++;
break;
case4:
c+=2;
c);
程序运行后的输出结果是(C)
A)7B)5C)3D)9
(23)有以下程序:
intf(intx,inty)
{return((y-x)*x);
{inta=3,b=4,c=5,d;
d=f(f(a,b),f(a,c))
d);
程序运行后的输出结果是(D)。
A)7B)10C)8D)9
(24)若有定义语句:
doublea,*p=&
a;
以下叙述中错误的是(A)
A)定义语句中的*号是一个间址运算符
B)定义语句中的*号是一个说明符
C)定义语句中的p只能存放double类型变量的地址
D)定义浯句中,*p=&
a把变量a的地址作为初值赋给指针变量p
(25)若有定义语句:
doublex,y,*px,*py;
执行了px=&
x;
py=&
y;
之后,正确的输入语句是(A)
A)scanf("
%lf%le"
px,py);
B)scanf("
%f%f"
&
x,&
y);
C)scanf("
x,y);
D)scanf("
%lf%lf"
(26)以下定义数组的语句中错误的是(B)。
A)intnum[][3]={{1,2},3,4,5,6};
B)intnum[2][4]={{1,2},{3,4},{5,6}};
C)intnum[]={l,2,3,4,5,6};
D)intnum[][4]={1,2,3,4,5,6};
(27)有以下程序:
voidfun(inta,intb)
{intt;
t=a;
a=b;
b=t;
{intc[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;
i<
10;
i+=2)fun(c[i],c[i+1]);
i++)printf("
c[i]);
程序的运行结果是(A)。
A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,
C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,
(28)有以下程序:
{intx[3][2]={0},i;
i++)scanf("
%d"
x[i]);
%3d%3d%3d\n"
x[0][0],x[0][1],x[1][0]);
若运行时输入:
246<
回车>
则输出结果为(A)。
A)204B)200C)240D)246
(29)有以下程序段:
intj;
floaty;
charname[50];
%2d%f%s"
j,&
y,name);
当执行上述程序段,从键盘上输入555667777abc后,y的值为(A)。
A)566.0B)55566.0C)7777.0D)566777.0
(30)下列语句组中,正确的是(A)。
A)char*s;
s="
Olympic"
B)chars[7];
C)char*s;
s={"
};
D)chars[7];
(31)有以下函数:
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
该函数的功能是(C)。
A)计算s所指字符串的长度
B)比较两个字符串的大小
C)计算s所指字符串占用内存字节的个数
D)将s所指字符串复制到字符串t中
(32)有以下程序(注:
字符a的ASCII码值为97):
{char*s={"
abc"
do
{printf("
*s%10);
++s;
while(*s);
A)789B)abcC)7890D)979899
(33)设有如下函数定义:
intfun(intk)
{if(k<
1)return0;
elseif(k==1)return1;
elsereturnfun(k—1)+1;
若执行调用语句:
n=fun(3);
则函数fun总共被调用的次数是(B)。
A)2B)3C)4D)5
(34)有以下程序:
intf(intn);
{inta=3,s;
s=f(a);
s=s+f(a);
s);
intf(intn)
{staticinta=1;
n+=a++;
returnn;
A)9B)8C)7D)10
(35)设有定义:
structcomplex
{intreal,unreal;
}datal={1,8},data2;
则以下赋值语句中错误的是(A)。
A)data2=(2,6);
B)data2=data1;
C)data2.real=data1.real;
D)data2.real=data1l.unreal;
(36)有以下程序:
structS{intn;
inta[20];
voidf(structS*p)
{inti,j,t;
for(i=0;
p->
n-1;
i++)
for(j=i+1;
j<
n;
j++)
if(p->
a[i]>
a[j]){t=p->
a[i];
a[i]=p->
a[j];
a[j]=t;
{inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(&
s);
s.n;
s.a[i]);
程序运行后的输出结果是(C)。
A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,
(37)有以下程序:
#include<
#include<
string.h>
typedefstruct{charname[9];
charsex;
intscore[2];
}STU;
STUf(STUa)
{STUb={"
Zhao"
'
m'
85,90};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
2;
a.score[i]=b.score[i];
returna;
{STUc={"
Qian"
f'
95,92},d;
d=f(c);
%s,%c,%d,%d,"
d.name,d.sex,d.score[0];
d.score[1]);
%s,%c,%d,%d\n"
c.name,c.sex,c.score[0];
c.score[1]);
}
A)Zhao,m,85,90,Qian,f,95,92
B)Zhao,m,85,90,Zhao,m,85,90
C)Qian,f,95,92,Qian,f,95,92
D)Qian,f,95,92,Zhao,m,85,90
(38)以下关于宏的叙述中正确的是(A)。
A)宏替换没有数据类型限制
B)宏定义必须位于源程序中所有语句之前
C)宏名必须用大写字母表示
D)宏调用比函数调用耗费时间
(39)设有以下语句:
inta=1,b=2,c;
c=a^(b<
<
2);
执行后,c的值为(B)。
A)7B)9C)8D)6
(40)有以下程序:
{FILE*fp;
inta[10]={1,2,3},i,n;
fp=fopen("
d1.dat"
"
w"
i++)fprintf(fp,"
a[i]);
fprintf(fp,"
fclose(fp);
fp=fopen("
r"
fscanf(fp,"
n);
fclose(fp);
n);
程序的运行结果是(D)。
A)321B)12300C)1D)123
第二套选择题(30道题):
(11)以下叙述中错误的是(A)。
A)C语言中的每条可执行语句和非执行语句最终都将被转化成二进制的机器指令
B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D)C语言源程序经编译后生成后缀为.obj的目标程序
(12)以下选项中,合法的一组C语言数值常量是(A)。
A)12.0Xa234.5e0B)028.5e-3-0xf
C).1774el.50abcD)0x8A10,0003.e5
(13)以下选项中不合法的标识符是(A)。
A)&
aB)FORC)printD)_00
(14)若有代数式
(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(A)。
A)sqrt(fabs(pow(n,x)+exp(x)))
B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(abs(n^x+e^x))
D)sqrt(fabs(pow(x,n)+exp(x)))
(15)若有定义:
doublea=22;
inti=0,k=18;
则不符合C语言规定的赋值语句是(B)。
A)i=(a+k)<
=(i+k);
B)i=a%11;
C)a=a++,i++;
D)i=!
#include<
{
ints,t,A=10;
doubleB=6;
s=sizeof(A);
t=sizeof(B);
%d,%d\n"
s,t);
在VC6.0平台上编译运行,程序运行后的输出结果是(D)。
A)10,6B)4,4C)2,4D)4,8
chara,b,c,d;
%c%c"
a,&
b);
c=getchar();
d=getchar();
%c%c%c%c\n"
a,b,c,d);
当执行程序时,按下列方式输入数据(从第1列开始,<
代表回车,注意:
回车也是一个字符)
12<
34<
则输出结果是(D)。
A)12B)12C)1234D)12
343
(18)以下关于逻辑运算符两侧运算对象的叙述中正确的是(A)。
A)可以是任意合法的表达式B)只能是整数0或非0整数
C)可以是结构体类型的数据D)只能是整数0或1
(19)有以下程序:
{
inta=0,b=0,c=0,d=0;
if(a=1)b=1;
c=2;
elsed=3;
%d,%d,%d,%d\n"
程序输出(C)
A)1,1,2,0B)0,0,0,3C)编译有错D)0,1,2,0
(20)有以下程序:
intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
case0:
a++;
case1:
b++;
case2:
case3:
a=%d,b=%d\n"
a,b);
程序运行结果是(B)
A)a=2,b=2B)a=2,b=1C)a=1,b=1D)a=1,b=0
(21)以下程序段中的变量已正确定义:
4;
i++;
for(k=1;
k++);
*"
程序段输出结果是(C)。
A)**B)****C)*D)********
(22)有以下程序段:
inti,n;
8;
n=rand()%5;
switch(n)
case1:
%d\n"
case4:
continue;
exit(0);
以下关于程序段执行情况的叙述。
正确的是(D)
A)for循环语句固定执行8次
B)当产生的随机数n为4时结束循环操作
C)当产生的随机数n为1和2不做任何操作
D)当产生的随机数n为0时结束程序运作
intf(intx);
intn=1,m;
m=f(f(f(n)));
m);
intf(intx)
retrunx*2;
程序运行后的输出结果是(A)
A)8B)2C)4D)1
(24)以下叙述中错误的是(A)
A)可以给指针变量赋一个整数作为地址值
B)函数可以返回地址值
C)改变函数形参的值,不会改变对应实参的值
D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋值NULL
(25)设已有定义:
floatx;
则以下对指针变量p进行定义且赋初值的语句中正确的是(B)。
A)int*p=(float)x;
B)float*p=&
C)floatp=&
D)float*p=1024;
(26)以下数组定义中错误的是(D)
A)intx[2][3]={1,2,3,4,5,6};
B)intx[][3]={0};
C)intx[][3]={{1,2,3,},{4,5,6}};
D)intx[2][3]={{1,2},{3,4},{5,6}};
(27)有以下程序:
include<
voidfun(inta[],intn)
inti,t;
n/2;
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
intk[10]={1,2,3,4,5,6,7,8,9,10},I;
fun(k,5);
for(i=2;
k[i]);
printf"
程序运行结果是(A)
A)321678B)876543C)1098765D)345678
:
#defineN4
voidfun(inta[][N],intb[])
inti;
N;
b[i]=a[i][i]-a[i][n-1-i];
intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],I;
fun(x,y);
for(i=0:
y[i]);
程序运行后的输出结果(A)
A)-3,-1,1,3B)-12,-3,0,0
C)0,1,2,3D)-3,-3,-3,-3
(29)设有定义:
chars[81];
inti=0;
,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(C)
A)get(s);
B)while((s[i++]=getcher())!
=’\n’);
s[i]=’\0’;
%s"
D)do{scanf("
%c"
s[i]);
}while(s[i++]!
s[i]=’\n’;
(30)设有定义:
charp[]={‘1’,’2’,’3’},*q=p;
一下不能计算出一个char型数据所占有字节数的表达式是(A)。
A)sizeof(p)B)sizeof(char)
C)sizeof(*q)D)sizeof(p[0])
(31)有以下程序:
charstr[][20]={"
One*World"
One*Dream!
"
},*p=str[1];
strlen(p));
%s\n"
p);
A)10,One*Dream!
B)9,One*Dream!
C)9,One*WorldD)10,One*World
(32)有以下程序:
chars[]="
012xy\08s34f4w2"
inti,n=0;
s[i]!
=0;
if(s[i]>
=’0’&
s[i]<
=’9’)n++;
程序运行后的输出结果是(B)。
A)0B)3C)7D)8
fun(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选择题 90