1 / 53
文档名称:

大学C语言考试题库(含答案).pdf

格式:pdf   大小:3,623KB   页数:53页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

大学C语言考试题库(含答案).pdf

上传人:青山代下 2024/5/20 文件大小:3.54 MB

下载得到文件列表

大学C语言考试题库(含答案).pdf

文档介绍

文档介绍:该【大学C语言考试题库(含答案) 】是由【青山代下】上传分享,文档一共【53】页,该文档可以免费在线阅读,需要了解更多关于【大学C语言考试题库(含答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..精品文档单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。A、11和10B、11和11C、10和11D、10和10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217inta[10];合法的数组元素的最小下标值为()。A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系≥10或a≤≤的C语言表达式是A、a>=0|a<=10B、a>=10ora<=0C、a>=10&&a<=0.:..精品文档D、a>=10||a<=0答案:D题号:157main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;}该程序的输出结果是()A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A、死循环,不能确定次数B、6.:..精品文档C、4D、1答案:A题号:191若有说明语句则变量c()。A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:1300下列程序运行结果为:#defineP3#defineS(a)P*a*amain(){intar;ar=S(3+5);}A、192B、25C、29D、27答案:C判断==================================================题号:6755若i=3,则输出的值为-4。答案:错误题号:6167表达式(j=3,j++)的值是4..:..精品文档答案:错误题号:1495C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:正确题号:2921参加位运算的数据可以是任何类型的数据。答案:错误题号:2691若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:错误题号:464若a=3,b=2,c=1则关系表达式的值为真真。答案:正确题号:66若有#defineS(a,b)a*b则语句area=S(3,2);area的值为6。答案:正确题号:758若有宏定义:#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。答案:错误题号:2158#define和printf都不是C语句。答案:正确题号:5102关系运算符<=与==的优先级相同。答案:错误填空.:..精品文档==================================================题号:+1/2的计算结果是_____。答案:空1::551请写出以下程序的输出结果_____。main(){inta=100;if(a>100)printf(“%dn”,a>100);elseprintf(“%dn”,a<=100);}答案:空1:1题号:3255表达式(int)((double)(5/2)+):空1:4题号:2472阅读下面程序,程序执行后的输出结果为_____。main(){chara,b;for(a=′0′,b=′9′;a<b;a++,b--)printf(();printf((\\);}答案:空1:0918273645题号:937.:..精品文档以下程序段的输出结果是_____。inti=0,sum=1;do{sum+=i++;}while(i<5);printf(“%d”,sum);答案:空1:11题号:5213以下程序段的输出结果是_____、_____、_____、_____、_____。intx=0177;printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x);答案:空1:x=127空2:x=127空3:x=177空4:x=7f空5:x=127题号:3210以下程序的输出结果是_____。main(){inta=3,b=2,c=1;c-=++b;b*=a+c;{intb=5,c=12;c/=b*2;a-=c;printf(“%d,%d,%d,”,a,b,c);a+=--c;}printf(“%d,%d,%dn”,a,b,c);}.:..精品文档答案:空1:2,5,1,2,3,-2题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。答案:空1:65535空2:-32768空3:11111**********,1000000000000000题号:2791结构化程序由_____、_____、_____三种基本结构组成。答案:空1:顺序空2:条件分支【或】选择空3:循环题号:561阅读下面程序,程序执行后的输出结果是_____。main(){intx,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf(();elseprintf(();printf((\\);}答案:空1:3.:..精品文档程序设计==================================================题号:2660/*------------------------------------------------【程序设计】--------------------------------------------------功能:计算出k以内最大的10个能被13或17整除的自然数之和。(k〈3000)。------------------------------------------------*/#include<>voidbky();intfun(intk){/**********Begin**********//**********End**********/}main(){intm;.:..精品文档bky();}voidbky(){FILE*IN,*OUT;ints;intt;into;if(IN==NULL){}if(OUT==NULL){}for(s=1;s<=5;s++){o=fun(t);}fclose(IN);fclose(OUT);}示例代码:inta=0,b=0;while((k>=2)&&(b<10)){if((k%13==0)||(k%17==0)){a=a+k;b++;}k--;}returna;.:..题号:5854C语言中不可以嵌套的是()。A、选择语句B、循环语句C、函数调用D、函数定义答案:D题号:1957C语言中,逻辑真真等价于A、非零的整数B、大于零的整数C、非零的数D、大于零的数答案:C题号:3786用户定义的函数不可以调用的函数是()。A、本文件外的B、main函数C、本函数下面定义的D、非整型返回值的答案:B题号:1764以下叙述中正确的是()。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号{“和”}”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名答案:A题号:299下面四个选项中,均是不合法的浮点数的选项是()。A、-、、、-.:.:..题号:6131假定所有变量均已正确定义,下列程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1)x--;elseif(k2)x=4;elsex=3;A、15B、14C、3D、4答案:D题号:3208若变量已正确定义,以下程序段的输出结果是x=;n”,(int)(x*1000+)/(float)1000);A、、输出格式说明与输出项不匹配,输出无定值C、、:D题号:5043以下选项中合法的实型常数是()。A、、、E-3D、.2E0答案:D题号:5608有以下程序main(){inti;for(i=0;i<3;i++)switch(i).:..}执行后输出结果是A、011122B、120C、012020D、012答案:A题号:572对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]答案:D判断==================================================题号:1325若有说明intc;则while(c=getchar());是正确的C语句。答案:正确题号:3386若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。答案:错误题号:464若a=3,b=2,c=1则关系表达式的值为真真。答案:正确.:..题号:2316while和do…:错误题号:2989是一个合法的为字符串数组赋值的语句。答案:正确题号:5034语句是一个合法的scanf函数。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};答案:错误题号:5263x*=y+8等价于x=x*(y+8)。答案:正确题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:3558整数-32100可以赋值给int型和longint型变量。答案:正确填空==================================================题号:551请写出以下程序的输出结果_____。.:..main(){inta=100;printf(“%dn”,a>100);elseprintf(“%dn”,a<=100);答案:空1:1题号:1575对以下数学式,写出三个等价的C语言表达式是_____、_____、_____ab答案:空1:a/c/b【或】a/(b*c)【或】a/b/c空2:a/c/b【或】a/b/c【或】a/(b*c)空3:a/b/c【或】a/c/b【或】a/(b*c)题号:+1/2的计算结果是_____。答案:空1::2758若x为double型变量,请写出运算x=,++x后表达式的值_____和变量的值_____。答案:空1:::582以下程序的执行结果是_____。main(){intk=8;switch(k).:..case9:k+=1;case10:k+=1;case11:k+=1;break;default:k+=1;}printf((\\);}答案:空1:9题号:2868若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是_____。请用<CR>代表Enter键。&c,&z,&d);答案:空1:10A20B30C40D<CR>题号:4063以下程序段的输出结果是_____、_____、_____、_____doublea=;printf(“a=%,a=%,a=%,a=%”,a,a,a,a);答案:空1:a=:a=:a=:a=:5076以下程序的输出结果是_____。main(){inta=0;.:..精品文档a+=(a=8);printf((\\);}答案:空1:16题号:5410以下程序的执行结果是_____。main(){inta,b,*p=&a,*q=&b;a=10;b=20;*p=b;*q=a;printf(“a=%d,b=%d”,a,b);}答案:空1:a=20,b=20题号:6975以下程序的输出结果是_____。main(){intx=2;while(x--);printf(“%dn”,x);}答案:空1:-1程序设计==================================================.:..精品文档题号:58/*------------------------------------------------【程序设计】--------------------------------------------------功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。------------------------------------------------*/#include<>voidbky();voidchange(charstr[]){/**********Begin**********//**********End**********/}main(){voidchange();charstr[40];gets(str);change(str);puts(str);bky();}voidbky(){FILE*IN,*OUT;chari[200];.:..精品文档if(IN==NULL){}if(OUT==NULL){}change(i);fclose(IN);fclose(OUT);}示例代码:inti;if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;题号:45能正确表示逻辑关系≥10或a≤≤的C语言表达式是A、a>=0|a<=10B、a>=10ora<=0C、a>=10&&a<=0D、a>=10||a<=0答案:D题号:53若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。A、int*p=&x;B、intp=&x;.:..精品文档C、*p=*x;D、int*p=x;答案:A题号:2244字符串指针变量中存入的是A、第一个字符B、字符串C、字符串的首地址D、字符串变量答案:C题号:3722下列字符数组长度为5的是A、charc[10]={'h','a','b','c','d'};B、、C、chara[]={'h','a','b','c','d'};D、、答案:C题号:2703从键盘上输入某字符串时,不可使用的函数是()。A、getchar()B、scanf()C、fread()D、gets()答案:A题号:3402以下对整型数组a的正确说明是:A、intn=10,a[n];B、C、D、inta(10);答案:.:..精品文档C题号:130若chara[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是()。A、、B、for(i=0;i<10;i++)a[i]=getchar();C、a=getchar();D、gets(a);答案:C题号:191若有说明语句则变量c()。A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:4539以下程序的输出结果是main(){inti=1,j=3;printf(“%d,”,i++);{inti=0;i+=j*2;printf(“%d,%d,”,i,j);}pritnf(“%d,%dn”,i,j);}A、1,6,3,2,3B、2,7,3,2,3C、1,7,3,2,3D、2,6,3,2,3答案:A题号:300以下对一维整型数组a的正确说明是()。A、#defineSIZE10(换行)inta[SIZE];B、inta(10);C、、D、intn=10,a[n];.:..精品文档答案:A判断==================================================题号:2691若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};答案:错误题号:1118函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,:错误题号::错误题号:2158#define和printf都不是C语句。答案:正确题号:6321循环结构中的continue语句是使整个循环终止执行答案:错误题号:2583在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。答案:正确题号:3386.:..精品文档若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。答案:错误题号::错误题号:5034语句是一个合法的scanf函数。答案:错误填空==================================================题号:582以下程序的执行结果是_____。main(){intk=8;switch(k){case9:k+=1;case10:k+=1;case11:k+=1;break;default:k+=1;}printf((\\);}答案:空1:9题号:5171把a1、a2定义成单精度实型变量,并赋初值1的说明语句是_____。.:..精品文档答案:空1:floata1=,a2=;题号:63以下程序的输出结果是_____。#definePR(ar)printf(“ar=%d“,ar)main(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--)switch(j){case1:case2:PR(*p++);break;case3:PR(*(--p));}}答案:空1:ar=9ar=9ar=11题号:3255表达式(int)((double)(5/2)+):空1:4题号:+1/2的计算结果是_____。答案:空1::6547当a=1、b=2、c=3时,以下if语句执行后,a、b、c中的值分别为:_____、_____、_____if(a>c)b=a;a=c;c=b;答案:空1:3.:..精品文档空2:2空3:2题号:3925阅读下面程序,则执行后程序的结果为_____。main(){inta=0,b=0;while(a<15)a++;while(b++<15);printf((\\);}答案:空1:15,16题号:4473有以下程序段:s=;for(k=1;k<=n;k++)s=s+/(k*(k+1));printf(“%fn”,s);请填空,使下面的程序段的功能完全与之等同。s=;_____;k=0;do{s+=d;_____;d=/(k*(k+1));}while(_____);printf(“%fn”,s);答案:空1:d=:k++.:..精品文档空3:k<=n题号:6975以下程序的输出结果是_____。main(){intx=2;while(x--);printf(“%dn”,x);}答案:空1:-1题号:4423下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,。main(){inti,x,y=1;scanf(();for(i=2;i<=_____;i++)if_____{y=0;break;}printf((\\);}答案:空1:x/2空2:!(x%i)【或】x%i==0程序设计==================================================题号:788/*-------------------------------------------------------.:..【程序设计】---------------------------------------------------------题目:用while语句求1~100的累计和。-------------------------------------------------------*/void();intfun(intn){/**********Begin**********//**********End**********/}voidmain(){intsum=0;sum=fun(100);bky();}voidbky(){FILE*IN,*OUT;inti;intiIN,iOUT;if(IN==NULL){}.:..{}for(i=0;i<5;i++){iOUT=fun(iIN);}fclose(IN);fclose(OUT);}示例代码:inti=1,sum=0;while(i<=n){sum=sum+i;i++;}returnsum;题号:4662变量p为指针变量,若p=&a,下列说法不正确的是()。A、*(p++)==a++B、&*p==&aC、(*p)++==a++D、*&a==a答案:A题号:6651C语言允许函数类型缺省定义,此时函数值隐含的类型是()。A、longB、float.:..、intD、double答案:C题号:6993若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。A、1B、、、2答案:B题号:6988以下程序的输出结果是main(){inta=2,b=5;n”,a,b);}A、a=%2,b=%5B、a=%%d,b=%%dC、a=%d,b=%dD、a=2,b=5答案:C题号:5659若有定义inta[10],*p=a;,则p+5表示A、元素a[5]的地址B、元素a[6]的地址C、元素a[6]的值D、元素a[5]的值答案:A题号:6490若有说明:int*p,m=5,n;以下正确的程序段是()。A、、B、p=&n;*p=m;C、、D、、答案:B题号:6073.:..下列程序的输出结果为()。main(){intm=7,n=4;floata=,b=,x;x=m/2+n*a/b+1/2;}A、、、、:D题号:401以下所列的C语言常量中,错误的是()。A、、B、0xFFC、2LD、:D题号:1684inta=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为()。A、3B、2C、不一定D、1答案:B题号:961C语言中while和do-while循环的主要区别是()。A、while的循环控制条件比do-while的循环控制条件更严格B、do-while的循环体至少无条件执行一次C、do-while的循环体不能是复合语句D、do-while允许从外部转到循环体内答案:B.:..判断==================================================题号:3927两个字符串中的字符个数相同时才能进行字符串大小的比较答案:错误题号:51247&3+12的值是15。答案:错误题号:。答案:错误题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:6755若i=3,则输出的值为-4。答案:错误题号:4579通过return语句,函数可以带回一个或一个以上的返回值。答案:错误题号:2440inti,*p=&i;是正确的C说明。答案:正确题号:4678a=(b=4)+(c=6)是一个合法的赋值表达式。答案:正确题号::正确.:..题号:若a=3,b=2,c=1则关系表达式的值为真真。答案:正确填空==================================================题号:2713以下程序段的输出结果是_____。n”,strlen(“s0end”));答案:空1:3题号:2758若x为double型变量,请写出运算x=,++x后表达式的值_____和变量的值_____。答案:空1:::3121若有定义:inta=8,b=5,c执行语句c=a/b+,c的值为_____答案:空1:1题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。答案:空1:65535空2:-32768.:..精品文档空3:11111**********,1000000000000000题号:4683若从键盘输入58,则以下程序输出的结果是_____。main(){inta;);if(a>50)printf(();if(a>40)printf(();if(a>30)printf(();}答案:空1:585858题号:1262请写出与以下表达式等价的表达式是A)_____B)_____。A)!(x>0)B)!0答案:空1:x<=0空2:1题号:5076以下程序的输出结果是_____。main(){inta=0;a+=(a=8);printf((\\);}答案:空1:16题号:5410以下程序的执行结果是_____。main().:..精品文档{inta,b,*p=&a,*q=&b;a=10;b=20;*p=b;*q=a;printf(“a=%d,b=%d”,a,b);}答案:空1:a=20,b=20题号:5299运用位运算,能将八进