版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
.C語言的主要特點有哪些?(多選)A.簡潔、緊湊,使用方便、靈活,易于學(xué)習(xí)和應(yīng)用。B.C語言是面向結(jié)構(gòu)化程序設(shè)計的語言。C.C語言允許直接對位、字節(jié)和地址進行操作。D,數(shù)據(jù)類型豐富。E.C語言生成的目標(biāo)代碼質(zhì)量高。答案:ABCDE.C語言程序由什么組成?(單選)A.子程序 B.主程序和子程序 C.函數(shù)D.過程答案:C.源程序要正確地運行,必須要有什么函數(shù)?(單選)A.printf函數(shù) B.自定義的函數(shù)C.main函數(shù) D.不需要函數(shù)答案:C.指出下面合法的標(biāo)識符:(多選)3abB.intC.ABCD.a_3sum.aF.#abcG._stu2H.abcf答案:CDG5,指出下面哪些是保留字:(多選)A.char B.abc C.printf D.IntfloatF.defineG.includeH.PI答案:AEFG6.指出下面哪些是合法的用戶定義的標(biāo)識符?(多選)A.P-SB.putcharC.doubleD._908E.*parF.sheep!G.windH.xy答案:BDG.C語言的基本類型哪些:(多選)A.整型B.枚舉型C,數(shù)組型D,指針型E,字符型F.構(gòu)造型G.實形H.空類型答案:ABEG.這段程序中的常量有:(多選)SdefinePI3.14voidmain()(intsum;sum=10+15;printf("sum=%d\n”,sum);printf("resultis25\n");)這段程序中常量有:A.10 B.sum C.15D.25 E.mainF.PI答案:ACFC語言中整形常量按進制劃分,有以下幾種:(多選)A.十六進制常量 B.十進制常量C.ハ進制常量 D.二進制常量答案:ABC75的十六進制寫法為八進制寫法為ー〇0x75的八進制寫法為十進制寫法為ー。075的十進制寫法為ー,十六進制寫法為ー〇答案:0x4b01130165 117610x3d6111.如果要把常量327存入變量a中,a可以定義成哪些類型?(多選)A.int B.char.long D.float答案:ACD.下面哪些寫法是對的,而且是常量?(多選)A. 125 B. -456 C.1.25e20 D. 'AB'E. E6 F. 0238 G.Oxabcdef H. "\n\\\'\123”答案:ABCGH.下面哪個表達式的值為4.(單選)A.11/3 B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)答案:D.已知整型變量a=6,b=7,c=l,則下面表達式的值為多少?a+3 (b-a*3)/5c*(a+b)+b*(c+a)3.2*(a+b+c)答案:9-262815.已知整型變量a=6,字符型變量ch='A',浮點數(shù)變量f=2.1,則下面表達式的值為多少?(提示:’A'的ASCII碼為65)a+4.5ch+a+f(a+30)/5(a+30)/5.0答案:10.573.177.216.指出下面錯誤的表達式:(多選)A.a+b=5 B.56-al1 C.i=i++D.5.6+6.2%3.1E.12 F.a=5,b=6,c=7答案:BD.若變量f已說明為float類型,i為int類型,則下面哪些表達式(或語句)能夠?qū)崿F(xiàn)將f中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入的運算?(多選)A.f=(f*100+0.5)/100.0B.i=f*100+0.5,f=i/100.0:C.f=(int)(f*100+0.5)/100.0;D.f=(f/100+0.5)*100.0;答案:BC.寫出下面這個程序的結(jié)果。voidmain(){intcount,i;intx,y,z;x=y=z=0;scanf("%d”,&count);for(i=0;i<count;i++){x=(x+l)%2;y=(y+l)%3;z=(z+l)%5;}printf(/zx=%d,y-%d,z=%d\n”,x,y,z);)TOC\o"1-5"\h\z如果運行時輸入10,結(jié)果是x= ,y= ,z= 〇如果運行時輸入17,結(jié)果是x= ,y= ,z= 〇答案:0 1 01 2 2.已知a為整型變量,那么與表達式a!=0真假值情況相同的表達式有哪些?(多選)A.a>0||a<0 B.aC.!a==0 D.!a答案:ABC.若要輸出下列各種類型的數(shù)據(jù),應(yīng)使用什么轉(zhuǎn)換說明符。(答題請打上雙引號)字段寬度為4的十進制數(shù)應(yīng)使用“%4d”,字段寬度為6的十六進制數(shù)應(yīng)使用_,ハ進制整數(shù)應(yīng)使用ー,字段寬度為3的字符應(yīng)使用ー,字段寬度為10,保留3位小數(shù)的實數(shù)應(yīng)使用ー,字段寬度為8的字符串應(yīng)使用ー〇答案:"%6x" "%〇” "%3c" "%10.3f" "%8s".該源程序執(zhí)行后,屏幕上顯示什么?(單選)voidmain()(inta;floatb;a-4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);)A.a=%d,b或f\n B.a=%d,b=%fC.a=4,b=9.50 D.a=4,b=9.5答案:C.下面哪些是非法的C語言轉(zhuǎn)義字符?(多選)A.'\t'B.''08'C.''0xaf'D.'\\'答案:BC.以下程序輸入三個整數(shù)值給a,b,c,程序把b中的值給a,把c中的值給b,把a中的值給c.然后輸出a,b,c的值。請?zhí)羁铡?include<stdio.h>main()(inttemp;printf(z,Entera,b,c:zz);scanf(zz%d%d%dz,, );a二b;b二c;printf(z,a=%db=%dc=%d\n,z,a,b,c);)答案:inta,b,c;&a,&b,&ctemp二a;c=temp;.若a為整型變量,且有以下語句ー〇(單選)a=-017L;printf(“刎、n”,a);則下面哪個說法是正確的?A.賦值不合法 B.輸出值為T7C.輸出為不確定值D,輸出值為ー15答案:B.若ch為char型變量,a為int型變量,(已知字符a的ASCII十進制代碼為97)則執(zhí)行以下語句后的輸出為哪ー個?(單選)charch;inta;ch='a;a=12;printf(/z%x,%o,",ch,ch,a);printf("k=%%d\n",k);A.61,141,12,k=%dB.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值61,141,k=%d61,14l,k=%12答案:C.若有以下說明語句:(單選)chars='\\\092';則下面哪ー項是正確的.A.使s的值包含2個字符 B.說明語句不合法C.使s的值包含6個字符 D.使s的值包含4個字符答案:B.若k,g均為int型變量,則以下語句的輸出為哪ー項?(單選)intk,g;k=017;g=lll;printf("%d,”,k);printf("%x\n",g);A.15,6fB.f,6fC.f,111D.15,111答案:A.請從下面的選項中選出正確的C語言的轉(zhuǎn)義字符。(多選)A.'//' B. C.'\t' D.'\n'E.'\10ir F.'/018'G.'/123'H.'\xaa'答案:BCDH.如這程序所示,如果運行時,輸入18,18,那么b的值為多少?(單選)voidmain()inta,b;scanf(〃%d,%〇〃,&a,&b);b+二a;printfC%d,z,b);A.36B.34C.輸入錯誤,b的值不確定 D.18答案:C.讀懂程序并填空。#include<stdio.h>voidmainO(charch=0x31;printf("%d\n",ch);〃屏幕顯示.printf("%o\n",ch);〃屏幕顯示.printfぐ‘%x\n",ch);〃屏幕顯示.printf("%c\n",ch);〃屏幕顯示答案:49613111.C程序的結(jié)構(gòu)可分為哪幾類?(多選)A.順序結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.程序結(jié)構(gòu)D.選擇結(jié)構(gòu)答案:ABD.輸入兩個實數(shù)a,b,然后交換它們的值,最后輸出(提示:要交換兩個數(shù)得借助一個中間變量temp。首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。voidmain()floata,b,temp;printf("請輸入a和b的值:");scanf(/z%d,%d", );temp=a;printf("交換后,a=%d,b=%d\n", );)答案:&a,&ba=b;b=temp;a,b.當(dāng)a,b,c的值分別為3,4,5時,以下各語句執(zhí)行后a,b,c的值為多少?if(a>c){a=b;b=c;c=a;}else{a=c;c二b;b二a;}執(zhí)行后a,b,c的值為ー,—,—if(a<c)a=c;elsea=b;c=b;b=a;執(zhí)行后a,b,c的值為ー,一,一if(a!=c)elsea=c;c=b:b=a;執(zhí)行后a,b,c的值為_,_,—答案:554554334.當(dāng)a=3,b=4,c=5時,寫出下列各式的值。a<b的值為__,a<=b的值為ー,a==c的值為 ,a!=c的值為 ,a&&b的值為ー,!a&&b的值為ー,a「c的值為!a||c的值為a+b>c&&b==c的值為。答案:1101101105.假設(shè)所有變量均已說明,寫出下列各程序段運行后x的值。(多選)okl=l;ok2=2;ok3=0;x=15;a=3;b=4;(1)if(!okl)x++;elseif(ok2)(if(ok3)x=3;elsex=4;運行后x的值為下面哪ー個?A.15B.3C.16D.4(2)if(okl)(if(a<b)(if(!ok3)x=0;elsex=l;)elsex=2;)elsex=3;運行后X的值為下面哪ー個?A.0B.1C.2D.3答案:DA6?若整數(shù)x分別等于95、87、100、43、66、79?則以下程序段運行后屏幕顯示是什么?switch(x/10)(printf(z,Pass\n,z);break;printf(z,Good\nz,);break;printf(,,VeryGood\nz,);break;default:printf("Fail\n");x等于95時,程序段運行后屏幕上顯示ーx等于87時,程序段運行后屏幕上顯示ーx等于100時,程序段運行后屏幕上顯示ーx等于43時,程序段運行后屏幕上顯示ーx等于66時,程序段運行后屏幕上顯示ーx等于79時,程序段運行后屏幕上顯示ー答案:VeryGoodGoodVeryGoodFailPassPass.在C語言的if語句中,用作判斷的表達式為ー〇(單選)A,關(guān)系表達式 B.邏輯表達式C,算術(shù)表達式 D,任意表達式答案:D.請問:下面這個程序段的輸出是什么?(單選)inta,b,c;a=7;b=8;c=9;if(a>b)a=b,b=c;c=a;printf(z,a=%db=%dc二%d\n”,a,b,c);A.a=7b=8c=7 B.a=7b=9c=7C.a=8b=9c=7 D.a=8b=9c=8答案:A.該程序的運行結(jié)果是:(單選)voidmain()(inta,b,c;a=2;b=7;c=5;switch(a>0)(case1:switch(b<10)(case1:printfC');break;case0:printf(z,!/z);break;}case0:switch(c==5)(case0:printf(z,*zz);break;case1:printf(zz耳);break;default:printf(zz%%zz);break;}default:printf(〃&〃);)printf("\n〃);)A."#&B?ハC.&D.へ!*#%&答案:A.該程序的輸出結(jié)果是多少?(單選)m=37;n=13;while(m!=n)(while(m>n)m=m-n;while(n>m)n一二m;)printf〈m=%d\nz,,m);輸出結(jié)果為:A.m=13 B.m=llC.m=l D.m=2答案:C.該程序的輸出結(jié)果是多少?(單選)for(i=0;i<5;i++)(for(j=l;j<10;j++)if(j==5)break;if(i<2)continue;if(i>2)break;printf(〃%d,j);)printf(〃%d\n〃,i);輸出結(jié)果為:A.10,3 B.5,2C.5,3 D.10,2答案:C.該程序的輸出結(jié)果是什么?(單選)ttinclude<stdio.h>voidmain()intn;n=0;while(n<8)(switch(n%3)(case2:putchar('2');case1:putchar(i);break;case0:putchar('H');)n++;})A.Hi2Hi2HiB.Hi2C.Hi2iHi2iD.Hi2iHi2iHi答案:D.該程序的輸出結(jié)果是多少?(單選)#include<stdio.h>main()(inti,j,x=0;for(i=0;i<2;i++)(x++;for(j=0;j<=3;j++)(if(j%2)continue;x++;printf(zzx=%d\nzz,x);
A.x=4B.x=8C.x=6D.x=12A.x=4B.x=8C.x=6D.x=12答案:B.若k為整型,以下while循環(huán)執(zhí)行ー次.(單選)k=2;while(k=0)printfk),k-;printf('\n");A.無限次B.0次C.1次D.2次答案:D.下面這個程序的輸出是什么?(單選)#include<stdio.h>main()(inty=10;while(y-);printf("y=%d\n”,y);)A.y=0B.while構(gòu)成死循環(huán)C.y=lD.y=T答案:D.以下程序從讀入的整數(shù)數(shù)據(jù)中,統(tǒng)計大于零的整數(shù)個數(shù)和小于零的整數(shù)個數(shù).用輸入零來結(jié)束輸入,程序中用變量i統(tǒng)計大于零的整數(shù)個數(shù),用變量j統(tǒng)計小于零的整數(shù)個數(shù).請?zhí)羁?#include<stdio.h>main()(一n,i,j;printf("輸入非零的整數(shù)(輸入零結(jié)束程序)");i=j=0;scanf("%d",&n);whileif(n>0)i=_if(n<0)printf("i=%4dj=%4d\n”,i,j);答案:int(n!=0)i+1j+1scanf&n).圓周率pi的近似率可用下面的公式求得:pi*pi/6約等于!/(1*1)+1/(2*2)+...+1/(n*n)由以上公式可知,若n取值!0000J則最后ー項的值為1E-4,認(rèn)為可達到精度要求。以下程序用來求pi的近似值。請?zhí)羁铡?其中函數(shù)sqrt(a)用于求a的平方根)(單選)#include<stdio.h>#include<math.h>main()(longi;floatpi;pi=0.0;for(i=l;i<=10000;i++)pi+= ;pi=sqrt(6.0*pi);printf("pi=%10.61f\n*,pi);A.l/i*iB.l/(i*i)C.1.0/i*iD.1.0/(i*i)答案:D.斐波哪契數(shù)列中的頭兩個數(shù)是0和1,從第三個數(shù)開始,每個數(shù)等于前兩個數(shù)的和,即:0,11,2,3,5,8,13,21,…等。下面這個程序就是求斐波哪契數(shù)列的前20個數(shù)。請?zhí)羁铡?include<stdio.h>voidmain()(intf,fl,f2,i;fl=0;f2=—;printf(z,%d\n%d\n/z,fl,f2);for(i=3;i<=30; )f=一Iprintf("%d\n",f);fl=f2:f2=;答案:1i++fl+f2.下面這個程序執(zhí)行后i和s的值為多少?(單選)#include<stdio.h>voidmain()(inti,s;i=0;s=0;while(i<10);(s+=(i++);printfぐ‘%d\n”,s);)printf("i=%d\n",i);A.i值為9,s值為45B.i值為10,s值為45C.i值為10,s值為36D.程序陷入了死循環(huán)答案:D.下面這個程序打印出以下這個三角形.請?zhí)羁铡?112223333444445555556666666777777778888888889999999999voidmain()(inti,j;TOC\o"1-5"\h\zfor(i=0;i<= ;i++)(for(j=0;j< ;j++)printf( );答案:9i"%d",iprintf('\n");.讀懂下面的程序并填空。Sinclude<stdio.h>voidmain()(longa,b,r;scanf(飛Id",&a);b=0;do{r=a%10;a=a/10;b=b*10+r;}while(a);printfb);程序運行時如果輸入37 ,輸出為ー〇程序運行時如果輸入?345,輸出為ー〇程序運行時如果輸入10239,輸出為ー〇答案:73-54393201.如圖所示,該算式在四個字母所在處欠缺四個數(shù)位,下面這個程序用窮舉法搜尋解法。請?zhí)羁铡?A8*3BC73D#include<stdio.h>voidmain()(intA,B,C,D;intx,y,z;for(A=l;A<=9;A++)for(B=l;B<=9;B++)for(C=l;C〈=9;C++)for(D=1;D<=9;D++)(x=100+ +8;y=一iz=—+700+30+_;if(—)printf("A=%d,B=%d,C=%d,D=%d\n”,A,B,C,D);答案:A*1030+BC*1000Dx*y==z.請改正下面這個遠程序的錯誤:Sinclude<stdio.h>main()(inti,j,list(10);for(i=0,i<10,i++)(list[i]=2*i+3;for(j=9,j>=0,j—)printf(/,%d\n/,,list[j]);答案:inti,j,list(10):改為inti,j,list[10];for(i=0,i<10,i++)改為for(i=0;iく10;i++)for(j=9,j>=0,j—)改為for(j=9;j>=0;j—).指出下面各說明語句中哪些是合法的:(多選)A.intabed[0x80]; B.char9ab[10];C.charchi[-200]; D.intaaa[5]={3,4,5};E.floatkey[]={3.0,4.0,1,0};F.chardisk[];G.intn,floppy[n]; H.intcash[4]={1,2,3,4,5,6};答案:ADE.根據(jù)以下說明,寫出正確的說明語句。(l)men是ー個有!0個整型元素的數(shù)組。step是ー個有4個實型元素的數(shù)組,元素值分別為1.9,-2.33,0,20.6〇(3)grid是ー個二維數(shù)組,共有4行,10列整型元素。答案:intmesh[10];floatstep[4]={1.9,-2.33,0,20.6};intgrid[4][10];.請回答下列問題。(1)array是ー個ー維整形數(shù)組,有!0個元素,前6個元素的初值是9,4,7,49,32,-5,請寫出正確的說明語句。(2)-該數(shù)組下標(biāo)的取值范圍是從一到ー(從小到大)。(3)如何用scanf函數(shù)輸入數(shù)組的第二個元素。(4)如何用賦值語句把39存入第一個元素。(5)如何表示把第六個和第四個元素之和存入第一個元素。答案:intarray[10]={9,4,7,49,32,-5};0 9scanf(/,%d/,,&array[l]);array[0]=39;array[0]=array[5]+array[3];.寫出以下初始化數(shù)組的長度。(1)intchn[3];數(shù)組chn的長度為ー。floatisa[]={l.0,2.0,3.0,4.0,5.0};數(shù)組isa的長度為ー。(3)intdoom[8];數(shù)組doom的長度為ー〇(4)floatpci[4][2];數(shù)組pci的長度為ー〇(5)intast[3][3];數(shù)組ast的長度為ー〇(6)intatt[3][4];數(shù)組att的長度為ー。(7)floatdell[][3]={{1,4,7},{2,5},{3,6,9});數(shù)組dell的長度為ー。答案:6201632182436.這個程序輸入了20個數(shù)存放在一個數(shù)組中,并且輸出其中最大者與最小者、,20個數(shù)的和及它們的平均值。請?zhí)羁?。voidmain()(chararray ;intmax,min,average,sum;inti;for(i=0;i< ;i++)(printf("請輸入第%d個數(shù):〃,i+1);scanf;)max=array[0];min=array[0];for(i=0;i<= ;i++)(if(max<array[i])if(min>array[i])sum二average=printf("20個數(shù)中最大值是%d,〃,max);printf(“最小值是%d,",min);printf("和是%d,”,sum);printf("平均值是%d.'n",average);)答案:[20]20&array[i]19max=array[i];min=array[i];sum+array[i]sum/20.該程序的運行結(jié)果是:min= ,m= ,n= 〇voidmain(){floatarray[3][4]={{3.4,-5.6,56.7},{56.8,999.,-.0123),{0.45,-5.77,123.5},{43.4,0,111.2}};inti,j;intmin;intm,n;min=array[0][0];m=0;n=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(min>array[i][j])(min=array[i][j];m=i;n=j;)printf("min=%d,m=%d,n=%d\n,min,m,n);)答案:-5.771 28,下面的程序中哪行有錯誤?(單選)#include<stdio.h>main()(floatarray[5]={0.0}; 〃第A行inti;for(i二〇;i<5;i++)scanf(^f",&array[i]);for(i=l;i<5;i++)array[0]=array[0]+array[i]ノ/第B行〃第C行printf("%f\n”,array〃第C行A.第A行B.第B行B.第C行D.沒有答案:D9,若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素:a[0]a[l] a[2]a[3]a[4] a[5] a[6]a[7] a[8]a[9]元素的值:94 12 82 10 75 13(1)請寫出對該數(shù)組的說明,并賦以上初值。(2)該數(shù)組的最小下標(biāo)值為最大下標(biāo)值為ー〇(3)寫出下面各式的值:a[a[9]]的值為ーa[a[4]+a[8]]的值為答案:inta[10]={9,4,12,8,2,10,7,5,1,3};0 988.寫出下面這個程序的輸出結(jié)果:voidmain()(charstr[]="ABCDEFGHIJKL”;printfぐ’%s\n",str): 屏幕上顯示ーprintfぐ‘%s\n",&str[4]):屏幕上顯示ーstr[2]=str[5];printf("%s\n",str): 屏幕上顯示ーstr[9]=‘、〇';printf("%s\n",str): 屏幕上顯示ー答案:ABCDEFGHIJKLEFGHIJKLAFCDEFGHIJKLAFCDEFGHI.字符串"ab\n\\012八'\"的長度為ー〇答案:10.下面哪ー項是不正確的字符串賦值或賦初值的方式。(單選)char*str;str-^string";charstr[7]={'s,,,t,,,r,,,i,,,n,,,g,};charstrl[10];strl="string";D.charstr1[]="string",str2[]="12345678";答案:C.若有以下說明和語句,則輸出結(jié)果是哪ー項?(單選)(strlen(s)為求字符串s的長度的函數(shù))chars[12]="abook!";printf("%d",strlen(s));A.12B.8C.7D.11答案:C.若有以下說明和語句,則輸出結(jié)果是ー〇(單選)(strlen(s)為求字符串s的長度的函數(shù))charsp[]="\t\v\\\0will\n";printf("%d",strlen(sp));A.14B.3C.9D.字符串中有非法字符答案:B.若有以下說明和語句,則輸出結(jié)果是ー〇(單選)charstr[]="\"c:\\abc.dat\"";printf("%s",str);A.字符串中有非法字符 B.\"c:\\abc.dat\"C."c:\abc.dat" D."c:\\abc.dat"答案:c.讀懂下面的程序并填空。voidmain()(charstr[80];inti=0;gets(str);while(str[i]!=0)(if(str[i]>=,a&&strくニ'z')str[i]-=32;i++;}puts(str);)程序運行時如果輸入upcase,屏幕顯示ー程序運行時如果輸入AalBb2Cc3,屏幕顯示答案:UPCASEAA1BB2CC3.分析下面的程序,并寫出運行結(jié)果。Sinclude<stdio.h>intmax(inta,intb);main()|intx,y,z,t,m;scanf(/z%d,%d,%d〃,&x,&y,&z);t=max(x,y);m=max(t,z);printf("%d”,m);)intmax(inta,intb)if(a>b)return(a);elsereturn(b);運行時若輸入:10,15,9則輸出:一運行時若輸入:300,129,300則輸出:答案:15300.分析下面的程序,并寫出運行結(jié)果。#include<stdio.h>longsum(inta,intb);longfactorial(intn);main(){intnl,n2;longa;scanf("%d,%d〃,&nl,&n2);a=sum(nl,n2);printf(〃a=%ld〃,a);)longsum(inta,intb)(longcl,c2;cl=factorial(a);c2=factorial(b);return(cl+c2);)longfactorial(intn){longrtn=l;inti;for(i=l;i<=n;i++)rtn*=i;return(rtn);運行時若輸入:2,3則輸出:——運行時若輸入:0,5則輸出:答案:8121.分析下面的程序,并寫出運行結(jié)果。Sinclude<stdio.h>ints();intx,y;main()(intn;x=l;y=2;n=s();printf(〃x=%d,y=%d,n=%d〃,x,y,n);)ints()(intz;x=3;y=4;z=x+y;return(z);)程序運行后輸出:答案:3,4,7.C語言可執(zhí)行程序從什么地方開始執(zhí)行?(單選)A.程序中第一條可執(zhí)行語句 B.程序中第一個函數(shù)C.程序中的main函數(shù) D.包含文件中的第一個函數(shù)答案:C.有一個函數(shù)原型如下所示:(單選)abc(floatx,floaty);則該函數(shù)的返回類型為A.voidB.doubleC.intD.float答案:C.以下程序的輸出結(jié)果是ー〇(單選)Sinclude<stdio.h>intfunc(inta,intb);voidmain()(intk=4,m=l,p;p=func(k,m);printf(〃%d,〃,p);p=func(〃%d\n”,p);)intfunc(inta,intb)(staticintm=0,i=2;i+=m+l;m=i+a+b;return(m);)A.8,17B.8,16C.8,20D,8,8答案:A.以下程序的輸出結(jié)果是a= ,b= ,c= 〇#include<stdio.h>intfunc(inta,int*p);voidmain()(inta=l,b=2,c;c=func(a,&b);
b=func(c,&a);a=func(b,&c);printf(*a=%d,b=%d,c=%d”,a,b,c);)intfunc(inta,int*p)(a++;*p=a+2;return(*p+a);)答案:36 16 19.在C語言程序中,下面哪ー個是正確的?(單選)A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用也可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套答案:B.下面哪些是定義局部變量儲存類別的保留字?(多選)A.intB.autoC.staticD.floatE.registerF.externG.unsignedH.signed答案:BCE10.下面這個函數(shù)的功能是求兩個整數(shù)的積,并通過形參傳回結(jié)果。請?zhí)羁?。voidmul( x, y, result)(一=x*y;)答案:intintint*?result.對于類型相同的指針變量,不能進行哪種運算?(單選)A.+B.A.+B.C.D.答案:A.若有以下說明和語句,且〇く=iく10,則下面哪個是對數(shù)組元素的錯誤引用?(單選)intaロ={1,2,3,4,5,6,7,8,9,0},*p,i;p=a:A.*(a+i)B.a[p-a]C.p+iD.*(&a[i])答案:C.若有以下說明和語句,且。<=i<10,則下面哪個是對數(shù)組元素地址的正確表示?(單選)inta[]={l,2,3,4,5,6,7,8,9,0},*p,i;P=a;A.&(a+l)B.a++C.&pD.&p[i]答案:D.以下程序的輸出結(jié)果是ー。#include<stdio.h>main()(inta[]={l,2,3,4,5,6},*p;P=a;*(p+3)+=2;printfC%d,%d\n”,*p,*(p+3));)A.0,5B.1,5C.0,6D.1,6答案:D.以下程序的輸出結(jié)果是哪ー項?(單選)#include<stdio.h>main()inta[12]={l,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i二〇;i<4;i++)pEi]=&aLi*3];printf("%d\n",p[3][2]);)A.輸出項不合法 B.6C.8 D.12答案:D.如果有以下的定義:(多選)structperson(charname[20];intage;charsex;);structpersona={〃xiaomin〃,20,'m'},*p二&a;則對字符串〃lining〃的引用方式可以是下面哪些?A.(*p).nameB.C.D.p->name答案:ACD.下面哪些定義的結(jié)構(gòu)在內(nèi)存分配是等價的。(單選)(1)structabc{charx;chary;intdata;);(2)structabc{charx,y;intdata;);(3)structabc{intdata;charx;chary;);A.⑴和⑵ B.(2)和(3)C.⑴和⑶ D.(1)(2)和(3)答案:A.若有以下說明和語句,,則pl-p2的值為多少?(單選)inta[10],*pl,*p2;pl=a;p2=&a[5];A.5B.6C.10D.沒有指針與指針的減法答案:A.讀懂源程序,并寫出正確結(jié)果。#include<stdio.h>structstustruct{charname[10];intscore[3];);voidmain()(structstustudent={xiaowang”,{99,87,90});structstu*pl=&student;int*p2=student.score;printf("%d\n",student,score[〇]);〃屏幕顯示,printf("%s\n”,pl->name); 〃屏幕顯示printf("%d\n”,p2[2]); 〃屏幕顯示printf("刎、n",*(p2+l)); 〃屏幕顯示.答案:99xiaoming9087.已知有以下的說明,inta[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值為ー.答案:〇.已知有以下的說明,那么執(zhí)行語句a=p+2;后,a[〇]的值等于多少?(單選)floata[3]={l.2,45.6,-23.0);float*p=a;A.1.2 B.45.6C.-23.0 D,語句有錯答案:D.如果想把ー些新的數(shù)據(jù)添加到文件xh.txt中,則應(yīng)該以下面哪一種方式打開文件?(單選)A.fp=fopen(xh.txt,"a");B.fp=fopen("xh.txt",a);C.fp=fopen("xh.txt","a");D.fp=fopen("xh.txt",'a');答案:C.如果要把ー個字符‘A’寫入文件指針fp所指定的文件里,應(yīng)該如何寫?如果要把ー個字符串"Hello!"寫入文件指針fp所指定的文件里,應(yīng)該如何寫?如果要把兩個整數(shù)23和567以ASCII碼方式寫入文件指針fp所指定的文件里,且整數(shù)之間以一個空格相隔,應(yīng)該如何寫?答案:fputcCA',fp);fputs("Hello!",fp);fprintf(fp,"%d%d",23,567);.如果有三個整數(shù)以ASCH碼方式寫入了文件指針fp所指定的文件里,且整數(shù)之間以逗號相隔。問:用a,b,c三個整形變量來獲取這三個整數(shù),該如何寫?答案:fscanf(fp,"%d,%d,%d",&a,&b,&c);.ー個abc.dat文件內(nèi)容如下:0123456789abcdefABCDEFー個對abc.dat文件進行操作的程序如下:#include<stdio.h>voidmain()(FILE*fp;charch;charstr[15];fp=fopen("abc.dat","rb");if(fp!=NULL)(fseek(fp,2,SEEK_SET);fgetc(fp);fgetc(fp);fgets(str,15,fp);fseek(fp,-4,SEEK_CUR);fgetc(fp);fseek(fp,4,SEEK_CUR);ch=fgetc(fp);printf("ch=%c",ch);fclose(fp);))程序運行的結(jié)果是ch為字符—。答案:D.調(diào)用fopen函數(shù)以文本方式打開文本文件aaa.txt如下FILE*fp=fopen("aaa.txt", );如果為了輸出而打開應(yīng)在空白處填入ー,如果為了輸入而打開應(yīng)在空白處填入__,如果為了追加而打開應(yīng)在空白處填入_ー。答案:"r"Wa.下面哪條語句是從文件中讀取ー個字符?(單選)A.ch=getc(); B.fputc(ch,fp);C.fscanf(〃%c〃,&ch);D.scanf("%c〃,&ch);答案:C.有5個學(xué)生的成績需要保存在文件score.dat文件中。保存格式如下:學(xué)生姓名,年齡,成績くCR>學(xué)生姓名,年齡,成績くCR>請完成下面這段源程序。voidmain()(FILE*fp;inti;charname[80];intage;floatscore;fp=fopen( ,〃w〃);for(i=0;i<5;i++)(printf(〃請輸入第%d個學(xué)生的信息、n〃,_);printf(〃姓名:");scanf( );printf(〃年齡:");printf("成績:");fprintf(fp, ,name,age,score);答案:〃score.dat”i〃%s”,namescanf(〃%d〃,&age);scanf("%i,&score);〃%d,%d,%f\n〃fclose(fp);.C語言中的文件類型如何劃分?(單選)A,索引文件和文本文件兩種B.ASCII文件和二進制文件兩種C.只有文本文件ー種D.只有二進制文件ー種答案:B9.下面這個程序?qū)⒂脩魪逆I盤輸入的字符寫入keyb.dat文件中,當(dāng)鍵入字符’!’時,結(jié)束輸入,把‘!‘寫入文件后關(guān)閉文件,程序結(jié)束。請找出錯誤。ttinclude<stdio.h>voidmain()(charch;FILE*fp;fp二fopen(〃keyb.dat〃,〃wb");do{ch=getchar();fprintf(fp,"%c〃,ch);}while(ch!='!')close(fp);)答案:}while(ch!=’!')改為while(ch!=,!*);close(fp);改為fclose(fp);.下面這個程序的作用是統(tǒng)計公元1年到公元2000年的閏年個數(shù)。判斷閏年的方法是:能被400整除的年是閏年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是閏年。其余年份是平年。請?zhí)羁铡?include<stdio.h>voidmain()(intyear;intcount=0;for(year=0;year<=2000;year++)if(()I(year%4==0&& ))printf('/d”,count);答案:year%400=0year%100!=0count++.讀懂程序并填空。#include<stdio.h>voidmainO(intdigit_num=0;intletter_num=0;intother_num=0;charch;while(l)(ch=getchar();if(ch='!’)break;if(ch>=’〇’&&ch<='9')digit_num++;elseif((ch>='A'&&ch<='Z')II(ch>=,a'&&ch<='z'))letter_num++;elseother_num++;)printf(z,Thenumberofdigitis%d\nz,,digit_num);printf(,zThenumberofletteris%d\nz,,letter_num);printf(,zThenumberofotheris%d\n〃,other_num);程序運行時如果輸入:123adfhd%234FDG%34%hJK+!_AAAD!く回車〉TOC\o"1-5"\h\z最后,變量digit_num的值為 ,變量letter_num的值為 ,變量other_num的值為 〇答案:8115
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版籃球場地租賃及廣告投放合同3篇
- 2025年度教育信息化建設(shè)項目合同(教育現(xiàn)代化推進)4篇
- 二零二五年度場營銷策劃合同范本:智慧城市宣傳推廣服務(wù)合同4篇
- 二零二五年度醫(yī)院醫(yī)療事故鑒定與技術(shù)支持合同3篇
- 二零二五年度土方材料采購合同樣本:智慧農(nóng)業(yè)示范園區(qū)配套
- 二零二五年度別墅防水施工及維修合同4篇
- 二零二五年度儲藏煤場租賃合同附煤炭質(zhì)量檢測服務(wù)4篇
- 2025年度個人與公司廠房租賃及設(shè)備安裝合同4篇
- 2025年度農(nóng)業(yè)科技研發(fā)成果轉(zhuǎn)化種植承包合同3篇
- 二零二五版酒店轉(zhuǎn)讓與場地租賃合同3篇
- 2025年山東浪潮集團限公司招聘25人高頻重點提升(共500題)附帶答案詳解
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 2025年江西省港口集團招聘筆試參考題庫含答案解析
- (2024年)中國傳統(tǒng)文化介紹課件
- 液化氣安全檢查及整改方案
- 《冠心病》課件(完整版)
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會考試題庫
- 公園保潔服務(wù)投標(biāo)方案
- 光伏電站項目合作開發(fā)合同協(xié)議書三方版
- 2024年秋季新滬教版九年級上冊化學(xué)課件 第2章 空氣與水資源第1節(jié) 空氣的組成
- 香港中文大學(xué)博士英文復(fù)試模板
評論
0/150
提交評論