2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)_第1頁
2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)_第2頁
2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)_第3頁
2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)_第4頁
2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2022年煙臺黃金職業學院公共課《C語言》科目期末試卷A(有答案)一、填空題1、結構化程序由________、________、________3種基本結構組成。2、執行下面程序段后,k的值是_______。k=1;n=263;do{k*=n%10;n/=10;}while(n);3、下面程序段中循環體的執行次數是_______。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);4、為建立如圖10-5所示的存儲結構(即每個結點兩個域,data是數據域,next是指向結點的指針域),請將定義補充完整。structs{chardata;_______}node;5、假設變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進行交換。請填空。a+=_______;b=a-_______;a-=_______;6、C語言所提供的基本數據類型包括:單精度型、雙精度型、_______、_______和_______。7、在C語言中,二維數組元素在內存中的存放順序是_______。8、以下程序段通過指針變量q,但不移動q,將如圖所示連續動態存儲單元的值,從第一個元素起依次輸出到終端屏幕。請填空。(假設程序段中的所有變量均已正確說明。)for(k=0;k<10;k++)printf("%d,",_______);printf("\n");9、下面程序段的運行結果是_______。Chara[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);10、請讀程序段:unsigneda=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的輸出結果是_______。二、選擇題11、下面4個選項中,是不合法的整型常量的選項是()。A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff017999-068001112.4565e203f12、C語言中的標識符只能由字母、數字和下劃線3種字符組成,且第一個字符()A.必須為字母B.必須為下劃線C.必須為字母或下劃線D.可以是字母、數字和下劃線中任一種字符13、一個C語言程序由()。A.一個主程序和若干子程序組成B.函數組成C.若干過程組成D.若干子程序組成14、以下敘述不正確的是()A.一個C源程序可由一個或多個函數組成B.一個C源程序必須包含一個main函數C.C程序的基本組成單位是函數D.在C程序中,注釋說明只能位于一條語句的后面15、在一個C源程序文件中,若要定義一個只允許本源文件中所有函數使用的全局變量,則該變量需要使用的存儲類別是()A.externB.registerC.autoD.static16、以下能正確地定義整型變量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;17、下面有關for循環的正確描述是()。A.for循環只能用于循環次數已經確定的情況B.for循環是先執行循環體語句,后判斷表達式C.在for循環中,不能用break語句跳出循環體D.for循環的循環體語句中,可以包含多條語句,但必須用花括號括起來18、下面程序段(每行代碼前面的數字表示行號)()。1inta[3]={3*0};2inti;3for(i=0;i<3;i++)scanf("%d",&a[i]);4for(i=1;i<3;i++)a[o]=a[o]+a[i];5printf("%d\n",a[o]);A.第1行有錯誤B.第5行有錯誤C.第3行有錯誤D.沒有錯誤19、有如下語句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;如圖所示;若要實現圖所示的存儲結構,可選用的賦值語句是()A.*p1=*p2;B.p1=p2;C.p1=*p2;D.*p1=p2;20、若有函數max(a,B.,并且已使函數指針變量p指向函數max,當調用該函數時,正確的調用方法是()A.(*p)max(a,B.;B.*pmax(a,B.;C.(*p)(a,B.;D.*p(a,B.;21、以下程序的輸出是()。#include<stdio.h>intmain(){inta=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf("%d\n",A.;return0;}A.1B.0C.-1D.值不確定22、下面程序段的運行結果是()。charc[5]={'a',b',\o','c','\o');printf("%s",C.;A.'a''b'B.abC.ab口cD.ab口(其中口表示1個空格)23、下面程序段的運行結果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1個空格)24、下面程序段的運行結果是()。intn=0;while(n++<=2);printf("%d",n);A.2B.3C.4D.有語法錯25、以下程序的運行結果是()。#include<stdio.h>voidfun(intx){if(x/2>0)fun(x/2-2);printf("%d”,x);}intmain(){fun(20);printf("\n");return(0);}A.2082-1B.2820C.8D.-12820三、讀程序填空26、以下程序的輸出結果是_______。#include<stdio.h>intmain(){inta=325;doublex=3.1415926;printf("a=%+06dx=%+e\n",a,x);return0;}27、以下程序的輸出結果是_______。#include<stdio.h>intmain(){inta=252;printf("a=%oa=%#o\n",a,a);printf("a=%xa=%#x\n",a,a);return0;}28、有一數列,第1項值為2,其后每項與前一項值的差為3,以下函數fun的功能是計算前5項的累加和,在累加過程中同時輸出那些除以4后還余2的和的值。請填空。#include<stdio.h>voidfun(inta,intd){inti,sum=0;for(i=0;i<5;i++){sum=sum+a;a=_______;if(_______)printf("sum=%d\n",sum);intmain(){inta=2,d=3;fun(a,d);return(0);}29、以下程序的運行結果是_______。#include<stdio.h>voidsub(intx,inty);intx1=30,x2=40;intmain(){intx3=10,x4=20;sub(×3,×4);sub(x2,x1);printf("%d,%d,%d,%d\n",x3,x4,x1,x2);return(0);voidsub(intx,inty){x1=x;x=y;y=x1;}30、以下程序段的功能是:針對輸入的截止日期(年一yend;月一mend;日—dend)和出生日期(yman,mman,dman),計算出某人的實際年齡。請填空。intyend,mend,dend,yman,mman,dman,age;age=yend-yman;if(mend_______mman)age--;elseif(mend_______mman&&dend_______dman)age--31、若有以下輸入,則下面程序的運行結果是_______。5<回車>97531<回車>5<回車>#include<stdio.h>#defineM10intmain(){inta[M],x,i,n;printf("Entern(n<10):");scanf("%d",8.n);for(i=1;i<=n;i++)scanf("%d",a+i);printf("Enterx:");scanf("%d",8.x);a[0]=x;i=n;while(x>a[i]){a[i+1]=a[i];i-一;}a[i+1]=x;n++;for(i=1;i<=n;i++)printf("%3d",a[i]);return0;}32、當運行以下程序時,從鍵盤鍵入“right?<回車>”,則下面程序的運行結果是_______。#include<stdio.h>intmain(){charc;while((c=getchar())!=?)putchar(++c);return0;}33、當運行以下程序時,從鍵盤輸入thisisatext.<回車>,則下面程序的運行結果是_______。#include<stdio.h>#defineTRUE1#defineFALSE0intchange(char*c,intstatus);intmain(){intflag=TRUE;charch;do(ch=getchar();flag=change(&ch,flag);putchar(ch);}while(ch!=.');printf("\n");return(0);}intchange(char*c,intstatus){if(*c==')returnTRUE;else{if(status&&*c<='z/'&&*c>='a')*c+='A'-'a';}returnFALSE;}四、編程題34、從鍵盤輸入兩個字符串a和b,要求不用庫函數strcat把串b的前5個字符連接到串a中;如果b的長度小于5,則把b的所有元素都連接到a中。試編程。35、編寫程序實現功能:輸入整數a和b,若a2+b2>100,則輸出a2+b2百位以上數字,否則直接輸出a2+b2的和

參考答案一、填空題1、【1】順序結構【2】選擇結構【3】循環結構2、363、34、structs*next;5、【1】b【2】b【3】b6、【1】整型【2】字符型【3】枚舉型7、按行主順序存放8、*(q+k)或q[k]9、*2*4*6*8*10、1,4,16二、選擇題11、D12、C13、B14、D15、D16、A17、D18、A19、B20、C21、C22、B23、D24、C25、D三、讀程序填空26、a=+00325囗囗囗x=+3.14159e+00(注:答案中的囗代表空格)27、a=374囗囗a=0374a=fc囗囗a=0xfc(注:答案中的囗代表空格)28、【1】a+d【2】sum%4==229、10,20,40,4030、【1】<【2】==【3】<31、97553132、sjhiu33、ThislsATest.四、編程題34、#include<stdio.h>#include<string.h>intmain(){chara[80],b[80];inti=0,j;printf("Inp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論