2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)_第1頁
2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)_第2頁
2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)_第3頁
2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)_第4頁
2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2022年北京印刷學(xué)院公共課《C語言》科目期末試卷A(有答案)一、填空題1、設(shè)x為無符號整數(shù)。表達(dá)式x^(~(~0<<n)<<(p+1-n)))的作用是將x中從第p位開始的n位求反(1變0,0變1),其他位不變。請按表達(dá)式的求值順序?qū)懗龇纸獠襟E,并解釋含義。__________________________________2、C語言源程序的基本單位是________3、結(jié)構(gòu)化程序由________、________、________3種基本結(jié)構(gòu)組成。4、把以下多項式寫成只含7次乘法運算,其余皆為加、減運算的C語言表達(dá)式為_______。5x7+3x6-4x5+2x1+x3-6x2+x+105、已知字母a的ASCIl碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-3'的值為_______。6、下面程序段的運行結(jié)果是_______。chars[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、下面程序段中循環(huán)體的執(zhí)行次數(shù)是_______。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進(jìn)行交換。請?zhí)羁?。a+=_______;b=a-_______;a-=_______;9、為建立如圖10-5所示的存儲結(jié)構(gòu)(即每個結(jié)點兩個域,data是數(shù)據(jù)域,next是指向結(jié)點的指針域),請將定義補充完整。structs{chardata;_______}node;10、設(shè)有以下宏定義:#defineWIDTH80#defineLENGTHWIDTH+40則執(zhí)行賦值語句:v=LENGTH*20;(v為int型變量)后,v的值是_______。二、選擇題11、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()A.intB.floatC.doubleD.不確定12、若x、i、j和k都是int型變量,則執(zhí)行表達(dá)式x=(i=4,j=16,k=32)后x的值為()。A.4B.16C.32D.5213、設(shè)x、y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后,x、y和z的值是()。A.x=10B.x=10C.x=10D.x=10y=15y=10y=10y=5z=10z=10z=15z=1014、以下能正確地定義整型變量a,b和c并為其賦初值5的語句是()。A.inta=b=c=5;B.inta,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;15、判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用()。A.if(a==B.B.if(a=B.C.if(strcpy(a,B.)D.if(strcmp(a,B.)16、以下敘述不正確的是()A.一個C源程序可由一個或多個函數(shù)組成B.一個C源程序必須包含一個main函數(shù)C.C程序的基本組成單位是函數(shù)D.在C程序中,注釋說明只能位于一條語句的后面17、執(zhí)行語句for(i=1;i++<4;);后變量i的值是()。A.3B.4C.5D.不定18、在一個C源程序文件中,若要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲類別是()A.externB.registerC.autoD.static19、已有定義int(*p)();指針p可以()。A.代表函數(shù)的返回值B.指向函數(shù)的入口地址C.表示函數(shù)的類型D.表示函數(shù)返回值的類型20、設(shè)有以下定義:char*cc[2]={"1234","5678");則正確的敘述是()。A.cc數(shù)組的兩個元素中各自存放了字符串”1234”和"5678”的首地址B.cc數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址C.cc是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組D.cc數(shù)組元素的值分別是1234和567821、以下程序的運行結(jié)果是()。#include<stdio.h>intfun(inta,intB.{if(a>B.return(a+B.;elsereturn(a-B.;intmain(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return(0);}A.-16B.-17C.17D.1622、下面程序的運行結(jié)果是()。#include<stdio.h>intmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k])!=\o';k++){switch(C.{case'I':++k;break;case'L':continue;default:putchar(C.;continue;putchar('*’);}return0;}A.SSW*B.SW*C.SW*AD.SW23、下面程序段的運行結(jié)果是()。inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%3d",a[i]);}A)-40404B)-40403C)-40443D)-4044024、以下程序的輸出是()。#include<stdio.h>intmain(){inta=5,b=8,c=3,max;max=a;if(c>B.if(c>A.max=c;elseif(b>A.max=b;printf("max=%d\n",max);return0;}A.max=8B.max=5C.max=3D.無輸出結(jié)果25、下面程序的運行結(jié)果是()。#include<stdio.h>intmain(){inti;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&.");}return0;}A)#&8&&*B)#&C)#D)#&&&&*&*&*三、讀程序填空26、以下程序的輸出結(jié)果為_______。#include<stdio.h>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}27、已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是_______。printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d);28、若運行以下程序時輸入:1992<回車>,則程序的運行結(jié)果是_______。#include<stdio.h>intmain(){inty,t;scanf("%d",&y);t=((y%4==0&&y%100!=0)||y%400==0)?1:0;if(t)printf("%dis",y);elseprintf("%disnot",y);printf("aleapyear");return0;}29、以下程序的功能是_______。#include<stdio.h>intmain(){intx,y,sum,product;printf("Enterxandy:");scanf("%d,%d",&x,&y);sum=x+y;product=x*y;if(sum>product)printf("(x+y)>(x*y)");elseprintf("(x*y)>=(x+y)");return0;}30、下面程序的功能是從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù);若未找到,打印notexist。請?zhí)羁铡?include<stdio.h>intmain(){inti,a;for(i=1;i<=10;i++){scanf("%d",&a);if(a%7==0)_______;}if(_______)printf("%d\n",a);elseprintf("notexist\n");return0;}31、下面程序的運行結(jié)果是_______。#include<stdio.h>intsub(intn);intmain(){inti=5;printf("%d\n",sub(i));return(0);}intsub(intn){inta;if(n==1)return1;a=n+sub(n一1);return(a);}32、設(shè)數(shù)組a中的元素均為正整數(shù),以下程序是求a中偶數(shù)的個數(shù)和偶數(shù)的平均值。請?zhí)羁铡?include<stdio.h>intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};intk,s,i;floatave;for(k=s=i=0;i<10;i++){if(a[i]%2!=0)_______;s+=_______;k++;}if(k!=0){ave=s/k;printf("%d,%f\n",k,ave);}return0;}33、以下程序的運行結(jié)果是_______。#include<stdio.h>#defineM4voidfun(int*a){inti,j,k,m;for(i=M;i>0;i--){k=*(a+M-1);for(j=M-1;j>=0;j--)*(a+j+1)=*(a+j);*a=k;for(m=0;m<M;m++)printf("%d",*(a+m));printf(\n");}}intmain(){inta[M]={1,2,3,4);fun(a);return(0);}四、編程題34、輸入兩個整數(shù),求它們相除的余數(shù)。用帶參的宏編程來實現(xiàn)。35、編寫程序,將字符串computer賦給一個字符數(shù)組,然后從第一個字母開始間隔地輸出該串,請用指針完成。

參考答案一、填空題1、【1】~0得到一個全1的數(shù)【2】(~0<<n)得到一個左端幾個1,右端全0的數(shù)【3】~(~0<<n)得到一個左端為0,右端幾個1的數(shù)【4】~(~0<<n)<<(p+1-n)將幾個1移到以p為起點的位置【5】x^(~(~0<<n)<<(p+1-n))對x中的指定位數(shù)用異或求反2、函數(shù)3、【1】順序結(jié)構(gòu)【2】選擇結(jié)構(gòu)【3】循環(huán)結(jié)構(gòu)4、X*(X*(X*(X*(X*(X*(5*X+3)一4)+2)+1)-6)+1)+105、f6、bedABCD7、38、【1】b【2】b【3】b9、structs*next;10、880二、選擇題11、C12、C13、A14、A15、D16、D17、C18、D19、B20、A21、B22、B23、C24、B25、B三、讀程序填空26、i:dec=-4,oct=177774,hex=fffc,unsigned=6553227、*d(1)=-2*d(2)=囗-2*d(3)=-2囗**d(4)=fffe*d(5)=囗囗fffe*d(6)=fffe囗*(注:答案中的囗代表空格)28、1992isaleapyear29、輸入兩個數(shù)x、y,比較x+y和x*y哪個大。30、【1】break【2】i<=1031、1532、【1】continue【2】a[i]33、4123341223411234四

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論