C语言单选题.docx
- 文档编号:24611277
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:82
- 大小:41.32KB
C语言单选题.docx
《C语言单选题.docx》由会员分享,可在线阅读,更多相关《C语言单选题.docx(82页珍藏版)》请在冰豆网上搜索。
C语言单选题
第1题
inta[10];合法的数组元素的最小下标值为()。
A:
10
B:
9
C:
1
D:
0
第2题
以下运算符中优先级最低的是()。
A:
&&
B:
&
C:
||
D:
|
第3题
经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。
A:
p=p+2;
B:
p=a[5];
C:
p=a[2]+2;
D:
p=&(j+2);
第4题
以下对二维数组a的正确说明是()。
A:
inta[3][]
B:
floata(3,4)
C:
doublea[1][4]
D:
floata(3)(4)
第5题
在C语言中,要求运算数必须是整型的运算符是()。
A:
^
B:
%
C:
!
D:
>
第6题
以下不能正确定义二维数组的选项是()。
A:
inta[2][2]={{1},{2}};
B:
inta[][2]={1,2,3,4};
C:
inta[2][2]={{1},2,3};
D:
inta[2][]={{1,2},{3,4}};
第7题
若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)
的返回值是()。
A:
EOF
B:
0
C:
非零值
D:
NULL
第8题
设C语言中,int类型数据占2个字节,则short类型数据占()。
A:
1个字节
B:
2个字节
C:
4个字节
D:
8个字节
第9题
下列标识符中,不合法的C语言用户自定义标识符是()。
A:
printf
B:
enum
C:
_
D:
sin
第10题
若有说明inta[3][4];则a数组元素的非法引用是()。
A:
a[0][2*1]
B:
a[1][3]
C:
a[4-2][0]
D:
a[0][4]
第11题
若使用一维数组名作函数实参,则以下正确的说法是()。
A:
必须在主调函数中说明此数组的大小
B:
实参数组类型与形参数组类型可以不匹配[必须匹配]
C:
在被调用函数中,不需要考虑形参数组的大小
D:
实参数组名与形参数组名必须一致。
第12题
已知函数的调用形式:
fread(buffer,size,count,fp);其中buffer
代表的是()。
A:
一个整数,代表要读入的数据项总数
B:
一个文件指针,指向要读的文件
C:
一个指针,指向要读入数据的存放地址
D:
一个存储区,存放要读的数据项
第13题
经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在
微机上的值分别为()。
charx=65;
floaty=7.3;
inta=100;
doubleb=4.5;
A:
2,2,2,4
B:
1,2,2,4
C:
1,4,2,8
D:
2,4,2,8
第14题
以下叙述中不正确的是()。
A:
一个好的程序应该有详尽的注释
B:
在C程序中,赋值运算符的优先级最低
C:
在C程序中,j++;是一条赋值语句
D:
C程序中的#include和#define均不是C语句
第15题
设intx=1,y=1;表达式(!
x||y--)的值是()。
A:
0
B:
1
C:
2
D:
-1
第16题
下列选项中正确的语句组是()。
A:
chars[8];s={"Beijing"};
B:
char*s;s={"Beijing"};
C:
chars[8];s="Beijing";
D:
char*s;s="Beijing";
第17题
若有下列定义和语句,则对a数组元素的非法引用是()。
inta[2][3],(*pt)[3];pt=a;
A:
pt[0][0]
B:
(*(pt+1))[2]
C:
*(pt[1]+2)
D:
*(a[0]+2
第18题
语句while(!
E);中的表达式!
E等价于()。
A:
E==0
B:
E!
=1
C:
E!
=0
D:
E==1
第19题
以下标识符中,不能作为合法的C用户定义标识符的是()。
A:
putchar
B:
_double
C:
_123
D:
INT
第20题
若有说明:
inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。
A:
i=*p;
B:
*p=*&j;
C:
i=&j;
D:
i=**p;
第21题
对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。
A:
将5个初值依次赋给a[1]至a[5]
B:
将5个初值依次赋给a[0]至a[4]
C:
将5个初值依次赋给a[6]至a[10]
D:
因为数组长度与初值的个数不相同,所以此语句不正确
第22题
下列程序的输出结果是()。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A:
a=1,b=0
B:
a=2,b=1
C:
a=1,b=1
D:
a=2,b=2
第23题
应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A:
fclose()
B:
close()
C:
fread()
D:
fwrite
第24题
staticstruct{inta1;floata2;chara3;}a[10]={1,3.5,'A'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存
储方式,其中被初始化的下标变量是()。
A:
a[1]
B:
a[-1]
C:
a[0]
D:
a[10]
第25题
若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5
的语句为()。
A:
printf("%d",*(a+5));
B:
printf("%d",p[5]);
C:
printf("%d",*(p+5));
D:
printf("%d",*p[5]);
第26题
设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
数据类型为()。
【C语言总是转换为最长的数据类型】
A:
int
B:
float
C:
double
D:
不确定
第27题
若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。
A:
非法,2
B:
&a[1][0],2
C:
&a[0][1],3
D:
a[0][0],4
第28题
C语言中要求对变量作强制定义的主要理由是()。
A:
便于移植
B:
便于写文件
C:
便于编辑预处理程序的处理
D:
便于确定类型和分配空间
第29题
设有如下定义:
structsk{inta;floatb;}data,*p;
若要使p指向data中的a域,正确的赋值语句是()。
A:
p=(structsk*)&data.a;
B:
p=(structsk*)data.a;
C:
p=&data.a;
D:
*p=data.a;
第30题
若x=2,y=3则x&y的结果是()。
A:
0
B:
2
C:
3
D:
5
第31题
下列程序的输出结果为()。
main()
{intm=7,n=4;
floata=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A:
27.000000
B:
27.500000
C:
28.000000
D:
28.500000
第32题
若k为int型变量,则以下程序段的执行结果是()。
k=-8567;printf("|%06D|\n",k);
A:
格式描述符不合法,输出无定值
B:
输出为|%06D|
C:
输出为|0-8567|
D:
输出为|-8567|
第33题
函数的形式参数隐含的存储类型说明是()。
A:
extern
B:
static
C:
register
D:
auto
第34题
不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的
形式存在磁盘上()。
A:
内存
B:
缓冲区
C:
文件
D:
寄存器
第35题
以下叙述正确的是()。
A:
在C程序中,main函数必须位于程序的最前面
B:
C程序的每行中只能写一条语句
C:
C语言本身没有输入输出语句
D:
在对一个C程序进行编译的过程中,可发现注释中的拼写错误
第36题
inta=1,b=2,c=3;
if(a>b)a=b;
if(a>c)a=c;
则a的值为()。
A:
1
B:
2
C:
3
D:
不一定
第37题
以下各选项企图说明一种新的类型名,其中正确的是()。
A:
typedefv1int;
B:
typedefv2=int;
C:
typedefintv3;
D:
typedefv4:
int;
第38题
以下程序的运行结果是()。
main()
{
inti=1,sum=0;
while(i<10)sum=sum+1;i++;【while使用格式不正确,没有用{}】
printf("i=%d,sum=%d",i,sum);
}
A:
i=10,sum=9
B:
i=9,sum=9
C:
i=2,sum=1
D:
运行出现错误
第39题
在C语言中,能代表逻辑值“真”的是()。
A:
True
B:
大于0的数
C:
非0整数
D:
非0的数
第40题
以下叙述正确的是()。
A:
do-while语句构成的循环不能用其它语句构成的循环来代替.
B:
do-while语句构成的循环只能用break语句退出.
C:
用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D:
用do-while语句构成的循环,在while后的表达式为零时结束循环
第41题
下列程序段的输出结果为()。
intx=3,y=2;
printf("%d",(x-=y,x*=y+8/5));
A:
1
B:
7
C:
3
D:
5
第42题
chara[]="Thisisaprogram.";输出前5个字符的语句是()。
A:
printf("%.5s",a);
B:
puts(a);
C:
printf("%s",a);
D:
a[5*2]=0;puts(a);
第43题
若用数组名作为函数的实参,传递给形参的是()。
A:
数组的首地址
B:
数组第一个元素的值
C:
数组中全部元素的值
D:
数组元素的个数
第44题
doublex;scanf("%lf",&x);不可以赋值给x变量的常量是()。
A:
123
B:
100000
C:
’A’
D:
"abc"
第45题
C语言中,定义结构体的保留字是()。
A:
union
B:
struct
C:
enum
D:
typedef
第46题
逻辑运算符两侧运算对象的数据类型()。
A:
只能是0或1
B:
只能是0或非0正数
C:
只能是整型或字符型数据
D:
可以是任何类型的数据
第47题
下面判断正确的是()。
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";
第48题
以下程序的输出结果是()。
main()
{chars[]="123",*p;
p=s;
printf("%c%c%c\n",*p++,*p++,*p++);
}
A:
123
B:
321
C:
213
D:
312
第49题
在C语言中,char型数据在内存中的存储形式是()。
A:
补码
B:
反码
C:
原码
D:
ASCII码
第50题
fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A:
字符串读入后不会自动加入'\0'
B:
fp是file类型的指针
C:
fgets函数将从文件中最多读入n-1个字符
D:
fgets函数将从文件中最多读入n个字符
第51题
下列程序的输出结果是()。
main()
{charc1=97,c2=98;
printf("%d%c",c1,c2);
}
A:
9798
B:
97b
C:
a98
D:
ab
第52题
以下选项中合法的实型常数是()。
A:
5E2.0
B:
E-3
C:
.2E0
D:
1.3E
第53题
以下的选择中,正确的赋值语句是()。
A:
a=1,b=2
B:
j++
C:
a=b=5;
D:
y=int(x)
第54题
若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,
下面符合此要求的函数调用是()。
A:
fopen("A:
\user\abc.txt","r")
B:
fopen("A:
\\user\\abc.txt","r+")
C:
fopen("A:
\user\abc.txt","rb")
D:
fopen("A:
\\user\\abc.txt","w")
第55题
以下叙述中正确的是()。
A:
C语言的源程序不必通过编译就可以直接运行
B:
C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C:
C源程序经编译形成的二进制代码可以直接运行
D:
C语言中的函数不可以单独进行编译
第56题
下列程序的输出结果是()。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A:
a=1,b=0
B:
a=2,b=1
C:
a=1,b=1
D:
a=2,b=2
第57题
inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是()。
A:
2
B:
3
C:
4
D:
不一定
第58题
以下对C语言函数的描述中,正确的是()。
A:
C程序必须由一个或一个以上的函数组成
B:
C函数既可以嵌套定义又可以递归调用
C:
函数必须有返回值,否则不能使用函数
D:
C程序中有调用关系的所有函数必须放在同一个程序文件中
第59题
在位运算中,操作数每右移一位,其结果相当于()。
A:
操作数乘以2
B:
操作数除以2
C:
操作数乘以16
D:
操作数除以16
第60题
以下错误的描述是:
函数调用可以()。
A:
出现在执行语句中
B:
出现在一个表达式中
C:
做为一个函数的实参
D:
做为一个函数的形参
第61题
C语言中的文件类型只有()。
A:
索引文件和文本文件两种
B:
ASCII文件和二进制文件两种
C:
文本文件一种
D:
二进制文件一种
第62题
以下叙述不正确的是()。
A:
一个C源程序可由一个或多个函数组成
B:
一个C源程序必须包含一个main函数
C:
C程序的基本组成单位是函数
D:
在C程序中,注释说明只能位于一条语句的后面
第63题
与实际参数为实型数组名相对应的形式参数不可以定义为()。
A:
floata[];
B:
float*a;
C:
floata;
D:
float(*a)[3];
第64题
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A:
自动(auto)
B:
静态(static)
C:
外部(extern)
D:
寄存器(register)
第65题
若二维数组a有m列,则在a[i][j]前的元素个数为()。
A:
j*m+i
B:
i*m+j
C:
i*m+j-1
D:
i*m+j+1
第66题
用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。
longa=0xffffff;
intb;charc;
A:
0ffffff和0x61
B:
-1和98
C:
-1和97
D:
指向同一地址
第67题
设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y
值的数据类型为(D)。
A:
float
B:
char
C:
int
D:
double
第68题
以下运算符中,优先级最高的运算符是()。
A:
=
B:
!
=
C:
*(乘号)
D:
()
第69题
变量的指针,其含义是指该变量的()。
A:
值
B:
地址
C:
名
D:
一个标志
第70题
以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A:
auto和static
B:
auto和register
C:
register和static
D:
extern和register
第71题
以下运算符中,优先级最高的运算符是()。
A:
||
B:
%
C:
!
D:
==
第72题
执行以下程序段后,输出结果和a的值是()。
inta=10;
printf("%d",a++);
A:
10和10
B:
10和11
C:
11和10
D:
11和11
第73题
下面有关for循环的正确描述是()。
A:
for循环只能用于循环次数已经确定的情况
B:
for循环是先执行循环循环体语句,后判断表达式
C:
在for循环中,不能用break语句跳出循环体
D:
for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
第74题
下列语句的结果是()。
main()
{intj;
j=3;
printf("%d,",++j);
printf("%d",j++);
}
A:
3,3
B:
3,4
C:
4,3
D:
4,4
第75题
在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。
A:
地址传递
B:
单向值传递
C:
由实参传给形参,再由形参传回实参
D:
传递方式由用户指定
第76题
以下数值中,不正确的八进制数或十六进制数是()。
A:
0x16
B:
16
C:
-16
D:
0xaaaa
第77题
若有inti=3,*p;p=&i;下列语句中输出结果为3的是()。
A:
printf("%d",&p);
B:
printf("%d",*i);
C:
printf("%d",*p);
D:
printf("%d",p);
第78题
以下语句中,不能实现回车换行的是()。
A:
printf("\n");
B:
putchar("\n");
C:
fprintf(stdout,"\n");
D:
fwrite("\n",1,1,stdout);
第79题
函数rewind的作用是()。
A:
使位置指针重新返回文件的开头
B:
将位置指针指向文件中所要求的特定位置
C:
使位置指针指向文件的末尾
D:
使位置指针自动移至下一个字符位置
第80题
若执行fopen函数时发生错误,则函数的返回值是()。
A:
地址值
B:
0
C:
1
D:
EOF
第81题
能正确表示逻辑关系:
"a≥10或a≤0"的C语言表达式是()。
A:
a>=10ora<=0
B:
a>=0|a<=10
C:
a>=10&&a<=0
D:
a>=10‖a<=0
第82题
以下叙述中错误的是()。
A:
二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B:
在程序结束时,应当用fclose函数关闭已打开的文件
C:
在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:
不可以用FILE定义指向二进制文件的文件指针
第83题
执行下列程序后,其输出结果是()。
main()
{inta=9;
a+=a-=a+a;
printf("%d\n",a);
}
A:
18
B:
9
C:
-18
D:
-9
第84题
以下函数调用语句中实参的个数是()。
func((e1,e2),(e3,e4,e5));
A:
2
B:
3
C:
5
D:
语法错误
第85题(1.0分)题号:
103
以下运算符中,优先级最高的运算符是()。
A:
*=
B:
>=
C:
(类型)
D:
+
第86题
以下选项中,与k=n++完全等价的表达式是()。
A:
k=n,n=n+1
B:
n=n+1,k=n
C:
k=++n
D:
k+=n+1
第87题
关于建立函数的目的,以下正确的说法是()。
A:
提高程序的执行效率
B:
提高程序的可读性
C:
减少程序的篇幅
D:
减少程序文件所占内存
第88题
在C语言中,形参的缺省存储类是()。
A:
auto
B:
register
C:
static
D:
extern
第89题(1.0分)题号:
665
以下正确的说法是:
在C语言中()。
A:
实参和与其对应的形参各占用独立的存储单元
B:
实参和与其对应的形参共占用一个存储单元
C:
只有当实参和与其对应的形参同名时才共占用存储单元
D:
形参是虚拟的,不占用存储单元
第90题
若有以下的定义:
intt[3][2];能正确表示t数组元素地址的表达式是()。
A:
&t[3][2]
B:
t[3]
C:
&t[1]
D:
t[2]
第91题
下列程序段的输出结果为()。
floatk=0.8567;
printf("%06.1d%%",k*100);
A:
0085.6%%
B:
0085.7%
C:
0085.6%
D:
.857
第92题
若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存
空间存入整数123的语句为()。
A:
scanf("%d",p);
B:
scanf("%d",&p);
C:
scanf("%d",*p);
D:
scanf("%d",**p);
第93题
下列四个选项中,均是C语言关键字的选项是()。
A:
autoenuminclude
B:
switchtypedefcontinue
C:
signedunionscanf
D:
ifstructtype
第94题
下列数组说明中,正确的是()。
A:
staticcharstr[]="China";
B:
staticcharstr[];str="China";
C:
staticcharstr1[5],str2[]={"China"};str1=str2;
D:
staticcharstr1[],str2[];str2={"China"};strcpy(str1,str2);
第9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 选题
![提示](https://static.bdocx.com/images/bang_tan.gif)