中南大學(xué)2015年C語言考試試卷及答案_第1頁
中南大學(xué)2015年C語言考試試卷及答案_第2頁
中南大學(xué)2015年C語言考試試卷及答案_第3頁
中南大學(xué)2015年C語言考試試卷及答案_第4頁
中南大學(xué)2015年C語言考試試卷及答案_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中南大學(xué)考試試卷2015-2016學(xué)年,學(xué)期期末考試試題A卷時(shí)間100分鐘C語言程序設(shè)計(jì)基礎(chǔ)課程也學(xué)時(shí)3學(xué)分考試形式:閉卷專業(yè)年級(jí):2015級(jí)計(jì)算機(jī)電氣類專業(yè)總分100分,占總評(píng)成績70%注:此頁不作答題紙,請(qǐng)將答案寫在答題紙上一、判斷題(每小題1分,共15分)1 .標(biāo)準(zhǔn)C中,只有數(shù)值型數(shù)據(jù)才能進(jìn)行4則混合運(yùn)算。2 .標(biāo)準(zhǔn)C中,_a是合法的自定義標(biāo)識(shí)符。3 .有定義:floatf;表達(dá)式f+=(int)3.6%2"不符合C語言語法。4 .標(biāo)準(zhǔn)C中,邏輯運(yùn)算的結(jié)果只有是1表示滿足條件,而結(jié)果是0表示不滿足條件。5 .C語言程序中要求被調(diào)用函數(shù)在調(diào)用函數(shù)中能被調(diào)用必須要在調(diào)用函數(shù)中進(jìn)行聲

2、明。6 .以下運(yùn)算符排列順序滿足按照優(yōu)先級(jí)從高到低的排列:&&、,、,=,、,-,。7 .語句for(;);是非法的。8 .在C語言程序中可以由多個(gè)源文件構(gòu)成,每個(gè)源文件都可以有自己的main()函數(shù)。9 .while和do-while的主要區(qū)別是后者至少無條件執(zhí)行一次。10 .數(shù)組名代表數(shù)組的首地址是常量,所以將實(shí)參數(shù)組名表示地址傳給形參數(shù)組名是錯(cuò)誤的。11 .當(dāng)函數(shù)沒有返回值類型時(shí),表示函數(shù)類型為void。12 .C語言中,指針變量作函數(shù)參數(shù)時(shí),它們不是采取單向值傳遞的方式。13 .一個(gè)函數(shù)中只允許有一條return語句。14 .在C語言中,如果沒有說明變量的存儲(chǔ)類型是au

3、to類型的。15 .由于指針中所存放的地址都是整數(shù),所以整型指針和浮點(diǎn)型指針可以相互賦值。二、填空題(每空1分,共15分)1. 若a=4;b=5,c=6;則表達(dá)式c=(b=-a);中c的值是(1)。2. 計(jì)算表達(dá)式的值:4&&-4的值:(2);設(shè)inta=3,b=4,c=5,則表達(dá)式a|b+c&&b=c的值:(3);設(shè)x=2.5,a=7,y=4.7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值:(4);設(shè)a=12,則表達(dá)式a*=a/5的值:(5);3. 若intx=4,y=6,z=0;有循環(huán)while(x=y)z+;y-;則循環(huán)語句執(zhí)行完后,z值為。4.

4、 變量的指針就是指該變量的70-。5. 若有定義int(*p)4,則標(biāo)識(shí)符p是;若有定義int*p4,則標(biāo)識(shí)符p是:6. 已有定義:char*p="France","Chinese","Russia","America”;貝U語句printf("%s",p2);printf("%C,*(p1+2);printf("%C,*(*(p+1)+1);的輸出結(jié)果分別為:(10)(11)(7. 已有定義:intx=65;若格式化輸出結(jié)果為“A,65”,則對(duì)應(yīng)的格式化輸出語句為printf(“(1

5、3),(14)”,x,x)。8. 已定義:inta口2=1,2,3,4,2,6,7,2;則a30=(15)。三、簡(jiǎn)答題(每題4分,共12分)1、簡(jiǎn)述選擇語句if和else語句對(duì)與switch語句的區(qū)別。2、簡(jiǎn)述在循環(huán)語句中,break和continue的區(qū)別。3、若inta5,*p=a;簡(jiǎn)述*p+和(*p)+的區(qū)別。四、下列各程序中每個(gè)程序各有2個(gè)錯(cuò)誤,指出錯(cuò)誤語句,寫出對(duì)應(yīng)正確語句(每小題4分,共16分)1、輸入一個(gè)數(shù),計(jì)算其平方根#include<stdio.h>voidmain()floata,b;printf("pleaseinputanumbern")

