版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言试卷及答案]一、选择题。(每空2分,共计40分)本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分).一个C语言程序是由(C)组成的。A.主程序B.子程序C.函数D.过程.转换说明符%x的输出形式是(C)。A.十进制B.八进制C.十六进制D.二进制.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf("”);的正确说法是(C)oA.循环体只执行一次B.死循环C.循环体一次也不执行D.输出.若x、y、z均为int型变量,则执行下列语句后的z值为(Ax=l;y=2;z=3;z=(x>y)?z:y;z=(z<y)?z:x;A.1 B.4C.2A.1 B.4C.2D.3.下面标识符中,合法的用户标识符为(D)oA.P#AdB.12aC.charD>_int.+3的结果是(B)oAJA'B.'D'的ASCII码C.65D.3.语句charstr[20];说明str是一个字符串,最多能表示(B)。A.20个字符B,19个字符C.18个字符D.21个字符.将int型变量n转换成float型变量的方法是(B)。floatnB.(float)nC.float(n)D.21个字符9.以下不正确的描述是(C)oA.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成while循环是先判断表达式后执行循环体语句do-while和for循环均是先执行循环体语句,后判断表达式D>for、while,do-while循环中的循环体均可以由空语句构成10.在循环中使用break语句的功能是(A)<>A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环.下面是一个初始化指针的语句:int*px=&a;其中指针变量的名字应该是(C)oA.*pzB.aC.pxD.&a.若指针px为空指针,则(B)。A.px指向不定B.px的值为零C.px的目标为零D.px的地址为零.对于语句int*px[10],以下说法正确的是(B)。px是一个指针,指向一个数组,数组的元素是整数型。px是一个数组,其数组的每一个元素是指向整数的指针。A和B均错,但它是C语言的正确语句。C语言不允许这样的语句。.具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是(D)。A.P=YB.*P=Y[i]C.P+&Y[i]D.P=&Y.已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式*(p[0]+l)+**(q+2)的值是(A)eA.5B.4C.6D.7.巳知for(;n>=l;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是(D)oA.*S1++=*S2++B.Sl[n-l]=S2[n-l]C.*(Sl+n-1)=*(S2+n-l)D.*(-H-S1)=*(++S2).调用函数的实参与被调用函数的形参应该有如下关系(D)oA.只要求实参和形参个数相等B.只要求形参和实参顺序相同C.只要求实参和形参数据类型相同D.上述三点均需具备.联合体成员的数据类型(B)。A.相同B.可以不同也可以相同C.长度一样D.是结构体变量.由系统分配和控制的标准输出文件为(D)。A.键盘B.磁盘C.打印机D.显示器.C语言标准库函数fread(fd,buffer,n)的功能是(A)。A.从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域B.从文件fd中读取长度不超过n-1个字节的数据送入buffer指向的内存区域C.从文件fd中读取长度不超过n个字符送入buffer指向的内
存区域D.从文件fd中读取长度不超过n-1个字符送入buffer指向的内存区域得分阅卷人二、简单程序(10项,共40分).下列程序main(){intx,y,z;x=y=2;z=3;y=z++-l;printf("%d\t%d\t”,x,y);y=++xT;printf(<(%d\t%d\n”,x,y);y=z-1;printf(rt%d\t%d\tw»z,y);y=zT;printf("%d\t%d\n”,z,y);}运行后输出的数据为「FCOC.22323321D.21321312A.3142B.3C.22323321D.2132131224132422.下列程序main(){inti,j;char*a,c;a="computer”;printf("%s",a);for(i=0,j=7;i<j;i++,j—){c=a[i];♦(a+i)=*(a+j);a[j]=c;)printf(a->%s\n^,a);c=a[j-l,i=2+j];printf(“a[%d]=%c\n”,i,c);)运行后输出的数据为_B_A.computer->computera[3]=uB.computer->retupmoca[5]=mC.computer->retupmoca[4]=p23A.computer->computera[3]=uB.computer->retupmoca[5]=mC.computer->retupmoca[4]=p23.下列程序intsum(intn){intp=l,s=0,i;D.computer->retupmoca[2]=tfor(i=l;i<=n;i++)s+=(p*=i);returns;}mainO{printf("sun^5)=%d\n",sum(5));)运行后输出的数据为__c_Dsum(5)=155A.sum(5)=151B.sum(5)=152C.sum(5)=153Dsum(5)=155.下列程序main(){staticinta[]={5t6,7,3,2,9};intsl,s2,i,*ptr;sl=s2=0;ptr=&a[0];for(i=0;i<5;i+2=2){sl+=*(ptr+i);s2+=*(ptr+i+l);)printf("sl=%d,s2=%d\n"fsi,s2);}运行后输出的数据为_cC.sl=14,s2=18A.sl=18,s2=14B.sl=14,s2=32C.sl=14,s2=18D.sl=15,s2=19.下列程序intc=l;mainO{staticinta=5;intb=6;printf(aa=%db=%dc=%d\nw,a,b,c);func();
printf("a=%d,b=%d,c=%d\n”,a,b,c);func();}func(){staticinta=4;intb=10;a+=2;c+=10;b+=c;printf((“a=%d,b=%d,c=%d\n”,a,b,c);)运行后输出的数据为_AA.a=5b=6c=la=6b=21c=lla=5b=6c=lla=8b=31c=21C.a=5b=6c=lB.
a=7
a=5
a=9a=5b=6c=lb=17c=Ub=6c=llb=17c=21D.a=5b=6c=la=6a=6a=826.b=21c=llb=21c=llb=31c=21已知a=7a=7a=9b=17b=17b=38c=llc=Uc=21structstudent{char♦name;intstudent_n;chargrade;};structstudenttemp,*p=&temp;temp,name="chou";则下面不正确的是B_o值值choupfname(*p)-name+2*pfname+2*(p-name+2).下列程序#defineMAX10mainO{inti,sum,a[]={1,2,3,4,5,6,7,8,9,10};sum=l;for(i=0;i<MAX;i++)sum-=a[i];printf("SUM或d”,sum);}程序运行结果是:BA.SUM=55B.SUM=-54C.SUM=-55D.SUM=54.下列程序Dvoidinv(int*x,intn){int*p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-l;p=x+m;for(;i<p;i++,j—){t=*i;*j=t;)return;)main(){staticinti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)printf(,a[i]);)程序运行结果:A.0,2,3,4,5,6,7,7,9,11B,11,9,7,7,6,5,4,3,2,0C.3,7,9,11,0,6,7,5,4,2D.2,4,5,7,6,0,11,9,7,3.下列程序main(){inta[10],b[10],*pa,*pb,i;pa=a;pb=b;for(i=0;i<3;i++,pa++,pb++){*pa=i;*pb=2*i;printf("%d\t%d\n”,*pa,*pb);)printf("\n");pa=&a[0];pb=&b[O];for(i=0;i<3;i++)
{*pa=*pa+i;*pb=*pb*i;printf(a%d\t%d\nw,*pa++,*pb++);}运行后输出的数据为_A.A.001224B.O012A.001224B.O01224002248 2430.下列程序
copy_string(fromfto)001224001224002224001248{while(*from)*to++=*from++;*to="\0‘;)mainO{staticcharsl[]="c_program.staticchars2[80];copy_string(si,s2);printf("%s\n",s2);copy_string(“123”,s2);printf("%s\n",s2);)运行后输出的数据为(D)。A.c_program123B.123C.c_programl23D.c_program1得分阅卷人得分阅卷人三、编程题题。(20分)(1)巳知三个字符串,分别是"CLanguage"、"FinalExam"和你名字的拼音,请按由大到小的顺序输出。要求将字符串的排序写成函数C卷答案
一.基础知识(20项,共40分).C2.C3.C4.A5.D6.B7.B8.B9.C10.A11.C12.B13.B14.D15.A16.D17.D18.B19.D20.A二.简单程序21.C22.B23.C24.C25.A26.B27.B28.D29.A30.D(1)#include<stdioeh>#include<string.h>voidsort(char*name[],intn);main()char*name[]={^CLanguage","FinalExam","考生姓名"};inti,n=3;sort(name,n);for(i=0;i<3;i++)}printf("%s\n”,name[i]);voidsort(char*name[intn)char*temp;inti,j,k;for(i=0;i<n-l;i++)k=i・,name[j])<0)for(j=i+l;,name[j])<0)if(strcmp(name[kJk=j-if(k!=i)nametemp=name[i]'name[i]=nameLk];name;k]=temp;得分阅卷人一、填空题。(每空得分阅卷人一、填空题。(每空1分,共计30分)1、与十进制数37等值的二进制数为o2、C语言中一共有个关键字和控制语句。3、在C语言中,正确的标识符是由组成的,并且由开头的。4、C语言上机步骤分为;;链接程序和5、要想定义整型变量a,实型变量b,字符型的变量c,应该使用的正确语句为;;o6、C语言中,在给出逻辑运算后果时,以‘代表真,以一代表假。7、一£c语言程序是由构成的,而C语言程序的执行是由构成的。8、定义inti=l;执行语句while(i++<5);后,i的值为。9、定义3行4列的字符型二维数组a的语句是o10、inta[8]={ll,23,45,33,7,0,8,9},则数组的第5个元素表示为,第五个元素的值为O11、若一个函数带回返回值,则该函数要用语句来返回。int*p,a;则语句p=&a;中的运算符&是符号。13、设y是int型变量,请写出判断y为奇数的关系表达式。14、设x=3,那么表达式尸G+x)+(++x)的结果为,表达式执行后,变量x的结果为O15、c语言提供的编译预处理功能主要有、和条件编译。16、c语言指针中把变量的地址称为;把存放变量地址的变量称为17、根据文件的组织形式可把文件分为和o得分阅卷人得分阅卷人二、选择填空。(每小题2分,共计40分)1、设有说明语句:chara=1\72abc1;则变量a()A)包含6个字符B)包含5个字符C)包含4个字符D)说明不合法2、在C语言中,数字029是一个()
A)A)八进制数 B)十六进制数C)十进制数D)非法数3、有如下程序main(){inty=3,x=3,z=l;printf("%d%d\n1(++x,y++),z+2);}运行该程序的输出结果是()A)34B)42043D)334、有如下程序段inta=14tb=15,x;charc=rA1;x=(a&&b)&&(c<tBt);执行该程序段后,X的值为()A)tureB)falseC)0D)15、如下程序main(){intx=l,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;)printf(na=%d,b=%d\nn,a,b);)该程序的输出结果是()A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=26、main(){inti,j;for(i=0,j=l;i<=j+l;i+=2,j—)printf(w%d\n\i);)以上循环体的执行次数是()A)3B)2C)1D)07、设有数组定义:chararray[]="Chinan;则数组array所占的空间为()A)4个字节B)5个字节C)6个字节D)7个字节8、C语言的编译系统对宏命令是()A)在程序运行时进行代换处理的
B)在程序连接时进行代换处理的C)和源程序中其它C语句同时进行编译的D)在对源程序中其它成份正式编译之前进行处理的9、以下说法中正确的是()□A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()中有定义C语言程序的执行既可以采用解释方式,也可以采用编译方式C语言程序中的main()函数可以不放在程序的开始部分10、下面程序的输出是()#defineSUB(X,Y)(X)*Ymain(){inta=3,b=4;printf(w%d\n\SUB(a++,b++));)A)12B)15C)16D)2011、设有如下定义:'char*aa[2]={“abcd”,"ABCD”};则以下说法中正确的是()aa数组元素的值分别是“abed”JABCD”aa是指针变量,它指向含有两个数组元素的字符型一维数组aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址入形式是:( )A)10〈回车)22<回车)33<回车)010.0<回车)22.033.0<回车)aa数组的两个元素中各自存放了字符'a,」*的地址12入形式是:( )A)10〈回车)22<回车)33<回车)010.0<回车)22.033.0<回车)B)10.0,22.0,33.0〈回车>D)1022<回车》33<回车)13、当调用函数时,实参是一个数组名,则向函数传送的是()A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值14、有以下函数char*fun(char*p){returnp;)该函数的返回值是(A)无确切的值B)形参p中存放的地址值B)一个临时存储单元的地址D)形参p自身的地址值15、若有以下的定义:int能正确表示t数组元素地址的表达是(A)&t[3][2]B)t[3][2]C)t[l][O]D)t[2]+l16、以下程序的输出结果是()A)B)m##c)*****D)♦#♦#*main(){inti;for(i=l;i<6;i++){if(i%2){printf("#M);continue;}printf("♦");)printf("\nn);)17、巳知有声明语句charsl[10]=Mabcdew,s3[10];以下语句中能将si中存储的字符串和s2中存储的字符串正确交换的是。s3=sl,sl=s2,s2=s3;s3[0]=sl[0],sl[0]=s2[0],s2[0]=3[0];C)strcpy(s3[0],sl[0]),strcpy(si[0],s2[0]),strcpy(s2[0],s3[0]);D)strcpy(s3,si),strcpy(si,s2),strcpy(s2,s3);18、若有声明语句inta[10],b[3][3];则以下对数组元素赋值的操作中,不会出现越界访问的是OA)a[-l]=lB)a[10]=0C)b[3][0]=0D)[0][0]=019、以下是一个自定义函数的头部,其中正确的是oA)intfun(inta[],b)B)intfun(inta[],intaC)intfun(int*a,intb)D)intfun(chara[][],in20、下列4个函数中,()能实现交换变量值的功能。A)voidfun_a(intx,inty)B)voidfun_b(int*x,int*y){int*p;{int*p;
♦p=x;x=y;y=*p;}C)voidfun_c(int*x,int*y)D)voidfun_d(intx,inty){*x=*x+*y;{intp;♦y=♦x-*y;p=x;x=y;y=p;♦x=♦x-*y;})得分阅卷人得分阅卷人三、程序填空题。(每小题2分,共计20分)1、已知:intx=3;则printf(x%2?n♦*%<1":"##%d\n\x);printfCOOGOOXn,,);输出结果为:2、下列程序的输出结果是#include"stdio.h"main(){chara[ll]="0123456789”,*p;p=&a[4];puts(p);}3、求两数中的较大main(){floata,b,max;scanf(,&a,&b);printf(athemaxis%f\n”,max);}4、下面的程序输出3到1000之间的所有素数,且每5个一行。main(){inti,j,k,c;c=0;for(i=3;i<=1000;i++){k=;for(j=2;j<=k;j++)if()break;if(j>=k+l){printf("%4dw,i);c=c+l;if()printf(ff\n");)})5、下列程序用于将从键盘输入的整数逆序输出main(){intnl,n2;scanf(w%dB,&n2);while(){nl=n2%10;n2=;printfnl);})6、利用插入排序法将十个字符从小到大排序#include<stdio.h>voidinsert(chars[])(intfor(i=l;i<=9;i++){t=s[i];j=i-l;while((j>=0)&&()){s[j+l]=s[j];;)s[j+l]=t;})mainO(chara[ll];inti;for(i=0;i<10;i++)a[i]=getchar();insert(a);puts)a);)得分阅卷人四、程序题。(每小题5分,共计10分)1、阅读下列程序,分析并写出运行结果voidmain(){inti,k,j;for(i=l;i<=9;i++){for(k=l;k<=10-i;k++)printf(RR);for(j=l;j<=2*i-l;j++)
printf("%c”,48+i);printf(w\nR);2、阅读下列程序,分析并写出运行结果^include<stdio.h>main()(inti,j;inta[10][10];printf(n\nw);for(i=0;i<10;i++)(a[i][0]=l;a[i][i]=l;}for(i=2;i<10;i++)for(j=l;j<i;j++)a[i][j]=a[i-l][j-l]+a[i-l][j];for(i=0;i<10;i++)for(j=0;j<=i;j++)printf(55d",a[i][j]);printf(ff\nff);}}答案:一填空:1、100101B;2、32,9种;3、数字,字母和下划线,字母或下划线;4、编辑源程序,编译源程序,链接程序,程序运行;5.hita,floatb,charc;6、“1”,"0";7、函数,主函数;8,1=4;9、chara[3][4];10、a[4],7;return;12、地址运算符13、(y%2)=0;14、10,5;15、宏定义,文件包含,’16、指针,指针变量;17、顺序存取文件,随机存取文件二选择:ID2D3D4D5A6c7C8C9D10A11C12B13D14A15C16A17D18D19C£1、**3000002、4567893、if(a>b)max=a;elsemax=b4、#include<stdlo.h>#include<math.h>main(){hitij,k,c;c=0;for(i=3;i<=1000;i++){k=sqrt(i);for(j=2;j<=kj++)if(i%J==0)break;if(J>=k+l){printf(tl%4d,\i);c=c+l;if(c%5==0)printf(n\iiM);)}}2223333344444445555555556666666666677777777777778888888888888889999999999999999一、填空题。(每空1分,共计25分)1、一般C语言程序是由构成的,而C语言程序的执行是由开始的02、C语言的程序结构分为选择结构字和;C语言的语句的结束符是O3、在C语言中,正确的标识符是由组成的,并且由开头的。4、C语言的构造类型包括;;o5、C语言中,在给出逻辑运算结果时,以代表真,以代表假。6、若floata=5.75;则(int)a=。7、定义inti=l;执行语句while(i++<5);后,i的值为。8、定义3行4列的字符型二维数组a的语句是o9、inta[8]={ll,23,45,33,7,0,8,9},则数组的第5个元素表示为,第五个元素的值为。10、若一个函数带回返回值,则该函数要用语句来返回。11、c语言指针中把变量的地址称为;把存放变量地址的变量称为o12、在C语言中,把一周定义为枚举类型应写为:O13、对磁盘文件的操作应遵循的基本原则为O14、int类型的数据在内存中所占的字节数是;inta=5,b=9;Jl!)c=a&b为。15、定义一个字符型指针变量:o*二、选择填空。(每小题2分,共计20分)阅卷人(1)变量的指针,其含义是指该变量的oA)值B)地址C)名D)一个标志(2)若有说明int(*p)[3];则以下是正确的叙述。p是一个指针数组p是一个指针,它只能指向一个包含3个int类型元素的数组0P是一个指针,它可以指向一个一维数组中的任一元素D)(*p)[3]与*p⑶等价(3)以下是对共用体类型数据的正确描述。一旦定义了一个共用体变量后,即可引用该变量或该变量中的任何成员。一个共用体变量中可以同时存放其所有成员0一个共用体变量中不能同时存放其所有成员D)共用体类型数据可以出现在结构体类型定义中,但结构体类型数据不能出现在共用体类型定义中。
(4)若有语句intarray[3][4];以下对下标为i和j的数组元素的引用不正确的是OA)array[i][j]B)*(*(array+i)+j)*(array[i]+j)D)*(array+iM+j)一般情况下,文件占用存储空间较多。A)二进制文件B)文本文件C)随机文件D)顺序文件(6)以下引用非法的是。structstudent{intnum;intage;}stulr*p;p=&stul;A)stubageB)student,ageC)p->age(*p).age(7)指针变量一定不能进行的运算是oA)+B)-C)=D)/(8)以下关于main。函数的说法,正确的是。A)mainO必须是程序的第一行B)main。可以有参数C)一个程序可以有多个main。D)main。可以被用户自定义的函数调用(9)关于下面的函数,正确的说法是。voidSwap(int*pl,int*p2){int*p;p=*pl;pl=*p2;p2=*p;)A)交换*pl和*p2的值B)正确,但无法改变*pl和*pZ自值0交换*pl和*p2的地址D)编译时可能出现警告错误(10)若对文件的操作未到文件尾时,feof(fp)函数的返回值是OA)EOFB)1C)0D)不定的非零值得分阅卷人三、读程序,写结果。(每小题5分,共15分)(1)输入20和30,写出其输出结果。#include<stdio.h>voidinput(int*p,int*q);voidadd(int*p,int*q);voidprocess(int*p,int*q,void(*fun)(int♦,int*));main(){inta,b;process(&af&b,input);^process(&a,&b,add);voidinput(int*p,int*q){printf(hInput:w);qcanfC*%d%d",p,q);voidadd(int*p,int*q){printf("Output:%d\nr,*p+*q);voidprocess(int*p,int*q,void(*fun)(int♦,int♦)){(*fun)(p,q);结果为:(2)#include<stdio.h>mainO{inta[3][4]={l,3,5,7,9,U,13,15,17,19,21,23};int*p;for(p=a[0];p<a[0]+12;p++){if((p-a[0])%4=0)printfC\n");Rrintf("%4d”,++(*p));.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是。
#include<string.h>C)#include<stdio.h>#include<string.h>C)#include<stdio.h>#include<math.h>D)#include<ctype.h>.以下关于typedef的叙述不正确的是。A)用typedef可以定义各种类型名,但不能用来定义变量B)用typedef可以增加新类型C)用typedef只是将巳存在的类型用一个新的名称来代表D)使用typedef便于程序的通用和移植.以下对二维数组c的声明正确的是oA)intc[3][];B)intc(3,4);C)intc(2)⑵;D)intc[3][2];.定义:float(*pf)();说明了opf是指向一维数组的指针变量pf是指向float型数据的指针变量pf是指向函数的指针,该函数返回一个float型数据pf是一个函数名,该函数的返回值是指向float型数据的指针得分三、程序填空题。(每小题5分,共计20分)1、下列程序用于将从键盘输入的整数逆序输出main(){intnl,n2;scanf(n%drt,&n2);while(){nl=n2%10;n2=;printf(n%d\nl);}2、下面的程序输出3到1000之间的所有素数,且每5个一行。main(){inti,j;ftinclude<stdio.h>voidfind(int*a,intn,int*max,int*min);main()(intmax,min,a□二{8,3,7,1,4,6,9,5};find();printf(wmax=%d,min^dXn11,max,min);)voidfind(int♦a,intn,int*max,int*min)(inti;*max=0;*min=0;for(i=0;i<n;i++)(if(a[i]>a[*max])if(a[i]<a[*min])■>)}(1)下面程序用变量count统计文件中字符的个数。#include<stdio.h>ttinclude<stdlib.h>mainO(FILE*fp;charch;longcount=0;if((fp=fopen(wletter.datn,))==NULL)(printf(wcannotopenthisfile\nn);exit(0);}while(()!=EOF)■printf(wcount=%ld\nw,count);fclose(fp);
得分阅卷人得分阅卷人五、程序题。(每小题11分,共计22分)1、已知三个字符串,分别是“CLanguage"、“FinalExam”和你名字的拼音,请按由大到小的顺序输出。要求将字符串的排序写成函数。(11分)(2)用结构体方法编程实现输入十个学生的姓名、性别、成绩,求平均成绩,把低于平均成绩的男生的姓名与分数输出。(11分)答案二、单选题ABCDBBDBDC三、读程序,写结果„Output:50TOC\o"1-5"\h\z46810121416182022243)10103AnnF2010102JimM1910101MikeM18四、程序填空题(每空3分,共18分)a,8,&max>&min♦max=i*min=ich=fgetc(fp)count++五、编写程序。(1)#include<stdio.h>#include<string.h>voidsort(char*name[],intn);mainOchar*name[]={nCLanguagenFinalExam","考生姓名"};inti,n=3;sort(name,n);for(i=0;i<3;i++)}printf(ff%s\n",name[i]);voidsort(char*name[],intn)for(i=0;i<n-l;i++)char*tempfor(i=0;i<n-l;i++)k=i;name[k],name[j])<0)for(j=i+l;j<n:j++)
name[k],name[j])<0)zK-J;if(k!=i)temp二name[i];name[i]:name[k];nameLkJ=temp;)一(2)#include<stdio.h>#include<string.h>#defineN10structstudentcharname[10];charsex[2];floatscore;);main()structstudents[N];inti;floatsum,ave;for(i=0;1<N;i++)printf("姓名:");gets(s[i].name);printf("性别:");gets(s[i].sex);printf("分数:");scanf(n%fn,&s[i].score);}getchar();sum=0;for(i=0;i<N;i++)sum=sum+s[i].score;ave=sum/N;for(i=0;KN;i++)if((s[i].score<ave)&&(strcmp(s[i].sex,"男")=0))printf(n\n%s:%fw,s[i].name,s[i].score);得分阅卷人得分阅卷人一、填空题。(每空1分,共计25分)1、与二进制数101等值的十进制数为2、结构化程序设计所规定的三种基本控制结构是结构、结构和结构。3、在C语言中,正确的标识符是由组成的,并且由开头的。4、要想定义整型变量a,实型变量b,字符型的变量c,应该使用的正确语句为;;。5、设x为整型变量,值为1,则表达式(x&&l)==(x%2)的值为o6、若已知a=10,b=20,则表达式!a<b的值为。7、一般C语言程序是由构成的,而C语言程序的执行是由构成的。8、定义inti=l;执行语句while(i++<5);后,i的值为。9、定义3行4列的整型二维数组a的语句是a[5]={ll,23,45,33,7},则数组的第3个元素表示为,第三个元素的值为O11、int*p,a;则语句p=&a;中的运算符&是符号。12、设y是int型变量,请写出判断y为奇数的关系表达式。13、设x=3,那么表达式y=(++x)+(++x)的结果为,表达式执行后,变量x的结果为。14、c语言提供的编译预处理功能主要有、和条件编译。15、c语言指针中把变量的地址称为;把存放变量地址的变量称为。16、根据文件的存储形式可把文件分为二进制文件和o得分阅卷人得分阅卷人二、选择填空。(每小题2分,共计60分)1、C语言中最简单的数据类型包括()。A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型2、C语言中,运乍对象必须是整型数的运算符是()oA、%B、、C、%和、D、**3、为表示关系x》y》z,应使用C语言表达式()oA、(x)=y)&&(y)=z)B、(x)=y)AND(y)=z)C、(x)=y)=z)D、(x)=y)&(y)=z)4、下述对C语言字符数组的描术中错误的是()。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符串进行比较5、设有如下定义:intx=10,y=3,z;则语句printf(“%d、n”,z二(x%y,x/y));的输出结果是()。A、1B、0C、4D、36、以下程序的输出结果是()。main(){intx=101y=10;printf("%d%d、n”,x♦y);}A、1010B、99C、910D、1097、以下说法中正确的是()oA、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main。函数中定义C、C语言程序总是从main。函数开始执行D、C语言程序中的main。函数必须放在程序的开始部分8、执行下面的程序后,a的值为(mainO{inta,b;for(a=l,b=l;a<=100;a){if(b)=20}break;if(b%3==l){b=3;continue;}b—=5;})C、9D、10A、C、9D、109、以下程序段的输出结果是()ointx=3;do{printf(“%3d”,x——=2);}while(!(x));
A、1BA、1B、30C、1——2D、死循环10、定义如下变量:intn=10;则下列循环的输出结果是()owhile(n>7)TOC\o"1-5"\h\z{n;printf("%d、n”,n);}A、10B、9C、10D、9989887877611、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(main(){intx;scanf("%d”,&x);if(x>)5}printf("%d",x);elseprintf("%d、n”,x);)A、7和5B、6和3C、7和4D、6和412、执行以下程序后,y的值是()omain(){int*={2,4,6,8,10};inty=l,x,*p;p=&a[l];for(x=0;x<3;x)y=*(p+x);printf("%d\n",y);}C、19AC、19D、2013、下列程序执行后输出的结果是:()ointd=l;fun(intq){intd=5;d=p;printf("%d”,d);main(){inta=3;intd=l;fun(a);d=a;printf(w%d\nf,,d);}A、84B、96C、94D、8314、C语言提供的合法的数据类型关键字是()oA、DoubleB>shortC、integerD、Char15、在C语言中,合法的长整型常数是()oA、0LB、4962710C、0.054838743D、2.1869el016、表达式:10!=9的值是()<)A、trueB、非零值C>0D、117、若有说明和语句:inta;a=5;a-此处表达式a的值是(7B、6C、5D、418、在下列选项中,不正确的赋值语句是(A、t;B、nl=(n2=(n3=0));C、k=i==j;D、a=bc=l;19、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是(A、I=*P;B、*P=*&J;C、i=&j;D、i=**p;20、不能把字符串:Hello!赋给数组b的语句是()oA、charb[10]={,H,,*e','1!,'I1,*0','!');charb[10];b="Hello!”;C^charb[10];strcpy(b,"Hello!");D、charb[10]="Hello!”21、以下程序的输出结果是()oA、6B、6789C、’6'D、789mainO{chara[10]="6789”,*p;p=a;printf("%s\n',p);22、以下程序的输出结果是()omainO{intn=4;while(n>0){n-;printf("%d",n);}}A、20B、31C.3210D.210A>20B.31C.3210D.21023、C语言的编译系统对宏命令是()。A、在程序运行时进行代换处理的B、在程序连接时进行代换处理的C、和源程序中其它C语句同时进行编译的D、在对源程序中其它成份正式编译之前进行处理的24、以下说法中正确的是()0A、C语言程序总是从第一个定义的函数开始执行B、在C语言程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度企业市场营销策划与推广合同3篇
- 2025年度共享健身房租赁与健身器材更新服务合同
- 二零二五年度财产分割离婚合同范本3篇
- 2025年度高端会议室租赁及配套服务合同范本
- 二零二五年度茶园茶叶文化体验区建设合同范本4篇
- 二零二四年度事业单位合同风险防控与业务流程再造协议3篇
- 2025年度回迁安置房购买合同示范文本
- 二零二五年度城市品牌策划与推广合同4篇
- 2025年度时尚美容合作经营店铺协议合同范本
- 2025年度海上风电设备保险合同范本
- 江苏省苏州市2024-2025学年高三上学期1月期末生物试题(有答案)
- 销售与销售目标管理制度
- 2025年第一次工地开工会议主要议程开工大吉模板
- 第16课抗日战争课件-人教版高中历史必修一
- 对口升学语文模拟试卷(9)-江西省(解析版)
- 糖尿病高渗昏迷指南
- 壁垒加筑未来可期:2024年短保面包行业白皮书
- 环保局社会管理创新方案市环保局督察环保工作方案
- 2024至2030年中国水质监测系统行业市场调查分析及产业前景规划报告
- 运动技能学习
- 单侧双通道内镜下腰椎间盘摘除术手术护理配合1
评论
0/150
提交评论