C语言知识点Word文档下载推荐.docx
- 文档编号:18481143
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:26
- 大小:29.12KB
C语言知识点Word文档下载推荐.docx
《C语言知识点Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言知识点Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
floatcj;
}a1={1001,”liming”,97.5},*p=&
a1;
不正确的输出语句是:
Aprintf(“%f”,a1.cj);
Bprintf(“%f”,p->
cj);
Cprintf(“%f”,(*p).cj);
Dprintf(“%f”,*p.cj);
10已知inta;
则对指针变量正确的说明和初始化是:
_______
Aint*p=a;
Bintp=a;
Cintp=&
a;
Dint*p=&
11若有定义:
intaa[8];
则以下表达式中不能代表数组元aa[1]的地址的是
A)&
aa[0]+1B)&
aa[1]C)&
aa[0]++D)aa+1
12若有下面的说明和定义,则sizeof(structaa)的值是
structaa
{intr1;
doubler2;
floatr3;
unionuu{charu1[5];
longu2[2];
}ua;
}mya;
A)30
B)29
C)24
D)22
13若有以下定义和语句:
ints[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是
A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3
14以下程序的输出结果是
main()
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;
i<
3;
i++)
for(j=i;
j<
=i;
j++)t=t+b[i][b[j][j]];
%d\n"
t);
}
A)3B)4C)1D)9
15假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
A)log2n
B)n2
C)O(n1.5)
D)n(n-1)/2
16在说明语句:
int*f();
中,标识符f代表的是
A)一个用于指向整型数据的指针变量
B)一个用于指向一维数组的行指针
C)一个用于指向函数的指针变量
D)一个返回值为指针型的函数名
17线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
A)每个元素都有一个直接前件和直接后件
B)线性表中至少要有一个元素
C)表中诸元素的排列顺序必须是由小到大或由大到小
D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
18以下程序的输出的结果是
intx=3;
{inti;
for(i=1;
i}
ncre()
{staicintx=1;
x*=x+1;
%d"
x);
A)33B)22C)26D)25
19若以下定义:
structlink
{intdata;
strucklink*next;
}a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
ab
datanextdatanext
┌──┬──┐┌──┬──┐
│5│┼──→│9│\0│
└──┴──┘└──┴──┘
↑p
c
datanext
┌──┬──┐
│7││
└──┴──┘
↑q
指针p指向变量a,q指向变量c。
则能够把c插入到a和b之间并形成新的链表的语句组是:
C
A)a.next=c;
c.next=b;
B)p.next=q;
q.next=p.next;
C)q->
next=p->
next;
p->
next=&
c;
D)(*p).next=q;
(*q).next=&
b;
20设有以下说明语句
typedefstruct
{intn;
charch[8];
}PER;
则下面叙述中正确的是
A)PER是结构体变量名B)PER是结构体类型名
C)typedefstruct是结构体类型D)struct是结构体类型名
21若有说明:
inta[][4]={0,0};
则下面不正确的叙述是
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小
D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值
22以下叙述正确的是
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
23若定义:
inta=511,*b=&
则printf("
*b);
的输出结果为
A)无确定值B)a的地址C)512D)511
24以下程序的输出结果是
{inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c)b));
A)5B)4C)6D)不确定
25以下程序中,while循环的循环次数是
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(I==5)break;
i++;
......
A)1B)10
C)6D)死循环,不能确定次数
26以下程序的输出结果是
{inta=0,i;
for(i=;
5;
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
a);
A)31B)13C)10D)20
27以下程序的输出结果是
{inta=4,b=5,c=0,d;
d=!
a&
!
b||!
d);
A)1B)0C)非0的数D)-1
28有以下程序
{chara[]={′a′,′b′,′c′,′d′,′e′,′f′,′g′,′h′,′\0′};
inti,j;
i=sizeof(a);
j=strlen(a);
%d,%d\b"
i,j);
程序运行后的输出结果是
A)9,9
B)8,9
C)1,8
D)9,8
29以下程序的运行结果是
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
{inti=10,j=15,k;
k=10*MIN(i,j);
%d\n"
k);
A)10
B)15
C)100
D)150
30以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;
i++;
returns;
{inti,a=0;
i++)a+=f();
A)20B)24C)5D)15
31有如下程序
intfunc(inta,intb)
{return(a+b);
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
r);
该程序的输出的结果是
A)12
B)13
C)14
D)15
32若有以下程序
#include
voidf(intn);
{voidf(intn);
f(5);
voidf(intn)
{printf("
n);
}
则以下叙述中不正确的是
A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C)对于以上程序,编译时系统会提示出错信息:
提示对对f函数重复说明
D)函数f无返回值,所以可用void将其类型定义为无值型
33有如下定义
structperson{charname[9];
intage;
};
structpersonclass[10]={"
John"
17,"
paul"
19,"
Mary"
18,"
Adam"
16,};
根据上述定义,能输出字母M的语句是
A)printf("
%c\n"
class[3].name);
B)printf("
class[3].name[1]);
C)printf("
class[2].name[1]);
D)printf("
class[2].name[0]);
34以下程序的输出结果是
{charch[3][5]={"
AAAA"
"
BBB"
CC"
\"
%s\"
\n"
ch[1]);
A)"
B)"
C)"
BBBCC"
D)"
35在C语言中,形参的缺省存储类是
A)autoB)registerC)staticD)extern
36以下程序执行后a的值是
{intx,y=252,i=386,*m=&
y,*z=&
i;
x=(z==y);
%d"
A)252
B)1
C)0
D)运行时出错,x无定值
37下列程序的输出结果是
structabc
{inta,b,c,s;
{structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
A)5
B)6
C)7
D)8
38若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
A)fopen("
A:
\user\abc.txt"
r"
)B)fopen("
\\user\\abc.txt"
r+"
)
C)fopen("
rb"
)C)fopen("
w"
39若有定义:
char*st="
howareyou"
;
下列程序段中正确的是
A)chara[11],*p;
strcpy(p=a+1,&
st[4]);
B)chara[11];
strcpy(++a,st);
C)chara[11];
strcpy(a,st);
D)chara[],*p;
strcpy(p=&
a[1],st+2);
40下列程序的运行结果是
voidfun(int*a,int*b)
{int*k;
k=a;
a=b;
b=k;
{inta=3,b=6,*x=&
a,*y=&
fun(x,y);
%d%d"
a,b);
A)63
B)36
C)编译出错
D)00
41.下列用于printf函数的控制字符常量中,代表"
竖向跳格"
的转义字符常量是
A)\b
B)\t
C)\v
D)\f
42.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是
A)n=(n*100+0.5)/100.0
B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0
D)n=(n/100+0.5)*100.0
43设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
A)x&
y
B)x<
=y
C)x||++y&
y-z
D)!
(x)
44设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是
A)while循环执行10次
B)循环是无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
45对表达式for(表达式1;
;
表达式3)可理解为
A)for(表达式1;
0;
表达式3)
B)for(表达式1;
1;
C)for(表达式1;
表达式1;
D)for(表达式1;
表达式3;
表达式3)
46若有如下语句
do{printf("
x-=2);
while(!
(--x));
则上面程序段
A)输出的是1
B)输出的是1和-2
C)输出的是3和0
D)是死循环
47若变量a是int类型,并执行了语句:
a=‘A'
+1.6;
,则正确的叙述是
A)a的值是字符C
B)a的值是浮点型
C)不允许字符型和浮点型相加
D)a的值是字符‘A’的ASCII值加上1。
48以下程序段的输出结果是
inta=1234;
%2d\n"
A)12B)34C)1234D)提示出错、无结果
49有以下程序
voidfun(inta,intb,intc)
{a=456,b=567,c=678;
{intx=10,y=20,z=30;
fun(x,y,z);
%d,%d,%d\n"
x,y,z);
输出结果是
A)30,20,10
B)10,20,30
C)456,567,678
D)678,567,456
50若有说明语句:
inta,b,c,*d=&
c;
,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是
A)scanf("
%d%d%d"
&
a,&
b,d);
B)scanf("
b,&
d);
C)scanf("
a,b,d);
D)scanf("
a,b,*d);
51._________是合法的用户自定义标识符。
A)2bB)floatC)foo-99D)_32
52.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。
A)-3B)9C)-12D)6
53.以下程序的输出结果是。
fun(intx,inty,intz){z=x*x+y*y;
main()
{inta=31;
fun(5,2,a);
printf(“%d”,a);
A)0B)29C)31D)无定值
54.对于以下的变量定义,表达式_____不符合C语言语法。
structnode{
intlen;
char*pk;
}x={2,"
right"
},*p=&
x;
A)p->
pkB)*p.pkC)*p->
pkD)*x.pk
55.设有inta[]={10,11,12},*p=&
a[0];
则执行完*p++;
*p+=1;
后a[0],a[1],a[2]的值依次是____。
A)10,11,12B)11,12,12C)10,12,12D)11,11,12
56.以下程序的输出结果是。
{
charw[][10]={“ABCD”,“EFGH”,“IJKL”,“MNOP”},k;
for(k=1;
k<
k++)printf(“%s”,w[k]);
}
A)ABCDFGHKLB)ABCDEFGC)EFGJKD)EFGHIJKL
57.表达式sizeof(“hello”)与strlen(”hello”)的值分别是______。
A)6,6B)5,5C)6,5D)5,6
58.以下程序的输出结果是。
{staticinti=0;
staticints=1;
{inti,a=0;
A)10B)15C)20D)25
59.假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是。
A)free(q);
next=q->
B)(*p).next=(*q).next;
free(q);
C)q=(*q).next;
(*p).next=q;
D)q=q->
next=q;
p=p->
free(p);
60.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为________。
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
71._________是合法的用户自定义标识符。
A、b-bB、floatC、<
fr>
D、_isw
72._________把x、y定义成float类型变量,并赋同一初值3.14。
A、floatx,y=3.14;
B、floatx,y=2*3.14;
C、floatx=3.14,y=x=3.14;
D、floatx=y=3.14;
73.以下程序的输出结果是。
for(i=1;
{switch(i)
A)31B)13C)10D)20
74.以下程序的输出结果是。
(s=1,2,3,4,5)
A、15B、16C、14D、17
75.表达式strlen(”hello”)的值是______。
A、4B、5C、6D、7
76.对于以下的变量定义,表达式_____不符合C语言语法。
A、p->
pkB、*p.pkC、*p->
pkD、*x.pk
77.设有inta[]={10,11,12},*p=&
后a[0],a[1],a[2]的值依次是
78.设有以下说明语句
A)PER是结构体变量名B)PER是结构体类型名
C)typedefstruct是结构体类型D)struct是结构体类型名
79.以下程序的输出结果是_____。
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;
}
main()
{printf(“%ld\n”,fun(3));
A、1B、2C、3D、4
80.在C语言中,形参的缺省存储类是_____。
A)autoB)registerC)static
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识点