C语言复习题docx.docx
- 文档编号:26303719
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:73
- 大小:300.66KB
C语言复习题docx.docx
《C语言复习题docx.docx》由会员分享,可在线阅读,更多相关《C语言复习题docx.docx(73页珍藏版)》请在冰豆网上搜索。
C语言复习题docx
第一章C语言基础知识
一、选择题
1.C语言规定,必须用作为主函数名。
A)FUnctionB)ineludeC)mainD)Stdio
2•—个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序
总是从开始执行。
A)过程B)主函数C)函数D)inelude
3.是C程序的基本构成单位。
A)函数B)函数和过程C)超文本过程D)子程序
4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
B)一个函数的函数体必须要有执行部分,可以没有变量定义
C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
D)以上都不对
5.下列说法正确的是
A)main函数必须放在C程序的开头
B)
main函数必须放在C程序的最后
6.下列说法正确的是
A)在执行C程序时不是从mian函数开始的
B)C程序书写格式严格限制,一行内必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
7.在C语言中,每个语句和数据定义是用结束。
A)句号B)逗号C)分号D)括号
&下列字符串是标识符的是。
A)JHJB)9_StUdentC)IongD)LlNE1
9.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
10.不是C语言提供的合法关键字。
A)SWitCh
B)Print
C)
CaSe
D)
default
11.C语言提供的合法关键字是
。
A)breack
B)Print
C)
funiton
D)
end
12.C语言提供的合法关键字是
。
A)Continue
B)PrOCedUre
C)
begin
D)
append
13.C语言规定:
在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面
C)可以在任意位置D)必须在源文件的最后
14.一个C语言程序是由。
A)一个主程序和若干个子程序组成;
B)函数组成,并且每一个C程序必须且只能由一个主函数
C)若干过程组成;
D)若干子程序组成•
、填空题
1•一个C程序至少包含一个,即。
2.—个函数由两部分组成,它们是和。
3•函数体的范围是。
4•函数体一般包括和。
5.C语言是通过来进行输入输出的。
6•在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个
7.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能
第二章C语言程序设计的初步知识
、选择题
1•在C语言中,下列类型属于基本类型的是
A)整型、实型、字符型B)空类型、枚举型
C)结构体类型、实型D)数组类型、实型
2•下列字符串属于标识符的是。
A)INTB)5_StUdentC)2ongD)!
DF
3.
C语言中不能用来表示整常数的进制是。
4.在C语言中,回车换行符是。
A)∖nB)\tC)\v
5.在ASCII码表中可以看到每个小写字母的
码。
A)大32B)大64C)小32
6.设d为字符变量,下列表达式不正确的是
A)d=97B)d=?
a?
C)d=”a”
7.10+?
a7+1.5-567.345/?
D?
的结果是型数据。
A)IongB)doubleC)intD)UnSignedfloat
&语句inti=3;k=(i++)+(i++)+(i++);执行过后k的值为,i的值为
A)9,6B)12,5C)18,6D)15,5
9.如果inti=3,贝UPrintf(%d”-i++)的结果为,i的值为。
A)-3,4B)-4,4C)-4,3D)-3,3
10.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为_
main()
{charx,y;
X=?
0?
y=?
9?
Printf(%d,%d∖n",x,y);
}
A)因输出格式不合法,输出错误信息
C)0,9
11.已知在ASCIl集中,字母A的序号为
main()
{charc1=?
B?
c2=?
Y?
Printf(%d,%d\n'',++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89D)C,X
12.C语言中,运算对象必须是整型数的运算符是
A)%
B)\
C)%和\
D)**
13.
下列常数中,
合法的C常量是
O
A
.)?
\n?
B)e-310
C)7DEF?
D)
?
1234?
14.
下列符号中,
可以作为变量名的是
O
A
J+a
B)12345e
C)a3B
D)
5e+0
15.下面程序的输出结果是
mian()
{intx=2,y=0,z;
x*=3+2;Printf(%d”x);x*=y=z=4;Printf(%d”,x);
}
A)840
C)10,4
B)1040
D)8,4
16.若已定义
X和Y为double类型,
则表达式
:
x=1,y=x+3/2的值为
A)1
B)2
C)2.0
D)2.5
17.表达式(
int)2.1416的值为
O
A)2
B)2.1C)
0
D)3
18.以下说法正确的是。
A)在C程序中,每行只能写一条语句.
B)在C程序中,无论是整数还是实数,其存放形式都一致
C)在C程序中,%是只能用于整数运算的运算符•
D)在C程序中,变量可以不必先定义就可使用.
19.若有以下定义,则正确的赋值语句为。
inta,b;
floatx;
A)a=1,b=2,B)b++;
C)a=b=5D)b=int(x);
20.C语言规定标识符由等字符组成•
A)字母数字下划线E)中划线字母数字
C)字母数字逗号D)字母下划线中划线
21.若有如下定义:
inta=2,b=3;floatx=3.5,y=2.5;则表达式:
(float)(a+b)∕2+(int)x%(int)y的值是。
A)2.500000B)3.500000C)4.500000D)5.000000
22.已知字母A的ASCIl码为十进制65,下面程序段的运行结果为:
。
Charch1,ch2;
Ch仁,A⅜5-3;ch2=,A7+6-3;
Printf(%d,%c∖n",ch1,ch2);
A)67,DB)B,CC)C,DD)不确定值
24.设X、y均为float型变量,则以下不合法的赋值语句是。
A)++x;B)y=(x%2)/10;
C)X*=y+8;D)X=y=0;
25.设有以下定义,则能使值为3的表达式是:
。
intk=7,x=12;
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=kD)(x%=k)-(k%=5)
二、填空题
1.C语言的数据类型有四大类,分别是_、、、。
2.C语言基本数据类型包括、、、。
3•在C语言中,程序运行期间,其值不能被改变的量叫。
4•在C语言中,常量有不同的类型,包括、、和_等。
5•在C语言中,在习惯上符号常量名用,变量用。
(大写或小写)
6•在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为。
7.在C语言中,标识符只能由、和三种字符组成,且第一个字符必
须或。
&在C语言中,要求对所有甬道的变量,遵循先定义后的原则。
9.可以用来表示C的整常数的进制是、、。
10.实型变量分为和,即float和double型。
11.C的字符常量是用括起来的一个字符。
12.在一个变量定义语句中可以同时定义多个变量,变量之间用隔开。
13.下面的程序
mian()
{printf("abc∖tde∖rfg∖n");/*空白处分别为两个和一个空格*/
Printf("h∖ti∖b∖bjk");/*空白处为三个空格*/
}
运行结果是。
14.int型的取值范围是。
15.下面的程序
main()
{charc1,c2;
c1='a';c2='b';
c1=c1-32;c2=c2-32;
Printf("%c%c",c1,c2);
}
运行结果为。
16•在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”
即,以便系统据此数据判断字符串是否结束。
17.表达式10+'a'+1.5-0∙5*'b'的结果。
18.表达式10+'a'+1∙5-567.345∕'b'的结果是型数据。
19.表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是表达式和表达式,两个表
达式执行完的结果是和.执行后X的值分别是,.
20.main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
Printf("%d,%d,%d,%d",i,j,m,n);
}
运行后i,j,m,n的值是.
21.在C语言中,可以利用,将一个表达式的值转换成指定的类型。
第三章顺序结构程序设计
一、选择题
1.下列说法正确的是O
A)输入项可以是一个实型常量,如SCanf("%f",4.8);
B)只有格式控制,没有输入项也能进行正确输入,如SCanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如SCanf("%5.3f",&f);
D)当输入数据时,必须指明变量的地址,如SCanf("%f",&f);
2.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是o
main()
{
inta;floatx;
Printf("inputa,x:
");
输入语句
输出语句
}
输入形式inPUta,x:
32.1
B)SCanf("%d%f",&a.&x);
Printf("∖na+x=%4.2f",a+x);
D)SCanf("%d%3.1f',&a,&x);
Printf("∖na+x=%4.2f",a+x);
输出形式a+x=5.10
A)SCanf("%d,%f',&a,&x);
Printf("∖na+x=%4.2f",a+x);
C)SCanf("%d%f',&a,&x);
Printf("∖na+x=%6.1f",a+x);
3.以下程序的输出结果是
main()
{
inti=010,j=10,k=0x10;
Printf("%d,%d,%d∖n",i,j,k);
A)8,10,16B)8,10,10C)1O,1O,1O
4.以下程序的输出结果是。
#inClUdeVStdio.h>main()
{printf("%d\n",NULL);}
A)不确定的值(因变量无定义)B)O
C)-1D)1
5.以下程序的输出结果是。
main()
{
Charc1='6',c2='0';
Printf("%c,%c,%d,%d∖n",c1,c2,c1-c2,c1+c2);
}
A)因输出格式不合法,输出出错信息
C)6,0,7,6
6.设有如下定义
intx=10,y=3,z;
则语句
Printf("%d∖n",z=(x%y,x∕y));
的输出结果是。
A)3B)0C)4
7.设有如下定义
intx=10,y=5,z;
则语句
Printf("%d∖n",z=(x+=y,x∕y));
的输出结果是。
A)1B)0C)4
8.以下程序的输出结果是。
main()
{intx=10,y=10;
Printf("%d%d∖n",x--,--y);
}
A)1010B)99C)9
9.若已知a=10,b=20,则表达式!
a
D)10,10,16
B)6,0,6,102
D)6,0,5,7
D)1
D)3
A)10B)20C)1
10.Printf函数中用到格式符"%4s",其中数字
度大于4,则按原字符长从左向右全部输出;如果字符串长度小于
10D)109
O
D)0
4表示输出的字符串站用4列。
如果字符串长
4,则输出方式为
已有定义:
floata1,a2;
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符,左补空格D)输出错误信息
11.根据定义和数据的输入方式,输入语句的正确形式为:
o
4.523
3.52
A)SCanf(%f%f”,&a1,&a2);
C)SCanf(%4.3f,%3.2f”,&a1,&a2);
B)scanf(%f,%f",a1,a2);
D)SCanf(%4.3f%3.2f",a1,a2);
12.
以下程序的输出结果是:
(注:
■表示空格)
。
main()
{Printf(∖'n*s1=%8s*”,China");
Printf(∖h*s2=%-5s*”,Chi");
}
A)*s1=china...*
B)
*s1=china.
*
*s2=chi*
*s2=chi..*
C)*s1=...china*
D)
*s1=...china*
*s2=..Chi*
*s2=chi..*
二、
填空题
1.
PUtChar函数的作用是。
2.
Printf函数的“格式控制”包括两部分,
他们是
和。
3.
对不冋类型的语句有不冋的格式字符。
例如:
格式字符是用来输出十进制整数,
数据的输入方式:
格式字符是用来输出一个字符,格式字符是用来输出一个字符串。
4.%-ms表示如果串长m,则在m列范围内,字符串向靠,补空格。
5.getchar函数的作用是。
6.符号"&”是运算符,&a是指。
7.复合语句是由一对括起来的若干语句组成。
8.分析下面程序:
#inClUdeVStdio.h>
main()
{
intx=2,y,z;
x*=3+2;Printf("%d∖n",x);
x*=y=z=4;Printf("%d∖n",x);
x=y=z;Printf("%d∖n",x);
x=(y=z);Printf("%d∖n",x);
}
程序的输出结果为。
9.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70.000000
jian=30.000000
Cheng=1000.000000
chu=2.5000000
程序:
#include
voidmain()
{(1
a=50.0;b=20.0;
Printf("jia=%f∖n",
(2));Printf("jian=%f∖n"(3));
Printf("cheng=%f∖n",(4));Printf("chu=%f∖n",(5));
}
将缺少的部分填在空白处。
10.下列程序的输出结果是。
#inClUdeVStdio.h>main()
{chara;
a='A';
Printf("%d%c",a,a);
}
11.分析下面程序
main()
{
intx=2,y,z;
x*=3+2;Printf("%d∖n",x);
x*=y=z=4;Printf("%d∖n",x);
x=y=1;
z=x++-1;Printf("%d,%d∖n",x,z);z+=-χ+++(++y);Printf("%d,%d",x,z);
}
程序的输出结果是。
12.以下程序的输出结果为:
。
#include
main()
{Charc1,c2;
c1=,a?
;
c2=,∖n?
Printf(%c%c",c1,c2);}
三、编程题
1.从键盘上输入一个大写字母,要求改用小写字母输出。
2.请编写一个程序,能显示出以下两行文字。
IamaStUdent.
IloveChina.
第四章选择结构程序设计
、选择题
1.以下关于运算符优先级的描述中,正确的是。
>赋值运算
A)!
(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
2.逻辑运算符的运算对象的数据类型。
A)只能是O或1
C)只能是整型或字符型
B)只能是•「或.F.
D)任何类型的数据
3.能正确表示X的取值范围在[0,100]和[-10,-5]内的表达式是
A)(x<=-10)Il(x>=-5)&&(x<=0)Il(x>=100)
B)(x>=-10)&&(x<=-5)Il(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x<=-10)Il(x>=-5)&&(x<=0)Il(x>=100)
4•以下程序的运行结果是。
main()
{
intc,x,y;
x=1;
y=1;
c=0;
c=χ++lly++;
Printf((h%d%d%d∖n",x,y,c);
}
A)110B)211C)011D)001
5•判断字符型变量Ch为大写字母的表达式是。
elsePrintf(####\n”;
以上程序。
&写出下面程序的执行结果
main()
{intx,y=1;
if(y!
=0)x=5;
Printf(%d\t”,x);
if(y==0)x=3;
elsex=5;
Printf(%d\t\n”,x);
A)13B)15C)53
9假定所有变量均已正确说明,下列程序段运行后X的值是
a=b=c=0;x=35;
if(!
a)x=-1;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4C)35
10•若有以下函数关系
x<0→y=2x
x>0→y=x
x=0→y=x+1
下面程序段能正确表示以上关系的是。
A)y=2x;
if(x!
=0)if(x>0)y=x;elsey=x+1;
C)if(x>=0)
if(x>0)y=x;
elsey=x+1;
elsey=2x;
11•若有以下变量定义:
floatx;inta,b;
则正确的SWitCh语句是。
A)SWitCh(X)
{CaSe1.0:
Printf("*∖n");
CaSe2.0:
Printf("**∖n");
}
B)SWitCh(X)
{CaSe1,2:
Printf("*∖n");
CaSe3:
Printf("**\n");
}
C)SWitCh(a+b)
{CaSe1:
Printf("*\n");
CaSe2*a:
Printf("**\n");
}
D)SWitCh(a+b)
{CaSe1:
Printf("*∖n");
CaSe1+2:
Printf("**∖n");
}
12.以下不正确的if语句形式是
A)if(X>y&&X!
=y);
B)if(X==y)X+=y;
C)if(X!
=y)SCanf(%d”&x)elseSCanf(%d”&y);
D)if(X 13.当a=1,b=3,C=5,d=4时,执行完下面程序段后X的值为 if(a if(C else if(a if(b elseX=3; elseX=6; elseX=7; A)1B)2C)3D)6 14.设有如下定义: CharCh=? Z? 则执行下面语句 后变量Ch是值为: 。 ch=(,A7<=ch&&Ch<=,Z? )? (ch+32): Ch A)AB)aC)ZD)Z 15.已知intX=30,y=50,z=80;以下语句执行后变量x、y、Z的值分别为: if(x>y∣∣x z=x;x=y;y=z; A)x=50,y=80,z=80B)x=50,y=30,z=30 C)x=30,y=50,z=80D)x=80,y=30,z=50 16.C语言中,要求运算对象必须是整型的运算符是: 。 D)! = A)>B)++C)% 17.在C语言中,多分支选择结构语句为: SWitCh(C) {CaSe常量表达式1: 语句1; CaSe常量表达式n-1: 语句n-1;default语句n;} 2.以下两条if语句可合并成一条if语句为 if(a<=b)x=1; elsey=2; if(a>b)Printf("****y=%d∖n",y); elsePrintf("####x=%d∖n",x); 3.设有程序片段如下: SWitCh(CIaSS) {case'A': Printf("GREAT! ∖n"); CaSe'B': Printf("GOOD! ∖n"); CaSe'C': Printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题 docx