首页 C语言期末考试试题及详细答案修订稿

C语言期末考试试题及详细答案修订稿

举报
开通vip

C语言期末考试试题及详细答案修订稿内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)C语言期末考试试题及详细答案选择练习题1、C语言中最简单的数据类型包括(B)。A、整型,实型,逻辑型B、整型,实型,字符型C、整型,字符型,逻辑型D、整型,实型,逻辑型,字符型2、C语言中,运算对象必须是整型数的运算符是(A)。A、%B、/C、%和/D、*3、为表示关系x<y<z,应使用C语言表达式(A)。A、(x<y)&&(y<z)B、(x<y)AND(y<z)C、(x<y<z)D、(x<y)&(y<z)4、C语言程序的基本单位...

C语言期末考试试题及详细答案修订稿
内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)C语言期末考试 试题 中考模拟试题doc幼小衔接 数学试题 下载云南高中历年会考数学试题下载N4真题下载党史题库下载 及详细 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 选择练习题1、C语言中最简单的数据类型包括(B)。A、整型,实型,逻辑型B、整型,实型,字符型C、整型,字符型,逻辑型D、整型,实型,逻辑型,字符型2、C语言中,运算对象必须是整型数的运算符是(A)。A、%B、/C、%和/D、*3、为 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示关系x<y<z,应使用C语言表达式(A)。A、(x<y)&&(y<z)B、(x<y)AND(y<z)C、(x<y<z)D、(x<y)&(y<z)4、C语言程序的基本单位是(C)。A、程序行B、语句C、函数D、字符5、C语言的程序一行写不下时,可以(D)。A、用逗号换行B、用分号换行C、用回车符换行D、在任意一空格处换行标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线6、下述标识符中,(C)是合法的用户标识符。A、A&BB、voidC、_studentD、ab*7、在C语言中,字符型数据在内存中以(B)形式存放。A、补码B、ASCII码C、反码D、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为(B)。auto自动变量register寄存器变量extern外部变量static静态变量A、autoB、externC、staticD、Register9、以下关于switch语句和break语句的描述中,只有(B)是正确的。A、在switch语句中必须使用break语句B、在switch语句中,可以根据需要使用或不使用break语句C、break语句只能用于switch语句中D、break语句是switch语句的一部分10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B)。A、地址传递B、值传递C、由实参传给形参,并由形参传回给实参D、由用户指定传递方式11、下述C语言转义符中(D)是非法的。A、'\b'B、'\037'C、'\0xf'D、'\''12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是(D)。A、intsB、unsignedsC、shortsD、longs13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是(A)。A、ch>='A'&&ch<='z'B、A<=ch<=ZC、'A'<=ch<='z'D、ch>=A&&ch<=z14、在C语言中,能表示无符号长整型常数的是(D)。A、OLB、4962710UC、912374uD、2UL15、能正确表示C语言的字符常量的是(C)。A、'\0x41'B、''A''C、'\0'D、''\0''16、C语言中逻辑表达式的值为(A)。A、0或1B、非零值或零值C、true或falseD、'true'或'false'17、C语言提供的基本数据类型关键字是(C)。A、integerB、FLOATC、unsignedD、Double18、若定义语句:intb[]={1,2,3,4,5},*P=b;则表达式*p++的值是(A)。A、1B、2C、b[0]的地址D、b[1]的地址19、在下列选项中,不正确的表达式是(C)。A、a>bB、c--,++b,a+=1C、a=c+b>n-m=kD、p++20、若有以下定义:inta[]={1,2,3,4,5,6,7};charcl='b',c2='2';则数值不为2的表达式是(D)。A、a[1]B、'd'-clC、a['3'-c2]D、c2-025、下述对C语言字符数组的描述中错误的是(C)。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进行比较27、以下程序的输出结果是(A)。main(){inti=010,j=10,k=ox10;printf(''%d,%d,%d\n'',i,j,k);}A、8,10,16B、8,10,10C、10,10,10D、10,10,1628、以下程序的输出结果是(B)。#include<>main(){printf(''%d\n'',NULL);}A、不确定的值(因变量无定义)B、0C、-1D、129、以下程序的输出结果是(B)。main(){charc1='6',c2='0';printf(''%d,%d,%d\n'',c1,c2,c1-c2);}A、因输出格式不合法,输出出错信息B、54,48,6C、,7D、6,0,632、下述对C语言字符数组的描述中错误的是(C)。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符''=''对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进行比较33、TurboC中,对于以下程序(A)。main(){intx,y;y=creat(&x);printf(''%d\n'',y);}creat(inta){returna++;}A、编译时会给出错信息B、顺利进行编译、连接、执行;不报任何错误C、顺利通过编译、连接、但不能执行D、顺利通过编译,但连接出错34、设有如下定义:intx=10,y=4,z;则语句:printf(''%d\n'',z=(x%y,x/y));的输出结果是(C)。A、1B、0C、2D、335、下述程序段的输出结果是(D)。main(){intx=10,y=10;printf(''%d,%d\n'',x++,++y);}A、10,10B、11,11C、11,10D、10,1136、定义如下变量和数组:intj;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是(C)。for(i=0;i<3;i++﹚printf(''%d'',x[i][2-i]);A、159B、147C、357D、36937、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为(C)。A、a<>0B、!aC、a=0D、a38、若m,y,z均为int型变量,则执行下面语句后m值是(A)。m=1;x=2;y=3;z=4;m=(m<x)m:x;m=(m<y)m:y;m=(m<z)m:z;A、1B、2C、3D、439、若有定义:inta=7;floatx=,y=,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。A、B、C、D、40、如下说法不正确的是(C)。A、c>a+b等效于c>(a+b)B、若a,b均为真,则a||b为真C、表达式'c'&&'d'的值为0D、逻辑运算符!比逻辑运算符||的优先级高41、putchar()函数可以向终端输出一个(B)。A、整型变量表达式值B、字符C、字符串D、实型变量值42、表达式18/4*sqrt()/8值的数据类型为(C)。A、intB、floatC、doubleD、不确定43、若已定义a为整型变量:a=-2L;printf(''%d\n'',a);则以上语句(B)。A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为245、若int类型数据占两个字节,则以下语句的输出为(D)。intk=-1;printf(''%d,%u\n'',k,k);A、-1,-1B、-1,32767C、-1,32768D、-1,6553546、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为(C)。yhgchara='a';a--;printf(''%d,%c\n'',a+'2'-'0',a+'3'-'0');A、b,cB、a—运算不合法,故有语法错C、98,cD、格式描述和输出项不匹配,输出无定值47、下面语句中(B)是C语言的正确赋值语句。A、a=1,b=2B、I++;C、a=b=5D、y=int(x);A中声明变量并初始化时:inta=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D中x没有定义,如果是intx=3;inty;y=int(x);这样是对的48、设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是(C)。A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名49、能正确表示:当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是(C)。A、(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)B、(x>=1)||(x<=10)||(x>=100)||(x<=110)C、(x>=1)&&(x<=10)||(x>=100)&&(x<=110)D、(x>=1)||(x<=10)&&(x>=100)&&(x<=110)50、设n为整型变量,则循环语句for(n=10;n>0;n--)的循环次数为(A)。A、10B、9C、11D、1251、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是(D)。A、fopen()B、fseek()C、fclose()D、rewind()52、下列哪个数组定义是正确的(D)。A、inta[];B、INTa[10];C、inta[n];D、inta[3+2];53、一个变量的指针就是(A)。A、变量的地址B、变量的值C、变量的名称D、变量的类型55、下列正确的说法是(C)。A、宏替换是在程序运行时进行的B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D、函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式/2a,下面正确的C语言表达式是(D)。A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a57、若int类型数据占2字节,则以下语句的输出为(D)。intk=32768;printf(''%d,%u\n'',k,k);A、-1,65535B、-1,32767C、-1,-1,D、-32768,3276859、下面程序中(B)有错误。1)#include<>2)main()3){4)inta[3]={0,0,0};5)inti;6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]);7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i];8)printf(''%d\n'',a[0];}A、第4行B、第6行C、第7行D、第8行60、下面程序的运行结果(C)。main(){unsigneda=3,b=10;5printf(''%d\n''a<<2|b>>1=;}A、3B、10C、13D、14%表示最大场宽m,小数位为n位,整数位则为m-n-1位,够m位右对齐。%可以控制输出左对齐61、已定义x为float型变量。x=;Printf(''%\n'',x);则以上程序(A)。A、输出格式描述符的域宽不够,不能输出B、输出为C、输出为D、输出为62、设已定义整型变量K,则下面的程序输出为(D)。k=017;s=111;printf(''%d'',++k);printf(''%x\n'',s++);A、156fB、1670C、1571D、166f63、不能正确表示a*b/c*d的C语言表达式是(C)。A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)64、下列(C)表达式不满足;当x的值为偶数时值为“真”,为奇数时值为“假”。A、x%2==0B、!x%2!=0C、x/2*2-x==0D、!(x%2)65、设已定义k为int型变量,则下面while循环执行(C)次。k=10;while(k=0)k=-1;A、执行10次B、无限循环C、一次也不执行D、执行一次67、用高级语言编写的程序称之为(A)。A、源程序B、目标程序C、汇编程序D、命令程序69、有以下程序的输出结果为(B)。main(){chara=0x95,b,c;b=(a&0xf)<<4;c=(a&0xf0)>>4;a=b|c;printf(''%x\n'',a);}A、24B、59C、34D、5670、下述程序段的输出结果是(A)。inta=3;b=4;intc=a^b>>3;printf(''%d'',c)A、3B、4C、5D、673、设int型变量在内存中占用两个字节存储单元,定义如下结构体:structstudent{charname[10];charsex;intage;struct{intyear;intmonth;intday;}birth;}stul;则表达式sizeof(stul)的值是()。A、5B、8C、2D、2675、下述程序段的运行结果是(B)。#include<>main(){intm=7,n=4;floata=,b=,x;x=m/2+n*a/b+1/2;printf(''%f\n'',x);}A、22B、C、27D、2676、下面程序的运行结果是(C)。main(){intcl=2,c2=0;while(!c2--)printf(''%d%d'',cl--,c2);}A、陷入死循环B、不输出任何内容C、输出2-1D、输出2077、下面程序的运行结果是(B)。intm=4,n=6;max(intx,inty){intmax;max=x>y?x:y;return(max);}main(){intm=10;printf(''%d\n'',max(m,n));}A、4B、10C、6D、578、下面程序的运行结果是(B)。fun(intp){intk=1;statict=2;k=k+1;t=t+1;return(p*k*t);}main(){intx=4;fun(x);printf(''%d\n'',fun(x));}A、4B、32C、30D、1679、阅读下面的程序:main(){charch;scanf(''%c'',&ch);if(ch>='a'&&ch<='z')ch=ch-32;printf(''%c'',ch);}若输入字符为:e,则程序运行结果为(A)。A、EB、AC、eD、z80、下面程序的运行结果是(B)。main(){staticinta[3][3]={{3,2,1},(4,5,6),{-2,9,1}};inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(i==j)sum=sum+a[iJ[j]];}printf(''sum=%d'',sum);}A、sum=10B、sum=9C、9D、1084、下述程序的运行结果是(A)。#include<>voidfun(intx){putchar('0'+(x%10));fun(x/10);}main(){printf(''\n'');fun(1234);}A、4321B、321C、21D、186、设已定义i和k为int类型变量,则以下for循环语句(B)。for(i=0,k=-1;;i++,k++)printf(''****\n'');A、判断循环结束的条件不合法B、是无限循环C、循环一次也不执行D、循环只执行一次87、下列程序段选择项中,使i的运行结果为4的程序段是(D)。A、inti=0,j=0;B、inti=1,j=70;(i=3,(j++)+i);j=i=((i=3)*2);C、inti=0,j=1;D、inti=1,j=1;(j==1)(i=1):(i=3);i+=j+=2;89、阅读以下程序(最左边是附加的行号)。1)#include<>2)main()3){floats[5];4)inti,k=0;5)for(i=0;i<5;i++)6)scanf(''%d'',s+i);7)for(i=0;i<5;i++)8)k=s[i];9)printf(''\n%f'',(float)k);10)}此段程序(A)。A、没有错误B、第4行错误C、第6行错误D、第9行错误90、下列程序中有三个是完全相同的功能,只有(B)所完成的功能与其他程序不同。A、s=0;B、s=0;i=0;i=1;while(i<=100)while(i++<100)s+=i++;s+=i;C、s=0;D、s=0;i=0;i=0;while(i<=100)while(++i<=100)s+=++i;s+=i;92、执行下面的程序后,a的值为(D)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1)b+3;continue;}b-=5;}A、7B、8C、D、1093、下面的程序中(C)有错误。1)#include<>2)main()3){4)floata[3]={};5)inti;6)for(i=0;i<3;i++)7)scanf(''%D'',&a[i]);8)for(i=1;i<3;i++)a[0]=a[0]+a[i];9)printf(''%f\n'',a[0]);}A、第4行B、第6行C、第7行D、第8行94、以下程序的输出结果是(C)。#include<>main(){inti;for(i=1;i<5;i++){if(i%2)printf(''+'')elsecontinue;printf(''-'')}printf(''$\n'');}A、+-+-+-$B、-+-+-+$C、+-+-$D、-+-+$95、下述程序段的输出结果是(C)。intx=3;do{printf(''%d'',x-=2);}while(!(--x));A、1B、30C、1-2D、死循环96、定义如下变量:intn=10;则下列循环的输出结果是(A)。while(n>7){n--;printf(''%d'',n);}A、1098B、987C、10987D、9876100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是(A)。main(){intx;scanf(''%d'',&x);int(x++>5)printf(''%d\n'',x--);}A、7和5B、6和3C、7和4D、6和4101、运行下段程序的结果是(D)。#include<>main(){intx;for(x=1;x<=100;x++)if(++x%==0)if(++x%3==0)if(++x%5==0)printf(''%d'',x);}A、31,61,91B、30,60,90C、不输出任何内容D、29,59,89102、运行下述程序段后,i值为4的是(B)。A、inti=1,j=0;B、inti=1,j=1;i=j=((i=3)++);i+=i+=2;C、inti==0,j=0;D、inti=0,j=1;(i=2,i+(j=2));(j==1)i+=3:i=2;104、以下程序的输出结果是(D)。main(){inta=-1,b=4,k;k=(++a,0)&&!(b--<=0);printf(''%d,%d,%d\n'',k,a,b);}A、1,0,4B、1,0,3C、0,0,3D、0,0,4105、以下程序的输出结果是(A)。main(){intx=3,y=0,z=0;if(x=y+z)printf(''****'');elseprintf(''####'');}A、####B、****C、1D、4106、以下程序的输出结果是(A)。intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf(''%d\n'',fun2(a,b)/m);}A、2B、3C、7D、5112、阅读程序:#include<>main(){intm,n,w;scanf(''%d,%d'',&m,&n);while(n){w=m%n;m=n;n=w;}printf(''%d'',m);}如果输入10,6,则输出结果是(D)。A、60B、120C、2D、10113、下列程序执行后输出的结果是(A)。#include<>f(inta){intb=0;staticc=2;a=c++,b++;return(a+b);}main(){inta=2,i,k;for(i=0;i<2;i++);k=f(a++);printf(''%d\n'',k);}A、3B、0C、4D、5115、下列程序的运行结果是(B)。main(){staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(j>i)sum+=a[i][j];printf(''sum=%d\n'',sum);}A、40B、36C、24D、30120、阅读下列程序:main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;i,则x的值为123,y的值为这个与12345后有没有空格有关,到时候看着办吧(有空格就是)。2、有定义语句:intx,y,z;,执行x=(y=4,z=8,z=16)后,x的值为16。3、计算表达式b=25/3%3后,b的值为2。4、设有定义语句intx=1,y=0;,则表达式x-->(y+x)10:12>y++'A':'Z'的值是:65。5、请写出以下语句的输出结果9。printf("%d",strlen("\t\"065\xffab\n"));7、C语言规定:标识符只能由字母、数字、下划线三种字符组成。8、有定义语句:intx=5,y=1;表达式x&y==yx|y:x^y的值为5。9、下述程序段的循环次数是0次,输出结果是y=1,x=0。intx=0,y=0;do{y++;x*=x;}while(x>0&&y>5)printf("y=%d,x=%d",y,x);10、若m,y,z,均为int型变量,则执行下面语句后m值是1。m=1;x=2;y=3;z=4;m=(m,则输出结果为:。48、阅读程序,请写出结果:main(){intm,i,k;scanf("%d",&m);for(i=2;i=m)printf("%d\n",m);}若输入数据为:19,则输出结果为:19。49、下述程序的运行结果是4321。#include<>voidfun(intx){putchar('0'+(x%10));fun(x/10);}voidmain(){printf("\n");fun(1234);}53、求20以内3的倍数和sum1及其余数的和sum2。main(){intsum=0,sum2=0,i;for(i=1;i<=20;i++)if(i%3=0)sum1+=i;elsesum2+=i;printf("%d,%d\n",sum1,sum2);}55、下面函数把两字符串s1和s2连接起来。Con(chars1[],chars2[]){inti=0,j=0;while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';}57、统计文件中的字符个数。#include<>main(){FILE*fp;longnum=0;if((fp=fopen("","r")==NULL){printf("Can’tOpenFile\n");exit(0);}whilefgetc(fp)!=EOF)num++;printf("%ld\n",num);fclose(fp);}58、下面函数从字符数组s[]中删除字符c。voiddel(chars[],charc){inti,j;for(i=j=0;s[i]!+'\0';i++)if(s[i]!=c)s[j++]=s[i];s[i]='\0';}59、下面程序用于统计一行字符串中单词的个数,单词之间用空格分隔。Main(){inti,num=0,word=0;charstr[80];scanf("%s",str);for(i=0;i<80;i++)if(sir[i]==")word=0elseif(word==0){word=1;num++;}printf("%d\n",num);}64、下面程序用指针p输出p所指向的数组元素的其后所有元素。main(){inta[10]={6,-1,3,2,5,7,6,12,-1,-3};inti,j,*p;p=a+4;for(i=0;j<=5;i++)printf("%d",*p++);}65、以下程序把一个名为的文件拷贝到一个名为的文件中。#include<>main(){charc;FILE*fp1,*fp2Fp1=fopen("","r");Fp2=fopen("","w");c=fgetc(fp1);while(c!=EOF){fputc(c,fp2);c=fgetc(fp1);}fclose(fp1);fclose(fp2);}67、判断某年year是否是闰年,若year能被4整除100整除或能被400整除,则是闰年,否则不是闰年。main(){intyear;scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0)printf("%disaleapyear\n",year);elseprintf("%disn’taleapyear\n",year);}68、把键盘输入的一行字符串的小写字母转换成大写字母,其余字符不变,进行输出,直到遇到回车为止。#include<>main(){if(c>='a'&&c<='z')c=c-32;putchar(c);}putchar('\n');}69、以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入。请填空。main(){floatx,amax,amin;scanf("%f",&x);amax=x;amin=x;while(x>0){if(x>amax)amax==x;ifx=20)break;if(b%3==1){b+=3;continue;}b-=5;}}74、以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志,请填空。#include<>main(){FILE*fp;charch,fname[10];printf("Inputthenameoffile\n");gets(fname);if((fp=fopen(fname,"w")==NULL){printf("Cannotopen\n");exit(0);}printf("Enterdate\n");while((ch=getchar())!='#')fputc(ch,fp);fclose(fp);}
本文档为【C语言期末考试试题及详细答案修订稿】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
金喜
小学老师
格式:doc
大小:63KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-09-23
浏览量:0