C语言程序设计习题集学校题库.docx
- 文档编号:11223950
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:52
- 大小:40.99KB
C语言程序设计习题集学校题库.docx
《C语言程序设计习题集学校题库.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题集学校题库.docx(52页珍藏版)》请在冰豆网上搜索。
C语言程序设计习题集学校题库
一、填空题
1.每一个C程序都必须有一个____函数。
2.C程序是由____构成的。
3.TC集成开发环境中,用热键______查看运行结果。
4.浮点数3*108写成C语言指数格式为_____(最简格式)。
5.TC控制字符'\r'表示____。
6.字符串"abc\r\x41\x42\\"中有效字符个数是__。
7.求表达式的值:
123/10%10=___________。
8.已知:
a=3,b=4,c=5,求a=(b++)+c运算后a的值为:
___________
9.用于从键盘读入一个字符但不回显的是__。
10.执行语句if((x=4+3)==3)y=5;elsey=10;后,结果:
y=_______
11.执行语句if(!
5)y=5;elsey=10;后,结果:
y=_____
12.C语言是以()为单位进行编译的。
13.定义函数时在数据类型前面加static和extern分别表示定义____函数和____函数。
14.内部函数的作用域只限于一个____。
15.外部函数的作用域只限于一个____。
16.有序线性表能进行二分查找的前提是该线性表必须是____存储的。
17.对软件设计的最小单位(模块或程序单元)进行的测试通常称为____测试。
18.实体完整性约束要求关系数据库中元组的____属性值不能为空。
19.在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称____是关系A的外码。
20.字符(char)型数据在微机内存中的存储形式是____
21.输入一个五位整数,将它反向输出。
例如输入12345,输出应为____。
22.C语言程序的基本单位是____。
23.C语言程序的三种基本结构是____。
24.C语言可执行程序的开始执行点是____。
25.C语言提供的合法的数据类型关键字是____。
26..C语言中函数返回值的类型是由()决定[答案]定义函数时所指定的函数类型
表达式:
10!
=9的值是____。
27.程序片段:
在TC20中,inti=65536;printf("%d\n",i);的输出结果是____。
28.当调用函数时,实参是一个数组名,则向函数传送的是____。
29.对嵌套子程序调用说法正确的是____。
30.假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};,则数组x在内存中所占字节数是____。
31.请读程序片段(字符串内没有空格):
printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是____。
32.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是____。
33.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是____。
34.若有定义:
inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为___。
35.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是____。
36.若有以下函数调用语句:
fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是____。
37.设a.b.c.d.m.n均为int型变量,且a=5.b=6.c=7.d=8.m=2.n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为____。
38.设inta=12,则执行完语句a+=a-=a*a后,a的值是____。
39.设intb=2;表达式(b>>2)/(b>>1)的值是____。
40.设x.y.z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32)后,x的值为____。
41.设有intx=11;则表达式(x++*1/3)的值是____。
42.设有如下定义:
intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____。
43.一个C语言的语句至少应包一个________。
44.在C语言提供的合法的关键字是_______。
45.在C语言中,函数的隐含存储类别是_______。
46.在C语言中,合法的长整型常数是______。
47.在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是____类型。
48.在宏定义#definePI3.14159中,用宏名PI代替一个_____。
49.有如下程序
intrunc(inta,intb)
{return(a+b);
}main0
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%\d\n",r);
}该程序的输出的结果是____
50.有如下程序main0{inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是____.
51.有如下程序main0{intn=9;while(n>6){n--;printf("%d",n);}}该程序段的输出结果是___.
52.有如下程序main0{intx=1,a=0,b=0;switch(x){case0:
b++;case1:
a++case2:
a++;b++}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是___.
53.有如下程序段int*p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为___.
54.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是___.
55.#include"stdio.h"
voidmain()
{
printf("%d,%3.1f",(5/2*2),5.0/2*2);
}
以上程序运行结果:
_________
56.#include"stdio.h"
voidmain()
{
floatx=2.456;inti;
i=(int)x;
printf("x=%3.1f,i=%d",x,i);
getch();
}
运行结果输出:
___________
57.#include"stdio.h"
voidmain()
{
inta=3,b=4;a=(a=a+b)+(b=a+b);
printf("a=%d,b=%d",a,b);
}
运行结果输出:
___________
58.#include"stdio.h"
voidmain()
{
ints=0,i;
scanf("%d",&i);
do
s=s+i++;
while(i<=100);
printf("i=%d,s=%d",i,s);
}
运行后输入:
1____
则输出结果:
_______
59.#include"stdio.h"
voidmain()
{
ints=0,i;
scanf("%d",&i);
do
s=s+i++;
while(i<=100);
printf("i=%d,s=%d",i,s);
}
运行后输入:
200__
则输出结果:
_______
60.#include"stdio.h"
voidmain()
{
chara,b,c;
a=getchar();b=getchar();c=getchar();
printf("%c%c%c",c-32,b-32,a-32);
}
运行后输入:
abcdefg
则输出:
__________
61.#include"stdio.h"
voidmain()
{
putchar(getchar()+32);
putchar(getchar()+32);
putchar(getchar()+32);
}
运行后输入:
HOWAREYOU?
则输出:
__________
62.分析以下程序的运行结果。
#include"stdio.h"
voidmain()
{
putchar('A');putchar(65);getch();
}
输出:
_______
63.分析以下程序的运行结果。
#include"stdio.h"
voidmain()
{
charc1,c2;
c1=getchar();c2=getchar();/*0x41,65,01000001*/
printf("%c,%d",c1,c2);
getch();
}
输入:
AABB
输出:
________
64.#include"stdio.h"
voidmain()
{
inta=2,b=4;
printf("%d*%d=%-2d<=",a,b,a*b);
}
运行结果输出:
___________________
65.#include"stdio.h"
voidmain()
{
inta=250;
printf("%o,%d",a,a);
}
运行结果输出:
___________________
66.#include"stdio.h"
voidmain()
{
inta=250;
printf("%x,%X",a,a);
}
运行结果输出:
___________________
67.#include"stdio.h"
voidmain()
{
inta=12,b=1234;
printf("%3d,%-3d",a,b);
}
运行结果输出:
___________________
68.include"stdio.h"
voidmain()
{
printf("%-5.3s,%5.3s","CHINA","CHINA");
}
运行结果输出:
___________________
二、选择题
1.C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符。
2.C语言程序的三种基本结构是()。
A.顺序结构,选择结构,循环结构B.递归结构,循环结构,转移结构
C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构。
3.C语言规定,程序中各函数之间()。
A.既允许直接递归调用也允许间接递归调用B.不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用。
4.C语言中可处理的文件类型是()。
A.文本文件和数据文件B.文本文件和二进制文件
C.数据文件和二进制文件D.数据代码文件。
5.C语言可执行程序的开始执行点是()。
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数。
6.C语言提供的合法的数据类型关键字是()。
A.doubleB.shortC.integerD.char。
7.C语言中,运算对象必须是整型数的运算符是()。
A.%B.\C.%和\D.**
8.C语言中函数返回值的类型是由()决定。
A.return语句中的表达式类型B.调用函数的主调函数类型
C.调用函数时临时D.定义函数时所指定的函数类型。
9.C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为()。
A.该数组的长度。
B.该数组的元素个数。
C.该数组中各元素的值。
D.该数组的首地址。
10.C语言中数组下标的下限是()。
A.1B.0C.视具体情况D.无固定下限。
11.C语言中提供的合法关键字是()。
A.swithB.cherC.caseD.default。
12.C语言中文件的存取方式是()。
A.顺序存取B.随机存取C.顺序存取、随机存取均可D.顺序存取、随机存取均不可。
13.C语言中最简单的数据类型包括()
A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型。
14.sizeof(float)是()
A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式。
15.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。
A.inputx,y,z;B.scanf("%d%d%d",&x,&y,&z);C.scanf("%d%d%d",x,y,z);D.read("%d%d%d",&x,&y,&z);
16.表达式:
10!
=9的值是()。
A.trueB.非零值C.0D.1
17.表示关系x<=y<=z的c语言表达式为()。
A.(X<=Y)&&(Y<=Z)B.(X<=Y)AND(Y<=Z)C.(X<=Y<=Z)D.(X<=Y)&(Y<=Z)
18.程序片段:
在TC20中,inti=65536;printf("%d\n",i);的输出结果是()。
A.65536B.0C.有语法错误,无输出结果D.-1。
19.当调用函数时,实参是一个数组名,则向函数传送的是()。
A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值.
20.对嵌套子程序调用说法正确的是()。
A.外层子程序可以调用所有的内层子程序B.内层了程序只可以调用包含本身的外层子程序,不可以隔层调用C.外分程序必须能完全套住内分程序D.以上说法均不正确.
21.对于基类型相同的两个指针变量之间,不能进行的运算是()。
A. 22.合法的C语言中,合法的长整型常数是()。 A.'\t'B."A"C.65D.A. 23.假定int类型变量占用两个字节,其有定义: intx[10]={0,2,4};,则数组x在内存中所占字节数是()。 A.3B.6C.10D.20. 24.假定有以下变量定义: intk=7,x=12;则能使值为3的表达式是()。 A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5). 25.请读程序片段(字符串内没有空格): printf("%d\n",strlen("ATS\n012\1\\"));的输出结果是()。 A.11B.10C.9D.8. 26.请选出合法的C语言赋值语句()。 A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);. 27.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A.-3B.9C.-12D.6. 28.若int类型占两个字节,则以下语句输出为()。 intk=-1;printf("%d,u%\n",k,k);A.-1,-1B.-1,65536C.-1,32768D.-1,65535. 29.若变量a是int类型,并执行了语句: a='A'+1.6;,则正确的叙述是()。 A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符'A'的ASCII值加上1。 . 30.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是()。 A.10B.10.0,22.0,33.02233C.10.0D.102222.033.033. 31.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。 A.a<>0B.! aC.a=0D.a. 32.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()。 A.1B.2C.2.0D.2.5 33.若有定义: inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()。 A.1.4B.1C.2.0D.2. 34.若有定义: intx,y;chara,b,c;并有以下输入数据(此处 1u2AuBuC则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是()。 A.scanf("x=%dy+%d",&x,&y);a=getchar();b=getchar();c=getchar(); B.scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar(); C.scanf("%d%d%c%c%c,&x,&y,&a,&b,&c); D.scanf("%d%d%c%c%c%c%c%c: &x,&y,&a,&a,&b,&b,&c,&c);. 35.若有定义和语句: chars[10]: s="abcd";printf("%s\n",s);则结果是(以下u代表空格)()。 A.输出abcdB.输出aC.输出abcduuuuuD.编译不通过. 36.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()。 A.0B.0.5C.1D.2. 37.若有以下定义: chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为()。 A.floatB.intC.charD.double. 38.若有以下定义和语句charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A");则输出结果是()。 A.2,MB.3,EC.2,ED.输出项与对应的格式控制不一致,输出结果不确定. 39.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是()。 A.3B.4C.5D.6. 40.若执行下面的程序时从键盘上输入3和4,则输出是()。 main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a. A.14B.16C.18D.20 41.若执行下面的程序时从键盘上输入5,则输出是()。 A.7B.6C.5D.4 main() {intx; scanf("%d",&x); if(x++>5)printf("%d\n",x); elseprintf("%d\n",x--);}. 42.以下说法中正确的是: () A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分、 43.设a.b.c.d.m.n均为int型变量,且a=5.b=6.c=7.d=8.m=2.n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。 A.0B.1C.2D.3. 44.有以下函数charfun(char*p){returnp;}该函数的返回值是: () A、无确切的值B、形参p中存放的地址值C、一个临时存储单元的地址D、形参p自身的地址值、 45.设intb=2;表达式(b>>2)/(b>>1)的值是()。 A.0B.2C.4D.8. 46.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()A.'a'&&'b'B.a<=bC.a||b+c&&b-cD.! ((a C||1). 47.设x.y.z和k都是int型变量,则执行表达式: x=(y=4,z=16,k=32)后,x的值为()。 A.4B.16C.32D.52. 48.设x=3,y=-4,z=6,写出表达式的结果()。 ! (x>y)+(y! =z)||(x+y)&&(y-z) A.0B.1C.-1D.6. 49.设x和y均为int型变量,则以下语句: x+=y;y=x-y;y=x-y;x-=y;的功能是()。 A.把x和y按从大到小排列B.把x和y按从小到大排列 C.无确定结果D.交换x和y中的值. 50.设有intx=11;则表达式(x++*1/3)的值是()。 A.3B.4C.11D.12. 51.设有如下的变量定义: inti=8,k,a,b;unsignedlongw=5;doublex=1,42,y=5.2;则以下符合C语言语法的表达式是() A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i). 52.设有如下定义: char*aa[2]={"abcd","ABCD"};则以下说法中正确的是() A.aa数组成元素的值分别是"abcd"和ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址. 53.设有如下定义: intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。 A.1B.0C.4D.3. 54.设有数组定义: chararray[]="China";则数组array所占的空间为()。 A.4个字节B.5个字节C.6个字节D.7个字节. 55.设有说明语句: chara='\72';则变量a()。 A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法. 56.设有以下语句: intx=03,y=02,z=01;那么语句printf("%d",x|y&~Z)的执行结果( )。 A.1B.2C.3D.0. 57.当调用函数时,实参是一个数组名,则向函数传送的是____ A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值、 58.下列变量定义中合法的是()。 A.short_a=1-.le-1;B.doubleb=1+5e2.5;C.longdo=0xfdaL; D.float2_and=1-e-3;. 59.下列标识符中不合法的是()。 A.s_nameB._eC.foxD.3DS. 60.下列不正确的转义字符是(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题集 学校 题库