C语言单选二.docx
《C语言单选二.docx》由会员分享,可在线阅读,更多相关《C语言单选二.docx(77页珍藏版)》请在冰豆网上搜索。
C语言单选二
第1题题号:
505
以下语句中,循环次数不为10次的语句是()。
A:
for(i=1;i<10;i++);
B:
i=1;do{i++;}while(i<=10);
C:
i=10;while(i>0){--i;}
D:
i=1;m:
if(i<=10){i++;gotom;}
答案:
A
第2题题号:
582
若有定义:
inta=7;floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是()。
A:
2.500000
B:
2.750000
C:
3.500000
D:
0.000000
答案:
A
第3题题号:
676
以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A:
auto和static
B:
auto和register
C:
register和static
D:
extern和register
答案:
B
第4题题号:
518
chara[]="Thisisaprogram.";输出前5个字符的语句是()。
A:
printf("%.5s",a);
B:
puts(a);
C:
printf("%s",a);
D:
a[5*2]=0;puts(a);
答案:
A
第5题题号:
615
C语言中while和do-while循环的主要区别是()。
A:
do-while的循环体至少无条件执行一次
B:
while的循环控制条件比do-while的循环控制条件更严格
C:
do-while允许从外部转到循环体内
D:
do-while的循环体不能是复合语句
答案:
A
第6题题号:
585
以下选项中合法的用户标识符是()。
A:
long
B:
_2Test
C:
3Dmax
D:
A.dat
答案:
B
第7题题号:
533
对结构体类型的变量的成员的访问,无论数据类型如何都可使用
的运算符是()。
A:
.
B:
->
C:
*
D:
&
答案:
A
第8题题号:
690
设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。
A:
10101001
B:
10101000
C:
11111101
D:
01010101
答案:
D
第9题题号:
733
以下叙述中不正确的是()。
A:
C语言中的文本文件以ASCⅡ码形式存储数据
B:
C语言中对二进制文件的访问速度比文本文件快
C:
C语言中,随机读写方式不适用于文本文件
D:
C语言中,顺序读写方式不适用于二进制文件
答案:
D
第10题题号:
736
以下叙述中错误的是()。
A:
二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B:
在程序结束时,应当用fclose函数关闭已打开的文件
C:
在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:
不可以用FILE定义指向二进制文件的文件指针
答案:
D
第11题题号:
726
fwrite函数的一般调用形式是()。
A:
fwrite(buffer,count,size,fp);
B:
fwrite(fp,size,count,buffer);
C:
fwrite(fp,count,size,buffer);
D:
fwrite(buffer,size,count,fp);
答案:
D
第12题题号:
495
下列字符序列中,是C语言保留字的是()。
A:
sizeof
B:
include
C:
scanf
D:
sqrt
答案:
A
第13题题号:
678
当调用函数时,实参是一个数组名,则向函数传送的是()。
A:
数组的长度
B:
数组的首地址
C:
数组每一个元素的地址
D:
数组每个元素中的值
答案:
B
第14题题号:
644
以下对一维整型数组a的正确说明是()。
A:
inta(10);
B:
intn=10,a[n];
C:
intn;scanf("%d",&n);inta[n];
D:
#defineSIZE10(换行)inta[SIZE];
答案:
D
第15题题号:
679
在C语言中,形参的缺省存储类是()。
A:
auto
B:
register
C:
static
D:
extern
答案:
A
第16题题号:
570
以下叙述不正确的是()。
A:
一个C源程序可由一个或多个函数组成
B:
一个C源程序必须包含一个main函数
C:
C程序的基本组成单位是函数
D:
在C程序中,注释说明只能位于一条语句的后面
答案:
D
第17题题号:
636
若二维数组a有m列,则在a[i][j]前的元素个数为()。
A:
j*m+i
B:
i*m+j
C:
i*m+j-1
D:
i*m+j+1
答案:
B
第18题题号:
632
以下叙述正确的是()。
A:
do-while语句构成的循环不能用其它语句构成的循环来代替.
B:
do-while语句构成的循环只能用break语句退出.
C:
用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D:
用do-while语句构成的循环,在while后的表达式为零时结束循环
答案:
D
第19题题号:
711
下列选项中正确的语句组是()。
A:
chars[8];s={"Beijing"};
B:
char*s;s={"Beijing"};
C:
chars[8];s="Beijing";
D:
char*s;s="Beijing";
答案:
D
第20题题号:
729
当顺利执行了文件关闭操作时,fclose函数的返回值是()。
A:
-1
B:
TRUE
C:
0
D:
1
答案:
C
第21题题号:
436
设j和k都是int类型,则下面的for循环语句()。
for(j=0,k=0;j<=9&&k!
=876;j++)scanf("%d",&k);
A:
最多执行10次
B:
最多执行9次
C:
是无限循环
D:
循环体一次也不执行
答案:
A
第22题题号:
701
设char*s="\ta\017bc";则指针变量s指向的字符串所占的字节数
是()。
A:
9
B:
5
C:
6
D:
7
答案:
C
第23题题号:
567
以下叙述中正确的是()。
A:
C语言比其他语言高级
B:
C语言可以不用编译就能被计算机识别执行
C:
C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D:
C语言出现的最晚,具有其他语言的一切优点
答案:
C
第24题题号:
645
若有说明inta[3][4];则对a数组元素的正确引用是()。
A:
a[2][4]
B:
a[1,3]
C:
a[1+1][0]
D:
a
(2)
(1)
答案:
C
第25题题号:
607
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的
值是()。
A:
-3
B:
9
C:
-12
D:
6
答案:
C
第26题题号:
529
在C语言中,调用函数除函数名外,还必须有()。
A:
函数预说明
B:
实际参数
C:
()
D:
函数返回值
答案:
C
第27题题号:
696
设intb=2;表达式(b>>2)/(b>>1)的值是()。
A:
0
B:
2
C:
4
D:
8
答案:
A
第28题题号:
707
若有说明:
int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。
A:
p1=&m;p2=&p1
B:
p1=&m;p2=&n;*p1=*p2;
C:
p1=&m;p2=p1;
D:
p1=&m;*p2=*p1;
答案:
C
第29题题号:
551
应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。
A:
open
B:
fopen
C:
close
D:
fclose
答案:
B
第30题题号:
692
以下叙述中正确的是()。
A:
在程序的一行上可以出现多个有效的预处理命令行
B:
使用带参的宏时,参数的类型应与宏定义时的一致
C:
宏替换不占用运行时间,只占编译时间
D:
在以下定义中CR是称为"宏名"的标识符#defineCR045
答案:
C
第31题题号:
716
设有定义:
intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。
A:
p=1;
B:
*q=2;
C:
q=p;
D:
*p=5;
答案:
D
第32题题号:
527
全局变量的定义不可能在()。
A:
函数内部
B:
函数外面
C:
文件外面
D:
最后一行
答案:
A
第33题题号:
577
在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。
A:
由用用户自己定义
B:
均为2个字节
C:
是任意的
D:
由所用机器的机器字长决定
答案:
D
第34题题号:
680
在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。
A:
地址传递
B:
单向值传递
C:
由实参传给形参,再由形参传回实参
D:
传递方式由用户指定
答案:
B
第35题题号:
492
下列程序段的输出结果为()。
floatx=213.82631;
printf("%3d",(int)x);
A:
213.82
B:
213.83
C:
213
D:
3.8
答案:
C
第36题题号:
684
在C语言中,要求运算数必须是整型的运算符是()。
A:
^
B:
%
C:
!
D:
>
答案:
B
第37题题号:
618
C语言中用于结构化程序设计的三种基本结构是()。
A:
顺序结构、选择结构、循环结构
B:
if、switch、break
C:
for、while、do-while
D:
if、for、continue
答案:
A
第38题题号:
498
下列运算符中是C语言关系运算符的是()。
A:
~
B:
!
C:
&
D:
!
=
答案:
D
第39题题号:
606
已定义ch为字符型变量,以下赋值语句中错误的是()。
A:
ch='\';
B:
ch=62+3;
C:
ch=NULL;
D:
ch='\xaa';
答案:
A
第40题题号:
600
若有说明语句:
charc='\72';则变量c()。
A:
包含1个字符
B:
包含2个字符
C:
包含3个字符
D:
说明不合法,c的值不确定
答案:
A
第41题题号:
741
在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
A:
fprintf函数
B:
fread函数
C:
fwrite函数
D:
fputc函数
答案:
A
第42题题号:
647
以下能对二维数组a进行正确初始化的语句是()。
A:
inta[2][]={{1,0,1},{5,2,3}};
B:
inta[][3]={{1,2,3},{4,5,6}};
C:
inta[2][4]={{1,2,3},{4,5},{6}};
D:
inta[][3]={{1,0,1}{},{1,1}};
答案:
B
第43题题号:
732
若执行fopen函数时发生错误,则函数的返回值是()。
A:
地址值
B:
0
C:
1
D:
EOF
答案:
B
第44题题号:
661
以下正确的描述是:
在C语言程序中()。
A:
函数的定义可以嵌套,但函数的调用不可以嵌套
B:
函数的定义不可以嵌套,但函数的调用可以嵌套
C:
函数的定义和函数的调用均不可以嵌套
D:
函数的定义和函数的调用均可以嵌套
答案:
B
第45题题号:
681
以下运算符中优先级最低的是()。
A:
&&
B:
&
C:
||
D:
|
答案:
C
第46题题号:
553
文件中有一个位置指针,指向当前读写的位置,不可使p所指文件的
位置返回到文件的开头的是()。
A:
rewind(p);
B:
fseek(p,0,SEEK_SET);
C:
fseek(p,0,0);
D:
fseek(p,-3L,SEEK_CUR);
答案:
D
第47题题号:
683
在C语言中,要求运算数必须是整型或字符型的运算符是()。
A:
&&
B:
&
C:
!
D:
||
答案:
B
第48题题号:
742
若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)
的返回值是()。
A:
EOF
B:
0
C:
非零值
D:
NULL
答案:
C
第49题题号:
708
下面判断正确的是()。
A:
char*a="china";等价于char*a;*a="china";
B:
charstr[10]={"china"};等价于charstr[10];str[]={"china"};
C:
char*s="china";等价于char*s;s="china";
D:
charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
答案:
C
第50题题号:
542
若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存
空间存入整数123的语句为()。
A:
scanf("%d",p);
B:
scanf("%d",&p);
C:
scanf("%d",*p);
D:
scanf("%d",**p);
答案:
A
第51题题号:
528
对于void类型函数,调用时不可作为()。
A:
自定义函数体中的语句
B:
循环体里的语句
C:
if语句的成分语句
D:
表达式
答案:
D
第52题题号:
638
设有数组定义:
chararray[]="China";则数组array所占的
空间为()。
A:
4个字节
B:
5个字节
C:
6个字节
D:
7个字节
答案:
C
第53题题号:
496
doublex;scanf("%lf",&x);不可以赋值给x变量的常量是()。
A:
123
B:
100000
C:
A'
D:
"abc"
答案:
D
第54题题号:
612
语句while(!
E);中的表达式!
E等价于()。
A:
E==0
B:
E!
=1
C:
E!
=0
D:
E==1
答案:
A
第55题题号:
572
表达式18/4*sqrt(4.0)/8值的数据类型为()。
A:
int
B:
float
C:
double
D:
不确定
答案:
C
第56题题号:
555
选择结构中的条件与循环结构中循环成立的条件,
在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值()。
A:
-1
B:
1
C:
非零的数
D:
0
答案:
D
第57题题号:
613
下面有关for循环的正确描述是()。
A:
for循环只能用于循环次数已经确定的情况
B:
for循环是先执行循环循环体语句,后判断表达式
C:
在for循环中,不能用break语句跳出循环体
D:
for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
答案:
D
第58题题号:
697
若x=2,y=3则x&y的结果是()。
A:
0
B:
2
C:
3
D:
5
答案:
B
第59题题号:
514
chara[10];不能将字符串"abc"存储在数组中的是()。
A:
strcpy(a,"abc");
B:
a[0]=0;strcat(a,"abc");
C:
a="abc";
D:
inti;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
答案:
C
第60题题号:
620
下列运算符中优先级最高的是()。
A:
<
B:
+
C:
&&
D:
!
=
答案:
B
第61题题号:
558
inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是()。
A:
2
B:
3
C:
4
D:
不一定
答案:
B
第62题题号:
603
以下符合C语言语法的赋值表达式是()。
A:
d=9+e+f=d+9
B:
d=9+e,f=d+9
C:
d=9+e,e++,d+9
D:
d=9+e++=d+7
答案:
B
第63题题号:
721
fseek函数的正确调用形式是()。
A:
fseek(文件类型指针,起始点,位移量)
B:
fseek(fp,位移量,起始点)
C:
fseek(位移量,起始点,fp)
D:
fseek(起始点,位移量,文件类型指针)
答案:
B
第64题题号:
694
以下叙述正确的是()。
A:
可以把define和if定义为用户标识符
B:
可以把define定义为用户标识符,但不能把if定义为用户标识符
C:
可以把if定义为用户标识符,但不能把define定义为用户标识符
D:
define和if都不能定义为用户标识符
答案:
B
第65题题号:
581
sizeof(float)是()。
A:
一个双精度型表达式
B:
一个整型表达式
C:
一种函数调用
D:
一个不合法的表达式
答案:
B
第66题题号:
594
设intx=1,y=1;表达式(!
x||y--)的值是()。
A:
0
B:
1
C:
2
D:
-1
答案:
B
第67题题号:
501
下列程序段的输出结果为()。
inta=7,b=9,t;
t=a*=a>b?
a:
b;
printf("%d",t);
A:
7
B:
9
C:
63
D:
49
答案:
C
第68题题号:
597
下列四个选项中,均是C语言关键字的选项是()。
A:
autoenuminclude
B:
switchtypedefcontinue
C:
signedunionscanf
D:
ifstructtype
答案:
B
第69题题号:
626
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达
式的值为“假”,则以下不能满足要求的表达式是()。
A:
A%2==1
B:
!
(A%2==0)
C:
!
(A%2)
D:
A%2
答案:
C
第70题题号:
662
C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。
A:
void
B:
int
C:
float
D:
double
答案:
B
第71题题号:
611
以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。
A:
是无限循环
B:
循环次数不定
C:
4次
D:
3次
答案:
C
第72题题号:
513
inta[10];合法的数组元素的最小下标值为()。
A:
10
B:
9
C:
1
D:
0
答案:
D
第73题题号:
554
从键盘上输入某字符串时,不可使用的函数是()。
A:
getchar()
B:
gets()
C:
scanf()
D:
fread()
答案:
A
第74题题号:
559
一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述
中错误的是()。
A:
有零个或多个输入
B:
有零个或多个输出
C:
有穷性
D:
可行性
答案:
B
第75题题号:
548
char*match(charc)是()。
A:
函数定义的头部
B:
函数预说明
C:
函数调用
D:
指针变量说明
答案:
A
第76题题号:
575
若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于
表达式(exp)的是()。
A:
(exp==0)
B:
(exp!
=0)
C:
(exp==1)
D:
(exp!
=1)
答案:
B
第77题题号:
689
以下叙述中不正确的是()。
A:
预处理命令行都必须以#号开始
B:
在程序中凡是以#号开始的语句行都是预处理命令行
C:
C程序在执行过程中对预处理命令行进行处理
D:
以下是正确的宏定义#defineIBM_PC
答案:
C
第78题题号:
723
函数调用语句:
fseek(fp,-20L,2);的含义是()。
A:
将文件位置指针移到距离文件头20个字节处
B:
将文件位置指针从当前位置向后移动20个字节
C:
将文件位置指针从文件末尾处退后20个字节
D:
将文件位置指针移到离当前位置20个字节处
答案:
C
第79题题号:
506
以下程序段的输出结果为()。
for(i=4;i>1;i--)
for(j=1;j
putchar('#');
A:
无
B:
######
C:
#
D:
###
答案:
B
第80题题号:
653
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。
A:
chars[10]="abcdefg";
B:
chart[]="abcdefg",*s=t;
C:
chars[10];s="abcdefg";
D:
chars[10];strcpy(s,"abcdefg");
答案:
C
第81题题号:
717
fscanf函数的正确调用形式是()。
A:
fscanf(fp,格式字符串,输出表列);
B:
fscanf(格式字符串,输出表列,fp);
C:
fscanf(格式字符串,文件指针,输出表列);
D:
fscanf(文件指针,格式字符串,输入表列);
答案:
D
第82题题号:
712
若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
A:
p=q;
B:
*p=*q;
C:
n=*q;
D:
p=n;
答案:
D
第83题题号:
535
使用共用体变量,不可以()。
A:
节省存储空间
B:
简化程序设计
C:
进行动态管理
D:
同时访问所有成员
答案:
D
第84题题号:
550
不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的
形式存在磁盘上()。
A:
内存
B:
缓冲区
C:
文件
D:
寄存器
答案:
C
第85题题号:
566
一个C程序的执行是从()。
A:
本程序的main函数开始,到main函数结束
B:
本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:
本程序的main函数开始,到本程序文件的最后一个函数结束
D:
本程序文件的第一个函数开始,到本程序main函数结束
答案:
A
第86题题号:
525
C语言中不可以嵌套的是()。
A:
函数调用
B:
函数定义
C:
循环语句
D:
选择语句
答案:
B
第87题题号:
651
以下定义语句中,错误的是()。
A:
inta[]={1,2};
B:
char*a[3];
C:
chars[10]="test";
D:
intn=5,a[n];
答案:
D
第88题题号:
725
在执行fopen函数时,ferror函数的初值是()。
A:
TRUE
B:
-1
C:
1
D:
0
答案:
D
第89题题号:
685
在位运算中,操作数每左移一位,其结果相当于()。
A:
操作数乘以2
B:
操作数除以2
C:
操作数除以4
D:
操作数乘以4
答案:
A
第90题题号:
610
以下选项中,与k=n++完全等价的表达式是()。
A:
k=n,n=n+1
B:
n=n+1,k=n
C:
k=++n
D:
k+=n+1
答案:
A
第91题题号:
520
以下程序段的输出结果为()。
charc[]="abc";
inti=0;
do;while(c[i++]!
='\0');printf("%d",i-1);
A:
abc
B:
ab
C:
2
D:
3
答案:
D