版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2013機房C語言模擬題??到目前一共11套【第一套】一、單項選擇1.下列數(shù)據(jù)中,為字符串常量的是(D)。A、PB、Howdoyoudo.$abc"house”.以下所列的C語言常量中,錯誤的是(B)。OxFF1.2e0.5C、2LD、,72'.以下程序的輸出結(jié)果是(D)。main(){floatx=3.6;inti;i=(int)x;printf("x=%fj=%d\n”,x,i);}A、x=3.600000,i=4B、x=3i=3.600000C、x=3,i=3D、x=3.600000,i=3.若k是整型,則以下程序段的執(zhí)行結(jié)果是:(B)k=-3;if(k<=0)print*"####")elseprintf("&&&&");A、####B、有語法錯誤,無結(jié)果C、&&&&D、####&&&&.若x=2,y=3則x||y的結(jié)果是(C)。A、3B、0C、1D、2.針對下列程序段回答問題(B).for(t=1;t<=100;t++){scanf(H%d",&x);if(x<0)continue;printf("%3dH,t);}A、x>=0時什么也不輸出B、最多允許輸出100個非負整數(shù)C、printf函數(shù)永遠也不執(zhí)行D、當x<0時整個循環(huán)結(jié)束.以下程序的執(zhí)行結(jié)果是(B)。main(){intnum=0;while(num<=2){num++;printf("%d,",num);} }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,.選擇正確的輸入語句(D)。:(其中:charstring[20];)使得string的內(nèi)容為"Iamstudent".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);.對以下說明語句inta[10]={6,7,8,9,10};的正確理解是(B)。A、將5個初值依次賦給a[6]至a[10]B、將5個初值依次賦給a[0]至a[4]C、因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確D、將5個初值依次賦給a[1]至a[5].以下標識符中可以作為用戶函數(shù)名的是(D).A、structB、intC、unionD、go_to.以下敘述錯誤的是(B).A、函數(shù)調(diào)用可以出現(xiàn)在一個表達式中B、函數(shù)調(diào)用可以作為一個函數(shù)的形參C、函數(shù)調(diào)用可以作為?個函數(shù)的實參D、函數(shù)允許遞歸調(diào)用.若用數(shù)組名作為函數(shù)的實參,傳遞給形參的是B)。A、數(shù)組第一個元素的值B、數(shù)組的首地址C、數(shù)組元素的個數(shù)D、數(shù)組中全部元素的值.在C語言程序中(B)。A、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C、函數(shù)的定義和函數(shù)調(diào)用不可以嵌套D、函數(shù)的定義和函數(shù)調(diào)用均可以嵌套.下列說法中正確的是(B).A、函數(shù)調(diào)用不占運行時間,只占編譯時間.B、宏替換不占運行時間,只占編譯時間.C、有參數(shù)的宏定義,就是函數(shù).D、在定義宏時,宏名與帶參數(shù)的括弧之間可以加空格..若有說明:int*p,m=5,n;以下正確的程序段是(D)。A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;scanf("%d",p);.對于下述定義,不正確的敘述是(B).uniondata{inti;charc;
floatf;}a,b;A、變量a的地址和它的各成員地址都是相同的B、可以在定義類型的同時定義變量a,并對a的任意成員初始化C、變量a所占內(nèi)存的長度等于成員f的長度D、如果有定義語句uniondataa={6};則對變量a的初始化是正確的.有兩個整型變量dog和cat,若要從磁盤文件把數(shù)據(jù)讀到其中,正確的形式是(B).A、fscanf(dog,2,1,fp);B、fscanf(fp,"%d%d",&dog,&cat);C、fscanf(dog,cat,2,1,fp);D,fscanf(fp,"%d",&dog,&cat);DBDBCBBDBDBBBBDBB二、判斷T1.若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,而b中的值不變T2.charc[6]="abcde";printf("%3s",c)表示輸出的字段的寬度,如果被輸出的數(shù)據(jù)的位數(shù)大于3,按實際位數(shù)輸出.F3.條件表達式x?a':'b'中,若x=0時,表達式的值為'a'.F4.在邏輯運算符中的運算級別由高向低依次為&&->||->!F5.do-while循環(huán)由do開始,while結(jié)束,循環(huán)體可能一次也不做。T6.sntinue語句用于終止循環(huán)體的本次執(zhí)行.T7.若有定義和語句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];!UiJsum=21.T8.inta[3][4]={{1},{5},{9}};它的作用是將數(shù)組各行第一列的元素賦初值,其余元素值為0。T9.定義一維數(shù)組的形式為:類型說明數(shù)組名[表達式],其中表達式可以是正整型常量表達式、字符常量表達式.
T10.在C語言中,函數(shù)名代表函數(shù)的入口地址.F11.函數(shù)調(diào)用語句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的實參個數(shù)是5.T12.數(shù)組名可以作為函數(shù)的實參和形參.T13.一個include命令只能指定1個被包含的文件。T14.若p為指針變量,a為數(shù)組名,則a-p是合法的表達式一T15.在程序中定義了一個結(jié)構(gòu)體類型后,可以多次用它來定義具有該類型的變量。F16.C語言中,關(guān)閉一個文件就刪除了這個文件.對對錯錯錯對對對對對錯對對對對錯三、填空.已知floati=5.6;inta;寫出語句a=(int)i;執(zhí)行后變量i的值是 ,5._6_..設(shè)有intx=11,則表達式(x++*1/3)的值是3 。.若intx=6;則x+=x-=x*x表達式最后x的值是-60..設(shè)x=2&&2||5>1,x的值為1_..連接字符串的函數(shù)是—STRCAF_,只寫函數(shù)名即可..函數(shù)不可以進行嵌套定義,但可以進行嵌套..設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量b在內(nèi)存所占字節(jié)數(shù)是。structstud{shortintage;charnum[3];floats[2];doubleave;}b,*p;.若有fp=fopen("a1.dat","r+")打開文件語句,這個文件的數(shù)據(jù)是以_ASCII—碼_的形式存放在內(nèi)存中,該文件的使用方式為讀/_asciiWENBEN_。.63 -60 1strcat調(diào)用21ASCII碼或ASCII文本四、程序設(shè)計/* 【程序設(shè)計】功能:輸入n個數(shù),并求出小于平均值的數(shù)的個數(shù)。#include"stdio.h"intaverage_num(inta[],intn)Begin*/………*&€|………*/}main()(intn,a[100],i,num;voidTestFunc();scanf("%d”,&n);for(i=0;i<n;i++)scanf(M%dM,&a[i]);num=average_num(a,n);printf("thenumis:%d\nH,num);TestFunc();void7estFunc()(FlLE*INJOUT;intn;inti[10];into;IN=fopen(,'in.dat,';'rH);if(IN==NULL)(pnntf(MReadfileError");}OUT=fopen(wout.datw,MwM);if(OUT==NULL)(printf(*'WriteFileError");}for(n=0;n<5;n++)(fscanf(IN,,,%d",&i[n]);}o=average_num(i,5);fprintf(OUT,"%d\n,,,o);fclose(IN);fclose(OUT);【參考代碼】inti,sum=O,k=O;doubleaverage;for(i=0;i<n;i++)sum=sum+a[i];average=sum*1.0/n;for(i=0;i<n;i++)if(average>a[i])k++;return(k);/* 【程序設(shè)計】功能:從字符串中刪除指定的字符。同一字母的大、小寫按不同字符處理。例如:若程序執(zhí)行時輸入字符串為:turbocandborlandc++從鍵盤上輸入字符:n,則輸出后變?yōu)椋簍urbocadborladc++,如果輸入的字符在字符串中不存在,則字符串照原樣輸出。*/#include"stdio.hHvoidfun(chars[],charc)…*Begin…**/**********End**********/)void7estFunc()(FILE*IN,*OUT;chari[200];/*charo[200];*/IN=fopen("in.dat",T);if(IN==NULL)(printf(MReadFileError");}OUT=fopen(',out.dat',,"w,');if(OUT==NULL)(printfC'WriteHieError");}fscanf(IN,H%s",i);fun(i;n');fprintf(OUT,"%s",i);fclose(IN);fclose(OUT);}main()(staticcharstr[]=Hturbocandborlandc++M;charch;printf("原始字符串:%s\n",str);printf("輸入一個字符:");scanf("%c”,&ch);fun(str,ch);printf(,,str[]=%s\n,,,str);TestFunc();【參考代碼】char*q=s;for(;*q;q++)if(*q!=c)*(s++)=*q;*s=0;五、程序改錯/* 【程序改錯】功能:依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串。例如:輸入ab12c3d,則輸出123。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include"stdio.h"*********error**********/voidfun(chars)(inti,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]>='0"&&s[i]<=,9')/**********error**********/s[j]=s[i];/………*田ROR**……**/s[j]="\O";}main()(charitem[80];printf("\nEnterastring:");gets(item);printf("\n\nThestringis:\"%s\”\n”,item);fun(item);printf("\n\nThestringofchangingis:\"%s\"\n",item);【改錯1】【學生答案】voidfun(chars)【參考答案】voidfun(char*s)voidfun(chars[])voidfun(chars[80])【改錯2】【學生答案】s[j]=s[i];【參考答案】s[j++]=s[i];{s[j]=s[i];j++;}【改錯3】【學生答案】s[j]="\O";【參考答案】s[j]='\O';【程序改錯】功能:讀入一個整數(shù)m(5(mW20),函數(shù)rnd獲得m個隨機整數(shù),函數(shù)sortpb將這m個隨機整數(shù)從小到大排序。例如:若輸入整數(shù)7,則應輸出:3101728323647。 */include"conio.h"include"stdio.h"voidsortpb(intn,inta[])(/**********田ROR******"**/inti,j,p;for(j=0;j<n-1;j++)p=j;for(i=j+1;i<n;i++)/*…*…**ERROR*………/if(a[p]>a[j])p=i;…*ERROR*…*if(p==j)a[j];a[j]=a[p];a[p]=t;voiddoublemd(){statict=29,c=217,m=1024,r=0;r=(r*t+c)%m;return((double)r/m);voidgetarr(intn,int*x)(inti;for(i=1;i<=n;i++,x++)*x=(int)(50*rnd());voidputarr(intn,int*z)inti;for(i=1;i<=n;i++,z++)(printf("%4dH,*z);if(!(i%10))printf(M\nM);}printf("\n");}main()(intaa[20],n;printf(H\nPleaseenteranintegernumberbetween5and20:");scanf("%d",&n);getarr(n,aa);printf("\n\nBeforesorting%dnumbers:"",n);putarr(n,aa);sortpb(n,aa);printf("\nAftersorting%dnumbers:\n",n);putarr(n,aa);}【改錯1】【學生答案】inti,j,p;【參考答案】inti,j,p,t;【改錯2】【學生答案】if(a[P]>a[j])P=i;【參考答案】if(a[p]>a[i])p=i;if(a[i]<a[p])p=i;【改錯3】【學生答案】if(P==j)【參考答案】if(p!=j)六、程序填空/* 【程序填空】功能:計算矩陣a的下三角(包含主對角線)元素之積,矩陣的行、列數(shù)和元素值均由鍵盤輸入。 */#defineM10#include"stdio.hHintmain(){inti,j,n,a[M][M];longs=1;scanf("%d”,&n);/………**………/for()for(j=0;j<n;j++)scanf(M%dM,&a[i][j]);for(i=0;i<n;i++)/***********rl**********/for(j=0;;j++)/★★★★★★★★★★★pi11***********/s=;printf(n%ld\n",s);return0;)【空1】【學生答案】for()【參考答案】i=O;i<n;i++i=0;i<n;i=i+1【空2】【學生答案】for(j=0;;j++)【參考答案】jv=ii>=j(i+j)>(n-1)&&j<n(j+i)>(n-1)&&j<n【空3】【學生答案】s=;【參考答案】s*a[i][j]a(i][j]*s【程序填空】題Fl:本程序的功能是從10個數(shù)中找出其中的最大值,完善程序。#include"stdio.h"main()(inta[10],i,*pmax;for(i=0;i<10;i++)scanf(M%dM,&a[?]);/***********FILL***********/pmax=;for(i=1;i<10;i++)if(a[i]>*pmax)pmax=&a[i];/*★*★*******pill***********/printf("%d",);【空1】【學生答案】pmax=【參考答案】pmax=&a[O]pmax=a【空2】【學生答案】printf("%dH,);【參考答案】*pmax【第二套】一、單項選擇.字符串"\\\'efg\'\\"的長度是:(C).A、3B、11
.設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+'a*i*f值的數(shù)據(jù)類型為(A)。A、doubleB、不確定C>intD>float.下列語句的結(jié)果是(B)。main(){intj;j=3;printf("%d:++j);printf("%dM,j++);}A、3,3B、4,4C、3,4D、4,3.邏輯表達式!(2-1)&&x|&的值是(B)A、1B、0C、3D、2.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;則a的值為(C)oA、3D、不一定.執(zhí)行語句for(i=1;i++<4;);后變量i的值是(B)。A、3B、5C、4D、不定.以下正確的描述是(A).A、只能用8ntinue語句來終止本次循環(huán)B、switch語句中不能出現(xiàn)continue語句C、在循環(huán)中break語句不能獨立出現(xiàn)D、got。語句只能用于退出多層循環(huán).下面合法的語句定義是(A).A、chara[]={'0',<1','2','3','4','5'};B、inta[]="string";C.inta[5]={0,1,2,3,4,5};D、chara="string";.chara[10];不能將字符串"abc"存儲在數(shù)組中的是(B).A、inti;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;B、a="abc";C、strcpy(a,"abc");D,a[0]=0;strcat(a,"abc");.在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名(B)。A、[整型常量]或[整型表達式]B、[正整型常量表達式]C、[整型表達式]D、[常量表達式].在定義全局變量和局部靜態(tài)變量的同時賦值,變量的初始化在(BIABYI)時確定的.A、運行B、編輯C、編譯D、調(diào)試.關(guān)于建立函數(shù)的目的,以下正確的說法是(A)。A、提高程序的可讀性B、減少程序文件所占內(nèi)存C、減少程序的篇幅D、提高程序的執(zhí)行效率.以下函數(shù)調(diào)用語句中實參的個數(shù)是(D)。func((e1,e2),(e3,e4,e5));A、3B、5C、語法錯誤D、2.設(shè)有宏定義#(^汨681€仇丫)(刈*乂且2=3力=4,則SUB(a++,b++)的值為(D).A、13B、16C、20D、12.變量p為指針變量,若p=&a,下列寫法不正確的是()。A、*(p++)==a++B、&*p==&aC、(*p)++==a++D、*&a==a.下列程序正確的運行結(jié)果為().#include<stdio.h>main(){unionu{char*name;intage;intincome;}S;="WANGLING,;s.age=28;s.income=1000;printf(M%d\nM,s.age);}A、8B、28C、1000D、不確定17.定義myjile為文件型指針變量,使用fopen只讀方式打開一個已存在的二進制文件,以下正確的調(diào)用形式為().A、myJile=fopen(Hmy.dat",HrH);B、my_file=fopen(,'my.datH,Mrb+");C、my_file=fopen("my.dat","rb");D、myJile=fopen("my.dat","r+");CABBCBAABBCADDACC二、判斷.若i=3,則printf("%d",-i++);輸出的值為4.格式字符%x用來以八進制形式輸出整數(shù)..設(shè)u=1,v=2,w=3,則邏輯表達式u||v-w&&v+w的值為0..已知a=4,b=2,c=3,d=5,表達式a>b?a:c<d?c:d的值為3..break語句能夠終止當前進行的多層循環(huán)..break語句不能終止正在進行的多層循環(huán)..若有定義和語句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i]側(cè)sum=21..二維數(shù)組在內(nèi)存中存貯時,是按行的順序進行存儲的。.C語言中引用數(shù)組元素的方括號可以用花括號代替..每次調(diào)用函數(shù)時,都要對靜態(tài)局部變量用新進行初始化..在程序中的第二個函數(shù)之后定義了某全局變量,則該程序的所有函數(shù)均可使用它..在C程序中,函數(shù)既可以嵌套定義,也可以嵌套調(diào)用.在定義宏時,在宏名與帶參數(shù)的括弧之間不應加空格..數(shù)組名與指針變量是相互等價的..兩個類型相同的結(jié)構(gòu)體變量,可以互相賦值..C語言中,在打開文件時,必須說明文件的使用方式,"r+"用于打開一個不存在的文件.錯錯錯錯錯對對對錯錯錯錯對錯對錯三、填空.設(shè)x和y均為int型變量,且*=1,丫=2,則表達式1.0+)</丫的值為..在C語言中Jong類型數(shù)據(jù)占個字節(jié),short類型數(shù)據(jù)占個字節(jié)..intx=2,y=3,z=4;則表達式x+y>z&&y==z的值為..intx=2,y=3,z=4;則表達式x+y&&(x=y)的值為..C語言中,二維數(shù)組在內(nèi)存中的存放方式為按優(yōu)先存放..函數(shù)調(diào)用時的實參和形參之間的數(shù)據(jù)是單向的傳遞..結(jié)構(gòu)體是不同數(shù)據(jù)類型的數(shù)據(jù)集合,作為數(shù)據(jù)類型,必須先說明結(jié)構(gòu)體再說明結(jié)構(gòu)體變量..調(diào)用fopen函數(shù)打開一文本文件,在“使用方式”這一項中,為輸入而打開需填入.1或1.0或1.40 1行值類型r+或r四、程序設(shè)計/*…… -- 【程序設(shè)計】功能:求出二維數(shù)組外圍元素之和,作為函數(shù)值返回。二維數(shù)組的值在主函數(shù)中賦予。defineM4defineN5include"stdio.h"intfun(inta[M][N])(^*********Begin**End)main()(inta[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8});voidTestFunc();inty;y=fun(a);printf("s=%d\n",y);TestFunc();)voidTestFunc()(FILE*IN,*OUT;intilN[M][N],iOUT;inti,j,k;IN=fopen("14.in","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("14.out","w");if(OUT==NULL){printf(MPleaseVerifyTheCurrentDir..ItMayBeChanged'*);)for(k=0;k<10;k++){for(i=0;i<M;i++)for(j=0;j<N;j++)fscanf(IN,"%d",&ilN[i][j]);iOLTT=fun(ilN);fprintf(OUT,"%d\n",iOUT);)fclose(IN);fclose(OUT);)【參考代碼】ints=0;inti,j;for(i=0;i<M;i++)s=s+a[i][0]+a[i][N-1];for(j=1;j<N-1;j++)s=s+a[0][j]+a[M-1][j];returns;【程序設(shè)計】功能:找出一個大于給定整數(shù)FL緊隨這個整數(shù)的素數(shù),并作為函數(shù)值返回。include"stdio.h"include"conio.hHintfun(intn)(/………Begin*/**********End………*/}void7estFunc()(FILE*IN,*OUT;ints;intt;into;IN=fopen("in.dat",T);if(IN==NULL)(printfC'ReadFileError**);}OUT=fopen(',out.dat',,"w,');if(OUT==NULL)(printfC'WriteHieError");}for(s=1;s<=5;s++)(fscanf(IN,H%dH,&t);o=fun(t);fprintf(OUT,H%d\nH,o);}fclose(IN);fclose(OUT);}main()(intm;printfC'Enterm:");scanf(H%dM,&m);printf(H\nTheresultis%d\nw,fun(m));TestFunc();【參考代碼】inti,k;for(i=n+1;;i++){for(k=2;k<i;k++)if(i%k==O)break;if(k==i)return(i);}五、程序改錯1./* 【程序改錯】功能:?個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。 */#include"stdio.h"main()/**********ERROR**********/longge,shi,qian;wan,x;scanf("%ld",&x);/**********ERROR**********/wan=x%10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;/**********ERROR**********/if(ge==wan||shi==qian)printf(Mthisnumberisahuiwen\nH);elseprintf(nthisnumberisnotahuiwen\nf,);}【改錯1】【學生答案】longge,shi,qian;wan,x;【參考答案】longge,shi,qian,wan,x;【改錯2】【學生答案】wan=x%10000;【參考答案】wan=x/10000;【改錯3】【學生答案】if(ge==wan||shi==qian)【參考答案】if(ge==wan&&shi==qian)if(shi==qian&&ge==wan)2.【程序改錯】功能:用下面的和式求圓周率的近似值。宜到最后一項的絕對值小于等于0.0001.n/4=1-1/3+1/5-1/7....include"stdio.h',/**********ERROR**********/include“math”voidfun()(floats=O,t=1,i=1;/**********ERROR**********/intp=1;/★★★★★★★★★★ERROR**********/while(fabs(t)<=1e-4)(s=s+t;P=-P;i=i+2;t=p/i;}7*********.ERROR**********/printf("pi=%d\n",s*4);}main(){fun();)【改錯1】#include"math"【參考答案】#include"math.h"#include<math.h>【改錯2】【學生答案】intp=1;【參考答案】floatp=1;floatp=1.0;doublep=1;double1.0;【改錯3】【學生答案】while(fabs(t)<=1e-4)【參考答案】while(fabs(t)>1e-4)while(0.0001<fabs(t))while(1e-4<fabs(t))while(fabs(t)>0.0001)【改錯4】【學生答案】printf(',pi=%d\n,,,s*4);【參考答案】printf("p』%f\n”,s*4);printf(Mpi=%lf\nM,s*4);六、程序填空【程序填空】功能:計算并輸出500以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。 */#include"stdio.h"/★★★★★★★★★★★PIII***********/intfun()(intm=0,mc=O,j,n;/***********pill***********/while(k>=2&&)(/***********pill***********/if(k%13==0||){m=m+k;mc++;}k--;}/★*★*★*★*★★★pill***********I)main()(printf("%d\n",fun(500));)【空1】【學生答案】intfun()【參考答案】intk【空2】【學生答案】while(k>=2&&)【參考答案】mc<1010>meme<=99>=me【空3】【學生答案】if(k%13==0||)【參考答案】k%17==0!(k%17)k/17*17==k【空4】【學生答案】【參考答案】returnmreturn(m)【程序填空】功能:以下程序中,函數(shù)fun的功能是計算《2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計算:y1=(x+8)A2-2(x+8)+6y2=(sin(x))A2-2sin(x)+6請?zhí)羁铡?include<stdio.h>#include<math.h>doublefun(doublex)return(x*x-2*x+6);}main()廠………*嘰…doublex,;printfC*Enterx:");scanf(”%lf”,&x);y***********p^|||***********/y1=fun();★★★★★★★★★★pi11***********/y2=fun();printf("y1=%lf,y2=%lf\n",y1,y2);【空1】【學生答案】doublex,:【參考答案】y1,y2y2,yi【空2】y1=fun();【參考答案】(x+8)(8+x)x+88+x【空3】【學生答案】y2=fun();【參考答案】sin(x)【第三套】一、單項選擇.以下程序段char*alp[]={"ABC',"DEF',"GHI"};intj;puts(alp[1]);的輸出結(jié)果是(D)。A、D
B、AC、BD、DEF.下列表達式中,可作為C合法表達式的是(D)。A、3.0%2B、3=2=1=0C、[3,2,1,0]D、(321,0).下面程序的正確輸出結(jié)果是().(規(guī)定用U表示空格)main(A){floatx=5.783,y=-10.2345;printf(Hx=%-8.2f,y=%-8.2f\n",x,y);}A、x=5.78UUUU,y=-10.23UUB、x=5.78,y=-10.23C、5.78,-10.23D、x=UUUU5.78,y=UU-10.23.當x為偶數(shù)或奇數(shù)時(0除外),其值都為。的表達式是:(C)A、(x/2*2-x)==0B、x%2==0C、!x!=0D、?。▁%2).下列運算符優(yōu)先級最低的是(A).A、=B、+C、!D、&&.設(shè)有如下程序段:intk=10;while(k==O)k—;則下述說明中正確的是(A).A、循環(huán)體一次也不執(zhí)行B、循環(huán)體執(zhí)行一次C、死循環(huán)D、循環(huán)體執(zhí)行10次.從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是(C)。A、continue語句B、空語句C、break語句D、return語句.以下對一維整型數(shù)組a的正確說明是(D。A、inta(10);B、intn;scanf("%d",&n);inta[n];C、intn=10,a[n];D,#defineSIZE10(換行)inta[SIZ目;.以下定義語句中,錯誤的是(A)。A、intn=5,a[n];B、inta[]={1,2};C、chars[10]="test";D、char*a[3];.下面敘述中不正確的是(C).A、可以對字符型數(shù)組進行整體輸入和輸出.B、不可以對浮點型數(shù)組進行整體輸入和輸出.C、可以對整型數(shù)組進行整體輸入和輸出.D、字符型數(shù)組可以存放字符串..函數(shù)定義時的參數(shù)為形參,調(diào)用函數(shù)時所用的參數(shù)為實參,則下列描述正確的是(Q.A、實參與形參是雙向傳遞B、形參可以是表達式C、形參和實參可以同名D、實參類型一■定要在調(diào)用時指定.以下錯誤的描述是:函數(shù)調(diào)用可以(D)。A、出現(xiàn)在執(zhí)行語句中B、做為一個函數(shù)的實參C、出現(xiàn)在一個表達式中D、做為一個函數(shù)的形參.以下不正確的說法是:C語言規(guī)定(C)。A、實參可以是常量,變量或表達式B、實參可以為任何類型C、形參可以是常量,變量或表達式D、形參應與其對應的實參類型一致.下列形式,不屬于編譯預處理命令的是(D).A、#ifdefMB、#undefMC、#if(M>1)D、while(M>1).下面判斷正確的是(D)。A、charc[4]="abc”,d[4]="abc”;等價于charc[4]=d[4]=',abcH;B、charstr[10]={-china”};等價于charstr[10];str[]={MchinaM);C、char*a="china”;等價于char*a;*a="china";D、char*s="china”;等價于char*s;s=Mchina*';.若有以下結(jié)構(gòu)體定義:structexample{intx;inty;}v2;則(D)是正確的引用或定義.A^example.x=10;B、structv2;v2.x=10;C、examplev2;v2.x=10;D、structexamplev2={10,3};.若fp已正確定義并指向某個文件,當未遇到該文件結(jié)束標志時函數(shù)feof(fp)的值為(D)。A、-1B、1C、一個非0值D、0DDACAACDACCDCDDDD二、判斷.如果有一個字符串,其中第十個字符為‘\n',則此字符串的有效字符為9個.格式字符%。用來以十六進制形式輸出整數(shù).已知a=3,b=4,c=5,貝ij邏輯表達式!(a>b)&&劇1的值為1..已知x=2,y=2,執(zhí)行分支語句if(x==y)y=1;elsey=-1;Js,y=-1..continue語句對于while和do-while循環(huán)來說,意味著轉(zhuǎn)去計算While表達式..在do-while循環(huán)中,根據(jù)情況可以省略while..對于字符數(shù)為n個的字符串,其占用的內(nèi)存為n+1個字節(jié)空間..puts函數(shù)用來輸出一-個字符..引用數(shù)組元素時,下標可以是整型表達式或整型常量..函數(shù)調(diào)用結(jié)束后,靜態(tài)局部變量所占用的空間被釋放..在一個函數(shù)中定義的靜態(tài)局部變量可以被另?個函數(shù)調(diào)用..當全局變量。局部變量同名時,在局部變量的作用域范圍之內(nèi),全局變量起作用..計算機編譯系統(tǒng)對宏定義在編譯時進行語法檢查..若定義intarray[5],*p;則賦值語句p=array;是正確的..共同體變量所占的內(nèi)存長度等于最長的成員的長度。.C語言中,打開一個文件就意味著產(chǎn)生了一個文件.錯錯對錯對錯對錯對錯錯錯錯對對錯三、填空.設(shè)x的值為15,n的值為2,則表達式x%=(n+=3)運算后x的值是..已知a=-13,b=6,a%b的十進制數(shù)值為..已知a=12,寫出表達式0<a&&a<2的值是..已知i=5,寫出語句a=(i>5)?0:1;執(zhí)行后整型變量a的值是..C語言中,數(shù)組名是一個不可變的常量,不能時它進行加減和賦值運算..C語言中?個函數(shù)由函數(shù)首部和兩部分組成..設(shè)有以下共用體類型說明和變量定義,則變量c在內(nèi)存所占字節(jié)數(shù)是?unionstud{shortintnum;charname[10];floatscore[5];doubleave;}c;.在C語言中,關(guān)閉文件即是文件指針不再指向該.0 -1 0 1指針或地址函數(shù)體20文件四、程序設(shè)計/*- 【程序設(shè)計】功能:計算并輸出給定整數(shù)n的所有因子之和(不包括1與自身)。注意:n的值不大于1000。例如:n的值為855時,應輸出704。- */#include"stdio.h"intfun(intn)(/………皿訪………*/}void7estFunc()(FILE*IN,*OUT;intiINJOUTi;IN=fopen(,,in.dat',,MrM);if(IN==NULL)(printf(°PleaseVerifyTheCurrerntDir..ItMayBeChanged*');}OUT=fopen("out.dat","w");if(OJT==NULL)(printf("ReaseVerifyTheCurrentDir..ItMayBeChanged");}for(占0;iv5;i++)(fscanf(IN,"%d”,&ilN);iOUT=fun(ilN);fprintf(OUT,H%d\n",iOUT);}fclose(IN);fclose(OUT);}main()printf(,,s=%d\n,,,fun(855));TestFunc();}【參考代碼】ints=O,i;for(i=2;i<n;i++)if(n%i==O)s=s+i;returns;/* 【程序設(shè)計】功能:刪去一維數(shù)組中所有而:復的數(shù),只保留不同的數(shù)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。例如:一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010。刪除后,數(shù)組中的內(nèi)容應該是:2345678910。注意:請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容。#include"stdio.h"#defineN80intfun(inta[],intn)Begin……}main(){voidTestFunc();inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;printf(MTheoriginaldata:\nH);for(i=0;i<n;i++)printf(w%3dM,a[i]);n=fun(a,n);printf("\n\nThedataafterdeleted:"");for(i=0;i<n;i++)printf(M%3dM,a[i]);printf(M\n\n,');TestFunc();}voidTestFunc()(FILE*IN,*OUT;inta[N];intn;inti;IN=fopen(Min.dat",Mrw);if(IN==NULL)printf("FteadFileError*');}O^fopenC'out.dat'V'w");if(OUT==NULL)(printf(MWriteHieError");}fscanf(IN,M%dM,&n);for(i=0;i<n;i++)fscanf(IN,,,%d,',&a[i]);n=fun(a,n);for(i=0;i<n;i++)fprintf(OUTM%3dM,a[i]);fclose(IN);fclose(OUT);}【參考代碼】inti,j=1,k=a[0];for(i=1;i<n;i++)if(k!=a[i]){a[j++]=a[i];k=a[i];)a[j]=O;returnj;五、程序改錯/* 【程序改錯】函數(shù)fun的功能是:求1到20的階乘的和。#include"stdio.h"main()(intnJ;floats=0.0,t=1.0;for(n=1;n<=20;n++)(/**********ERROR**********/s=1;for(j=1;j<=n;j++)/一????????ERROR**********/t=t*n;/**********ERROR**********/s+t=s;)printf("jiecheng=%f\n",s);)【改錯1】【學生答案】s=1;【參考答案】t=1;t=1.0;【改錯2】【學生答案】t=t*n;【參考答案】t=t*j;t*=j;t=j*t;【改錯3】【學生答案】s+t=s;【參考答案】S=S+t;s+=t;s=t+s;/* 【程序改錯】功能:實現(xiàn)兩個字符串的連接。例如:輸入dfdfqe和12345時,則輸出dfdfqel2345.#include"stdio.h"main()(chars1[80],s2[80];voidscat(chars1[],chars2[]);gets(s1);gets(s2);scat(s1,s2);puts(s1);)voidscat(chars1[],chars2[])(inti=0,j=0;*********ERROR*****★*★**Iwhile(s1[i]=='\0')i++;/ERROR*………/while(s2[j]==*\0')(/***********★★*★**★*/s2[j]=s1[i];i++;j++;)/**********ERROR**********/s2[j]='\0';)【改錯1】【學生答案】while(s1[i]=='\0')i++;【參考答案】while(s1[i]!='\0,)i++;while(s1[i])i++;while(s1[i]!=NULL)i++;while(s1[i]!=0)l++;【改錯2】【學生答案】while(s2[j]=='\0')【參考答案】while(s2[j]!='\0')while(s2[j])while(s2[j]!=NULL)while(s2[j]!=0)【改錯3】【學生答案】s2[j]=s1[i];【參考答案】s1[i]=s2[j];【改錯4】【學生答案】s2[j]='\0';【參考答案】s1[i]='\0';s1[i]=NULL;*(s1+i)='\0';s1[i]=0;六、程序填空/*- —— 【程序填空】功能:打印以下圖形。 */#include"stdio.h"main(){chara[5][9]={" "};inti,j;for(i=0;i<5;i++)/***********pill***********/for(j=i;;j++)a[i][j]='*';/ *rll*……*…/for(;i<5;i++)(for(j=0;j<9;j++)/***********R[_L***********/printf(H%cH,);/***********pill***********I]}【空1】【學生答案】for(j=i;;j++)【參考答案】j<i+5i+5>jj<=i+4i+4>jj<5+i【學生答案】for(;i<5;i++)【參考答案】i=0【空3】【學生答案】printf("%c",);【參考答案】a[i][j]【空4】【學生答案】【參考答案】printf("\n")【程序填空】功能:計算n門課程的平均分。例如:若有5門課程的成績是:90.5,72,80,61.5,55則函數(shù)的值為:71.80o#include<stdio.h>floatfun(float*a,intn)(inti;floatave=0.0;/★★★*★*★*★*★PIII***********/for(i=0;;i++)ave=ave+a[i];ave=ave/n;/★★★*★*★*★*★pi11***********I}intmain(){floatscore[30]={90.5,72,80,61.5,55},aver;y***********p|??★**********/aver=fun(,5);printf(M\nAveragescoreis:%5.2f\nH,aver);return0;【空1】【學生答案】for(i=0;;i++)【參考答案】i<nn>i【空2】【學生答案】【參考答案】returnave;【空3】【學生答案】aver=fun(,5);
【參考答案】score【第四套】一單選1sizeof(float)是O。A、一個浮點表達式B、一個不合法的表達式C、運算結(jié)果是一個整型表達式。D、一種函數(shù)調(diào)用2下列數(shù)據(jù)中屬于"字符串常量”的是()。A、A'B、"ABC'C、ABCD、'ABC3用下面的scanf函數(shù)輸入數(shù)據(jù),使得i=10,k=15選擇正確的鍵盤輸入方法().(用"[CR]”表示回車,U表示空格)main(){inti,k;scanf("i=%d,k=%d",&i,&k);
A、i=10[CR]k=15[CR]B.i=10,k=15[CR]C、10U15[CR]D、10,15[CR]4邏輯表達式3V2||-1&&4>3?!0的值為:()A、1B、3C、0D、25下列運算符中是C語言關(guān)系運算符的是()。A、&B、~C、!=D、!6語句while(!E);中的表達式!E等價于()。A、3=1B、E!=0C、E!=1D、=07以下正確的描述是().A、只能在循環(huán)體內(nèi)和switch語句內(nèi)使用break語句B、sntinue語句的作用是終止整個循環(huán)的執(zhí)行C、從多層嵌套的外層循環(huán)中退出時,只能使用goto語句D、在循環(huán)體內(nèi)使用break和sntinue語句的作用相同8下面各語句中,能正確進行賦字符串操作的語句是().A、chars1[5][]={HABCDE'};B、chars2[6]={'A,,'B','C,,DVE};C、charst[][]={MABCDEf};D、chars[5]={'A','B,'C,'D','E};9若有說明:inta[3][4]={0};則下面正確的敘述是(),A、數(shù)組a中每個元素均可得到初值0B、只有元素a[0][0]可得到初值0C、數(shù)組a中各元素都可得到初值,但其值不一定為0D、此說明語句不正確10若有說明inta[3][4];則a數(shù)組元素的非法引用是().A、a[1][3]B、a[0][4]C、a[0][2*1]D、a[4-2][0]11執(zhí)行下面程序后,輸出結(jié)果是()。main(){inta,b,c;a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}A、72B、18C、27D、4512以下正確的描述是:在C語言程序中()。A、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C、函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D、函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套13在C語言的函數(shù)中,下列正確的說法是()。A、形參可以是常量和變量B、可以有也可以沒有形參C、數(shù)組名不能作形參D、必須有形參14設(shè)有宏定義#definePI3.14>fll#defineS(r)PI*r*r,則S(2)的值為().A、6.28B、12.56C、3.14D、9.4215inta[10]={1,2,3,4,5,67,8};int*p;p=&a[5];p[-3]的值是(5A、4B、2C、不一定D、316若有以下程序段,則使用錯誤的選項是().structstudent(intnum;intage;);structstudentstu[3]={{1001,20},{1002,19},{1004,20}};main();structstudent*p;p=stu;)A、(*p).numB、(p++)->numC、p=&stu.ageD、p++CBBACDABABDBBBDC二判斷1#define和printf都不是C語句。2格式字符%x用來以十六進制形式輸出整數(shù).3語句if(a>b)printf("%d",a);elseprintf("%d",b);可以用條件表達式a>b?a:b取代.4邏輯表達式-5&&!8的值為1.5循環(huán)結(jié)構(gòu)中的continue語句是使整個循環(huán)終止執(zhí)行6for循環(huán)語句不能用于循環(huán)次數(shù)未知的情況下.7引用數(shù)組元素時,數(shù)組元素下標必須是整型常量.8數(shù)組的首地址一定是第一個數(shù)組元素的地址.9數(shù)組整體不參加數(shù)據(jù)處理(即不參加各種運算),參加數(shù)據(jù)處理的只能是數(shù)組的元素.10數(shù)組名作為函數(shù)調(diào)用時的實參,實際上傳遞給形參的是數(shù)組全部元素的值.11在主函數(shù)中,必須要對被調(diào)用函數(shù)進行類型說明,否則在編譯時會出現(xiàn)錯誤.12在一個函數(shù)中定義的靜態(tài)局部變量不能被另外?個函數(shù)所調(diào)用.13計算機編譯系統(tǒng)對宏定義在編譯時進行語法檢查.14指向某一變量的指針,就是該變量的內(nèi)存地址.15對于不同類型的數(shù)據(jù),若想合成一個有機的整體,可以引用結(jié)構(gòu)體進行定義。16在打開文件時,必須說明文件的使用方式,丁表示以只讀方式打開一個文件.對對錯錯錯錯錯對對錯錯對錯對對對三填空intx=2;z=x++-1;則x的值為.設(shè)x=2.5,a=7,y=4.7,算術(shù)表達式x+a%3*(int)(x+y)%2/4的值為.設(shè)x=62,表達式x>=60&&x<70||x==1的值為.c語言表達式5>2>7>8的值是.5字符串比較的庫函數(shù)是,只寫函數(shù)名即可.6從函數(shù)的形式匕看,函數(shù)分為無參函數(shù)和兩種類型.7設(shè)有以下共用體類型說明和變量定義,在TC編譯環(huán)境下,變量a在內(nèi)存所占字節(jié)數(shù)是unionstud{charnum[6];floats[4];doubleave;}a,*p;8在C語言中,根據(jù)要處理的文件存儲的編碼形式,可以把文件分為ASCII文件和文件.32.51 0 stremp 有參函數(shù) 16二進制四程序設(shè)計1I* 【程序設(shè)計】功能:用函數(shù)求N個[10,60]上的整數(shù)中能被5整除的最大的數(shù),如存在則返回這個最大值,如果不存在則返回0。#include"stdio.h"#include"stdlib.h"#defineN30intfind(intarr[],intn)(intm=0;/………Begin**/ End**********/return(m);}main()(inta[N],i,k;voidTestFunc();for(i=0;i<N;i++)a[i]=rand()%50+10;for(i=0;i<N;i++)(printf("%5d”,a[i]);if((i+1)%5==0)printf(w\nw);}k=find(a,N);if(k==O)printf(HNOFOUND"”);elseprintf("themaxis:%d\nH,k);TestFunc();}voidTestFunc()(FILE*IN,*OUT;intn;inti[5];into;IN=fopen(win.datM,°rH);if(IN==NULL)(printf(,,FteadFileError");}OUT=fopen(',out.datH,,'wn);if(OUT==NULL)(printf("WriteFileError");}for(n=0;n<5;n++)(fscanf(IN,H%dH,&i[n]);}o=find(i,5);fprintf(OUT,"%d\n',,o);fclose(IN);fclose(OUT);}【參考代碼】inti;for(i=0;i<n;i++)if(arr[i]%5==0&&arr[i]>m)m=arr[i];2/*- -…… 【程序設(shè)計】功能:根據(jù)整型參數(shù)n,計算如圖公式的值。#include"stdio.h"#includeHconio.hwdoublefun(intn)Begin*Endmam。-mmvo-dTestFunco;prmtf(=Enterm;);scanf=%d=prm三.?三Theresu_t一s%f\,,un(m));TeslFunc();)vo.dT9stFunc(){FIL£*-N-*OUT;-nfs;mtt;doub-eo;一NLOPen(=in.dat-:3;二(一N""NULL)printf("FteadRieError");}OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFileError");)for(s=1;s<=5;s++)(fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%f\n",o);)fclose(IN);fclose(OUT);【參考代碼】doublea=1;inti;for(i=1;i<n;i++)a=1.0/(1+a);returna;五程序改錯1/* 【程序改錯】功能:實現(xiàn)3行3列矩陣的轉(zhuǎn)置,即行列互換。 */#include"stdio.h"voidfun(inta[3][3],intn)(inti,j,t;for(i=0;i<n;i++)for(j=0;j<n;j++)/*★********frrqr**********/scanf("%d",a[i][j]);for(i=0;i<n;i++)(for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");)for(i=0;i<n;i++)/**********ERROR**********/for(j=0;j<n;j++){/**********ERROR**********/****ERROR*t=a[j][i];}for(i=0;i<n;i++)(for(j=0;j<n;j++)printf("%4d,',a[i][j]);printfCNn1');main()intb[3][3];fun(b,3);【改錯1】【參考答案】scanf(w%dM,&a[i][j]);scanf(w%dH,(*(a+i)+j));【改錯2】【參考答案】for(j=0;j<i;j++)for(j=0;i>j;j++)for(j=0;j<=i;j++)for(j=0;i>=j;j++)for(j=i+1;j<n;j++)for(j=i;j<n;j++)for(j=0;j<=i-1;j++)for(j=0;i-1>=j;j++)for(j=i+1;j<=n-1;j++)for(j=i;j<=n-i;j++)【改錯3】【參考答案】【改錯4】【參考答案】2/*- 【程序改錯】功能:從鍵盤輸入10個字符,統(tǒng)計其中數(shù)字字符的個數(shù)。 */#include<stdio.h>intmain(){inti,sum=0;charc;for(i=11;i>=2;i-){/ ERROR**********/c=gets();if(c<'O'||o'9')/**********pppQp**********/break;++sum;}printf(Hsum=%d,',sum);return0;【改錯1】【參考答案】c=getchar();【改錯2】【參考答案】continue;六程序填空1/*-- 【程序填空】功能:從鍵盤上輸入2名學生4門課成績,求每個學生的平均成績,并統(tǒng)計不及格門次。 */include<stdio.h>include,,math.hHintmain()f-oatx.sum.avg;forF1;A,H2;-++){…*……HF:**…::、forT1TH4;j++)(scanf(??%FQOx);」(XA60)n+±、***********F---***********-}avgHsum/4.0;Mmf(=\navgofNo?%d一s%5.2F?j-avg);}prin三-\n%djn);refurn0;【討】【解課明淵】sumuo【空2】【參考答案】sum=sum+xsum+=x21*- 【程序填空】功能:設(shè)數(shù)組a中的元素均為正整數(shù),以下程序是求a中偶數(shù)的個數(shù)和偶數(shù)的平均值。 - - */#include<stdio.h>intmain(){inta[10]={1,2,3,4,5,67,8,9,10};intk,s,i;floatave;for(k=s=i=0;i<10;i++)、***********F---?**********一三as%2T0) -、***********F---?**********-S+H _k++;)=(k'lro)一aveus/k;pilntf(--%d-%f\n=xave);)refurn0;@】【播林跳>】con二nue【閡2】【#林明洲】as【第四套】一單項選擇1先用語句定義字符型變量c,然后要將字符a賦給c,則下列語句中正確的是()。A、0=,97,B、c=,a';C、c=H97";D、c="an;2已定義ch為字符型變量,以下賦值語句中錯誤的是()。A、ch=T;B、ch=*a';C、ch=*\xaa';D、ch=62+3;3已定義兩個字符數(shù)組a,b,則以下正確的輸入格式是()oA、scanf(w%s%sH,&a,&b);B、scanf("%s%s",a,b);C、get(a,b);
D、gets(waM),gets(MbM);4以下不正確的if語句形式是()。A、if(xvy){x++;y++;}B、if(x!=y)scanf(M%dM,&x)elsescanf(M%dM,&y);C、if(x>y&&x!=y);D、if(x==y)x+=y;5執(zhí)行下面程序段后,ch的值是().charch='a';ch=(ch>='a,&&ch<=,z,)?(ch-32):ch;A、aB、AC、zD、Z6語句while(!E);中的表達式!E等價于()。A、3=1B、E!=0C、E!=1D、=07針對for循環(huán)語句,for(表達式1;表達式2;表達式3),卜列說法正確的是().A、break語句可以一次性跳出多層嵌套循環(huán)B、break語句只能跳出最內(nèi)層循環(huán)C、continue語句可以一次性跳出多層嵌套循環(huán)D、8ntinue語句可以跳出最內(nèi)層循環(huán)8程序main(){chars[10];s="abcd”;printf("%s\n”,s);}的運行結(jié)果(以下U代表空格)是().A、輸出abedB、輸出abcdUUUUUC、編譯不通過D、輸出a9若chara[10];已正確定義,以下語句中不能從鍵盤上給a數(shù)組的所有元素輸入值的語句是()。for(i=0;i<10;i++)a[i]=getchar();B、scanf("%s",a);C、gets(a);D,a=getchar();10C語言中函數(shù)調(diào)用的方式有()。A、函數(shù)只可以作為語句調(diào)用。B、函數(shù)只可以作為函數(shù)表達式調(diào)用C、函數(shù)調(diào)用只可以作為語句或函數(shù)表達式調(diào)用。D、函數(shù)調(diào)用可以作為語句調(diào)用,可以作為函數(shù)表達式調(diào)用,也可以作為函數(shù)參數(shù)調(diào)用。11函數(shù)的形式參數(shù)系統(tǒng)默認存儲類型說明是()。A、staticB、externC、registerD、auto12設(shè)有宏定義#defineSUB(x,y)(x)*y,且a=3,b=4,貝ijSUB(a++,b++)的值為().A、13B、16C、20D、1213以下程序段執(zhí)行后輸出的結(jié)果是().charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));A、字符'D'的地址B,0C、不確定的值D、6814使用共用體變量,不可以()。A、同時訪問所有成員B、進行動態(tài)管理C、節(jié)省存儲空間D、簡化程序設(shè)計15若要用fopen函數(shù)打開一個新的二進制文件,該文件要既能讀也能寫,則文件方式字符串應是O。A、"rb+"B、"ab++”C."ab"D,"wb+"BABBBDBCDDDDBAD二判斷1一個C程序只能由一個主函數(shù)組成。2在C程序中,逗號運算符的優(yōu)先級最低。3C語言printf函數(shù)的格式控制串中可以設(shè)置需要的普通字符,輸出時會原樣輸出。4雙精度型數(shù)據(jù)輸入應該選用If格式。5若floatx=2.0,y=1.0;,則條件表達式x>y?1:1.5的值為1.6邏輯表達式4>2&&1||5<3-!0的值為1.7邏輯表達式-5&&!8的值為1.8在do-while循環(huán)中,任何情況下都不能省略while.9break語句不能終止正在進行的多層循環(huán).10在do-while循環(huán)中,根據(jù)情況可以省略while.11若有語句:chara[卜"string";則a[6]的值為'\0';12二維數(shù)組在內(nèi)存中存貯時,是按行的順序進行存儲的。13給數(shù)組賦初值時,初值的個數(shù)一定不小于所定義的元素的個數(shù).14當全局變量與局部變量同名時,在局部變量的作用域范圍之內(nèi),全局變量起作用.15當函數(shù)的類型與return語句后表達式的值的類型不一致時,函數(shù)返回值的類型由return語句后表達式值的類型決定.16在C語言中,主函數(shù)可以調(diào)用其它函數(shù),同時,其它函數(shù)也可以調(diào)用主函數(shù).17宏定義不是C語句,不必在行末加分號.18若定義intarray[5],*p;則賦值語句p=&array;是正確的.19在定義結(jié)構(gòu)體變量時不允許對它賦初值.20c語言中,在打開文件時泌須說明文件的使用方式,“w”用于文件的讀寫.錯對對對錯對錯對對錯對對錯錯錯錯對錯錯錯三填空1已知x=3,y=2,貝IJ表達式x*=y+8的值為.C語言中的字符變量用保留字來說明.intx=2,y=3,z=4;則表達式x+y&&z的值為.4表達式3&&0的值是.5設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為.for(i=0J=10;i<=j;i++,j-)k=i+j;6若有以下數(shù)組a,數(shù)組元素:a[0]?a[9],其值為941282107513,該數(shù)組的元素中,數(shù)值最大的元素的下標值是.7執(zhí)行以下程序段后,s的值是.inta[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);8函數(shù)調(diào)用時的實參和形參之間的數(shù)據(jù)是單向的傳遞.四程序設(shè)計1/* 【程序設(shè)計】功能:將字符串中的小寫字母轉(zhuǎn)換為對應的大寫字母,其它字符不變。 3include"string.hMinclude"stdio.h"voidchange(charstr[])(/………6Ggm………*//四**********/}main()(voidchange();charstr[40];voidTestFunc();gets(str);change(str);puts(str);TestFunc();)void7estFunc()(FlLE*INJOUT;chari[200];IN=fopen(,'in.dat,';'rH);if(IN==NULL)(printf("ReadFileError");}OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteRieError");)fscanf(IN,"%s",i);change(i);fprintf(OUT,"%s\n",i);fclose(IN);fclose(OUT);【參考代碼】inti;for(i=0;str[i]!='\0,;i++)if(str[i]>=,a,&&str[i]<=,z')str[i]=str[i]-32;2/* 【程序設(shè)計】功能:根據(jù)整型形參m,計算如下公式的值:y=sin(m)*10o例如:若m=9,則應輸出:4.121185 */#include"stdio.h"#include"math.hMdoublefun(intm){/………晚訪/Endmain()(intn;voidTestFunc();printf(HEntern:”);scanf(M%dM,&n);printf("\nTheresultis%1f\nH,fun(n));TestFunc();}void7estFunc(){FILE*IN,*OUT;inti;intt;doubleo;IN=fopen("in.dat",T);if(IN==NULL)(printf("ReadFileError");}OUT=fopen("out.dat",“w”);jf(OUT==NULL)printfC'WriteFileError'*);}for(i=0;i<5;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 我國上市公司并購效應的多維度剖析與深度洞察
- 我國上市公司反收購法律規(guī)制:問題剖析與完善路徑
- 電離輻射計量員崗前創(chuàng)新方法考核試卷含答案
- 搪瓷制品制造工安全宣教模擬考核試卷含答案
- 甲殼類養(yǎng)殖工風險識別測試考核試卷含答案
- 碘缺乏病護理評估技巧分享
- 膠印版材生產(chǎn)工安全宣貫考核試卷含答案
- 2025中國太平洋財產(chǎn)保險股份有限公司定西中心支公司招聘備考題庫(甘肅)及一套答案詳解
- 2026年上半年黑龍江事業(yè)單位聯(lián)考雞西市招聘409人備考題庫及1套完整答案詳解
- 老年病科診療成本風險預警模型
- 物業(yè)與商戶裝修協(xié)議書
- 2025年五上課外閱讀題庫及答案
- 湖南鐵道職業(yè)技術(shù)學院2025年單招職業(yè)技能測試題
- GB/T 46318-2025塑料酚醛樹脂分類和試驗方法
- 果農(nóng)水果出售合同范本
- 小學三年級數(shù)學選擇題專項測試100題帶答案
- 2025年尿液分析儀行業(yè)分析報告及未來發(fā)展趨勢預測
- 2026屆湖北省宜昌市秭歸縣物理八年級第一學期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 2025年事業(yè)單位聯(lián)考A類職測真題及答案
- 無人機系統(tǒng)安全培訓課件
評論
0/150
提交評論