03303043高級語言程序設(shè)計(上)期末考試試卷A(上機(jī)考試)_第1頁
03303043高級語言程序設(shè)計(上)期末考試試卷A(上機(jī)考試)_第2頁
03303043高級語言程序設(shè)計(上)期末考試試卷A(上機(jī)考試)_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE7/7上海電機(jī)學(xué)院20102011學(xué)年第1學(xué)期(03303043)《高級語言程序設(shè)計》上A卷開課學(xué)院:電子信息學(xué)院出卷教師:吉順如考試形式:閉卷考試時間90分鐘上機(jī)考考生姓名: 趙君陽 學(xué)號: 19 班級:BQ0902題序題序一二三四五總分得分評卷人一、選擇題(共20分,每小題1分)在一個C語言程序中下列說明正確的是 ( B A)main()函數(shù)必須出現(xiàn)在所有函數(shù)之前B)main()函數(shù)可以在任何地方出現(xiàn)C)main()函數(shù)必須出現(xiàn)在所有函數(shù)之后D)main()函數(shù)必須出現(xiàn)在固定位置二進(jìn)制語言是屬于)A)面向機(jī)器語言 B)面向問題語言 C)面向過程語言 D)面向匯編語言下列符號串中,屬于C語言合法標(biāo)識符的是( A)A)float B)sumone C)2max D)max2以下選項中合法的C語言字符常量是(C )A)‘\092' B)"x" C)‘\xAB’ D)‘xy’若有以下程序段,則變量c(Ainta=6,b=3,c;c=a^b<<2;A)00011011 B)00001010 C)00011000 D)00000110要輸入實(shí)數(shù),用格式字符( C 。A)%d B)%c C)%f putchar(函數(shù)可以向終端輸出一個( D )整型變量表達(dá)式 實(shí)型變量值 C)字符串 D)字符或字符型變量若x是int類型變量是float類型變量,則為了將數(shù)據(jù)55和55.5分別賦給x和則執(zhí)行語句:scanf(“x=%d,y=%f”,&x,&y,);時,正確的鍵盤輸入是(A )。A)5555.5↙ B)x=55,C)55↙55.5↙ D)x=55↙y=55.5↙設(shè)x,y和z是int型變,且x=1,y=2,z=3,則下面表達(dá)式中值為0的(D A)x&&y B)x<=y C)x||y+z&&y-z D)!((x<y)&&!z||1)為了避免嵌套的if-else語句的二義性語言規(guī)定else總是(C組成配對關(guān)系A(chǔ))縮排位置相同的if 在其之前末配對的ifC)在其之前未配對的最近的if 同一行上的11.以下敘述中正確的是( C )CCCC要把高級語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用( D A)編輯程序 B)驅(qū)動程序 C)診斷程序 D)編譯程序程序段num=0;while(num<=2)的循環(huán)執(zhí)行的次數(shù)(A)1次 B)2次 3次 次 C語言中while和do-while循環(huán)的主要區(qū)別(A A)do-while的循環(huán)體至少無條件執(zhí)行一次whiledo-whiledo-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)do-while的循環(huán)體不能是復(fù)合語句以下不正確的描述( B)break語句不能用于循環(huán)語句和switch語句外的任何其它語句在switch語句中使用break語句或continue語句的作用相同C)在循環(huán)語句中使用continueD)在循環(huán)語句中使用break,提前結(jié)束循環(huán)執(zhí)行下列語句序列后,不可能出現(xiàn)的運(yùn)行結(jié)果是( D intn;scanf(“%d”,&n);switch(n){case1:case2:putchar('X');case3:case4:putchar('Y');break;default:putchar('Z');}A)顯示B)顯示顯示顯示若有以下的數(shù)組定義a[]="abcd"; charb[]={'a','b','c','d','e'};則正確的描述是 ( B )a數(shù)組和b數(shù)組長度相同 B)a數(shù)組長度大于b數(shù)組長度C)a數(shù)組長度小于b數(shù)組長度 D)兩個數(shù)組中存放相同的內(nèi)容若有定義str1[30],str2[30];則輸出較大字符串的正確語句是C )if(strcmp(strl,str2)) printf("%s",strl);if(strl>str2) printf("%s",strl);if(strcmp(strl,str2)>0) printf("%s",strl);if(strcmp(strl)>strcmp(str2))printf("%s",strl);18.假設(shè)有定義inti,t[][3]={1,2,3,4,5,6,7,8,9};執(zhí)行語句for(i=0;i<3;i++)printf("%d",t[2-i][i]);后的輸出結(jié)果是(C )A)357 B)753 C)369 D)95119.若變量已正確定,且x的值是1,y的值是2,z的值是4,計算表達(dá)式(x=y==z)后各變量的值( C )A)x=0,y=2,z=4 x=1,y=4,z=4C)x=4,y=4,z=4 20.設(shè)有數(shù)組定義array[]=”China”;則數(shù)組所占的空間是 ( B )A)4個字節(jié) 個字節(jié) C)6個字節(jié) D)7個字節(jié)二、填空題(共20分,每空格1分)程序是由函數(shù)構(gòu)成的。其中有并且只能有 1 個主函數(shù)。一個函數(shù)由兩部分組成:數(shù)的首部和 函數(shù)體 。2.若x和n均是int型變量,且x的初值為26,n的初值為7,則計算表達(dá)式后,變量x的值為 23.表達(dá)式2.5+10/4=4.5 。若定義inta=4,b;則表達(dá)式(b=6*5,a*4),a+16的值是 30,16,32 十進(jìn)制數(shù)89,轉(zhuǎn)換為二進(jìn)制數(shù)為 1011001,轉(zhuǎn)換為十六進(jìn)制數(shù)為 59假設(shè)有定義a=b=c=d=m=n=4。則執(zhí)行表達(dá)式(m=a>b)&&(n=c>d)后,n當(dāng)a=3,b=2,c=1時,表達(dá)式x=a>b>=c的值是 37.若有定義inta=15,b=7,c;則執(zhí)行c=(a%b<1)||(a/b>1);后c的值為 4能判斷x是數(shù)字字符的C語言表達(dá)式是 charc[]若有定義intw=5,x=2,y=6,z=4;則條件表達(dá)式w<x?w:的值是 4cos(x)10.將數(shù)學(xué)cos(x)

