小学C语言基础试题.docx
《小学C语言基础试题.docx》由会员分享,可在线阅读,更多相关《小学C语言基础试题.docx(16页珍藏版)》请在冰豆网上搜索。
小学C语言基础试题
[小学]C语言基础试题
C语言基础试题
一、单选题:
1、以下说法中正确的是(c)
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
2、C语言可执行程序的开始执行点是(c)
A.程序中的一条可执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
3、C程序是(B)
A.顺序执行
B.从Main函数开始
C.从函数体开始
D.任意语句
4、C语言程序的基本单位是_____B__.
A.语句
B.函数
C.程序行
D.字符
5、C语言程序由(C)组成
子程序A.
B.过程
C.函数
D.主程序段程序
6、一个C程序的执行是从(A)
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结
束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
7、以下叙述正确的是(C)
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
8、以下叙述不正确的是D
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
9、C语言规定,在一个源程序中,main函数的位置(C)
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
10、一个C语言程序是由B
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
二、填空题:
1、函数体用____{___开始,用____}__结束。
2、C源程序的基本单位是____函数__________
3、一个C源程序中至少应包括一个____MAIN函数_________
4、在一个C源程序中,注释部分两侧的分界符分别为___/*_____和_____*/___
三、程序设计题:
(这两个程序设计题上课讲过我就不做了,自己写
吧)
1、编写一个C程序,输出以下信息:
*********************
Verygood!
*********************
2、编写一个程序,输入a,b,c三个值,输出其中最大者。
第2章程序设计的灵魂——算法
一、单选题:
1、将三个数排序需要比较__B____次。
A.2
B.3
C.4
D.不确定
2、算法的表示方法有___A_____。
A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言
B.高级语言,汇编语言,机器语言
C.C语言,QBASIC语言,InterDev
D.图形图像法,描述法,编程法
二、问答题:
1、什么是结构化的算法,为什么要提倡结构化的算法,
2、算法有哪些特性,
3、什么叫算法,为什么要提倡结构化算法,
第3章数据类型、运算符和表达式
一、单选题:
1、设intb=2;表达式b/(b*2)的值是____A____.
A.0
B.0.5
C.0.500000
D.0.000000
2、设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:
(m=ad)后,m的值为__A___。
A.1
B.2
C.3
D.0
3、设有a=b=c=2,求表达式a+++b+++c++的结果是___A____。
A.6
B.9
C.8
D.表达式出错
4、表示关系X<=Y<=Z的C语言表达式为___A_____。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<=Y)&(Y<=Z)
5、选出运行结果为4的表达式(C);
A.inti=0,j=1;(i=3,(++j>+1))
B.inti=0,j=1;(j==1)?
(i=1):
(i=3)
C.inti=1,j=1;i+=j+=2;
D.inti=1,j=0;j=i=((i=3)*2);
6、表达式(a=3*5,a*5),a+5的值是多少(B)
A.20
B.80
C.不能确定
D.15
7、设有整型变量a,b,c,它们的初值是1运行表达式:
++a||++b&++c后,a,b,c的值分别是:
___A_____。
(这个最好电脑上通过一下)
A.2,1,1
B.2,2,1
C.1,2,1
D.1,1,2
8、下面的表达式中__A__满足:
当x为偶数时值为“真”,为奇数时值为“假”
A.x%2==0
B.!
x%2!
=0
C.2*x/2-x==0
D.!
(x%2)
9、C语言的对语句中用作判断的表达式一般为__E__
A.关系表达式
B.逻辑表达式
C.算术表达式
D.逻辑表达式和关系表达式
E.关系或逻辑表达式
10、若已定义x和y为double型,则表达式:
x=1,y=x+3/2的值是
(D)
A.1
B.2
C.2.0
D.2.5
11、若有以下定义:
chara;intb;
floatc;doubled;
则表达式a*b+d-c值的类型为__D____.
A.float
B.int
C.char
D.double
12、以下定义和语句:
charcl='b',c2='e';
printf(″,d,,c\n″,c2,c1,c2,'a','A');
则输出结果是:
___B____.
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
13、语句:
printf("%d\n",12&&12);的输出结果是___B_____.
A.12
B.1
C.24
D.0
14、设A=3,B=4,执行
printf("%d,%d",(A,B),(B,A));的输出是___B___.
A.3,4
B.4,3
C.3,3
D.4,4
15、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是A
A.200
B.100
C.200100
D.输出格式符不够,输出不确定的值
16、表达式:
10~=9的值是__D_
A.true
B.非零值
C.0
D.1
17、请读程序:
main()
{intA;
floatB,C;
scanf("%2d%3f%4f",&A,&B,&C);
printf("\nA=%d,B=%f,C=%f\n",A,B,C);
}
若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结
果是B
A.A=98,B=765,C=4321
B.A=10,B=765.000000,C=4321.000000
C.A=98,B=765.0,C=4321.0
D.以上答案都不正确
18、执行程序段charstr[20]={'a','b','c','\o'};
intlen=strlen(str);
变量len的值为(C)
A.20
B.4
C.3
D.3或4或20
19、若x,i,j和k都是int型变量,则计算下面表达式后,x的值为C
x=(i=4,j=16.k=32)
A.4
B.16
C.32
D.52
20、下列四组选项中,均不是C语言关键字的选项是A
A.defineIFtype
B.getccharprintf
C.includescanfcase
D.whilegopow
21、下列四个选项中,均是C语言关键字的选项是B
A.autoenuminclude
B.switchtypedefcontinue
C.signedunionscanf
D.ifstructtype
22、C语言中的标识符只能由字母,数字和下划线三种字符组成,且
第一个字符C
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一字符
23、下面四个选项中,均是不合法的浮点数的选项是B
A.160.0.12e3
B.1232e4.2.e5
C.-.18123e40.0
D.-e3.2341e3
24、已知各变量的类型说明如下:
A
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
25、以下不正确的叙述是D
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
26、若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A
A.2.500000
B.2.750000
C.3.500000
D.0.000000
27、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为C
A.int
B.float
C.double
D.不确定
28、以下关于运算符优先顺序的描述中正确的是C
A.关系运算符<算术运算符<赋值运算符<逻辑运算符
B.逻辑运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑运算符
29、若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是B
A.(exp==0)
B.(exp!
=0)
C.(exp==1)
D.(exp!
=1)
30、设intx=1,y=1;表达式(!
x||y--)的值是B
A.0
B.1
C.2
D.-1
二、填空题:
1、字符串“Thisisastring"的存储形式为___顺序存储_______。
2、写出下问表达式运算后a的值设原来a=12
1)a+=a24
2)a-=a0
3)a/=a+a0
4)a+=a-=a,,a0
3、求下面算术表达式的值
1)x+a%3*(int)(x+y)%2/42.5
设x,2.5,a=7,y,4.7
2)(float)(a+b)/2+(int)x%(int)y3.5
设a=2,b=3,x=3.5,y=2.5
4、写出该程序运行的结果。
#include
voidmain()
{inti,j,k=10;
i=(j=k)>0;
j=i==j;
printf(``%2d,%2d\n``,i,j);10
k=!
i==++j;
printf("%2d,%2d,%2d\n",i,j,k);}110
5、main()
{charst='A';
inti=10;st=st+i;i=st%i;
printf("%C,%d\n",st,i);}
已知字母A的ASCII码为65
结果:
__K,5__
6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_____9_______
7、C语言中的标识符只能由三种字符组成,它们是___字母____,____数字__和___下画线_______
8、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,
则表达式ch='a'+'8'-'3'的值为___f_______
9、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为____8.0_____
10、若有定义:
inte=1,f=4,g=2;
floatm=10.5,n=4.0,k;则计算赋值表达式
k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是___13.7_________
第4章顺序程序设计
一、单选题:
1、输入一个华氏温度,要求输出摄氏温度。
计算公式为:
c=5/9(F-32),
以下程序正确的是(B)
A.main(){floatc,F;scanf("%f,%f",&c,&F);c=5/9*(F-32);printf("摄氏温度是:
%f\n",c);}
B.main(){floatc,F;scanf("%f,%f",&c,&F);c=5*(F-32)/9;printf("摄氏温度是:
%f\n",c);}
C.main(){floatc,F;scanf("%f,%f",&c,&F);c=5%9*(F-32);
printf("摄氏温度是:
%f\n",c);}
D.main(){floatc,F;scanf("%f,%f",&c,&F);c=5.0/9.0(F-32);printf("摄氏温度是:
%f\n",c);}
2、以下程序的输出结果是C
main()
{
inta=12,b=12;
printf("%d%d\n",--a,++b);
}
A.1010
B.1212
C.1113
D.1110
3、有如下程序
main0
{
inty=3,x=3,z=1;
printf("%d%d\n",(++x,y++),z+2);
}
运行该程序的输出结果是D
A.34
B.42
C.43
D.33
4、能正确表示逻辑关系:
"a?
=10或a?
0"的C语言表达式是D
A.a>=10ora<=0
B.a>=0||a<=10
C.a>=10&&a<=0
D.a<=0||a>=10
5、下列程序的输出结果是C
main()
{
doubled=3.2;
intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A.3
B.3.2
C.0
D.3.07
二、填空题:
1、从键盘输入一个大写字母,要求改用小写字母输出,程序如下办
#include
main()
{charc1,c2;
(1)___scanf(“%c”,&c1);______;
printf("%c,%d\n",c1,c1);
(2)___c2=c1+32;__________;
printf("%c,%d\n",c2,c2);}
2、以下程序不用第三个变量,实现将两个数进行对调操作:
#include
main()
{inta,b;
scanf("%d%d",&a,&b);
printf("a=%db=%d\n",a,b);
a=(_a+b_________);b=(_a-b_______);a=(____a-b_____);
printf(