47.下列关于单目运算符++,--的叙述中正确的是( )
A.它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型和int型变量,但不能是float型变量 C.它们的运算对象可以是int型变量,但不能是double型和float型变量
D.它们的运算对象可以是char型,int型,float型和double型变量 48.下列算术运算符中,只能用于整型数据的是( )
A.-
B.+
C./
D.%
49.有以下定义语句double a,b;int w;若各变量已正确赋值,则下列选项中正确的表达式是( )
A.a=a+b=b++
( )
A.4,13 二、知识填空题
1.用C语言编写的程序,不能被计算机直接识别、理解和执行,需要一种担任翻译工作的程序,称为________。
2.C语言源程序文件的扩展名是________,经过编译后,生成文件的扩展名是________,经过连接后,生成文件的扩展名是________。
3.一个C语言程序是由一个或多个具有独立功能的模块组成,这些模块称为________。
4.C语言程序的基本单位是________。 5.组成函数的基本单位是________。
6.C语言的语句按在程序中所起的作用可分为________和________两大类。 7.C语言的可执行语句包括:表达式语句;函数调用语句;空语句;________和________五种。
8.C语言中的标识符只能由三种字符组成它们是________、________、和________。
9.C语言中标识符的首字符必须是________。
10.函数调用的作用是使________转向被调用的函数,执行被调函数,完成被调函数的功能。
11.return语句的作用是使程序流程从被调函数返回到主调函数的________,并将被调函数的返回值带回到函数调用处。
12.一个C语言程序总是从________开始执行。
13.C语言中的多行注释以________符号开始,以________符号结束。
B.4,14
C.4,12
D.4,15
B.w%a+b
C.w=a++=b
D.w=++a=b
50.若有如下说明和语句int i=3,j;j= (++i)+(++i) + --i;执行后i,j的值分别是
14.设char w; int x; float y;则表达式w*x+5-y的值的数据类型为________。 15.若变量a是int类型,并执行了语句:a =‘A’+3.6;则a的值是________。 16.字符串“w\\x53\\\\\\np\\103q”的长度是________。
17.若有以下定义:char c=?\\010?;变量c中包含的字符个数为________。 18.经过如下定义和赋值后int x=2;double y;y=(float)x;,变量x的数据类型是________。
19.已知字母a的ASCII码值为97(十进制),且设ch为字符型变量,则表达式ch=?a?+?8?-?3? 的值为________。
20.若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式x=k的运算结果是________。
21.若k为int整型变量,则表达式k=10,k++,k++,k+3执行后,表达式的值是________,变量k的值是________。
22.若有语句int i=-19,j=i%4;printf(“%d\\n”,j);,则输出的结果是________。 23.在vc++系统中,一个char型数据在内存中所占的字节数为________;一个int型数据在内存中所占的字节数为________。
24.在vc++系统中,一个float型数据在内存中所占的字节数为________;一个double型数据在内存中所占的字节数为________。
25.设有如下定义:int x=10,y=3,z;,则语句printf(\的输出结果是________;
26.表达式5%6的值是________。 27.表达式5/6的值是________。 28.表达式5/6.0的值是________。
29.设以下变量均为int类型,则表达式(x=y=6,x+y,x+1)的值是________。 30.若x和n均为整型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=6)后,x的值为________。
31.若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int) a / (int)b的值为________。
32.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后,a的值为________。
33.若a是int型变量,则执行表达式a=25/3%3后,a的值为________。 34.若x和n均是int型变量,且x和n的初值为5,则执行表达式x+=n++后,x的值为________,n的值为________。
35.表达式1/3*3的计算结果是________。 36.表达式1.0/2*3的计算结果是________。
37.若k和j为int整型变量,则表达式k=(j=3,j=2,++j,j++)执行后,表达式的值是________,变量k的值是________,变量j的值是________。
38.若x为double型变量,则表达式x=3.2,++x执行后,表达式的值是________,变量x的值是________。
39.若a为float类型变量,且a=4.6785,则表达式 (a*100+0.5)/100.0的值为________,(int) (a*100+0.5)/100.0的值为________。
三、判断题
( )1.C语言程序的开发过程是编辑、编译、连接、执行。 ( )2.语句是构成C语言程序的基本单位。 ( )3.函数是构成C语言程序的基本单位。 ( )4.只由一个分号组成的语句是空语句。
( )5.一个函数的函数体必须有数据定义、数据操作两部分。 ( )6.C语言的标识符不区分大小写字母。
( )7.可以在一个函数的函数体内定义另一个函数。 ( )8.可以在一个函数的函数体内调用另一个函数。
( )9.C语言程序执行过程是从第一个函数开始一直执行到最后一个函数。
( )10.注释可出现在程序的任何位置。
( )11.已定义c为字符型变量,则语句c=97;是正确。
( )12.C语言中整型常量按进制划分,有十六进制常量、十进制常量、八进制常量、二进制常量。
( )13.在C语言程序中,要求对所有用到的变量先定义,然后才能使用。
( )14.字符型变量用来存放字符常量,注意只能放2个字符。 ( )15.一个字符变量在内存中占一个字节。
( )16.C语言中可以把一个字符串赋给一个字符变量。 ( )17.C语言规定,可以在定义变量时,同时使变量初始化。 ( )18.把k1,k2定义成基本整型变量,并赋初值0的定义语句是int k1=k2=0;。
( )19.C语言中字符型数据和整型数据之间可以通用。一个字符数据即可以以字符形式输出,也可以以整型数据形式输出。
( )20.将a1,a2定义成单精度实型变量,并赋初值为1的定义语句是float a1=1;a2=1;。
( )21.设x,y都是int类型,且x=100,y=200,则printf(\的输出结果是200。
( )22.若变量已正确定义,以下程序段的输出的结果是5.169000。 x=5.16894;printf(\ ( )23.表达式(int)(11.0/3+0.5)的值为4。 ( )24.表达式11/3的值为3.666667。
( )25.C语言中,操作对象必须是整型数据的运算符是%。 ( )26.在C语言中,++(i+1)是一个合法的表达式。 ( )27.在C语言中,n=(i=2,++i)是一个合法的赋值表达式。 ( )28.在C语言中,x=j=0是一个合法的赋值表达式。
( )29.已知int x,y,z;执行语句x=(y=(z=10)=5)-5;后x,y,z 的值是10,15,10。 ( )30.若t为double类型,表达式t=1,t+5,t++的值6.0。 ( )31.设int n=3;,则表达式n++的值是4。
( )32.设int n=3;,则表达式n++执行后,n的值是4。 ( )33.设int a=2,b,c;则执行c=b=a--;语句后,a的结果是2。 ( )34.设int n=2,b,c;则执行c=b=a--;语句后,b的结果是2。 ( )35.凡是表达式都有一个值。
( )36.若有以下定义int m=5 ,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-16。
( )37.在main函数中,变量一定义,系统将自动赋予初始值。 ( )38.已有a =3,b=5;当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为3。
( )39.在C程序中,逗号运算的优先级最低。
( )40.若a和b类型相同,执行赋值表达式a = b后,将b的值放入a中,而b中的值不变。
四、程序阅读题
1.以下程序的运行结果是( ) int main() { }
2.以下程序的运行结果是( ) int main() {
int a=3; int x=2,y=3,z=1;
printf(\return 0;