选择.docx
《选择.docx》由会员分享,可在线阅读,更多相关《选择.docx(28页珍藏版)》请在冰豆网上搜索。
选择
1.已定义ch为字符型变量,以下赋值语句中错误的是()。
A、ch='\xaa';
B、ch=NULL;
C、ch='\';
D、ch=62+3;
答案:
C
2.若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是
scanf(“%f%f%f”,&a,&b,&c);
A、
B、
C、
D、
答案:
A
3.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else总与()配对
A、同一行上的if
B、其之后最近的if
C、其之前最近的未配对的if
D、缩排位置相同的if
答案:
C
4.下面程序的运行结果是
#include
main()
{
inty=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
A、0
B、1
C、8
D、-1
答案:
A
5.执行语句for(i=1;i++<4;);后变量i的值是()。
A、不定
B、3
C、4
D、5
答案:
D
6.若有说明:
inta[3][4]={0};则下面正确的叙述是()。
A、数组a中每个元素均可得到初值0
B、只有元素a[0][0]可得到初值0
C、此说明语句不正确
D、数组a中各元素都可得到初值,但其值不一定为0
答案:
A
7.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。
A、void
B、double
C、int
D、float
答案:
C
8.以下叙述中正确的是()。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、分号是C语句之间的分隔符,不是语句的一部分
C、花括号“{“和”}”只能作为函数体的定界符
D、构成C程序的基本单位是函数,所有函数名都可以由用户命名
答案:
A
9.若有定义:
intx,*pb;,则以下正确的赋值语句是
A、*pb=*x
B、pb=&x
C、*pb=&x
D、pb=x
答案:
B
10.当定义一个结构体变量时,系统分配给它的内存是()。
A、结构中最后一个成员所需内存量
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、各成员所需内存量的总和
答案:
D
11.以下数据中,不正确的数值或字符常量是()。
A、10
B、0xff00
C、8.9e1.2
D、82.5
答案:
C
12.执行下列程序后,其输出结果是()。
main()
{inta=9;
a+=a-=a+a;
printf("%d\n",a);
}
A、18
B、-18
C、-9
D、9
答案:
B
13.inta=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为()。
A、3
B、2
C、不一定
D、1
答案:
B
14.C语言中while和do-while循环的主要区别是()。
A、while的循环控制条件比do-while的循环控制条件更严格
B、do-while的循环体至少无条件执行一次
C、do-while的循环体不能是复合语句
D、do-while允许从外部转到循环体内
答案:
B
15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。
#include
main()
{
inti=0,j,k;
do{i++;k=316-13*i;}while(______);
j=k/11;
printf("316=13*%d+11*%d",i,j);
}
A、k%11==0
B、k/11
C、k%11
D、k/11==0
答案:
C
16.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A、任何类型的表达式
B、整型常量
C、整型表达式
D、整型常量或整型表达式
答案:
D
17.关于建立函数的目的,以下正确的说法是()。
A、减少程序文件所占内存
B、提高程序的执行效率
C、提高程序的可读性
D、减少程序的篇幅
答案:
C
18.在C语言中,能代表逻辑值“真”的是()。
A、大于0的数
B、True
C、非0的数
D、非0整数
答案:
C
19.变量p为指针变量,若p=&a,下列说法不正确的是()。
A、*(p++)==a++
B、&*p==&a
C、(*p)++==a++
D、*&a==a
答案:
A
20.对结构体类型的变量的成员的访问,无论数据类型如何都可使用
的运算符是()。
A、.
B、->
C、*
D、&
答案:
A
21.求平方根函数的函数名为()。
A、sqrt
B、cos
C、pow
D、abs
答案:
A
22.若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是
scanf(“%f%c%f%c”,&a,&c1,&b,&c2);
A、2.0%4.0#
B、2%4#
C、2.0%4.0#
D、2%4#
答案:
A
23.运行以下程序后,输出的结果是
main()
{intk=-3;
if(k<=0)
printf("****\n");
elseprintf("&&&&\n");
}
A、****
B、有语法错误不能通过编译
C、&&&&
D、****&&&&
答案:
A
24.以下程序的运行结果是()。
main()
{
inti=1,sum=0;
while(i<10)sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
A、i=10,sum=9
B、运行出现错误
C、i=2,sum=1
D、i=9,sum=9
答案:
B
25.以下程序的执行结果是main()
{intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("%d",s);}
A、.无限循环
B、0
C、1
D、语法错误
答案:
C
26.对两个数组a和b进行如下初始化:
chara[]=“ABCDEF”;
charb[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};
则以下叙述正确的是
A、a与b中都存放字符串
B、a数组比b数组长度长
C、a与b长度相同
D、a与b完全相同
答案:
B
27.C语言关于实参和形参说法正确的是
A、形参是虚拟的,不占用存储单元
B、实参和与之对应的形参占用同一存储单元
C、实参和与之对应的形参各占用独立的存储单元
D、只有当实参与形参同名时,才共占用同一存储单元
答案:
C
28.C语言的注释定界符是()。
A、\**\
B、{}
C、[]
D、/**/
答案:
D
29.若有说明:
int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。
A、p1=&m;*p2=*p1;
B、p1=&m;p2=p1;
C、p1=&m;p2=&p1
D、p1=&m;p2=&n;*p1=*p2;
答案:
B
30.当说明一个结构体变量时系统分配给它的内存是()。
A、成员中占内存量最大者所需的容量
B、结构中最后一个成员所需内存量
C、结构中第一个成员所需内存量
D、各成员所需内存量的总和
答案:
D
31.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,
则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、3
B、0
C、1
D、2
答案:
D
32.若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是
A、scanf(“%d%d%d”,&a,&b,&c);
B、scanf(“%d%d%d”,a,b,c);
C、read(a,b,c)
D、scnaf(“%D%D%D”,&a,&b,&C);
答案:
A
33.下列运算符中优先级别最高的是
A、!
B、%
C、-=
D、&&
答案:
A
34.t为int类型,进人下面的循环之前,t的值为0
while(t=1)
{……}
则以下叙述中正确的是______。
A、以上说法都不对
B、循环控制表达式的值为1
C、循环控制表达式的值为0
D、循环控制表达式不合法
答案:
B
35.有以下程序段
intn=0,p;
do
{
scanf("%d",&p);
n++;
}while(p!
=12345&&n<3);
此处do-while循环的结束条件是______。
A、p的值等于12345并且n的值大于等于3
B、p的值不等于12345并且n的值小于3
C、p的值不等于12345或者n的值小于3
D、p的值等于12345或者n的值大于等于3
答案:
D
36.设有数组定义:
chararray[]="China";则数组array所占的
空间为()。
A、5个字节
B、7个字节
C、4个字节
D、6个字节
答案:
D
37.在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。
A、传递方式由用户指定
B、地址传递
C、由实参传给形参,再由形参传回实参
D、单向值传递
答案:
D
38.结构化程序由三种基本结构组成,三种基本结构组成的算法______。
A、可以完成任何复杂的任务
B、只能完成一些简单的任务
C、只能完成符合结构化的任务
D、只能完成部分复杂的任务
答案:
A
39.若有定义inta[10],*p=a;,则p+5表示
A、元素a[5]的地址
B、元素a[6]的地址
C、元素a[6]的值
D、元素a[5]的值
答案:
A
40.C语言结构体类型变量在程序执行期间()。
A、部分成员驻留在内存中
B、只有一个成员驻留在内存中
C、所有成员一直驻留在内存中
D、没有成员驻留在内存中
答案:
C
41.以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A、由C语言编译系统决定
B、均占4个字节
C、由用户自己定义
D、根据数据的大小来决定所占内存的字节数
答案:
A
42.若变量已正确定义,以下程序段的输出结果是
x=5.16894;
printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);
A、5.17000
B、输出格式说明与输出项不匹配,输出无定值
C、5.168000
D、5.169000
答案:
D
43.下列运算符中优先j级别最低的运算符是
A、+
B、!
=
C、||
D、<=
答案:
C
44.以下程序段的输出结果是
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)
s+=j;
}
printf(“%d\n”,s);
A、15
B、10
C、24
D、9
答案:
B
45.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是
A、011122
B、120
C、012020
D、012
答案:
A
46.以下不能正确进行字符串赋初值的语句是()。
A、charstr[]="good!
";
B、charstr[5]="good!
";
C、char*str="good!
";
D、charstr[5]={'g','o','o','d',0};
答案:
B
47.对于建立函数的目的,正确的说法是
A、提高程序的执行效率
B、减少程序的篇幅
C、减少程序文件所占的内存
D、提高程序的可读性
答案:
D
48.下列四个选项中,均是C语言关键字的选项是()。
A、ifstructtype
B、switchtypedefcontinue
C、signedunionscanf
D、autoenuminclude
答案:
B
49.若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
A、n=*q;
B、p=q;
C、p=n;
D、*p=*q;
答案:
C
50.使用共用体变量,不可以()。
A、同时访问所有成员
B、进行动态管理
C、简化程序设计
D、节省存储空间
答案:
A
51.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A、-264
B、144
C、552
D、264
答案:
A
52.以下程序段的输出是
floata=3.1415;
printf(“|%6.0f|\n”,a);
A、|3.1415|
B、|3|
C、|3.0|
D、|3.|
答案:
B
53.inta=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值为()。
A、2
B、3
C、1
D、0
答案:
C
54.C语言中用于结构化程序设计的三种基本结构是()。
A、for、while、do-while
B、顺序结构、选择结构、循环结构
C、if、switch、break
D、if、for、continue
答案:
B
55.以下程序的输出结果是
main()
{intx,i;
for(i=1;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d“,x);
}
printf(“\n”);
}
A、2870
B、3981
C、4284
D、2668
答案:
A
56.下列数组说明中,正确的是()。
A、intarray[][];
B、intarray[3][];
C、intarray[][4];
D、intarray[][][5];
答案:
C
57.用户定义的函数不可以调用的函数是()。
A、本文件外的
B、main函数
C、本函数下面定义的
D、非整型返回值的
答案:
B
58.以下叙述中正确的是()。
A、C语言中的函数不可以单独进行编译
B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C、C源程序经编译形成的二进制代码可以直接运行
D、C语言的源程序不必通过编译就可以直接运行
答案:
B
59.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中
不正确的是()。
A、p=&a[j];
B、p=a;
C、p=10;
D、p=&j,p=p1;
答案:
C
60.定义共用体的关键字是
A、union
B、typedef
C、enum
D、struct
答案:
A
61.putchar函数可以向终端输出一个()。
A、字符串
B、字符或字符型变量值
C、实型变量值
D、整型变量表达式值
答案:
B
62.下列程序的输出结果是()。
main()
{inta=011;
printf("%d\n",++a);
}
A、12
B、10
C、11
D、9
答案:
B
63.在C语言中,if语句后的一对原括号中,用以决定分支的流程的表
达式()。
A、只能用关系表达式
B、只能用逻辑表达式
C、只能用逻辑表达式或关系表达式
D、可用任意表达式
答案:
D
64.以下程序段的输出结果是
inti,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)
m++;
printf(“%d\n”,m);
A、15
B、12
C、20
D、25
答案:
C
65.以下程序中,while循环的循环次数是______
main()
{
inti=0;
while(i<10)
{
if(i<1)continue;
if(i==5)break;
i++;
}
}
A、死循环,不能确定次数
B、6
C、4
D、1
答案:
A
66.若有chars1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是()。
A、if(strcmp(s2,s1)>0)puts(s2);
B、if(strcmp(s1,t)>0)puts(s2);
C、if(strcmp(s1,s1)>0)puts(s2);
D、if(strcmp(s2,t)>0)puts(s2);
答案:
B
67.若调用一个函数,且此函数中没有return语句,则正确的说法是:
该函数()。
A、没有返回值
B、返回若干个系统默认值
C、返回一个不确定的值
D、能返回一个用户所希望的值
答案:
C
68.以下选项中合法的用户标识符是______。
A、_2Test
B、long
C、A.dat
D、3Dmax
答案:
A
69.若有下列定义,则对a数组元素地址的正确引用是()。
inta[5],*p=a;
A、*(p+5)
B、*&a[5]
C、*p+2
D、*(a+2)
答案:
D
70.C语言中,定义结构体的保留字是()。
A、struct
B、union
C、enum
D、typedef
答案:
A
71.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是
A、a=b=c=100
B、d=(c=22)-(b++)
C、d++
D、c+b
答案:
D
72.已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A、scanf("%d%d%d",&i,&j,&k);
B、scanf("%d,%d,%d",&i,&j,&k);
C、scanf("%2d%2d%2d",&i,&j,&k);
D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);
答案:
B
73.以下程序的运行结果是
main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf(“%d\n”,c);
}
A、0
B、2
C、1
D、3
答案:
B
74.结构化程序设计所规定的三种基本控制结构是()。
A、树形、网形、环形
B、输入、处理、输出
C、主程序、子程序、函数
D、顺序、选择、循环
答案:
D
75.以下叙述正确的是:
A、用do-while构成循环时,只有在while后的表达式为非零时结束循环
B、do-while语句构成的循环不能用其它语句构成的循环来代替。
C、用do-while构成循环时,只有在while后的表达式为零时结束循环
D、do-while语句构成的循环只能用break语句退出。
答案:
C
76.若使用一维数组名作函数实参,则以下正确的说法是()。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、实参数组名与形参数组名必须一致
D、在被调用函数中,不需要考虑形参数组的大小
答案:
A
77.以下错误的描述是:
函数调用可以()。
A、做为一个函数的形参
B、出现在执行语句中
C、做为一个函数的实参
D、出现在一个表达式中
答案:
A
78.以下叙述中正确的是()。
A、构成C程序的基本单位是函数
B、所有被调用的函数一定要在调用之前进行定义
C、可以在一个函数中定义另一个函数
D、main()函数必须放在其它函数之前
答案:
A
79.charh,*s=&h;可将字符H通过指针存入变量h中的语句是()。
A、s='H'
B、*s='H';
C、s=H;
D、*s=H;
答案:
B
80.以下选项中不是C语句的是
A、{;}
B、;
C、{inti;i++;printf(“%d\n”,i);}
D、a=5,c=10
答案:
D
81.以下程序的输出结果是()。
main()
{floatx=3.6;
inti;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A、x=3i=3.600000
B、x=3.600000,i=4
C、x=3,i=3
D、x=3.600000,i=3
答案:
D
82.main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;}printf("a=%d,b=%d",a,b);
}该程序的输出结果是()
A、2,2
B、2,1
C、1,1
D、1,0
答案:
B
83.以下不是无限循环的语句为()。
A、for(;;x++=i);
B、while
(1){x++;}
C、for(y=0,x=1;x>++y;x=i++)i=x;
D、for(i=10;;i--)sum+=i;
答案:
C
84.以下程序段的输出结果是
intx=3;
do
{pritnf(“%3d”,x-=2);
}while(!
(--x));
A、死循环
B、1-2
C、30
D、1
答案:
B
85.若有说明inta[3][4];则对a数组元素的正确引用是()。
A、a[1+1][0]
B、a[1,3]
C、a[2][4]
D、a
(2)
(1)
答案:
A
86.以下对C语言函数的描述中,正确的是()。
A、C函数既可以嵌套定义又可以递归调用
B、C程序必须由一个或一个以上的函数组成
C、函数必须有返回值,否则不能使用函数
D、C程序中有调用关系的所有函数必须放在同一个程序文件中
答案:
B
87.下列叙述中正确的是()。
A、C语言的子程序有过程和函数两种
B、C语言编译时不检查语法
C、C语言的函数可以嵌套定义
D、C语言所有函数都是外部函数
答案:
D
88.若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为()。
A、p=x;
B、p=x[i];
C、p=&(x+i)
D、p=&x[i];
答案:
D