C语言知识点.docx
- 文档编号:9779761
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:31
- 大小:35.32KB
C语言知识点.docx
《C语言知识点.docx》由会员分享,可在线阅读,更多相关《C语言知识点.docx(31页珍藏版)》请在冰点文库上搜索。
C语言知识点
C语言知识点
一、选择题
1.TURBOC语言中int类型变量所占的字节数是()
A1B2C3D4
2.假定x和y为float型,则x=2,y=3/2+x的值是()
A3.500000B3C2.0000000D3.000000
3.设a=3,表达式a+=a-=a*a运算后a的值为()
A-6B12C0D-12
4.设a=3,b=4,c=5,表达式a+b>c&&b==c运算后的结果为()
A0B1C3D4
5.以下变量名合法的是()
A?
AESBde_faultC123ASD#45
6.以下合法的赋值语句是()
Ax=100Bd--;Cx+y;Dc=int(a+b);
7.设x1=1,x2=2,x3=2,x4=4,条件表达式x1>x2?
x1:
(x3>x4?
x3:
x4)的值()
A1B2C3D4
8.以下函数值的类型是()
max(floatx,floaty)
{floatz;
z=x>y?
x:
y;
return(z);}
AintBvoidCfloatD不确定
9.x、y、z为int型变量,从键盘给x、y、z输入数据,正确的是()
AINPUTx,y,z;Bscanf(“%d%d%d”,&x,&y,&z);
Cscanf(“%d,%d,%d”,x,y,z);Dread(“%d%d%d”,&x,&y,&z);
10.以下数组定义不正确的是()
Ainta[2][3];Bintd[3][]={{1,2},{1,2,3},{1,3}};
Cintb[][3]={0,1,2,3};Dintc[5][5]={{0,1},{1},{2}};
11.若有定义:
chars1[20],s2[20];,则下列函数调用正确的是()
Ascanf(“%s%s”,&s1,&s2);Bgets(&s1,&s2);
Cscanf(“%s%s”,s1,s2);Dgets(s1,s2);
12.有如下说明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是()
A*p+9B*p+=9C*(p+8)Dp+8
13.在计算机系统中,一个字节的二进制位数为()
A16B8C4D由CPU的型号决定
14.英文大写字母B的ASCII码为42,英文小写字母b的ASCII码为()
A44B85C74D63
15.设a=3,表达式a-=a*a运算后a的值为()
A-6B12C0D-12
16.设x1=1,x2=3,x3=5,x4=7,条件表达式x1>x2?
x1:
(x3>x4?
x3:
x4)的值()
A1B3C5D7
17.在程序中可以用来作为变量名的合法的标识符是:
_____。
AstaticB23_b1Cstu_1tD#33
18.下列运算符运算级别最高的是:
_____。
A&&B+=C>=D!
19.已知:
charstr1,str2[10];选择正确的输入语句:
_____。
Ascanf("%s%c",&str1,str2);Bscanf("%s%s",&str1,str2);
Cscanf("%c%c",&str1,str2);Dscanf("%c%s",&str1,str2);
20.选择正确的运行结果:
_____。
#include"stdio.h"
main()
{
inta=1,b=10;
do{a++;
b-=a;
b--;}
while(b>0);
printf("a=%d,b=%d",a,b);
}
Aa=2,b=-1Ba=2,b=-2Ca=4,b=-1Da=4,b=-2
21.有一个二维数组s[3][4],其第2行第3列元素的正确表示是:
_____。
A*(*(s+2)+3)B*(s+2)+3Cs[2,3]Ds[3][2]
22.以下正确的描述是:
_____。
Acontinue语句的作用是终止整个循环的执行。
Bcontinue语句的作用是结束本次循环的执行。
Ccontinue语句和break语句都可以在switch语句中使用。
Dbreak语句的作用是结束本次循环的执行。
23.假定x和y为double型,则表达式x=2,y=x+3/2的值是:
_____。
A)3.500000B)3C)2.000000D)3.000000
24.C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:
_____。
A用户指定传递方式B无传递C单向值传递D地址传递
25.已知inta;则对指针变量正确的说明和初始化是:
_____。
Aint*p=a;Bintp=a;Cintp=&a;Dint*p=&a;
26.若有定义:
intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是:
_____。
A)&aa[0]+1B)&aa[1]C)&aa[0]++D)aa+1
27.以下程序的输出结果是:
_____。
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]];
printf("%d\n",t);
}
A)3B)4C)1D)9
28.在说明语句:
int*f();中,标识符f代表的是:
_____。
A)一个用于指向整型数据的指针变量
B)一个用于指向一维数组的行指针
C)一个用于指向函数的指针变量
D)一个返回值为指针型的函数名
29.若有说明:
inta[][4]={0,0};则下面不正确的叙述是:
_____。
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小
D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值
30.若定义:
inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为:
_____。
A)无确定值B)a的地址C)512D)511
31.以下程序的输出结果是:
_____。
main()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
b);
}
A)5B)4C)6D)不确定
32.以下程序中,while循环的循环次数是:
_____。
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(I==5)break;
i++;
}
......
}
A)1B)10C)6D)死循环,不能确定次数
33.以下程序的输出结果是:
_____。
main()
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
34.以下程序的输出结果是:
_____。
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1B)0C)非0的数D)-1
35.以下程序的运行结果是:
_____。
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A)10B)15C)100D)150
36.以下程序的输出结果是:
_____。
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;
}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);
}
A)20B)24C)5D)15
37.有如下程序
intfunc(inta,intb)
{return(a+b);}
main()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);
}
该程序的输出的结果是:
_____。
A)12B)13C)14D)15
38.以下程序的输出结果是:
_____。
main()
{charch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"
39.下列用于printf函数的控制字符常量中,代表"竖向跳格"的转义字符常量是:
___。
A)\bB)\tC)\vD)\f
40.设变量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
41.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是:
_____。
A)x&&yB)x<=yC)x||++y&&y-zD)!
(x)
42.设有程序段:
_____。
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是
A)while循环执行10次
B)循环是无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
43.对表达式for(表达式1;;表达式3)可理解为:
_____。
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
44.若有如下语句
intx=3;
do{printf("%d\n",x-=2);}
while(!
(--x));
则上面程序段:
_____。
A)输出的是1
B)输出的是1和-2
C)输出的是3和0
D)是死循环
45.若变量a是int类型,并执行了语句:
a=‘A'+1.6;,则正确的叙述是:
_____。
A)a的值是字符C
B)a的值是浮点型
C)不允许字符型和浮点型相加
D)a的值是字符‘A’的ASCII值加上1。
46.以下程序段的输出结果是:
_____。
inta=1234;
printf("%2d\n",a);
A)12B)34C)1234D)提示出错、无结果
47.有以下程序
voidfun(inta,intb,intc)
{a=456,b=567,c=678;}
main()
{intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
输出结果是:
_____。
A)30,20,10B)10,20,30C)456,567,678D)678,567,456
48.若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是:
_____。
A)scanf("%d%d%d",&a,&b,d);B)scanf("%d%d%d",&a,&b,&d);
C)scanf("%d%d%d",a,b,d);D)scanf("%d%d%d",a,b,*d);
49._____是合法的用户自定义标识符。
A)2bB)floatC)foo-99D)_32
50.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是:
_____。
A)-3B)9C)-12D)6
51.以下程序的输出结果是:
_____。
main()
{
charw[][10]={“ABCD”,“EFGH”,“IJKL”,“MNOP”},k;
for(k=1;k<3;k++)printf(“%s”,w[k]);
}
A)ABCDFGHKLB)ABCDEFGC)EFGJKD)EFGHIJKL
52.以下程序的输出结果是:
_____。
intf(void)
{
staticinti=0;
staticints=1;
s+=i;
i++;
returns;
}
intmain(void)
{
inti,a=0;
for(i=0;i<5;i++)
{
a+=f();
}
printf("%d\n",a);
return0;
}
A)10B)15C)20D)25
53._____是合法的用户自定义标识符。
A、b-bB、floatC、
54._____把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;
55.以下程序的输出结果是:
_____。
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
56.下列字符数组初始化语句中,正确的是:
_____。
A.charc[]=“newspaper”;B.charc[8]={“newspaper”};
C.charc[10]={‘newspaper’};D.charc[12]=‘newspaper’;
57.设x、y、z都是整型变量,x、y的初值都是5,执行z=(++x)+(y--)+1后,x、y、z三变量的值按顺序是:
_____。
A.5,5,11B.6,6,13C.4,6,12D.6,4,12
58.以下转义字符中,表示“换页”的是:
_____。
A.\vB.\fC.\bD.\t
59.在内存中要开辟多少字节来存放字符’\n’:
_____。
A.1B.2C.3D.4
60.有变量说明inta=3,则表达式a<1&&--a>1和运算完后a的值应该是:
_____。
A.0和2B.0和3C.1和2D.1和3
61.以下程序的输出结果是:
_____。
intmain(void)
{intx=8;
for(;x>0;x--)
{if(x%3){printf(“%d,”,x--);continue;}
printf(“%d,”,--x);
}
}
A.7,4,2B.8,7,5,2C.9,7,6,4D.8,5,4,2
62.以下程序的输出结果是:
_____。
intmain(void)
{inta,b;
for(a=1,b=1;a<=10;a++)
{if(b>=10)break;
if(b%3==1){b+=3;continue;}
b-=5;
}
printf("%d\n",a);
return0;
}
A.6B.5C.4D.3
63.设x和y都是int类型的数,则下列表达式的值不为7的是:
_____。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+1,x=y,x+1)
65.以下对C语言函数的有关描述中,正确的是
A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D)函数必须有返回值,返回值类型不定`
二、结果题
1.下面是输入3个正整数并求出最大数的程序,在空白处为它填入正确的语句。
#include
voidmain()
{inta,b,c,max;
scanf(“%d,%d,%d”,_________________);
if(a>b)max=a;
elsemax=b;
if(________)max=c;
Printf(“%d\n”,max);}
2.下面的程序用来求解1+2+3+…+100的和,并显示其中大于4850的和值,在空白处为该程序填入正确的语句。
#include
main()
{inti,sum=0;
for(i=1;i<=100;i++)
{____________________;
if(__________________)printf(“%d”,sum);}}
3.用
计算的
近似值,直到最后一项的绝对值小于
为止。
请填空。
#include
main()
{ints;
floatn,t,pi;
t=1;pi=0;n=1.0;s=1;
while((fabs(t)>1e-6))
{pi=pi+t;
n=n+2;
s=__________;
t=s/n;
}
pi=___________;
printf("pi=%10.6f\n",pi);
}
4.将一个二维数组a行和列元素互换,存到另一个二维数组b中。
main()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{printf("%5d",a[i][j]);
____________=a[i][j];}
printf("\n");}
for(i=0;__________;i++)
{for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");}}
5.求fibonacci数列40个数。
这个数列有如下特点:
第1,2两个数为1,1。
从第3
个数开始,该数是其前面两个数之和。
即:
f1=1(n=1)
f2=1(n=2)
fn=fn-1+fn-2(n≥3)
要求每一行输出4个数。
请填空。
main()
{longintf1=1,f2=1;
inti;
for(i=1;i<=20;i++)
{printf("%12ld%12ld",f1,f2);
if(______________)printf("\n");
f1=f1+f2;
f2=____________;}}
6.输入9个整数,求一个3×3矩阵对角线元素之和。
Main()
{inta[3][3],sum=0;
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(“%d”,_________________);
for(i=0;i<3;i++)
sum=sum+________________;
printf(“sum=%d\n”,sum);}
7.将一个二维数组a行和列元素互换,存到另一个二维数组b中。
main()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{printf("%5d",a[i][j]);
____________=a[i][j];}
printf("\n");}
for(i=0;__________;i++)
{for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");}}
8.main()
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
运行结果:
___________________________________
9.main()
{intnum=9;
while(num>=6)
{num--;printf(“%2d”,num);}}
运行结果:
___________________________________
10.voidmain()
{inta;
for(a=10;a>0;a--)
{if(a%3!
=0)continue;
printf(“%2d”,--a);}}
运行结果:
___________________________________
11.m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识点