浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷_第1頁
浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷_第2頁
浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷_第3頁
浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷_第4頁
浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

浙江大學(xué)2013–2014學(xué)年冬季學(xué)期《程序設(shè)計基礎(chǔ)及實驗》課程期末考試試卷課程號:21186020,開課學(xué)院:計算機學(xué)院__考試試卷:√A卷、B卷(請在選定項上打√)考試形式:√閉、開卷(請在選定項上打√),允許帶∕入場考試日期:2014年01月14日,考試時間:120分鐘誠信考試,沉著應(yīng)考,杜絕違紀(jì).考生姓名:學(xué)號:所屬院系:_(注意:答題內(nèi)容必須寫在答題卷上,寫在本試題卷上無效)試題一、單選題(每小題2分,共20分)在C語言中,下列表達式的值最大的是_______.A.sizeof(‘a(chǎn)’)B.sizeof(97)C.sizeof(“aaaa”)D.sizeof(97.0)以下程序經(jīng)過編譯連接后的可執(zhí)行文件名是How.exe,執(zhí)行Howareyou!<回車>,輸出結(jié)果是_______.intmain(intargc,char*argv[]){intlen=0;printf(“%c,”,*(*(argv+1)+1)+1);while(--argc>0)len+=strlen(argv[argc]));printf(“%d”,len);}A.s,5B.s,7C.w,5D.w,7假設(shè)a=2,b=‘2‘,s=“2“,下列邏輯表達式中值為1(真)的是_______.A.(s[1]>‘a(chǎn)‘)||~(a+b)B.(b>a)&&(s[2]=‘\0‘)C.!(s+1&&b-a)!a>b&&~(a>b)變量a=1,b=’1’,c=1.0,d=”1”,下列運算不能進行的是_______.A.b/a--B.~a|!bC.c^++aD.d+a-b設(shè)chara[]="0123456789abc";inti=0,j=10;執(zhí)行下列哪一條語句所得到的結(jié)果和其他三項不同_______.A.for(;i<=j;i++,--j)a[i]=a[j];B.for(;i<=j;)a[i++]=a[j--];C.while(i++<=--j)a[i]=a[j];D.do{a[i]=a[j];}while(++i<--j);下面四個選項中,均非浮點數(shù)正確表示的選項是_______.A.160. 0.12 e3B.-.18 123e4 0.0C.-e3 .234 1e3D.123 2e4.2 .e5若有函數(shù)聲明voidf(int*p);及inta[][3]={{1},{2},{3}},*c[3]={a[0],a[1],a[2]};則使得函數(shù)調(diào)用正確的是_______.A.f(a)B.f(c)C.f(*a)D.以上都不是已知職工記錄描述如下,下列正確賦值方式是_______.structworker{intno;charname[20];charsex;structbirth{intday;intmonth;intyear;}a;}w,*p=&w;A.p->name=”li”;B.p->a.year=2000;C.w.day=25;D.w.birth.month=10;以下程序段的輸出結(jié)果是_______.chars1[20]="China",s2[20]="for";if(strcmp(s1,s2))printf("%s\n",strcat(s2,s1));elseprintf("%d\n",strlen(s1));A.3B.5C.ChinaforD.forChina假設(shè)a=5,b=1,在執(zhí)行t=a-b?(b-a?a<<2|b:b<<2|a):a>>b|2之后,t的值為_______.A.21B.11C.6D.1試題二、填空題(每小題2分,共30分)若整型變量x=2,則表達式1<x<<x<4的值為__________.已知unsignedshortm=65539;則執(zhí)行語句printf("%d",m);后的輸出結(jié)果是__________.以下程序的輸出是__________.#include<stdio.h>#defineF"first%s"#defineD"string"voidmain(){charstring[]="character";printf(F,D);}假設(shè)a是一個float變量,語句:printf(____________);可將a按照保留兩位小數(shù)的百分率形式輸出,例如a=0.32049就應(yīng)輸出32.05%(注意需有百分號).運行以下代碼段,則輸出結(jié)果中有__________個“#”.staticinta[10]={1*10},i=0;while(a[i++])printf("#");下列程序段的輸出是__________.intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;case4:c+=2;}printf("%d\n",c);根據(jù)下面的定義,PRINT1(FUDGE(6)*3)的輸出結(jié)果是_______.#defineFUDGE(y) 1.57+y#definePR(a) printf(“%d”,(int)(a))#definePRINT1(a) PR(a);putchar(‘\n’)下列程序段的輸出是__________.intn=2,k=0;while(k++&&++n>2);printf("%d%d\n",k,n);調(diào)用函數(shù)calc(2,8)的返回值是__________.intcalc(intx,inty){if(!y)return1;if(y&1)returnx*calc(x*x,y>>1);elsereturncalc(x*x,y>>1);}假設(shè)已有結(jié)構(gòu)類型定義:structpoint{inta,intb};請用typedef把具有5個上述結(jié)構(gòu)類型元素的數(shù)組類型重新命名為RECT,具體形式為:__________.若有以下的定義和語句,則程序段運行的結(jié)果是__________.structwc{inta;int*b;}*p;intx0[]={11,12},x1[]={31,32};structwcx[2]={100,x0,300,x1};p=x;printf("%d",*++(++p)->b);以下程序段運行的結(jié)果是__________.inti,j,sum;for(i=11;i>=1;i-=3){for(j=1;j<=i;j+=2);sum+=i*j,sum=i+j;}printf("%d\n",sum);對于以下代碼段,若輸入“12e-0x34.56”(不含引號),則輸出結(jié)果是___________.floatf;charc;intd;scanf("%f%c%d",&f,&c,&d);printf("%.2f%c%d",f,c,d);下列程序段的輸出結(jié)果是__________.chars[]="xyz",*ps=s;while(*ps++);ps--;for(ps--;ps-s>=0;ps--)printf("%s#",ps);假設(shè)所有變量均為整型,則表達式(x=3,y=4,x++,y+=y-=x*=y)的值是__________.試題三、程序閱讀題(每小題5分,共30分)下列程序的輸出是_______.#include<stdio.h>intt=2;intfun(intv,int*u){staticintt=1;t+=2**u-v;returnt;}voidmain(){intu=4,v=3;t+=fun(u,&v);printf("%d",fun(t,&u));}如果輸入為:AAA22Bb#44dD,那么下面程序的運行結(jié)果是.#include<stdio.h>voidmain(){ chars[32],oldc='\0',cc; intn=0; while((cc=getchar())!='\n'){ if(cc==oldc)continue; elseif(cc=='#') break; elseif(cc>='a'&&cc<='z'||cc>='A'&&cc<='Z') s[n++]=oldc=cc; } s[n]='\0'; printf("%s\n",s);}下面程序的運行結(jié)果是.#include<stdio.h>voiddown(unsignedn);voidup(unsignedn);voiddown(unsignedn){ if(n<=2)printf("下");else{ down(n-2); printf("下"); up(n-2); down(n-1); }}voidup(unsignedn){ if(n<=2) printf("上"); else{ up(n-1);down(n-2); printf("上"); up(n-2); }}voidmain(){down(4);}運行以下程序后,將輸出________.#include<stdio.h>structnode{charc;structnode*next;};structnode*build(char*s,int*a){structnode*phead=NULL,*pb=NULL,*p;inti=0;while(s[i]!='\0'){p=(structnode*)malloc(sizeof(structnode));p->next=NULL;(*p).c=*(s+*(a+i));if(phead==NULL)phead=p;elsepb->next=p;pb=p;i++;}p->next=phead;returnp;}main(){chars[]="CHARLIE";inta[7]={1,3,5,0,2,4,6},i;structnode*phead;phead=build(s,a);for(i=0;i<5;i++){putchar(phead->c);phead=phead->next;}}下列程序的輸出是_______.#include<stdio.h>structinfo{ charletter; intfreq;};intaddOneChar(charc,structinfotable[],intn){ inti; if(!(c>='a'&&c<='z'))return0; for(i=0;i<n;i++) if(table[i].letter==c){ table[i].freq++; return0; } table[n].letter=c; table[n].freq=1; return1;}voidmain(){ chars[]="Science"; structinfot[26]; intn=0,i; for(i=0;s[i]!='\0';i++) if(addOneChar(s[i],t,n))n++; for(i=0;i<n;i++) printf("%c=%d",t[i].letter,t[i].freq);}假定文本文件abc.txt中包含以下4行內(nèi)容:1 2 3 45 6 7 89 10 11 1213 14 15 16則運行下列程序后,將輸出________。#include<stdio.h>#include<math.h>voidconvert(int*p[],intk){inti,j,t;for(i=0;i<k/2;i++){for(j=0;j<k;j++){t=p[i][j];p[i][j]=p[k-1-i][j];p[k-1-i][j]=t;}}}main(){FILE*fp;intx,i,j,k,n=0,*p,**pp;fp=fopen("abc.txt","r");while(!feof(fp)){fscanf(fp,"%d",&x);n++;}fclose(fp);fp=fopen("abc.txt","r");k=sqrt(n);pp=(int**)malloc(k*sizeof(int*));for(i=0;i<k;i++){pp[i]=(int*)malloc(k*sizeof(int));for(j=0;j<k;j++)fscanf(fp,"%d",pp[i]+j);}fclose(fp);convert(pp,k);for(i=0;i<k;i++)printf("#%d",*(*(pp+i)+i));}試題四、程序填空題(每空2分,共20分)下面程序讀入一個無符號整數(shù),然后調(diào)用函數(shù)convert將其表示為十六進制,并輸出。#include<stdio.h>voidconvert(unsignedintvalue,char*s){ statictable[]="(1)"; chartemp,*tail=(2); do{ *tail++=table[value%16]; (3); }while(value); *tail--='\0'; /*顛倒字符串s的順序*/ while(s<tail){ temp=*s; *s++=*tail; (4); }}voidmain(){ charstr[32]; unsignedintn; printf("輸入一個正整數(shù):"); scanf("%u",&n); (5); printf("%d的十六進制為:%s\n",n,str);}以下程序先讀取文件input.txt中的字符串,然后對字符串進行排序,再把已排序的字符串中重復(fù)的字符刪除,最后輸出結(jié)果。例如,文件input.txt中保存的字符串為"abracadabra",則程序輸出"abcdr"。其中函數(shù)sort()使用冒泡法從小到大排序,函數(shù)delete()刪除已排序的字符串中重復(fù)的字符。#include<stdio.h>#include<stdlib.h>#include<string.h>voidxchg(charp[]){chart;t=p[0];p[0]=p[

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論