2023級電氣類程序設(shè)計試題_第1頁
2023級電氣類程序設(shè)計試題_第2頁
2023級電氣類程序設(shè)計試題_第3頁
2023級電氣類程序設(shè)計試題_第4頁
2023級電氣類程序設(shè)計試題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1.表達(dá)式:2&&-2的值是12.〔――b==d++〕?――b:++d的結(jié)果是43.假設(shè)b=6,d=5,那么表達(dá)式:〔――b==d++〕?d++:――b的結(jié)果是6表達(dá)式執(zhí)行完后d的值為74.假設(shè)有定義inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};那么*a[2]之值是95.假設(shè)有宏定義#definef(x)x*x那么當(dāng)b=4時,執(zhí)行f(b+3)的結(jié)果是6.#include<stdio.h>main(){inta[5]={3,7,9,1,5},*p=a,*q=a;printf(“%d,%d\n〞,*p+3,*(q+2));}其運(yùn)行結(jié)果為69以下各程序中每個程序各有2個錯誤,指出錯誤語句,寫出對應(yīng)正確語句〔每題4分,共20分〕1.現(xiàn)a、b的值,求的值,并當(dāng)不小于10時,將其輸出。#include<stdio.h>文件開頭加<math.h>floatc;寫在a=2;b=3;之前main(){floata,b;a=2;b=3;floatc;c=sqrt(a+b);if(c>=10)printf(“c=%f\n〞,c);}2.從鍵盤輸入變量a的值,已有關(guān)系式:,求出變量b的值并輸出。main()scanf(“%f〞,a);改成scanf(“%f〞,&a);b=5/8*(a-12);改成b=5.0/8*(a-12);{floata,b;scanf(“%f〞,a);b=5/8*(a-12);printf(“b=%f\n〞,b);}3.用遞歸語句編函數(shù)計算6!longf(intm)在子函數(shù)f中:加語句if(m==0)a=1;和語句return(a){longa;if(m<0)printf(“dataerror!〞);elsea=f(m-1)*m;}main(){intn;n=6;printf(“%d!=%ld〞,n,f(n));}4.矩陣a=,求該矩陣對角線元素之和。main()變量定義中加語句intsum=0;for(i=1;i<=3;i++)改為for(i=0;i<3;i++){inti;inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};for(i=1;i<=3;i++)sum=sum+a[i][i];printf(“sum=%d〞,sum);}5.設(shè)整數(shù)x位于[1,10]區(qū)間內(nèi),依次輸出2x的值〔2、4、6、8,……,20〕。main(){intx,y;for(x=1;x<=10;x++)將語句y=2x;改為y=2*x;在語句y=2x;之前加{在語句printf(“%d〞,y);之后加}y=2x;printf(“%d〞,y);}簡答題〔每題6分,共18分〕對于同樣的循環(huán)體和同樣的循環(huán)判斷條件而言,while語句和do-while語句有什么區(qū)別?while循環(huán)是首先判斷循環(huán)條件是否成立,假設(shè)成立那么執(zhí)行循環(huán),假設(shè)不成立循環(huán)那么一次也不執(zhí)行;do-while循環(huán)是先執(zhí)行循環(huán),再判斷循環(huán)條件是否滿足,假設(shè)滿足那么繼續(xù)執(zhí)行循環(huán),假設(shè)不滿足那么終止循環(huán)的運(yùn)行。在do-while循環(huán)中,循環(huán)體至少要執(zhí)行一次。試說明break語句和continue語句在循環(huán)程序應(yīng)用上的區(qū)別。break語句是當(dāng)break語句前的判斷條件成立時,立即結(jié)束循環(huán),跳出循環(huán)體,不再進(jìn)行條件判斷;continue語句是當(dāng)continue語句前的判斷條件成立時,結(jié)束本次循環(huán),跳過本次循環(huán)體進(jìn)行下面尚未執(zhí)行的語句,接著“增〞或“減〞循環(huán)控制變量,再繼續(xù)判斷條件是否滿足。3、假設(shè)已有定義:inta[10];int*p;p=a;試說明*〔p++〕與*〔++p〕有什么區(qū)別?*〔p++〕是先取*p的值,后使p加1,對本例即先得到a[0]的值,然后p指針指向a[1];*〔++p〕使先使p加1,后取*p的值,對本例即p指針指向a[1],再得到a[1]的值。以下各程序中,有假設(shè)干條語句未被寫出。試根據(jù)題意,補(bǔ)全程序,每條橫線填一個語句?!裁款}6分,共18分〕求[2,400]以內(nèi)的最大的素數(shù)f(intx){inti,z;z=0;for(i=2;i++)if(x%i==0){z=1;break;}}main(){inti,max;for(i=2;i<=400;i++)ifmax=i;printf(“最大的素數(shù)=%d\n〞,max);}假設(shè)某一自然數(shù)等于其所有真因子〔因子不包括該數(shù)本身〕之和,那么稱該數(shù)為完全數(shù)。例如:6的真因子有:1、2、3;且6=1+2+3;那么6為完全數(shù)。試求[5,100]之間的最大完全數(shù)和完全數(shù)的個數(shù)main(){inta,b,sum,num,max;for(a=5;a<=100;a++){sum=0;for(b=1;b<a;b++){ifsum=sum+b;}if{num=num+1;max=a;}}printf("thenumberis%d,themaxvalueis%d\n",num,max);}3.輸入一個四位正整數(shù),將其反向輸出,并輸出原來的數(shù)和變換后的數(shù)的乘積如:輸入2104,反向輸出4012,并輸出二者的乘積2104×4012=8441248main(){intnum,new,a,b,c,d;longresult;printf(“請輸入一個四位數(shù)\n〞);〔1〕a=num/1000;/*a為千位上的數(shù)字*/〔2〕/*b為百位上的數(shù)字*/c=num/10%10;/*c為十位上的數(shù)字*/d=num%10;/*d為個位上的數(shù)字*/〔3〕/*new為反向輸出的數(shù)*/result=num*new/*result為兩者的乘積*/printf(“反向的四位數(shù)為%d:兩個數(shù)的乘積為:%ld〞,new,result);}閱讀以下程序,寫出運(yùn)行結(jié)果〔每題6分,共12分〕1.#include<stdio.h>inti=0;staticintj=1;sub(){intk=0;staticintx=1;k++;x++;printf(“subi=%dj=%dk=%dx=%d〞,i,j,k,x);}main(){intk=1;i++;j++;k++;printf(“maini=%dj=%dk=%d\n〞,i,j,k);sub();sub();}運(yùn)行結(jié)果是2.main(){intx[2][3]={4,7,2,5,6,1};char*str[]={"thank","right","good"};char**p;inti,j;printf("%d,%d\n",*x[0],*(x[1]+2)/3);for(i=0;i<2;i++)for(j=0;j<3;j++)printf("%d,",*(x[i]+

溫馨提示

  • 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

提交評論