C语言基础题分析文档格式.docx
- 文档编号:21116823
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:19
- 大小:52.91KB
C语言基础题分析文档格式.docx
《C语言基础题分析文档格式.docx》由会员分享,可在线阅读,更多相关《C语言基础题分析文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
y-z
D.y&
’y’
6.以下所列的各函数声明中,正确的是________。
A.subplay(aasinteger,basinteger)
B.voidplay(vara:
Integer,varb:
Integer)
C.voidplay(inta,b)
D.voidplay(inta,intb)
7.表达式!
x等价于________。
A.x==1
B.x==0
C.x!
=0
D.x!
=1
8.设有定义inta[10];
则合法数组元素的下标范围为______。
A.1至10
B.0至9
C.1至9
D.0至10
9.下列关于数组的描述中错误的是______。
A.当数组名作为参数传递给某个函数时,原数组中的元素的值可以被函数修改
B.数组的名称其实是数组在内存中的首地址
C.一个数组只允许存储同种类型的变量
D.如果在对数组进行初始化时,给定的数组元素个数比数组元素少时,多余的数组元素自动初始化为最后一个给定元素的值
10.下列标识符中,不合法的标识符为________。
A._int
B.a_10
C.a#b
D.Pad
11.下列C语言的标识符中,不合法的标识符为____________
A.star
B.1234
C._a100
D.circuit9
12.若已定义:
intx=10;
则表达式x=(4*5,x*5,x+25)的值是______。
A.20
B.45
C.125
D.35
13.若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句:
scanf(“%d,%f”,&
x,&
y,);
时,正确的键盘输入是______。
A.55,55.5↙
B.x=55,y=55.5↙
C.55↙55.5↙
D.x=55↙y=55.5↙
14.若有说明语句:
intx=25,y=20,z=30;
则执行语句:
if(x>
y){y=z;
z=x;
}x=y;
printf(“%d,%d,%d”,x,y,z);
后,输出是____________
A.25,20,30
B.30,30,25
C.25,30,30
D.25,30,25
15.程序段:
intnum=2;
while(num)
printf(“%d,”,num--);
的运行结果是_______________
A.2,1,
B.2,1
C.2,1,0
D.2,1,0,
16.若有说明:
inta[3][4],s;
则对数组a的元素引用正确的是____________
A.s=0;
for(i=0;
i<
=3;
i++)for(j=0;
j<
4;
j++)s+=a[i][j];
B.s=0;
for(j=0;
=4;
j++)for(i=0;
3;
i++)s+=a[i][j];
C.s=0;
j++)s+=a[j][i];
D.s=0;
17.如果形参获取实参的地址,则____________作为函数调用时的实参。
A.数组名
B.全局量
C.数组中全部元素的值
D.数组中的元素个数
18.若有定义:
inti,j,*pi=&
i;
则与i==j等价的比较表达式是____________
A.i==*pi
B.*pi==*&
j
C.i==&
D.i==**pi
19.若有定义:
structperson{
intid;
charname[20];
}per,*s=&
per;
则以下对结构体成员的引用中正确的____________
A.per.name[0]
B.s->
name[0]
C.per.name[8]
D.per.id
20.若有以下语句:
charx=5,y=9,z;
z=(y|x)<
<
2;
则z的二进制值是________________
A.00011011
B.00001010
C.00110100
D.00001100
21.以下C程序中预处理命令写法正确的是:
。
A.#include(stdio.h)
B.#include[stdio.h]
C.#include{stdio.h}
D.#include<
stdio.h>
22.设有变量定义语句chara;
则下面的赋值语句中是正确的。
A.a='
'
;
B.a="
"
C.a='
'
D.a='
16'
;
23.设有charch;
与语句“ch=getchar();
”等价的语句是:
A.printf("
%c"
ch);
B.printf("
&
ch);
C.scanf("
D.scanf("
24.inta=2,b=5;
则表达式21%9/(float)a+4/b*b的运算结果为。
A.2
B.1
C.1.5
D.0
25.能正确表示逻辑关系"
a>
=10或a<
=0"
的C语言表达式是。
A.a>
=10ora<
B.a<
=0|a>
=10
C.a<
=0||a>
D.a>
=10&
a<
26.设有intn=60;
写出下列语句的运行结果
switch(n/10)
{
case6:
printf("
@"
break;
case5:
#"
$"
}
A.@#$
B.#$
C.$
D.@
27.设有inti;
以下语句中,循环次数为100次的语句是:
A.for(i=0;
i<
=100;
i++)
B.for(i=0;
99;
C.for(i=1;
D.for(i=0;
100;
28.C程序中,用于提前结束本次循环、进行下一次循环的语句是。
A.break
B.continue
C.return
D.exit
29.若有数组定义语句:
intt[3][2];
则t数组最后一个元素是:
A.t[3][2]
B.t[2][3]
C.t[2]
D.t[2][1]
30.设有定义inta[]={1,3,5,7,9},*p=a;
while(*p!
=3)p++;
结果为7的表达式是:
A.*(p+2)
B.*(p+3)
C.*p+2
D.*p+3
31.chara[10];
不能将字符串"
abc"
存储在数组a中的是。
A.strcpy(a,"
B.a[0]=0;
strcat(a,"
C.a="
D.inti;
i++)a[i]=i+97;
a[i]=0;
32.设有下列函数原型和变量定义语句,则合法的函数调用语句是:
intfunc(inta[],intn);
inta[10],n,x;
A.func(a,n)=x;
B.x=func(a,n);
C.x=func(a[],n);
D.x=func(a[10],n);
33.若有以下定义,输出字母M的语句是:
structperson
charname[9];
intage;
};
structpersonst[10]=
{{"
john"
17},{"
paul"
19},{"
Mary"
18}};
st[2].name);
st[3].name[1]);
C.printf("
st[2].name[1]);
D.printf("
st[2].name[0]);
34.需要以写模式打开当前目录下一个名为myfile.txt的文本文件,下列打开文件正确的选项是:
A.fopen("
myfile.txt"
"
r"
B.fopen("
w"
C.fopen("
rb"
D.fopen("
wb"
35.假定建立了以下链表结构:
structnode{
charid;
structnode*next;
}*head,*p;
如下图所示:
指针p指向一个新结点,将新结点插入到链表成为头结点的两条C语言语句是。
A.head=p->
next;
p=head;
B.p->
data=head;
head=p;
C.head=p->
data;
D.p->
next=head;
36.C语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A.{和}
B.[和]
C./*和*/
D.*/和/*
37.设要定义n为整型变量,定义x为浮点型变量,正确的语句是:
_____。
A.intn,floatx,
B.intn,floatx;
C.intn;
floatx,
D.intn;
floatx;
38.设有intn;
从键盘上输入整数给变量n,正确的语句是:
A.scanf(n);
B.scanf("
n"
);
C.scanf("
n);
D.scanf("
n);
39.程序段
intx=3,y=2;
x*=y+8/5);
的输出结果为_____。
A.1
B.5
C.7
D.9
40.要判断char型变量m是否是数字,可以使用表达式__________。
A.0<
=m&
m<
=9
B.m>
='
0'
&
9'
C."
0"
="
9"
D.'
=m<
41.执行以下代码段后,a的值为_____。
inta=1,b=2,c=3;
if(a>
b)a=b;
c)a=c;
B.2
C.3
D.不确定
42.下面的for语句执行时,_______将形成无限循环。
A.for(s=j=0;
j<
j+=1)s+=j;
B.for(s=j=0;
j+1)s+=j;
C.for(s=j=0;
++j)s+=j-1;
D.for(s=j=0;
j++)s+=j;
43.循环语句中,break的作用是_______。
A.终止程序运行
B.结束本次循环
C.从本循环体内跳出
D.跳出子函数
44.以下正确的语句是__________。
A.inta[1][4]={1,2,3,4,5};
B.floatx[3][]={{1},{2},{3}};
C.longb[2][3]={{1},{1,2},{1,2,3}};
D.doubley[][3]={0};
45.执行以下程序段后,m的值是_____。
inta[]={2,1,3,5,4};
intm=10,k,*ptr=a;
for(k=0;
k<
5;
k++)
m+=*(ptr+k);
A.23
B.24
C.25
D.26
46.若有数组定义并初始化语句:
chara1[]={’p’,’r’,’o’};
chara2[]=〝pro〞;
则下列正确的说法是__________。
A.a1和a2完全相同
B.a1和a2不同,a1是指针
C.a1和a2存储单元的数目相同
D.a1和a2不同,a2的存储单元的数目多
47.若有函数调用语句:
func(rec1,rec2+rec3,(rec4,rec5));
则可以判断该函数的参数个数是_______。
A.3
C.5
D.有语法错误
48.若有以下定义:
structperson{
}c[10]={"
Wang"
19,"
Zhang"
17,"
Li"
20,"
Zhao"
18},*p=&
a[0];
则能打印出字母'
L'
的语句是_____。
A.printf(“%c”,c[3].name);
B.printf(“%c”,c[3].name[1]);
C.printf(“%c”,c[2].name[1]);
D.printf(“%c”,c[2].name[0]);
49.若要打开A盘根目录下user子目录下名为abc.txt的文本文件进行读、写操作,则下面符合此要求的函数调用是_____。
A:
\user\abc.txt"
\\user\\abc.txt"
r+"
50.若建立了以下链表结构,如图所示。
指针p指向如图所示的结点,t为与data同类型的数据变量,则交换p所指向的结点的数据和该结点的下一个结点的数据的语句为:
t=p->
__________。
A.p->
next->
data=p->
p->
data=t;
C.p->
data=t;
51.关于C程序的主函数,以下描述中正确的是:
_______。
A.C程序的第一个函数称为主函数,程序从该函数开始运行。
B.C程序可以有多个主函数,程序从第一个主函数开始运行。
C.C程序可以没有主函数,程序从第一个函数开始运行。
D.C程序的主函数即是main函数,程序从该函数开始运行。
52.字符变量a与b分别初始为'
S'
与'
B'
,正确的语句是:
A.chara,b='
'
B.chara='
charb='
C.chara="
S"
b="
B"
D.chara='
b='
53.设有intn=2010;
要求屏幕上显示“n=2010”结果,正确的语句是:
A.printf(n);
B.printf("
n="
C.printf("
"
D.printf("
n=%d"
54.设有变量定义:
inta=5,b=8;
当执行完语句:
b=a<
b?
a:
b-1;
之后,变量a和b的值为_______。
A.5和5
B.5和7
C.5和8
D.5和9
55.设intn;
判断“n不为0”的表达式是:
_______。
A.n==0
B.!
(n=0)
C.n=!
D.n!
56.若有定义:
floatw;
intnum;
chars;
则合法的switch语句是_______。
A.switch(w){case1.0:
*\n"
case2.0:
**\n"
B.switch(num);
{case1printf("
case2printf("
C.switch(s){case'
a'
:
case'
b'
default:
\n"
D.switch(num+1){case1:
case1:
57.以下语句中,循环次数不为10次的语句是_______。
A.for(i=1;
10;
i++);
B.i=1;
do{i++;
}while(i<
=10);
C.i=10;
while(i>
0){--i;
D.for(i=10;
i>
=1;
i--};
58.用于for循环体中的continue语句的作用是_______。
A.终止程序执行
B.终止循环继续
C.结束本次循环
D.重新执行循环
59.若要定义一个int型二维数组a,并使其各元素具有初值:
2300
4050
0000
则正确的定义语句是_______。
A.inta[][]={2,3,0,0,4,0,5,0,0,0,0,0};
B.inta[][4]={2,3,0,0,4,0,5,0,0,0,0,0};
C.inta[3][4]={{2,3},{4,,5}};
D.inta[][]={{2,3,0,0},{4,0,5,0},{0,0,0,0}};
60.设有语句:
intx[]={0,1,2,3,4,5,6,7,8,9},*p=x+5;
while(*p++<
7);
则语句printf("
*p--);
的输出结果为_______。
A.出错
B.x[7]的地址
D.8
61.下列说明语句中_______是错误的。
A.chara[]='
china'
B.chara[]="
china"
C.chara[]={"
};
D.chara[]={'
c'
h'
i'
n'
62.已知函数原型intf(int)和intg(int)。
下列语句中,正确调用函数的语句是_______。
A.intf(3);
B.f(intg(3));
C.intg(f(3));
D.p=f(g(3)+1);
63.设有以下结构体定义及初始化:
structfs{intfz,fm;
structfsx={2,3},y={5,7};
则表达式x.fz*y.fm的结果是:
A.14
C.21
D.15
64.若定义了文件指针FILE*fp;
如要打开当前目录下一个只读文件abc.c并使fp指向该文件,正确的语句是_______。
A.fp=fopen("
abc.c"
B.fp=fopen("
rb+"
C.fp=fopen("
D.fp=fopen("
65.假定建立了下图所示的链表结构,指针p指向如图所示的结点,已定义q是与p相同类型的指针变量,则将p所指结点的下一个结点从链表中删除的语句是_______。
A.q=p->
next=q->
free(q);
B.q=p->
next=p->
q=p->
66.C程序是由_______组成的。
A.子程序
B.过程
C.子函数
D.主函数和子函数
67.若有定义语句:
charc='
\n'
则变量c_______。
A.包含4个字符
B.包含2个字符
C.包含1个字符
D.说明不合法,c的值不确定
68.设有floatx=1.25;
intn=x;
则语句printf("
%.2f,%d\n"
x,n);
的输出是:
A.1.25,1.25
B.1,1
C.1,1.25
D.1.25,1
69.设x为int型变量,且初值为'
f'
则执行printf("
%c\n"
'
A'
+(x-'
+1));
后的输出结果是_______。
A.G
B.H
C.I
D.J
70.设有intn;
则判断“n为二位数(10至99)”的表达式是:
A.10<
=n<
=99
B.10<
=n||n<
C.10<
=n,n<
D.10<
=n&
n<
71.下列if语句中,错误的是_______。
A.if(a==b)a--elseb++;
B.if(a-b>
0)printf("
b\n"
C.if(x>
0&
x<
10)y=x*x-1.5;
D.if(x)y+=1;
72.设:
inti,n;
floatsum;
则求调和级数s=1+1/2+1/3+...前n项之和的正确循环语句是_______。
=n;
i++)sum+=1/i;
B.for(i=1,sum=0.0;
i++)sum+=1/i;
C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 分析