25、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为7。
26、switch,typedef,continue均是C语言关键字。
27、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
28、160,-0xefff,011均是合法的整型常量。
29、'\\0','\101','X1f'均是合法的转义字符。
30、若变量a和x均为double类型,则代数式x^2-e^5转化为正确的c语言表达式为:
x*x-exp(5)。
31、在C程序中,逗号运算符的优先级最低。
32、在C程序中,APH和aph是两个不同的变量。
33、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
34、在C程序中,每行只能写一条语句。
35、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
36、在C程序中,%是只能用于整数运算的运算符。
37、若变量均为整型,且num=sum=7,则计算表达式sum=num++,sum++,++num后sum的值为8。
38、设变量a为整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型不能确定为何类型。
39、在C语言中char型数据在内存中的存储形式为ASCII码。
40、设有说明:
charm;intx;floaty;doublez;则表达式m*x+z-y值的数据类型为float。
41、putchar函数可以向终端输出一个字符或字符型变量值。
42、%x是格式符的一种,它可以适用于任何一种类型的数据。
43、输入项可以是一个实型常量,如:
scanf("%f",3.5)。
44、c程序中能直接让机器执行的文件是编辑后的.c源文件。
45、任何复杂的程序都是由顺序结构、选择结构、循环结构这三种结构构成的。
46、若有intx,则(x+1)++是一个合法的c语言表达式。
47、每个语句和数据定义的最后都必须有分号。
48、c程序的书写格式要求严格,区分大小写,并且一行内只能写一条语句。
49、在c程序中,语句之间必须要用分号";"来分隔。
50、在c程序中,整型数是能准确表示的,而实型数有时不能准确无误的表示。
51、若a和b类型相同,在执行了语句a=b后,b中的值将放入a中,b中的值不变。
52、0a12,-0x123,-0xa均是正确的八进制或十六进制数。
53、在c语言类型说明中,int,short,float等类型的长度是固定的。
54、表达式和表达式语句的区别在于:
表达式后无";"号,而表达式语句后有";"号。
55、设inta=12;则执行完语句a+=a-=a*a后,a的值为144。
56、(a=3)>(b=5)是合法的关系表达式。
57、关系表达式a=b>c等价于a=(b>c),同时也等价于a==b>c。
58、字符"\0"是字符串的结束标记,其ASCII代码为0。
59、算述运算*、/、+和一具有相同的优先级。
60、printf函数的格式控制串之后的所有参数的前面都必须有&。
61、若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。
62、C语言中直到型循环结构为:
do循环体while(表达式);但这种循环是当表达式为真时反复执行循环体,表达式为假时结束循环。
63、C语言认为变量number和NuMbEr是相同的。
64、break语句不能用于循环语句和switch语句之外的任何其他语句中。
65、在printf函数的格式控制串中使用转义序列\n会把光标定位到屏幕上下一行的开始位置。
66、语句y=*p++;和y=(*p)++;是等价的。
67、#include"iostream.h"的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来。
68、for(;;)语句等价于while
(1)语句,即不设初值、不判断条件、无终止地执行循环体。
69、unsigned和void都是C的保留字。
70、若inti=10,j=2;则执行完i*=j+8;后i的值为28。
71、在C语言中,"A"和'A'等价。
72、表达式4/7和4.0/7的值相等。
73、关系表达式a=b>c等价于a==b>c.
74、逻辑表达式'C'&&'d'的值为1.
75、若有说明intc;则while(c=getchar());是正确的C语句。
76、C语言程序的三种基本结构是顺序结构、选择结构和循环结构。
77、在C语言中整数只能表示为十进制数的形式。
78、空语句是合法的C语句。
79、while语句的循环体不能是复合语句。
80、关系运算符的优先顺序为:
赋值运算符<逻辑运算符<关系运算符<算术运算符。
81、已知x=43,ch='A',y=0;则表达式(x>y&&ch<'B'&&!
y)的值为"假"。
82、if(x!
=y)scanf("%d",&x)elsescanf("%d",&y);是正确的if语句。
83、若有条件表达式(x)?
a++:
b++;则表达式中(x)等价于(x!
=0)。
84、设有程序段intk=10;while(k=0)k=k-1;则语句k=k-1执行10次。
85、C语言中while和do-while循环的主要区别是:
do-while语句至少无条件执行一次。
86、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
87、在do-while循环体中,一定要有能使while后面表达式的值变为假的操作。
88、for循环只能用于循环次数已经确定的情况。
89、for循环是先执行循环体语句,后判断表达式。
90、在for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来变成一条复合语句。
91、执行语句for(i=1;i++<7;);后变量i的值不能确定。
92、continue语句的作用是结束整个循环的执行。
93、只能在循环体内和switch语句体内使用break语句。
94、在循环体内使用break语句或continue语句的作用相同。
95、只能用continue语句来终止本次循环。
96、#defineIMB_PC是正确的宏定义。
97、宏替换不占编译时间,只占运行时间。
98、c语言的编译系统对宏命令的处理是和c程序中的其他语句同时进行编译的。
99、在"文件包含"预处理语句的使用形式中,#include后面的文件名用""表示直接按系统设定的标准方式搜索目录。
100、c语言的预处理功能是指完成宏替换和包含文件的调用。
101、预处理指令只能位于c源程序文件的首部。
102、C语言中规定,if语句的嵌套结构中,else总是和最近的if配对。
103、switch语句中的每个case总要用break语句。
104、可以用do-while语句实现的循环一定可以用while语句实现。
105、while,do-while,何for语句的循环体都可以是空语句。
106、在下面程序段中循环体将执行无限次执行。
x=-1;do{x=x*x;}while(!
x);
107、设整型变量i的值为3,则表达式i---i是一个错误的表达式。
108、设有变量定义:
inta=3;则执行语句a+=a-=a*a;后,变量a的值变为0。
109、整型变量a,b,c=2;则表达式a+++b+++c+++的值为6。
110、若有说明语句:
inty[][4]={0,0,0,0,0,0};则数组y的每个元素都可以得到初值0。
111、若有inta[3][4];则a[3][4]是对二维数组的正确访问。
112、数组的下标可以float数据类型。
113、打印三行输出的C语言程序必须用三条printf语句。
114、初始化值列表中的初始化值个数多于数组元素的个数是错误的。
115、数组是一种构造型数据,即是若干相同类型的数据的集合。
116、若有说明:
staticinta[3][4];,则数组a中各元素可在程序的编译阶段得到初值0。
117、把单个数组元素传递给修改该元素值的函数会使调用函数包含修改后的值。
118、在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。
119、C语言中,二维数组中元素排列的顺序是:
按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。
120、若a为一维数组名,则*(a+i)与a[i]等价。
121、inta[]={0}能对一维数组进行正确的初始化。
122、若有说明:
inta[3][4];则a[2][4]是对数组a中的数组元素的正确引用。
123、若有说明:
inta[2][4]={0};表示数组a中只有数组元素a[0][0]可以得到初值0。
124、若有说明:
inta[][4]={0,0};则表示二维数组a的第一维大小为1。
125、若有说明:
inta[10]={6,7,8,9,10};则该语句不正确,因为数组长度与初值个数不相同。
126、对两个字符数组a和b进行初始化chara[]="abcd";charb[]={'a','b','c','d'};则a和b两数组长度相同。
127、在一个函数中,允许定义与结构体类型的成员相同名的变量,它们代表不同的对象。
128、指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。
129、&b指的是变量b的地址处所存放的值。
130、在C语言中,如果它们的元素相同,即使不同类型的结构也可以相互赋值。
131、用typedef可以定义各种类型名,但不能用来定义变量。
132、在C语言中,可以把一个结构体变量作为一个整体赋值给另一个具有相同类型的结构体变量。
133、存放地址的变量同其它变量一样,可以存放任何类型的数据。
134、结构体的成员可以作为变量使用。
135、int*p;定义了一个指针变量p,其值是整型的。
136、使用结构体struct的目的是,将一组数据作为一个整体,以便于其中的成员共享同一空间。
137、一个变量的地址就称为该变量的"指针"。
138、inti,*p=&i;是正确的C说明。
139、变量的指针,其含义是指该变量的一个标志。
140、若有说明:
int*p1,*p2,m=3,n;则p1=&m;p2=p1;是正确的赋值语句。
141、若定义:
int(*p)[4];则标示符p是一个指针,它指向一个含有四个整型元素的一维数组。
142、设有以下定义:
char*c[2]={"12","34"};表示c数组的两个元素中各自存放了字符串"12"和"34"的首地址。
143、已有定义int(*p)();指针p可以指向函数的入口地址。
144、当说明一个结构体变量时系统分配给它的内存是成员中占内存量最大者所需的容量。
145、C语言中结构体类型的变量在程序执行期间所有成员一直驻留在内存中。
146、共用体类型定义中不能出现结构体类型的成员。
147、用typedef可以增加新类型。
148、设有程序段"chars[]="program";char*p;p=s;"表示数组的第一个元素s[0]和指针p相等。
149、struct{intnum;floatscor;}student;structstudentstd1;是对结构体类型的变量student的定义。
150、一个共用体变量中不能同时存放其所有成员。
151、在C程序中,main函数必须位于程序的最前面。
152、一个C语言源程序必须包含一个main函数。
153、一个C语言程序是由一个主函数和若干个子程序组成的。
154、在c程序中,要调用的函数必须在main函数中定义。
155、主函数可以分两个部分:
主函数说明部分和主函数体。
156、c程序中,主函数可以调用任何非主函数的其他函数。
157、c程序中,任何非主函数都可以调用其他任何非主函数。
158、如果某个函数在定义时省略了存储类型,则默认的存储类型是int。
159、在c语言中,存储类型为register和extern的变量只在使用它们时才占用存储空间。
160、若一个外部变量的定义形式为staticintx;其中static的作用是使x只能在本文件内引用。
161、外部变量必须定义在文件的开头部分。
162、若一个C程序中说明一个全局变量intⅰ;(在所有函数之外说明的),则该程序任何一点都可引用全局变量ⅰ。
163、如果定义函数时的参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量、数组名或简单变量的地址。
164、在C语言中,所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数。
165、用指针作为函数参数时,采用的是"地址传送"方式。
166、在声明变量时必须给出变量的类型。
167、声明语句可放在函数体中的任何位置。
168、C程序文件中每个函数都将被本文件调用。
169、在C语言中,所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数。
170、所有的变量在使用前都必须予以声明。
171、局部静态变量是在编译时赋初值的,即只赋初值一次。
172、C语言中,如果在定义函数时省略extern,则隐含为外部函数。
173、函数定义时,可以不指定形参的类型,函数调用时由实参的类型决定形参的类型。
174、若i为某函数func之内说明的变量,则当func执行完后,i值无定义。
175、一个C源程序文件由一个或多个函数组成,由此可见函数是一个独立的编译单位。
176、在C语言中,所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数。
177、C程序中,在定义函数时的参数是"形式参数",在调用函数时的参数是"实际参数"。
178、#include"iostream.h"的作用是将说明标准输入流对象的头文件包含到当前源文件中来。
179、若ⅰ为某函数func之内说明的变量,则当func执行完后,ⅰ值无定义。
180、C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。
181、C程序的main函数可以有参数,但参数不能是指针类型。
182、在main函数中定义的变量称为全局变量。
183、一个可执行的C语言程序总是从main()函数的入口地址处开始执行。
184、建立函数的目的是为了提高程序的执行效率。
185、用户若需调用标准库函数,调用前必须重新定义。
186、用户可以重新定义标准库函数,但若如此该函数将失去原来的意义。
187、函数的实参和与其对应的形参各占用独立的存储单元。
188、若一个被调用函数中没有return语句则表示该函数没有返回值。
189、c语言规定形参可以是常量、变量或表达式,只要与其对应的实参类型一致即可。
190、定义函数时,形参的类型说明放在函数体内。
191、如果函数值的类型与返回值类型不一致,以函数值类型为准。
192、如果形参和实参的类型不一致,以实参的类型为准。
193、c语言规定简单变量做实参时,它与对应形参之间的数据传递方式是地址传递。
194、c语言规定函数返回值的类型是由在定义该函数时所指定的函数类型所决定的。
195、函数的定义可以嵌套,但函数的调用不可以嵌套。
196、若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。
197、若用一维数组名作为函数实参,则必须在主调函数中说明此函数的大小。
198、如果在一个函数中的复合语句中定义了一个变量,则该变量在该函数中都有效。
199、在不同函数中可以使用相同名字的变量。
200、凡是函数中未指明存储类别的局部变量,其隐含的存储类别为自动(auto)。
201、C语言允许main函数带形参,并且形参名只能是argc和argv。
202、main函数是系统提供的主函数,不需要用户自己编写。
203、charadd()是一个正确的函数说明。
204、若主调函数为double型,被调函数定义中没有函数类型说明,而return语句中的表达式为double型,则被调函数返回值的类型是double型。
205、有多少个return语句,就能返回多少个值。
206、在c语言中,static类型的变量在函数内说明,而在整个程序运行期间都存在,因此c语言中全局变量的存储类别是static。
207、在一个C源程序文件中,静态变量在该文件中的所有函数都能使用。
选择题
1、设intb=8;表达式(b>>2)/(b>>1)的值是________。
A)0B)2C)4D)8
2、以读写方式打开一个已有的文件file1,下面有关fopen函数正确的调用方式为________。
A)FILE*fp;fp=fopen("file1";"f");B)FILE*fp;fp=fopen("file1","r+");
C)FILE*fp;fp=fopen("file1","rb");D)FILE*fp;fp=fopen("file1","rb+");
3、在C程序中,可把整型数以二进制形式存放到文件中的函数是__________。
A)fprintf函数B)fread函数C)fwrite函数D)fputc函数
4、以下程序输出的结果是______
#include
#include
main()
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++)printf("%s\n",&w[k][k]);
}
A)ABCDB)ABCDC)EFGD)FGH
FGHEFGJKKL
KLIJO
M
5、下列程序执行后的输出结果是_______。
#defineMA(x)x*(x+1)
main()
{inta=2,b=3;printf("%d\n",MA(1+a+b));}
A)6B)8C)24D)42
6、函数调用语句fseek(fp,10,1)的含义是_______。
A)将文件指针移到距离文件头10个字节处
B)将文件指针移到距离文件尾10个字节处
C)将文件指针从当前位置后移10个字节
D)将文件指针从当前位置前移10个字节
7、有如下程序
#defineN3
#defineMN+1
#defineNUM2*M+1
main()
{inti;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是_______。
A)5B)6C)7D)8
8、以下各选项企图说明一种新类型名,其中正确的是_______。
A)typedefa1int;B)typedefa2=intC)typedefinta3;D)typedefa4;int;
9、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是_______。
A)EOFB)0C)非零值D)NULL
10、在C语言中,用w+方式打开一个文件后,可以执行的文件操作是________。
A)可任意读写B)只读C)只能先写后读D)只写
11、下面程序输出结果是________。
#defineMAX(x,y)(x)>(y)?
(x):
(y)
main()
{inta=4,b=2,c=3,d=4,t;
t=MAX(a+b,c+d)*10;printf("%d\n",t);
}
A)6B)7C)60D)70
12、当顺利执行了文件关闭操作时,fclose函数的返回值是________。
A)0B)TureC)-1D)1
13、下列叙述中正确的是________。
A)C语言编译时不检查语法。
B)C语言的子程序有过程和函数两种。
C)C语言的函数可以嵌套定义。
D)C语言所有函数都是外部函数。
14、下列语句中,不能将文件型指针fp指向的文件内部指针置于文件头的语句是________。
(注:
假定能正确打开文件)
A)fp=fopen("abc.dat","w")B)rewind(fp)C)feof(fp)D)fseek(fp,0L,0)
15、运行程序:
#defineS(X)2*X+1
main()
{inta=6,k=2,m=1;
a+=S(k+m);printf("%d\n",a);
}
则输出结果是________。
A)13B)12C)7D)6
16、源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是________。
A)TEST.bak和TEST.objB)TEST.obj和TEST.exeC)TEST.ext和TEST.cD)TEST.bak和TEST.exe
17、下面说明中,正确的是________。
A)typedefv1int;B)typed