轉(zhuǎn)換成C語言表達(dá)式 cos(sqrt(x*x))/(a+b) 。若有定義:doublea[3][5];則a數(shù)組中列下標(biāo)的上限為 312.有如下語句]={”Howareyou!”};sizeof(a)= ,strlen(a))= 13.二維數(shù)組A[4][5]={{2,2,4},{4,6,5,6},{0}};中元素A[1][1]的值是p[20]={'a','b','c','d'},r[]="xyz";strcat(p,r);printf("%s\n",p);出結(jié)果是C字

字符。定義intb=7;floata=5.2,c=6.9;則表達(dá)式b*(int)(a+c)/2的值42 三、程序改錯題(共18分,每小題6分)1、下列程序從鍵盤輸入一個數(shù)n,求1~n之和并輸出。請糾正程序中存在錯誤,使程序?qū)崿F(xiàn)其功能。如輸入5↙輸出:Thesumfrom1to5is15#include<stdio.h>main(){inti=1,n;floatsum;scanf(“%d”,n);for(i<n;i++);sum+=i;printf(“Thesumfrom1to%dis%d\n”,n,sum);}2、下列程序從鍵盤輸入任意一行字符串(設(shè)字符數(shù)不大于20),提取該字符串中的數(shù)字字符并組成一個整數(shù),輸出該整數(shù)及其兩倍的值。請糾正程序中存在錯誤,使程序?qū)崿F(xiàn)其功能。如輸入:abc12e3fgh4i則輸出:1234 2468#include<stdio.h>voidmain(){int i,n=0;char gets(str[80]);for(i=0;str[i]!='\n';i++)if(str[i]>=0&&str[i]<=9)n=n*10+str[i];printf("%d %d\n",n,2*n);}3r和高使程序?qū)崿F(xiàn)其功能。#include<stdio.h>main();{floatr=10,h=5;v=1/3.0*3.14159*r*r*h;printf("v=%f\n",v);}四、程序填空題(共18分,每空格2分)110048的符號或語句,使程序?qū)崿F(xiàn)其功能。程序運(yùn)行結(jié)果為28 48 68 #include<stdio.h>main(){inti,j;for(i=0; i<10① ;i++){ j=i*10+8;if( i%4!=0 ② )continue③ ;printf("%d",j);}}2、以下程序的功能是:采用二分法在給定的有序數(shù)組中查找用戶輸入的值,并顯示查找結(jié)果。請?zhí)顚戇m當(dāng)?shù)姆柣蛘Z句,使程序?qū)崿F(xiàn)其功能。如輸入5輸出為:找到位置為6如輸入10輸出為:10未找到源程序:#include"stdio.h"#defineN10main(){inta[]={0,1,2,3,4,5,6,7,8,9},k;intlow=0,high=N-1,mid,find=0;printf("請輸入欲查找的值:\n");scanf("%d",&k);while(low<=high){mid= ④ if(a[mid]==k){printf("找到位置為:%d\n",mid+1);find=1;}if(a[mid]<k)⑤ ;else⑥ ;}if(!find)printf(“%d未找到\n”,k);}3.以下程序輸入n和n個大于1的正整數(shù),輸出其中素數(shù)。如輸入:51993113715則輸出:191137例示說明:先輸入n為5,再輸入5個正整數(shù),輸出5個整數(shù)中的素數(shù)#include<stdio.h>voidmain(){int n,a,i,j,ct;scanf("%d",&n);for(i=0; ⑦ ;i++){⑧ ;scanf("%d",&afor(j=2;j<a;j++if( ⑨ )ct++;if(ct==0)printf("%d ",a);}printf("\n");}五、編程題(共24分,每小題6分)2+xx>71.從鍵盤輸入實(shí)數(shù)x,按照下列公式計算并輸出y值:y=5+3x3x2-7≤x≤7x<-7#include<stdio.h>#include<math.h>intmain(){floatx,y;scanf(“%d”,&x);if(x>7)y=2+sqrt(x);if(-7<=x<=7)y=5+3x;if(x<-7)y=3*x*x;printf(“y=%f/n”,y);}輸5個整數(shù),輸出其中正整數(shù)的累加和與正整數(shù)的平均值,輸入輸出格式如以下示例如輸入:10 0 20 -5 31則輸出:Sum=61,#include<stdio.h>#define5intsum(intx[],int5);ave(intx[],int5);{Inti=0,sum=0;While(i<5){if(x[i]>0)sum=s

溫馨提示

  • 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

提交評論