A.n2B・(n+l)/2C・n(n-l)/2D・n(n+l)/2
17.在下面的do循环语句中,其循环体被执行的次数为(A)。
inti=0;doi++;while(i*i<10);
A.4B・3C・5D・2
1.在下面的一维数组定义中,(C)语句有语法错误。
A.inta[]={l,2,3};B
・inta[10]={0};C
・intaQ;
D.inta[5];n
2.在下面的二维数组定义中
(C)语句是正确的。
A.inta[5][];
B・inta[][5];
C・int
aD[3]={{l,3,5},{2}};
D
・inta[](10)
3.假定一
个二维
数组的定义语
句为”int
a[3][4]={{3,4},{2,8,6}};”,则元素a[l][2]的值为(C)。
A.2B・4C・6D・8
4.假定一个二维数组的定义语句为”inta[3][4]={{3,4},{2,8,6}};J则元素a[2][l]的值为(A)。
A.0B・4C・8D・6
5.将两个字符串连接起来组成一个字符串时,选用(C)函数。
A.strlen()B・strcap()C・strcat()D・strcmp()
1.在下面的(C)函数声明语句存在语法错误。
A.AA(inta,intb);B・AA(int,int)C・AA(inta;intb)
D-AA(inta,int)
2・在下面的(C)不能作为函数的返回类型。
A.voidB・intC・newD・long
3.
下面正确的函数原型语句是(B)。
•voidFunction(int);
A-intFunction(voida);B
4.函数调用func(expl,exp2),exp3*exp4-exp5)中所含实参的个
数为(B)个。
A・1B・2C・4D・5
5.下面的标识符中,(C)是文件级作用域。
A.函数形参B•语句标号C・外部静态类标识符D・自
动类标识符
6.下面的标识符中,(B)具有全局级作用域。
A.函数形参B.全局变量C.内部静态类标识符D.自
动变量符
7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)字节。
A.1B・2C・4D・8
8.假定a为一个字符数组名,则珂8]的地址比该数组的首地址大
(B)个字节。
A.4B・8C・16D・32
9.假定a为一个数组名,则下面的(B)表示有错误。
A.a[i]B.*a++C・*aD・*(a+l)
10.用calloc函数创立具有10个整型元素的一维数组的正确语句
是(C)。
(B)。
*p=m;
特别版1]变量p的正确语句为(B)。
(C)o
A.pb=b;B.pb=&b[O];C.pb=b+2;D.pb=b[5];
要释放P
•delete
D・free(p);
price;};structBOOK*book;,则彳、正确的语句为(A)。
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
15.假定指针变量p定义为”int*p=newint(lOO);”
所指向的动态内存,应使用语句(D)。
A.delete[p];B・delete*p;C・deleteD
□p;
16.假定指针变量p定义为,,int*p=calloc(30,sizeof(int));
要释放p所指向的动态内存、应使用语句(D)。
*x=&book;
D・structBOOK
C・structBOOKx=calloc(BOOK);
*x=BOOK;
A.
eofB・Eof
C
・EOF
D
・feof
4.
C语言中系统函数
fbpen()
是(D)
一个数据文件的函数。
A.
读取B・写入
C
・关闭
D
・打开
5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)o
A.gets()B.fgets()C.getc()D.fgetc()
6.向一个二进制文件写入信息的函数fwrite()带有(D)参
数。
A.1B.2C.3D.4
二、填空题
1.C语言中的每条简单语句以一—;作为结束符。
2.C语言中的每条复合语句以___}作为结束符。
3.在C语言程序的每个程序行后面或单独一行的开始使用注释的
标记符为―一//_―o
4.单行或多行注释的结束标记符为__*/o
5.在一个C程序文件中,若要包含另外一个头文件或程序文件,
则应使用以―#include标识符开始的预处理命令。
6.在#include命令中所包含的头文件,能够是系统定义的头文件,
也能够是__用户___定义的头文件。
7.一个函数定义由__函数头和函数体两部分组成。
8・用于输出表示式的标准输岀函数是_printf()。
9.当不需要函数返回任何值时,则应使用__void标识符定
义函数类型。
10.执行”printf(”%d-%d=%d^,43,18,43-18);”语句后得到的
输出结果为—43-18=25。
11.每个C程序文件在编译时可能出现有警告性错误,其对应的标
识符为―warning。
12.每个C程序文件在编译时可能出现有致命性错误,其对应的标
识符为―error。
13.十进制数25表示成符合C语言规则的十六进制数为
―0x19―o
14.在C语言中,转义字符序列___\n___表示一个换行符。
15.执行”printf(”%c”,'F'-2);”语句后得到的输出结果为__D―o
16・已矢口,A'〜,Z'的ASCD码为65-90,当执行”intx='C'+5;”语句所x的值为___72___.
17.假定一个枚举类型的定义为”enumRB{ab,ac=3,ad,ae}x=ad;”,贝【Jx的值为4・
18.char类型的大小为个字节。
19.int类型的大小为__4__个字节。
20・float类型的大小为―4―个字节。
21.十进制数28类型为___int___o
22.十进制数3.26类型为double。
23.若需要定义一个符号常量,而且使C语言能够进行类型检查,则应
在定义语句的开始使用保留字const___o
24.使用const语句定义一个符号常量时,则必须对它同时进行__定义类型和赋初值__。
25-执行”intx=45,y=13;printf(”%d”,x%y);”语句序列后得
到的输出结果为6―o
26.假定x=5,则表示式2+X++的值为
27.表示式(float)25/4的值为___6.25___。
28.表示式(int)14.6%5的值为___4___。
29.表示式x=x+l表示成增量表示式为―x++o
30.增量表示式++y表示成赋值表示式为y+=l__o
31.关系表示式(x!
=0)的等价表示式为xo
32.假定不允许使用逻辑非操作符,则关系表示式x+y>5的相反表
示式为x+y<=5―o
33.假定不允许使用逻辑非操作符,则逻辑表示式a>bIIb==5的
相反表示式为___a<=b&&(b>5llb<5)o
34.若x=5,y=10,则x>y逻辑值为___false___。
35.若x=5,y=10,则xv=y逻辑值为true。
36.假定x=5,则执行”a=(x?
10:
20);”语句后a的值为。
37.执行"typedefintDataType;"语句后,在使用int定义整型变量的地方都能够使用___DataType___来定义整型变量。
38.在switch语句中,每个语句标号所含保留字case后面的表示
式必须是__整型__。
39.作为语句标号使用的C保留字case和default只能用于
―switch―语句的定义体中。
40.在switch语句时,在进行作为条件的表示式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/
不停止)___不停止―执行。
41•若do循环的”尾”为”while(++i<10)”,而且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_」0___次后正常结束。
42.当在程序执行到___break___语句时,将结束本层循环语句或switch语句的执行。
43.在程序中执行到―return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
44.在程序执行完__主(main)__函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。
1.假定一维数组的定义为”char*a[8];”,则该数组所含元素
的个数为8o
2.假定一维数组的定义为”char*a[8];”,则该数组所占存储
空间的字节数为___32o
3.假定二维数组的定义为”inta[3][5]”,则该数组所占存储空
间的字节数为__60o
4.假定二维数组的定义为”chara[M][N];”,则该数组所所含元
素的个数为__M*No
5.假定二维数组的定义为”doublea[M][N];”,则每个数组元素的行下标取值范围在__0〜M-1___之间。
6.假定二维数组的定义为”doublea[M][N];”,则每个数组元素的列下标取值范围在__0〜N-1___之间。
7.使用”typedefcharBB[10][50];”语句定义__BB为含
有10行50列的二维字符数组类型。
8.存储字符'a'需要占用存储器的」个字节空间。
9.空字符串的长度为__0o
10.存储一个空字符串需要占用__1___个字节。
11.字符串”a:
数据”的长度为___11。
12.用于存储一个长度为n的字符串的字符数组的长度至少为
―n+1o
13.strcmp函数用于进行两个字符串之间的__大小比较__。
14.Strcpy函数用于把一个字符串__复制到__另一个字符数组空间中。
15.—个二维字符数组a[10][20]能够存储__10___个字符串。
16.一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为19.
1.在C语言中,一个函数由函数头和___函数体组成。
2.在函数外定义的变量称为全局变量,若没有被初始化则系统隐
含对它所赋的初值为___0。
3.如果一个函数只允许同一程序文件中的函数调用,则应在访函
数定义前加上的C保留字为为___statico
4.如果一个函数直接或间接地调用自身,这样的调用被称为__递
归调用。
5.调用系统函数时,要先使用#include命令包含该函数的原型语句所在__头___文件。
6.函数形参的作用域是该函数的__内部o
7.假定p所指对象的值为25,p+l所指对象的值为46,则*p++的值
为__25o
8.假定p所指对象的值为25,p+l所指对象的值为46,则*++卩的
值为__46o
9.假定p所指对象的值为25,p+l所指对象的值为46,则执
行”%P++);”语句后,P所指对象的值为__46o
10.假定a是一个指针数组,则a+1所指对象的地址比a地址大__4___字节。
11.若要把一个整型指针p转换为字符指针,则采用的强制转换表
资料内容仅供您学习参考,如有不当或考侵权,请联系改正或者删除。
示式为(char*)po
12.假定一个数据对象为int*类型,则指向该对象的指针类型为
―int**o
量P的地址。
14.若p指向x,则*p与x的等价的。
15.NULL是一个符号常量,一般作为空指针值,它值为0'(ASCH码0)—。
1.假定一个结构类型的定义为”structA{inta,b;A叱;};”,则
该类型的大小为___12字节。
2.假定一个结构类型的定义为”structB{inta[5],char
*b;};”,则该类型的大小为—_24字节。
3.假定一个结构类型的定义为"structD{inta;union{int
b;doublec;};structD*d[2];};,则该类型的大小为20
子m
4.假定要动态分配一个类型为structWorker的具有n个元素的
数组,并由r指向这个动态数组,则使用语句的表示式为struct
Worker*r=__(Worker*)malloc(n*sizeof(Worker));。
5.假定要访问一个结构x中的由a指针成员所指向的对象,则表
示方法为__x・(*a)___o
6.假定要访问一个结构指针p所指向对象中的b指针成员所指的
对象,则表示方法为*(p->b)___
7.与结构成员访问表示式(*fp).score等价的表示式是―lp->scoreo
三、写出下列每个程序运行后的输出结果
1.#include
voidmain()
{
intx=5;switch(2*x-3){case
4:
printf(n%dn,x);case
7:
printf(n%d蔦2*x+l);
case10:
printf(n%d",3*x-l);break;
default:
printf("%sn,ndefault\nn);
}
printf(H%s\nnswitchend.”);
}
输出结果为:
1114switchend・
Pressanykeytocontinue
2.#include
voidmain()
{
inti,s=0;
fbr(i=l;i<=6;i++)
s+=i*i;printf(Hs=%d\n'\s);
}
输出结果为:
s=91・
Pressanykeytocontinue
3.#include
voidmain()
{
inti,sl=0,s2=0;
for(i=0;i<10;i++)
if(i%2)sl+=i;
elses2+=i;
printf(H%d%d\nn,sl,s2);
输岀结果为:
2520.
Pressanykeytocontinue
4.#include
voidmain()
{
intn=10,y=l;
while(n—){y++;y++;}printf(,,y=%d\n,\y);
}
输出结果为:
y=21・
Pressanykeytocontinue
5.#include
voidmain()
{
fl=£2=1;
printf(n%d%dH,fl,f2);
for(i=3;i<=10;i++){
f=fl+f2;
printf(n%dn,f);if(i%5==0)printf(n\nn);
fl=£2;
f2=f;
}
printf(H\nu);
}
输出结果为:
11235
813213455
Pressanykeytocontinue
6.#include
#include
voidmain()
{
inti,n;
并取整
for(i=2;i<=temp;i++)
if(n%i==O)break;
if(i>temp)printf(H%dn,n);
}
printf(n\nn);
}
输出结果为:
235711131719
Pressanykeytocontinue
7.#include
#include
constintM=20;
voidmain()
{
inti,c2,c3,c5;
c2=c3=c5=0;
for(i=l;i<=M;i++){
if(i%2=0)c2++;
if(i%3==0)c3++;
if(i%5==0)c5++;
printf(H%d%d%d\nn,c2,c3,c5);
输岀结果为:
1064
Pressanykeytocontinue
8.#include
#include
constintM=20;
voidmain()
{
inti,s;
fbr(i=1,s=0;iv15;i++){
if(i%2==0IIi%3==0)continue;
printf(H%di);
s+=i;
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
printf(n%d\nn,s);
}
输出结果为:
157111337
Pressanykeytocontinue
1.#include
voidmain()
{
inta[10]={12,39,26,41,55,63,72,40,83,95};
inti,订=0,i2=0;
for(i=0;i<10;i++)
if(a[i]%2==l)il++;elsei2++;
printf(H%d%d\nH,il,i2);
}
输岀结果为:
64
Pressanykeytocontinue
2.#include
#includevoidmain()
inti;
char
*a[5]={nstudentn,Hworkern,ncadren,Hsoldier,V,peasant,'}
■
char*pl,*p2;
pl=p2=a[0];
for(i=0;i<5;i++){
if(strcmp(a[i],p1)>0)p1=a[i];
if(strcmp(a[i],p2)<0)p2=a[i];
printf(H%s%s\nH,pl,p2);
输出结果为:
workercadre
Pressanykeytocontinue
3.#includeinta[10]={4,5,6,15,20,13,12,7,8,9};
voidmain()
inti,sO,sl,s2;
s0=sl=s2=0;
for(i=0;i<10;i++){
switch(a[i]%3){
caseO:
sO+=a[i];break;
case1:
sl+=a[i];break;
case2:
s2+=a[i];break;
}
printf(H%d%d%d\nn,s0,sl,s2);
输出结果为:
422433
Pressanykeytocontinue
4.#includevoidmain()
chara[]=nabcdbfbgacd";
int订=0,i2=0,i=0;
while(a[i]){
if(a[i]=='a‘)订++;
if(a[i]==,b,)i2++;
i++;
}
printf(H%d%d%d\n”,il,i2,i);
}
输出结果为:
2311
Pressanykeytocontinue
5.#include