6、;scanf("%f",a);if(a>=0)b=sqrt(a);printf("b=%f,b);elseprintf("dataiserroin");1232、已知矩陣a=456,求該789矩陣對(duì)角線元素之和。#include<stdio.h>voidmain()inti,sum;inta33=1,2,3,4,5,6,7,8,9;for(i=1;i<=3;i+)sum=sum+aii;printf("sum=%d,sum);3、通過函數(shù)調(diào)用實(shí)現(xiàn)兩個(gè)變量值的交換。#include<stdio.h>v

7、oidswap(int*p1,int*p2)inttemp;temp=*p1;p1=p2;*p2=temp;voidmain()inta=3,b=8,*p;printf("Old:a=%db=%dn",a,b);p=&b;swap(&a,*p);printf("New:a=%db=%dn",a,b);4、用遞歸語句編函數(shù)計(jì)算10!#include<stdio.h>longf(intm)longa;if(m<0)printf("dataerror!elsea=f(m1)*m;voidmain()intn;n=10

8、;printf("%d!=%ld”,n,f(n);卜列程序中缺少若干條語句,在對(duì)應(yīng)的下劃線上填上合適的(每小題6分,共24分)2從鍵盤輸入一組100個(gè)以內(nèi)的整數(shù),使用條件表達(dá)式找出最大的整數(shù),并且以輸入的整數(shù)為0時(shí)作為輸入數(shù)據(jù)結(jié)束標(biāo)志。#defineN100五、程序填空題:語句,每一個(gè)下劃線只填一條語句1、 若一自然數(shù)全部正整數(shù)因子(該因子不包括其本身)之和仍為該自然數(shù),則該自然數(shù)稱為完全數(shù)。如:6=1+2+3,則6是完全數(shù)。輸出2,1000以內(nèi)的所有完全數(shù)及完全數(shù)的個(gè)數(shù)。#include<stdio.h>intmain()intx,n,m,s=0;for(n=2;n&l

9、t;=1000;n+)(1)for(m=1;m<n;m+)if(n%m=0)x=x+m;(2)printf("%d,n);(3)printf(s=%dn”,s);3、用起泡法對(duì)n個(gè)數(shù)由小到大排序。起泡法排序的原理為:從第一對(duì)元素開始比較相鄰的元素,如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè),每一輪下來,該序列的最后的元素應(yīng)該會(huì)是當(dāng)前序列中最大的數(shù)。bubble(inta,intn)inti,j,t,temp;for(i=1;i<=n-1;i+)t=;for(j=0;j<=t;j+)if(8)temp=aj;aj=aj+1;(9);main()intnumN;inti=-1

10、;intmax=0;printf("nInputintegernumber:n");doi+;printf("num%d=",i);scanf("%d",(4);max=(5)numi:max;while(6);printf("max=%dn",max);4、從鍵盤上輸入一個(gè)不多于7位的正整數(shù),統(tǒng)計(jì)其中2的個(gè)數(shù),并求各位數(shù)字中的最小數(shù)。#include<stdio.h>main()intcount,min,temp;longn;min=9;(10);scanf("ld",&n

11、);dotemp=(11);if(temp=2)count+;if(temp<min)min=temp;n=n/10;while(12);printf("count=%d,min=%d,count,min);六、閱讀下列程序,寫出運(yùn)行結(jié)果(第一小題4分,第二小題6分,共10分)1、#include<stdio.h>intmain()inti;for(i=1;i<=5;i+)if(i%2)printf("#");elsecontinue;printf("*");return0;2、#include<stdio.h&g

12、t;voidsub();inti=0;staticintj=1;main()intk=1;i+;j+;k+;printf("maini=%dj=%dk=%dn”,i,j,k);sub();sub();voidsub()intk=0;staticintx=1;k+;x+;printf("subi=%dj=%dk=%dxn”,i,j,k,x);七、編程題(8分)編譯程序,其功能是比較字符串的大小(不允許用系統(tǒng)提供的字符串比較函數(shù)strcmp)。要求是:(1)通過主函數(shù)調(diào)用一個(gè)函數(shù)strcompare來實(shí)現(xiàn)。(2)要求函數(shù)strcompare實(shí)現(xiàn)兩個(gè)字符的比較:如第一個(gè)字符小于第

13、二個(gè)字符則返回一個(gè)負(fù)值;如兩個(gè)字符相等則返回0值;如第一個(gè)字符大于第二個(gè)字符則返回一個(gè)正值。(3)并輸出兩個(gè)字符串中相同部分的子串。C語言程序設(shè)計(jì)基礎(chǔ)試卷參考答案一、判斷題(每小題1分,共15分)15Xa/X冰;610xxxVX1115xxxX二、填空題(每空1分,共15分)( 1)6(2)1(3)1(4)2.5(5)24(6)6( 7)地址(8)行指針,指向有四個(gè)元素的一維數(shù)組( 9)指針數(shù)組名,該數(shù)組有四個(gè)元素,每個(gè)元素都是指針(10) Russia(11)i(12)h(13)%c(14)%d(15)7三、簡(jiǎn)答題(每題4分,共12分)1、 if總是判斷其后面的表達(dá)式的值是否為非零值,如是非

14、零值則執(zhí)行其后面的語句或由括起來的復(fù)合語句,否則執(zhí)行else后面的語句。而switch語句則根據(jù)其后面表達(dá)式的可數(shù)值來判斷,執(zhí)行switch語句體內(nèi)與其中的一個(gè)case:常量值相等語句后面的語句。執(zhí)行break語句后,跳出switch語句體。2、 break是終止整個(gè)循環(huán)過程;continue是終止本次循環(huán)。3、*p+首先取a的值,然后p指向a1;(*p)+使得a0的值自增1,但p保持不變。四、下列各程序中每個(gè)程序各有2個(gè)錯(cuò)誤,指出錯(cuò)誤語句,寫出對(duì)應(yīng)正確語句(每小題4分,共16分)1、 (1)$fe#include<math.h>(2)scanf("%f"曲為s

15、canf("%f",&a);2、 (1)缺sum=0;(2)for(i=1;i<=3;i+)改為for(i=0;i<3;i+)3、 (1)p1=p2改為*p1=*p2(2)swap(&a,*p)改為swap(&a,p)4、 (1)在if(m<0)語句后添加elseif(m=0)a=1;(2)添加return(a);五、程序填空題:下列程序中缺少若干條語句,在對(duì)應(yīng)的下劃線上填上合適的語句,每一個(gè)下劃線只填一條語句(每小題6分,共24分)1、 (1)x=0;2、 (4)&numi3、 (7)n-i-14、 (10)count=0

16、;2)if(n=x)5)max<numi?8)aj>aj+111)n%10(3)$+;或s=s+1;6)numi!=0(9)aj+1=temp12)n>0或n!=0或n六、閱讀下列程序,寫出運(yùn)行結(jié)果(第一小題4分,第二小題6分,共10分)1、 #*#*#*2、 maini=1j=2k=2subi=1j=2k=1x=2subi=1j=2k=1x=3七、編程題(8分)#include<stdio.h>main()inti,j,flag=0;charstr190,str290;gets(str1);gets(str2);i=0;doflag=strcompare(str1i,str2i);i+;while(str1i!=0&&str2i!=0&&flag=0);if(flag<0)printf(“%s小于%sn”,str1,str2);elseif(flag=0)p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論