《C程序设计》复习资料.docx
《《C程序设计》复习资料.docx》由会员分享,可在线阅读,更多相关《《C程序设计》复习资料.docx(30页珍藏版)》请在冰点文库上搜索。
《C程序设计》复习资料
一、选择题
1、以下字符不能出现在标识符中的是(B)
A、大写字母B、连接符C、数字字符D、下划线
2、C程序中main函数的位置(C)
A、必须在最开始
B、必须在系统库函数后面
C、可以在自定义函数后面
D、必须在最后
3、C语言的函数体由(B)括起来。
A、()B、{}C、[]D、/**/
4、以下(B)是正确的变量名。
A、5fB、ifC、f.5D、_f5
5、表达式3.6-5/2+1.2+5%2的值是(D)
A、4.3B、4.8C、3.3D、3.8
6、char型变量存放的是(A)。
A、ASCII代码值B、字符本身
C、十进制代码值D、内码值
7、下列数组声明中,正确的是(B)。
A、inta[5]={0};B、inta[]={012};
C、inta[5]=0;D、inta[];
8、已定义以下函数
intfun(int*p)
{return*p;}
fun函数返回值是(D)
A、不确定的值B、一个整数
C、形参P中存放的值D、形参P的地址值
9、如下fun函数的类型是(C)。
fun(floatx)
{doubley;intz;
y=x*x;
z=(int)y;
return(z);
}
A、voidB、doubleC、intD、float
10、以下叙述中正确的是(A)
A、预处理命令行必须位于C源程序的起始位置
B、在C语言中,预处理命令行都以"#"开头
C、每个C程序必须在开头包含预处理命令行:
#include
D、C语言的预处理不能实现宏定义和条件编译的功能
11、以下程序运行后屏幕输出为(B)
intf(intx,inty)
{
return(x+y);
main()
inta=2,b=3,c;
c=f(a,b);
printf("%d+%d=%d\n",a,b,c);
A、0B、2+3=5C、2+3=0D、3+2=5
12、有以下程序
inta,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
程序运行后的输出结果是(B)
A、6,1B、2,1C、6,0D、2,0
13、以下程序运行后屏幕输出为(D)。
inta=2,b=3;
intmax(inta,intb)
intc;
c=a>b?
a:
b;
return(c);
inta=4;
printf("%d",max(a,b));
A、2,3B、2C、3D、4
14、有以下程序
voidf(int*x,int*y)
{intt;
t=*x;*x=*y;*y=t;
{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p{f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序运行后的输出结果是(D)A、8,2,3,4,5,6,7,1,B、5,6,7,8,1,2,3,4,C、1,2,3,4,5,6,7,8,D、8,7,6,5,4,3,2,1,15、C语言源程序名的后缀是(B)A、.exeB、.CC、.objD、.cp16、若有定义:#definePI3,则表达式PI*2*2的值为(D)。A、12B、4C、3D、不确定17、设有以下语句,则(A)是对a数组元素的不正确引用,其中0≤i<10。inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))18、以下程序段:stuctstudent{intage;intnum;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是(B)A、std.ageB、p->ageC、*p.ageD、(*p).age19、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D))A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);20、设有以下定义语句:structstudent{intnum;charname[10];floatscore;}wang,zhang;则变量wang所占的内存字节数是(B)。A、14B、16C、18D、2021、下列属于合法标识符的是(B)A、2mB、_n25C、n*mD、int22、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。A、unsignedshortintB、int C、shortintD、longint23、C语言中运算对象必须是整型的运算符是(A)A、%B、/C、〈=D、=24、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)A、1B、2C、2.0D、2.525、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10‖a<=026、结束while(表达式)循环的条件是(B)A、当表达式的值为0时B、当表达式的值不为0时C、当表达式的值为1时D、当表达式的值为非1时27、以下数组定义中错误的是(B)A、intx[][3]={0};B、intx[2][3]={{l,2},{3,4},{5,6}};C、intx[][3]={{l,2,3},{4,5,6}};D、intx[2][3]={l,2,3,4,5,6};28、若有以下语句,则正确的描述是(C)charx[]="12345";chary[]={'1','2','3','4','5'};A、x数组和y数组的长度相同B、x数组等价于y数组C、x数组长度小于y数组长度 D、x数组长度大于y数组长度29、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)A、3B、4C、5D、有语法错30、以下叙述中正确的是(C)A、预处理命令行必须位于C源程序的起始位置B、在C语言中,预处理命令行都以"#"开头C、每个C程序必须在开头包含预处理命令行:#includeD、C语言的预处理不能实现宏定义和条件编译的功能31、有如下程序main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是(D)A、34B、42C、43D、3332、有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++case2:a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是(A)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=233、有如下程序main0{intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A、987B、876C、8765D、987634、若变量均已正确定义并赋值,以下合法的C语言表达式(D)A、a:=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+235、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)A、voidB、intC、floatD、double36、有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是(C)A、*P+9B、*P+=9C、*(P+8)D、P+837、有如下程序#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是(C)A、5B、6C、7D、838、有以下程序(C)main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A、11B、13C、19D、2039、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D)A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);40、有如下程序(59713)main(){charch[2][5]={“6937”,”8254”},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’;j+=2)s=10*s+p[i][j];printf(“%d\n”,s);}该程序的输出结果是A、69825B、63825C、6385D、69382541、下列属于合法标识符的是(B)A、2mB、_n25C、n*mD、int42、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。A、unsignedshortintB、int C、shortintD、longint43、C语言中运算对象必须是整型的运算符是(A)A、%B、/C、〈=D、=44、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)A、1B、2C、2.0D、2.545、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10‖a<=046、结束while(表达式)循环的条件是(B)A、当表达式的值为0时B、当表达式的值不为0时C、当表达式的值为1时D、当表达式的值为非1时47、以下数组定义中错误的是(B)A、intx[][3]={0};B、intx[2][3]={{l,2},{3,4},{5,6}};C、intx[][3]={{l,2,3},{4,5,6}};D、intx[2][3]={l,2,3,4,5,6};48、若有以下语句,则正确的描述是(C)charx[]="12345";chary[]={'1','2','3','4','5'};A、x数组和y数组的长度相同B、x数组等价于y数组C、x数组长度小于y数组长度 D、x数组长度大于y数组长度49、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)A、3B、4C、5D、有语法错50、以下叙述中正确的是(C)A、预处理命令行必须位于C源程序的起始位置B、在C语言中,预处理命令行都以"#"开头C、每个C程序必须在开头包含预处理命令行:#includeD、C语言的预处理不能实现宏定义和条件编译的功能51、有如下程序main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是(D)A、34B、42C、43D、3352、有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++case2:a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是(A)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=253、有如下程序main0{intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A、987B、876C、8765D、987654、若变量均已正确定义并赋值,以下合法的C语言表达式(D)A、a:=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+255、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)A、voidB、intC、floatD、double56、有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是(C)A、*P+9B、*P+=9C、*(P+8)D、P+857、有如下程序#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是(C)A、5B、6C、7D、858、有以下程序(C)main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A、11B、13C、19D、2059、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D)A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);60、有如下程序(59713)main(){charch[2][5]={“6937”,”8254”},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’;j+=2)s=10*s+p[i][j];printf(“%d\n”,s);}该程序的输出结果是A、69825B、63825C、6385D、69382561.下述标识符中,(D)是合法的用户标识符。 A.A#C B.getch C.void D.ab*62.以下叙述中正确的是() A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号"{"和"}"只能作为函数体的定界符 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名 D.分号是C语句之间的分隔符,不是语句的一部分63.为表示关系x≥y≥z,应使用C语言表达式(A)。 A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z)C.(x>=y>=z) D.(x>=z)&(y>=z)64.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。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);65.表达式(a=5,b=10+a++,a+b)的值是(D)。 A.5 B.6 C.20 D.2166.若有定义:int*p[3];,则以下叙述中正确的是(B)A.定义了一个基类型为int的指针变量p,该变量具有三个指针B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素67.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串(42)以下选项中,不能正确赋值的是(A) A.chars1[10];s1="Ctest"; B.chars2[]={'C','t','e','s','t'}; C.chars3[20]="Ctest"; D.char*s4="Ctest\n"68.设intx=1,*p=&x;则下列值不为1的表达式是(D)。 BA.*p B.*xC.*&x D.xD169.下列能将fp声明为文件指针的语句是(D)。 BA.FILEfp B.FILE*fp C.filefp D.file*fp 70.以下选项中不能正确把cl定义成结构体变量的是(B)。A.typedefstruct B.structcolorcl{intred; {intred;intgreen;I intgreen;intblue; intblue;}COLOR; }; COLORcl;C.structcolorD.struct{intred;{intred;intgreen;intgreen;intblue;intblue;}cl;}cl;二、填空题(本题共6小题,每空1.5分,共18分)1、若有定义:inta[3][2]={1,2,3,4,5,6};则a[2][0]的值是___3____;a[0][1]的值是_2____。2、if(a>b)max=a;elsemax=b;等价于if(b>a)max=b;elsemax=a。(用条件运算符表示)3、设有如下数组定义:charstr[8]={"FuJian"};则分配给数组str的存储空间是8个字节。4、inti,*p;p=&i;,则p表示i,*p表示i*。5、结构化程序设计的基本思想认为:任何程序都可以用顺序结构、__选择结构__、循环结构这三种结构来表示。6、C语言中允许的基本数据类型包括:整型、实型、字符型,与它们相应的变量类型说明符分别是:int、float、char。7、一个C语言程序中必须存在的函数是mainvoid(),在一个字符数组中,表示一个字符串结束的转义符为‘\0’。8、C语言中允许的基本数据类型包括:整型、实型、字符型,与它们相应的变量类型说明符分别是:int、float、char。9、循环语句:for(k=1;k<=5;k++)执行结束后,K的值为12345。10、inti,*p;p=&i;,则p表示i,*p表示i*。11、若有定义:inta[3][2]={1,2,3,4,5,6};则a[0][0]的值是_____1__;a[1][1]的值是4_____。12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的值的数据类型为float。13、已有定义:intx=3,y=4,z=5;,则表达式!(x+y)&&y+z/2的值是7&&4.5。14.C语言的预处理语句以___#include“stdio.h”_____开头。 15.表达式7+8>2&&25%5的结果是_0__. 16.C语言中putchar(c)函数的功能是向标准输入输出设备输出一个字符,输出设备是屏幕终端_。 17.int*p的含义是_定义指针变量P*__。 18.指针是将其它变量的___任何一种基本数据类型数据的储存单元__作为其值的变量。19.数组int a[3][4];共定义了__7__个数组元素。三、程序填空题(本题共4小题,共20分)1、求1~100以内能被3整除且含数字5的数。(4分)#includemain(){inti,a,b,
{f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序运行后的输出结果是(D)A、8,2,3,4,5,6,7,1,B、5,6,7,8,1,2,3,4,C、1,2,3,4,5,6,7,8,D、8,7,6,5,4,3,2,1,15、C语言源程序名的后缀是(B)A、.exeB、.CC、.objD、.cp16、若有定义:#definePI3,则表达式PI*2*2的值为(D)。A、12B、4C、3D、不确定17、设有以下语句,则(A)是对a数组元素的不正确引用,其中0≤i<10。inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))18、以下程序段:stuctstudent{intage;intnum;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是(B)A、std.ageB、p->ageC、*p.ageD、(*p).age19、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D))A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);20、设有以下定义语句:structstudent{intnum;charname[10];floatscore;}wang,zhang;则变量wang所占的内存字节数是(B)。A、14B、16C、18D、2021、下列属于合法标识符的是(B)A、2mB、_n25C、n*mD、int22、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。A、unsignedshortintB、int C、shortintD、longint23、C语言中运算对象必须是整型的运算符是(A)A、%B、/C、〈=D、=24、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)A、1B、2C、2.0D、2.525、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10‖a<=026、结束while(表达式)循环的条件是(B)A、当表达式的值为0时B、当表达式的值不为0时C、当表达式的值为1时D、当表达式的值为非1时27、以下数组定义中错误的是(B)A、intx[][3]={0};B、intx[2][3]={{l,2},{3,4},{5,6}};C、intx[][3]={{l,2,3},{4,5,6}};D、intx[2][3]={l,2,3,4,5,6};28、若有以下语句,则正确的描述是(C)charx[]="12345";chary[]={'1','2','3','4','5'};A、x数组和y数组的长度相同B、x数组等价于y数组C、x数组长度小于y数组长度 D、x数组长度大于y数组长度29、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)A、3B、4C、5D、有语法错30、以下叙述中正确的是(C)A、预处理命令行必须位于C源程序的起始位置B、在C语言中,预处理命令行都以"#"开头C、每个C程序必须在开头包含预处理命令行:#includeD、C语言的预处理不能实现宏定义和条件编译的功能31、有如下程序main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是(D)A、34B、42C、43D、3332、有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++case2:a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是(A)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=233、有如下程序main0{intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A、987B、876C、8765D、987634、若变量均已正确定义并赋值,以下合法的C语言表达式(D)A、a:=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+235、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)A、voidB、intC、floatD、double36、有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是(C)A、*P+9B、*P+=9C、*(P+8)D、P+837、有如下程序#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是(C)A、5B、6C、7D、838、有以下程序(C)main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A、11B、13C、19D、2039、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D)A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);40、有如下程序(59713)main(){charch[2][5]={“6937”,”8254”},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’;j+=2)s=10*s+p[i][j];printf(“%d\n”,s);}该程序的输出结果是A、69825B、63825C、6385D、69382541、下列属于合法标识符的是(B)A、2mB、_n25C、n*mD、int42、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。A、unsignedshortintB、int C、shortintD、longint43、C语言中运算对象必须是整型的运算符是(A)A、%B、/C、〈=D、=44、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)A、1B、2C、2.0D、2.545、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10‖a<=046、结束while(表达式)循环的条件是(B)A、当表达式的值为0时B、当表达式的值不为0时C、当表达式的值为1时D、当表达式的值为非1时47、以下数组定义中错误的是(B)A、intx[][3]={0};B、intx[2][3]={{l,2},{3,4},{5,6}};C、intx[][3]={{l,2,3},{4,5,6}};D、intx[2][3]={l,2,3,4,5,6};48、若有以下语句,则正确的描述是(C)charx[]="12345";chary[]={'1','2','3','4','5'};A、x数组和y数组的长度相同B、x数组等价于y数组C、x数组长度小于y数组长度 D、x数组长度大于y数组长度49、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)A、3B、4C、5D、有语法错50、以下叙述中正确的是(C)A、预处理命令行必须位于C源程序的起始位置B、在C语言中,预处理命令行都以"#"开头C、每个C程序必须在开头包含预处理命令行:#includeD、C语言的预处理不能实现宏定义和条件编译的功能51、有如下程序main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是(D)A、34B、42C、43D、3352、有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++case2:a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是(A)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=253、有如下程序main0{intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A、987B、876C、8765D、987654、若变量均已正确定义并赋值,以下合法的C语言表达式(D)A、a:=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+255、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)A、voidB、intC、floatD、double56、有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是(C)A、*P+9B、*P+=9C、*(P+8)D、P+857、有如下程序#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是(C)A、5B、6C、7D、858、有以下程序(C)main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A、11B、13C、19D、2059、有如下定义structperson{charname[9];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};根据上述定义,能输出字母M的语句是(D)A、printf(“%c\n”,class[3].name);B、printf(“%c\n”,class[3].name[1]);C、printf(“%c\n”,class[2].name[1]);D、printf(“%c\n”,class[2].name[0]);60、有如下程序(59713)main(){charch[2][5]={“6937”,”8254”},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’;j+=2)s=10*s+p[i][j];printf(“%d\n”,s);}该程序的输出结果是A、69825B、63825C、6385D、69382561.下述标识符中,(D)是合法的用户标识符。 A.A#C B.getch C.void D.ab*62.以下叙述中正确的是() A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号"{"和"}"只能作为函数体的定界符 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名 D.分号是C语句之间的分隔符,不是语句的一部分63.为表示关系x≥y≥z,应使用C语言表达式(A)。 A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z)C.(x>=y>=z) D.(x>=z)&(y>=z)64.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。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);65.表达式(a=5,b=10+a++,a+b)的值是(D)。 A.5 B.6 C.20 D.2166.若有定义:int*p[3];,则以下叙述中正确的是(B)A.定义了一个基类型为int的指针变量p,该变量具有三个指针B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素67.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串(42)以下选项中,不能正确赋值的是(A) A.chars1[10];s1="Ctest"; B.chars2[]={'C','t','e','s','t'}; C.chars3[20]="Ctest"; D.char*s4="Ctest\n"68.设intx=1,*p=&x;则下列值不为1的表达式是(D)。 BA.*p B.*xC.*&x D.xD169.下列能将fp声明为文件指针的语句是(D)。 BA.FILEfp B.FILE*fp C.filefp D.file*fp 70.以下选项中不能正确把cl定义成结构体变量的是(B)。A.typedefstruct B.structcolorcl{intred; {intred;intgreen;I intgreen;intblue; intblue;}COLOR; }; COLORcl;C.structcolorD.struct{intred;{intred;intgreen;intgreen;intblue;intblue;}cl;}cl;二、填空题(本题共6小题,每空1.5分,共18分)1、若有定义:inta[3][2]={1,2,3,4,5,6};则a[2][0]的值是___3____;a[0][1]的值是_2____。2、if(a>b)max=a;elsemax=b;等价于if(b>a)max=b;elsemax=a。(用条件运算符表示)3、设有如下数组定义:charstr[8]={"FuJian"};则分配给数组str的存储空间是8个字节。4、inti,*p;p=&i;,则p表示i,*p表示i*。5、结构化程序设计的基本思想认为:任何程序都可以用顺序结构、__选择结构__、循环结构这三种结构来表示。6、C语言中允许的基本数据类型包括:整型、实型、字符型,与它们相应的变量类型说明符分别是:int、float、char。7、一个C语言程序中必须存在的函数是mainvoid(),在一个字符数组中,表示一个字符串结束的转义符为‘\0’。8、C语言中允许的基本数据类型包括:整型、实型、字符型,与它们相应的变量类型说明符分别是:int、float、char。9、循环语句:for(k=1;k<=5;k++)执行结束后,K的值为12345。10、inti,*p;p=&i;,则p表示i,*p表示i*。11、若有定义:inta[3][2]={1,2,3,4,5,6};则a[0][0]的值是_____1__;a[1][1]的值是4_____。12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的值的数据类型为float。13、已有定义:intx=3,y=4,z=5;,则表达式!(x+y)&&y+z/2的值是7&&4.5。14.C语言的预处理语句以___#include“stdio.h”_____开头。 15.表达式7+8>2&&25%5的结果是_0__. 16.C语言中putchar(c)函数的功能是向标准输入输出设备输出一个字符,输出设备是屏幕终端_。 17.int*p的含义是_定义指针变量P*__。 18.指针是将其它变量的___任何一种基本数据类型数据的储存单元__作为其值的变量。19.数组int a[3][4];共定义了__7__个数组元素。三、程序填空题(本题共4小题,共20分)1、求1~100以内能被3整除且含数字5的数。(4分)#includemain(){inti,a,b,
f(p,q);
p++;
q--;
for(i=0;i<8;i++)
printf("%d,",a[i]);
程序运行后的输出结果是(D)
A、8,2,3,4,5,6,7,1,B、5,6,7,8,1,2,3,4,
C、1,2,3,4,5,6,7,8,D、8,7,6,5,4,3,2,1,
15、C语言源程序名的后缀是(B)
A、.exeB、.CC、.objD、.cp
16、若有定义:
#definePI3,则表达式PI*2*2的值为(D)。
A、12B、4C、3D、不确定
17、设有以下语句,则(A)是对a数组元素的不正确引用,其中0≤i<10。
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))
18、以下程序段:
stuctstudent
{intage;
intnum;
}std,*p;
p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是(B)
A、std.ageB、p->ageC、*p.ageD、(*p).age
19、有如下定义
structperson{charname[9];intage;};
structpersonclass[10]={“Johu”,17,
“Paul”,19,
“Mary”,18,
“Adam”,16};
根据上述定义,能输出字母M的语句是(D))
A、printf(“%c\n”,class[3].name);
B、printf(“%c\n”,class[3].name[1]);
C、printf(“%c\n”,class[2].name[1]);
D、printf(“%c\n”,class[2].name[0]);
20、设有以下定义语句:
structstudent
{intnum;
charname[10];
floatscore;
}wang,zhang;
则变量wang所占的内存字节数是(B)。
A、14B、16C、18D、20
21、下列属于合法标识符的是(B)
A、2mB、_n25C、n*mD、int
22、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。
A、unsignedshortintB、int
C、shortintD、longint
23、C语言中运算对象必须是整型的运算符是(A)
A、%B、/C、〈=D、=
24、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)
A、1B、2C、2.0D、2.5
25、能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是(D)
A、a>=10ora<=0B、a>=0|a<=10
C、a>=10&&a<=0D、a>=10‖a<=0
26、结束while(表达式)循环的条件是(B)
A、当表达式的值为0时B、当表达式的值不为0时
C、当表达式的值为1时D、当表达式的值为非1时
27、以下数组定义中错误的是(B)
A、intx[][3]={0};
B、intx[2][3]={{l,2},{3,4},{5,6}};
C、intx[][3]={{l,2,3},{4,5,6}};
D、intx[2][3]={l,2,3,4,5,6};
28、若有以下语句,则正确的描述是(C)
charx[]="12345";
chary[]={'1','2','3','4','5'};
A、x数组和y数组的长度相同B、x数组等价于y数组
C、x数组长度小于y数组长度 D、x数组长度大于y数组长度
29、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)
A、3B、4C、5D、有语法错
30、以下叙述中正确的是(C)
31、有如下程序
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
运行该程序的输出结果是(D)
A、34B、42C、43D、33
32、有如下程序
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++
case2:
a++;b++
printf(“a=%d,b=%d\n”,a,b);
该程序的输出结果是(A)
A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2
33、有如下程序
main0
{intn=9;
while(n>6){n--;printf(“%d”,n);}
该程序段的输出结果是(B)
A、987B、876C、8765D、9876
34、若变量均已正确定义并赋值,以下合法的C语言表达式(D)
A、a:
=b+1B、a=a+7=c+bC、int18.5%3D、a=b=c+2
35、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)
A、voidB、intC、floatD、double
36、有如下说明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是(C)
A、*P+9B、*P+=9C、*(P+8)D、P+8
37、有如下程序
#defineN2
#defineMN+1
#defineNUM2*M+1
#main()
{inti;
for(i=1;i<=NUM;i++)printf(“%d\n”,i);
该程序中的for循环执行的次数是(C)
A、5B、6C、7D、8
38、有以下程序(C)
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0;
for(i=0;i<4;i++)s+=aa[i][1];
printf(“%d\n”,s);
程序运行后的输出结果是
A、11B、13C、19D、20
39、有如下定义
根据上述定义,能输出字母M的语句是(D)
40、有如下程序(59713)
{charch[2][5]={“6937”,”8254”},*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+p[i][j];
该程序的输出结果是
A、69825B、63825C、6385D、693825
41、下列属于合法标识符的是(B)
42、定义一个变量使之保存值的范围是0-65535,应该选择( A )类型。
43、C语言中运算对象必须是整型的运算符是(A)
44、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)
45、能正确表示逻辑关系:
46、结束while(表达式)循环的条件是(B)
47、以下数组定义中错误的是(B)
48、若有以下语句,则正确的描述是(C)
49、有函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)
50、以下叙述中正确的是(C)
51、有如下程序
52、有如下程序
53、有如下程序
54、若变量均已正确定义并赋值,以下合法的C语言表达式(D)
55、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(A)
56、有如下说明
57、有如下程序
58、有以下程序(C)
59、有如下定义
60、有如下程序(59713)
61.下述标识符中,(D)是合法的用户标识符。
A.A#C B.getch C.void D.ab*
62.以下叙述中正确的是()
A.C程序中注释部分可以出现在程序中任意合适的地方
B.花括号"{"和"}"只能作为函数体的定界符
C.构成C程序的基本单位是函数,所有函数名都可以由用户命名
D.分号是C语句之间的分隔符,不是语句的一部分
63.为表示关系x≥y≥z,应使用C语言表达式(A)。
A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z)
C.(x>=y>=z) D.(x>=z)&(y>=z)
64.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。
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);
65.表达式(a=5,b=10+a++,a+b)的值是(D)。
A.5 B.6 C.20 D.21
66.若有定义:
int*p[3];,则以下叙述中正确的是(B)
A.定义了一个基类型为int的指针变量p,该变量具有三个指针
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
67.以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串(42)以下选项中,不能正确赋值的是(A)
A.chars1[10];s1="Ctest";
B.chars2[]={'C','t','e','s','t'};
C.chars3[20]="Ctest";
D.char*s4="Ctest\n"
68.设intx=1,*p=&x;则下列值不为1的表达式是(D)。
B
A.*p B.*x
C.*&x D.xD
1
69.下列能将fp声明为文件指针的语句是(D)。
A.FILEfp B.FILE*fp C.filefp D.file*fp
70.以下选项中不能正确把cl定义成结构体变量的是(B)。
A.typedefstruct B.structcolorcl
{intred; {intred;
intgreen;I intgreen;
intblue; intblue;
}COLOR; };
COLORcl;
C.structcolorD.struct
{intred;{intred;
intgreen;intgreen;
intblue;intblue;
}cl;}cl;
二、填空题(本题共6小题,每空1.5分,共18分)
1、若有定义:
inta[3][2]={1,2,3,4,5,6};则a[2][0]的值是___3____;a[0][1]的值是_2____。
2、if(a>b)max=a;elsemax=b;等价于if(b>a)max=b;elsemax=a。
(用条件运算符表示)
3、设有如下数组定义:
charstr[8]={"FuJian"};
则分配给数组str的存储空间是8个字节。
4、inti,*p;p=&i;,则p表示i,*p表示i*。
5、结构化程序设计的基本思想认为:
任何程序都可以用顺序结构、__选择结构__、循环结构这三种结构来表示。
6、C语言中允许的基本数据类型包括:
整型、实型、字符型,与它们相应的变量类型说明符分别是:
int、float、char。
7、一个C语言程序中必须存在的函数是mainvoid(),在一个字符数组中,表示一个字符串结束的转义符为‘\0’。
8、C语言中允许的基本数据类型包括:
9、循环语句:
for(k=1;k<=5;k++)执行结束后,K的值为12345。
10、inti,*p;p=&i;,则p表示i,*p表示i*。
11、若有定义:
inta[3][2]={1,2,3,4,5,6};则a[0][0]的值是_____1__;a[1][1]的值是4_____。
12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的值的数据类型为float。
13、已有定义:
intx=3,y=4,z=5;,则表达式!
(x+y)&&y+z/2的值是7&&4.5。
14.C语言的预处理语句以___#include“stdio.h”_____开头。
15.表达式7+8>2&&25%5的结果是_0__.
16.C语言中putchar(c)函数的功能是向标准输入输出设备输出一个字符,输出设备是屏幕终端_。
17.int*p的含义是_定义指针变量P*__。
18.指针是将其它变量的___任何一种基本数据类型数据的储存单元__作为其值的变量。
19.数组int a[3][4];共定义了__7__个数组元素。
三、程序填空题(本题共4小题,共20分)
1、求1~100以内能被3整除且含数字5的数。
(4分)
{inti,a,b,
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2