![浙江大學(xué)2023年C語言試卷_第1頁](http://file4.renrendoc.com/view/241b0133b0808fda14526798164da90f/241b0133b0808fda14526798164da90f1.gif)
![浙江大學(xué)2023年C語言試卷_第2頁](http://file4.renrendoc.com/view/241b0133b0808fda14526798164da90f/241b0133b0808fda14526798164da90f2.gif)
![浙江大學(xué)2023年C語言試卷_第3頁](http://file4.renrendoc.com/view/241b0133b0808fda14526798164da90f/241b0133b0808fda14526798164da90f3.gif)
![浙江大學(xué)2023年C語言試卷_第4頁](http://file4.renrendoc.com/view/241b0133b0808fda14526798164da90f/241b0133b0808fda14526798164da90f4.gif)
![浙江大學(xué)2023年C語言試卷_第5頁](http://file4.renrendoc.com/view/241b0133b0808fda14526798164da90f/241b0133b0808fda14526798164da90f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
一、單選題1.假定以下表達式中所有變量均已定義為int類型并已賦值,請問其中哪個表達式?jīng)]有語法錯誤。x=3.14%2;y=2a+b;m=a<b<c;n=(-x)++;(c)2.表達式‘A’+’B’的類型為:A.charB.intC.doubleD.void(b)3.執(zhí)行以下這段程序后,unsignedchara=0;intb=1;do{b++;a--;}while(a!=0);變量b的值等于多少?A.0B。1C。128D。257(d)4.如果一個函數(shù)的返回值類型為void,則以下哪個說法是正確的?A.該函數(shù)中不可以用return語句B.該函數(shù)中可以用return語句,但必須是最后一個語句C.該函數(shù)中可以用return語句,但ruturn后面不能跟任何表達式D.該函數(shù)可以返回一個任意類型的值,也可以沒有返回值(c)5.執(zhí)行以下程序后,chara[]=”ABC\\XYZ\007\xFF”;intn;n=sizeof(a);變量n的值等于多少?A.10B。14C。9D。17(a)6。用scanf()輸入一個double類型的變量的值,則輸入格式要用A."%f”B.“%lf”C.“%f”或”%lf”D.“%ld”(b)7.假定有以下變量定義語句,float*p,q;請問哪個說法是正確的?p和q的類型均為(float*)p的類型為(float*),q的類型為floatp的類型為float,q的類型為(float*)此變量定義語句有語法錯誤(b)8.執(zhí)行以下程序后,chara=’0’;printf(“%x”,a);將輸出什么結(jié)果?A.30B.0x30C.0X30D.0(a)9.假定有如下定義,stuuctst{charname[10];intscore;}a[3],*p=a;;請問哪個用法是正確的?p->name=”Tom”;*[0]=’B’;(*p)->name[0]=’C’;*(*p).name=’D’;(d)10.執(zhí)行一下語句后,intn=strcmp(“ABC”,”AB”);則一下關(guān)于n值的描述哪一個是正確的?n=0;n=1;n>1;n<0(c)二、填空題1.執(zhí)行以下代碼后,將輸出。#defineFORwhile(x--);intx=3,y=0;FOR{y++;}Printf(“x=%d,y=%d”,x,y);x=-1,y=12.執(zhí)行以下代碼后,將輸出。inta=2,b=5,c=8;c|=(~a&&b)^!(a&b);printf(“c=%d’,c);c=83.執(zhí)行以下代碼后,變量d的值=。inta=-10,b=0,c=20,d;d=a>b?-3.14:b>c?2.68:4.99;d=44.執(zhí)行以下代碼后,變量x的值=。inta=3,b=4,c=3,x;x=a!=(b=c);x=05.執(zhí)行以下代碼后,將輸出。chart[]=”BUGWET”;inta[]={5,1,2,3,4,0,2,4,5},i=0,go;do{Putchar(t[go=a[i++]]);}while(go);TUGWEB6.若定義unsignedlonginta;且變量a已賦值,試寫出判斷a的二進制最高位即最左邊那位與1相等的表達式(要求不調(diào)用任何函數(shù))a>>317.執(zhí)行以下代碼后,將輸出。longinta[5]={10,20,.30,40,50};longint*p=a+1;longint*q=&a[3];printf(“q-p=%d”,q-p);q-p=28.執(zhí)行以下代碼后,變量max值=。intx=3,y=2,z=1,max;if(x>=y&&X.=z)max=x;if(y>=x&&y>=z)max=y;elsemax=z;max=19.執(zhí)行以下代碼后,將輸出chara[][5]={“ABCD”,“1234”,“BOMB”};printf(“%s,%c”,*a+1,*a[2]+1);BCD,C10.若定義函數(shù)時省略該函數(shù)的返回值類型,則它的實際返回值類型是int三、程序閱讀題1.以下程序的輸出結(jié)果是。#include<stdio.h>#include<string.h>typedefchar(*AP)[5];APdefy(char*p){inti;for(i=0;i<3;i++)p[strlen(p)]=’A’;return(AP)p+1;}Voidmain(){chara[]=“FROG\0SEAL\0LION\0LMB\0”;puts(defy(a)[1]+2);}ONALAMB2.以下程序的輸出結(jié)果是。#include<stdio.h>voidmain(){inti,j,sum=0;for(i=1;i<=3;i++){if(i==2)continue;for(j=1;j<=6;j++){sum+=j;if(sum>=6)break;}sum+=i*10;}printf(“sum=%d”,sum);}sum=473.以下程序的輸出結(jié)果是。#include<stdio.h>intg=96;voidgf(void){g++}intdf(void){intg=10;g++;returng;}int*sf(void){staticintg=20;g++;return&g;}voidmain(){inta,b,c,*p;gf();gf();a=g;b=df();b=df();p=sf();*p=32765;p=sf();c=*p;printf(“a=%d,b=%d,c=%d”,a,b,c);}a=98,b=11,c=327664.假定運行以下程序時輸入3+4*5-3/2=則程序的輸出結(jié)果是。#include<stdio.h>intcalc(void){intx;charp;scanf(
“
%d%c”,&x,&p);if(p==’=’)returnx;switch(p){case‘+’:returnx+calc();case‘-‘:returnx-calc();case‘*’:returnx*calc();case‘/”:returnx/calc();}}voidmain(){printf(“%d”,calc());}195.以下程序的輸出結(jié)果是。#include<stdio.h>#defineN4voidmain(){staticinta[N+1][N+1]={1};inti,j;for(i=1;i<=N;i++)for(j=1;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<=N;i++){intspace=N-1;while(space--)putchar(‘‘);for(j=1;j<=i;j++)printf(“%-2d”,a[i][j]);printf(“\n”);}}■■■1■■■1■1■■1■2■1■1■3■3■1■6.以下程序的輸出結(jié)果是。#include<stdio.h>#defineN5voidmain(){staticinta[N][N],i,j;intleft=0,right=N-1,up=0,down=N-1;intx=1,row=right,col=down,d=1,done;while(x<=N*N){a[row][col]=x;x++;done=0do{switch(d){case1:col--;if(col<left){col=left;d=2;continue;}else{done=1;break;}case2:row--;if(row<up){row=up;d=3;continue;}else{done=1;break;}case3:col++;if(col>right){col=right;d=4;continue;}else{done=1;break;}case4:row++;if(row==down){down--;left++;up++;right--;row=down;d=1;continue;}else{done=1;break;}}}wuile(!done);}for(i=0;i<N;i++){for(j=0;j<N;j++)printf(“%-3d”,a[i][j]);printf(“\n”);}}91011121382122231472025241561918171654321四、程序填空題1。輸入n(2≤n≤5),程序不需要對此范圍進行判斷),再輸入n個數(shù)保存到數(shù)組a中,通過循環(huán)查找n個數(shù)中是否有重復(fù)的數(shù),如果有則輸出Yes,否則輸出No。要求在循環(huán)過程中,任何兩個數(shù)的比較次數(shù)不得超過1次(比如有了a[0]和a[1]的比較就不能由a[1]和a[0]的比較),并且要求一旦找到有數(shù)重復(fù)則立即結(jié)束循環(huán)。#include<stdio.h>voidmain(){inta[5],i,j,n;scanf(“%d”,&n);for(i=0;i<n;i++)scanf(“%d”,&a[i]);for(i=0;i<=n-2;i++){for(①;j<=n-1;j++){if(a[i]==a[j])②;}if(③)break;}if(④)puts(“No”);elseputs(“Yes”);}j=i+1②break③j<=n-1/j<n/j!=n④i==n-1/i>=n-1/i>n-2/j>n-12.hex()是一個遞歸函數(shù),該函數(shù)的功能是通過遞歸調(diào)用把一個長整數(shù)轉(zhuǎn)化成十六進制字符串并返回所得十六進制數(shù)的位數(shù)。main()輸入長整數(shù)x,調(diào)用hex()對它進行轉(zhuǎn)化(轉(zhuǎn)化結(jié)果存放在字符數(shù)組a中),最后輸出結(jié)果。例如:輸入13,則返回n=1輸出D;輸入100,則返回n=2輸出64;輸入65535,則返回n=4輸出FFFF。#include<stdio.h>voidmain(){chara[9];intn;unsignedlongintx;scanf(“%lu”,&x);n=hex(x,a);⑤;puts(a);}inthex(⑥){chart[]=”0123456789ABCDEF”;intnif(x<16){a[0]=t[x];return1;}n=hex(x/16,a);a[n]=⑦;return⑧;⑤a[n]=0/a[n]=’\0’⑥unsignedlongintx,chara[]⑦t[x%16]⑧n+13.設(shè)文件file1.txt中以如下文本格式存放一批學(xué)生的姓名及成績:Tom80Jerry90姓名與成績之間至少一個空格分隔并且每個學(xué)生的姓名中不含空格。現(xiàn)通過編程讀取file1.txt中的資料,找出其中成績最高的那位學(xué)生(假定最高分為一),并把該生的資料寫入file2.txt中。#include<stdio.h>#include<string.h>typedefstructstudent{charname[20];intscore;}ST;voidmain(){FILE*fp1;FILE*fp2;STa,max;fp1=fopen(“file1.txt”,”r”);fp2=fopen(“file2.txt”,”w”);if(①){puts(“cannotopenfile!”);exit(0)}max.score=-1;while(②){③;if(a.score>max.score){④;max.score=a.score;}}fprintf(fp2,”%s%d\n”,,max.score);fclose(fp1);fclose(fp2);}①fp1==NULL||fp2==NULL②!feof(fp1)③fscanf(fp1,”%s%d”,,&a.score)④strcpy(,)4.輸入一個英文句子保存到字符數(shù)組a中(句子中各個單次用一個或多個空格分隔,第一個單詞前面可以有空格,最后一個單詞后面也可以有空格),接下去對句子中構(gòu)成一個單詞的各個字符進行逆向變幻,逆向后的單詞重新存放到數(shù)組a中原先的位置,最后輸出新的句子。例如,輸入一下句子:pots&pansIsawareed將輸出stop&snapIwasadeer注意:只要是非空格字符均可構(gòu)成一個單詞,例如前面的&也算一個單詞;另外,原句子中的空格經(jīng)過變換后必須保持原樣,不可增加或減少。#incl
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年結(jié)構(gòu)化布線系統(tǒng)的檢測設(shè)備合作協(xié)議書
- 冀教版數(shù)學(xué)九年級下冊《30.3 由不共線三點的坐標(biāo)確定二次函數(shù)》聽評課記錄1
- 生產(chǎn)技術(shù)合同范本(2篇)
- 甘肅省就業(yè)協(xié)議書(2篇)
- 北師大版歷史七年級下冊第19課《明清經(jīng)濟繁盛與清前期盛世輝煌》聽課評課記錄
- 人教版數(shù)學(xué)八年級下冊聽評課記錄:第16章 二次根式的乘除法(二)
- 新北師大版小學(xué)數(shù)學(xué)一年級上冊《分類》聽評課記錄
- 中圖版歷史七年級下冊第14課《明朝的對外交往與抗倭斗爭》聽課評課記錄
- 蘇科版數(shù)學(xué)九年級上冊《切線》聽評課記錄
- 統(tǒng)編版初中語文九年級下冊第十六課《驅(qū)遣我們的想象》聽評課記錄
- 《網(wǎng)絡(luò)安全防護項目教程》課件項目2 windows操作系統(tǒng)安全防護
- 2024年貴州省中考理科綜合試卷(含答案)
- 無人機技術(shù)與遙感
- 燃煤電廠超低排放煙氣治理工程技術(shù)規(guī)范(HJ 2053-2018)
- 臨床敘事護理概述與應(yīng)用
- TSG-T7001-2023電梯監(jiān)督檢驗和定期檢驗規(guī)則宣貫解讀
- 冠脈介入進修匯報
- 護理病例討論制度課件
- 養(yǎng)陰清肺膏的臨床應(yīng)用研究
- 大型集團公司企業(yè)內(nèi)部控制規(guī)章制度和流程總匯編
- 恩施自治州建始東升煤礦有限責(zé)任公司東升煤礦礦產(chǎn)資源開發(fā)利用與生態(tài)復(fù)綠方案
評論
0/150
提交評論