单选题c.docx
《单选题c.docx》由会员分享,可在线阅读,更多相关《单选题c.docx(18页珍藏版)》请在冰点文库上搜索。
![单选题c.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/a3f956b7-4149-463f-b88c-e544008153c2/a3f956b7-4149-463f-b88c-e544008153c21.gif)
单选题c
单选题
1(11)下列变量名中合法的是(C)
A B.C.TomB 3a6bC _6a7bD $ABC
2(13)C语言的基本单位是(A)
A 函数B 源程序C 语句D 程序行
3(14)以下说法中正确的是(c)
A C语言程序总是从第一个定义的函数开始执行;
B C语言程序中至少有一个main函数;
C C语言程序总是从main函数开始执行;
D C语言程序中的main函数必须放在程序的开始部分;
4(15)C源程序文件的扩展名为(c)
A .exeB .txtC .cD .obj
5(16)以下说法中正确的是(D)
A C源程序可以直接运行产生结果;
B C源程序经编译后才可直接运行产生结果;
C C源程序经连接后才可直接运行产生结果;
D C源程序经编译和连接后才可直接运行产生结果;
6(19)以下不正确的实型常量是(D)
A 2.607e-1B 0.8103eC -77.77D 456e-2
7(21)以下正确的整型常量是(A)
A 12B -20C 1,000D 456
8(24)有程序段:
inta;
for(scanf(“%d”,&a);!
a;)
printf(“continue”);
则for语句中的!
a等价于(B)
A a!
=0B a==0C a>0D a>=0
9(25)C语言中,逻辑“真”等价于(C)
A 大于零的数B 大于零的整数C 非零的数D 非零的整数
10(27)有程序段:
intx;
scanf(“%d\n”,&x);
printf(x%2==0?
“evennumber%d”:
“oddnumber%d”,x,x);
若输入3,则printf语句(A)
A 输出oddnumber3B 输出evennumber3
C 输出evennumber3oddnumber3D 格式不正确
11(29)有程序段:
intn=1;
do{n=++n*5;}
while(n=10);
则此循环的循环体(D)
A 执行1次B 执行2次C 不执行D 执行无限次
12(30)有程序段:
intx,y,z;
x=20,y=40,z=60;
while(xy-=4;z/=2;
printf(“%d,%d,%d”,x,y,z);
则此程序执行的输出结果为(C)
A 40,36,30B 32,28,7C 32,28,30D 32,28,7.5
13(31)有程序段:
intj=0,k=0,a=0;
while(j<2)
{j++;
a=a+1;
k=0;
while(k<=3)
{k++;
if(k%2!
=0)
continue;
a=a+1;
}
a=a+1;
}
执行完成后,a的值为(C)
A 4B 6C 8D 10
14(33)字符型常量在内存中存放的是(A)
A ASCⅡ代码B BCD代码C 内部码D 十进制码
15(36)若有floatx;则sizeof(x)和sizeof(float)两种描述(A)
A 都正确B 都不正确C 前者正确D 后者正确
16(37)整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)
A x=(x=1+2,x*2)B x=y>2?
6:
5C x=8-(--y)-(--y)D x=y*4.8/2
17(38)有整型变量x,单精度变量y=5.5,表达式:
x=(float)(y*3+((int)y)%4)执行后,x的值为(A)
A 17B 17.500000C 17.5D 16
18(39)在C语言中运算对象必须是整型的运算符是(A)
A %B !
C /D *
19(44)以下程序的输出结果是(A)
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
}
printf(“$”);
}
A *#*#*#$B *#*#$C #*#*#*$D #*#*$
20(45)以下程序的输出结果是(C)
main()
{intnum=0;
while(num<=2)
{num++;
printf(“%d,”,num);
}
}
A 1,B 1,2,C 1,2,3,D 1,2,3,4,
21(46)以下程序段是(C)
x=-1;
do
{x=x*x;}while(!
x);
A 死循环B 循环执行两次C 循环执行一次D 有语法错误
22(47)设有程序段
intk=10;
while(k=0)k--;
则下面描述中正确的是(C)
A 循环执行10次B 循环是无限循环
C 循环体语句一次也不执行D 循环体语句执行一次
23(48)以下程序的输出结果是(C)
main()
{intn=0;
while(n++<=2);
printf(“%d”,n);
}
A 2B 3C 4D 有语法错误
24(50)以下程序的输出结果是(C)
main()
{inti,j,m=0;
for(i=1;i<15;i+=4)
for(j=3;j<=19;j+=4)m++;
printf(“%d”,m);
}
A 12B 15C 20D 25
25(51)以下程序的输出结果是(B)
main()
{intn=10;
while(n>7)
{n--;
printf(“%d,”,n);
}}
A 10,9,8,B 9,8,7,C 10,9,8,7,D 9,8,7,6,
26(52)以下程序的输出结果是(B)
main()
{inta=1,b=10;
do{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d”,a,b);
}
A a=3,b=11B a=2,b=8C a=1,b=-1D a=4,b=9
27(54)以下程序的输出结果是(A)
main()
{intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(“%d”,pad);
}
A 7B 5C 6D 4
28(55)若有:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行(m=a>b)&&(n=c>d)后n的值是(B)
A 1B 2C 3D 4
29(56)main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
输出的结果是(B)
A 6,1B 2,1C 6,0D 2,0
30(57)若有intx=10,y=20,z=30;以下语句执行后x,y,z的值是(B)
if(x>y)
z=x;x=y;y=z;
A x=10,y=20,z=30B x=20,y=30,z=30
C x=20,y=30,z=10D x=20,y=30,z=20
31(59)以下程序的输出结果是(B)
main()
{inta=1,b=3,c=5,d=4,x;
if(a
if(celse
if(aif(belsex=3;
elsex=6;
elsex=7;
printf(“x=%d”,x);
}
A 1B 2C 3D 6
32(60)以下程序的输出结果是(B)
main()
{intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez+=1;
printf(“%d\n”,z)
}
A 3B 2C 1D 0
33(61)为了避免嵌套的if—else语句的二义性,C语言规定else总是与(C)组成配对关系。
A 缩排位置相同的ifB 在其之前未配对的if
C 在其之前未配对的最近的ifD 同一行上的if
34(62)若x、a、b和。
均是int型变量,则执行表达式x=(a=1,b=2)后的结果为(B)
A 1B 2C 3D x无确定值
35(64)以下是正确的C语言标识符是_B_。
A #defineB _123C %dD \n
36(65)下列关于C语言的叙述错误的是(A)
A 大写字母和小写字母的意义相同
B 不同类型的变量可以在一个表达式中
C 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D 同一个运算符号在不同的场合可以有不同的含义
37(66)在C语言中,错误的int类型的常数是(A)。
A 32768B 0C 037D 0Xaf
38(67)逗号表达式"(a=3*5,a*4),a+15"的值是(C)
A 15B 60C 30D 不确定
39(68)已知intx=1,y;执行下述语句后变量x的值是_B__。
y=++x>5&&++x<10;
A 1B 2C 3D 4
40(71)下面的for语句执行次数是(C)。
for(x=0,y=10;(y>0)&&(x<4);x++,y--);
A 是无限循环B 循环次数不定C 循环执行4次D 循环执行3次
41(72)已知inti=1;执行语句while(i++<4);后,变量i的值为(C)
A 3B 4C 5D 6
42(73)对二维数组的正确说明是(C)
A inta[][]={1,2,3,4,5,6};B inta[2][]={1,2,3,4,5,6};
C inta[][3]={1,2,3,4,5,6};D inta[2,3]={1,2,3,4,5,6};
43(75)下面程序的输出结果是(D)
main()
{inti;
for(i=0;i<10;i++);
printf(“%d”,i);
}
A 0B 123456789C 0123456789D 10
44(77)C语句x*=y+2;还可以写成(C)
A x=x*y+2;B x=2+y*x;C x=x*(y+2); D x=y+2*x;
45(80)下面程序的输出结果是_B_。
#include
main()
{intx=10;
{intx=20;
printf("%d,",x);
}
printf("%d\n",x);
}
A 10,20B 20,10C 10,10D 20,20
46(83)以下程序段的输出结果是(B)。
inta=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%db=%dc=%d\n",a,b,c);
A a=10b=50c=10B a=10b=30c=10
C a=50b=30c=10D a=50b=30c=50
47(84)以下程序的输出结果是(C)。
main()
{inta=0,b=1,c=0,d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)d=15;
elsed=25;
printf("d=%d\n",d);
}
A d=10B d=15C d=20D d=25
48(85)下面程序的输出结果为(B)。
main()
{inta=1,b=0;
switch(a)
{case1:
switch(b)
{case0:
printf("**0**");break;
case1:
printf("**1**");break;
}
case2:
printf("**2**");break;
}
}
A **0**B **0****2**C **0****1****2**D 有语法错误
49(88)下面程序的输出结果是_A_。
main()
{inta=1,b=0;
do
{switch(a)
{case1:
b=1;break;
case2:
b=2;break;
default:
b=0;
}
b=a+b;
}while(!
b);
printf("a=%d,b=%d",a,b);
}
A a=1,b=2B a=2,b=1C a=1,b=1D a=2,b=2
50(89)从键盘上输入"446755"时,下面程序的输出是_C_。
#include
main()
{intc;
while((c=getchar())!
=''\n'')
switch(c-''2'')
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
printf("\n");
}
A 888988B 668966C 88898787D 66898787
51(90)下面程序的输出结果是_D_。
main()
{intk=0;
charc=''A'';
do
{switch(c++)
{case''A'':
k++;break;
case''B'':
k--;
case''C'':
k+=2;break;
case''D'':
k=k%2;contiue;
case''E'':
k=k+10;break;
default:
k=k/3;
}
k++;
}while(c<''C'');
printf("k=%d\n",k);
}
A k=1B k=2C k=3D k=4
52(95)下面程序的输出结果是_C_。
main()
{inti,j,k=10;
for(i=0;i<2;i++)
{k++;
{intk=0;
for(j=0;j<=3;j++)
{if(j%2)continue;
k++;
}
}
k++;
}
printf("k=%d\n",k);
}
A k=4B k=8C k=14D k=18
53(96)下面程序的输出结果是_C_。
#include
main()
{intn[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
n[i+1][j+1]+=n[i][j];
printf("%d\n",n[i][j]);
}
A 14B 0C 6D 不确定
54(97)下面程序的输出结果是_B_。
#include
main()
{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};
inti,j,n;
n=9;
i=n/5;
j=n-i*5-1;
printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
A 6B –3C 2D 不确定
55(103)下面程序的输出结果是_C_。
#include
fun(intn,int*s)
{
intf1,f2
if(n==1||n
*s=1;
else
{
fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
)
main()
{
intx;
fun(6,&x);
printf("%d\n",x);
}
A 6B 7C 8D 9
56(106)下面程序的输出结果是_B_。
#include
voidnum()
{
externintx,y;
inta=15,b=10;
x=a-b;
y=a+b;
}
intx,y;
main()
{
inta=7,b=5;
x=a-b;
y=a+b;
num();
printf("%d,%d\n",x,y);
}
A 12,2B 5,25C 1,12D 输出不确定
57(107)下面程序的输出结果是_D_。
main()
{inta=2,i;
for(i=0;i<3;i++)
printf("%4d",f(a));
}
f(inta)
{intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
}
A 777B 71013C 7911D 789
58(108)下面程序的输出结果是_D_。
#include
try()
{staticintx=3;
x++;
return(x);
}
main()
{inti,x;
for(i=0;i<=2;i++)
x=try();
printf("%d\n",x);
}
A 3B 4C 5D 6
59(109)下面程序的输出结果是__D_。
#include
main()
{
intx=1;
voidf1(),f2();
f1();
f2(x);
printf("%d\n",x);
}
voidf1(void)
{
intx=3;
printf("%d",x);
}
voidf2(x)
intx;
{
printf("%d",++x);
}
A 111B 222C 333D 321
60(111)下面程序的输出结果是__A__。
main()
{inta[]={1,2,3,4,5,6};
int*p;
p=a;
printf("%d",*p);
printf("%d",*(++p));
printf("%d",*++p);
printf("%d",*(p--));
p+=3;
printf("%d%d",*p,*(a+3));
}
A 123354B 123456C 122345D 123445
61(113)下面程序的输出结果是_A_。
#include
main()
{inta[]={1,2,3,4,5};
intx,y,*p;
p=&a[0];
x=*(p+2);
y=*(p+4);
printf("%d,%d,%d\n",*p,x,y);
}
A 1,3,5B 1,2,3C 1,2,4D 1,4,5
62(128)在函数的说明和定义时若没有指出函数的类型,则(A)
A 系统自动地认为函数的类型为整型。
B 系统自动地认为函数的类型为字符型。
C 系统自动地认为函数的类型为实型。
D 编译时会出错。
63(130)算法具有五个特性,以下选项中不属于算法特性的是(A)
A 简洁性B 有穷性C 确定性D 可行性
64(137)若有定义:
intx,*pb;则以下正确的赋值表达式是(C)
A *pb=&x;B pb=x;C pb=&x;D *pb=*x;
65(139)执行以下程序后,a的值为(C)
main()
{inta,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf(“a=%d\n”,a);
printf(“b=%d”,b);
}
A -1B 1C 0D 4
66(141)下面程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是(B)
main()
{int*p,q,a,b;
p=&a;
scanf(“%d”,*p);
……
}
A *p表示的是指针变量p的地址;
B *p表示的是变量a的值,而不是变量a的地址
C *p表示的是指针变量p的值
D *p只能用来说明p是一个指针变量
67(143)变量的指针,其含义是指该变量的(B)
A 值B 地址C 名D 一个地址
68(144)若有语句int*pointa=4;和point&a;下面均代表地址的一组选项是(D)
A a,point,*&aB &*a,&a,*point
C *&point,*point,&aD &a,&*point,point
69(162)C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是(B)
A float型B int型C long型D double型
70(163)C语言规定,函数返回值的类型是由(D)
A return语句中的表达式类型所决定;B 调用该函数时的主调函数类型所决定;
C 调用该函数时系统临时决定;D 在定义该函数时所指定的函数类型所决定;
71(164)下面函数调用语句含有实参的个数为(B)
func((exp1,exp2),(exp3,exp4,exp5));
A 1B 2C 5D 4
72()