程序設計試習題_第1頁
程序設計試習題_第2頁
程序設計試習題_第3頁
程序設計試習題_第4頁
程序設計試習題_第5頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、XXXXX學院(本科)試卷(B卷)2013 -2014 學年第二學期開課單位:計算機與信息科學系 ,考試形式:機試(閉) 卷,允許帶 入場科目:高級語言程序設計 班級:13軟工 班,姓名: 學號: 題序一二三四五六總 分得分0評卷人說明:1、 將此文件的文件名改為班級+你的學號后兩位+你的姓名,如,“2013軟工1班01張三.doc”,否則不給分。2、 卷時請將此文件保存關閉后再將此文件上傳到FTP服務器上,按照班級名稱分單雙號文件夾存放,如軟工1班單號的存放在“軟工1班單號”文件夾內,位置存放錯誤者造成的后果自負!交卷后由監考老師確認后再離開,交卷后不得再重新交卷。3、 考試時打開除考試試卷

2、的那個文件和visual C+窗口外,不得打開第三個其他軟件,否則將以作弊論處!4、 請將答案填在相應的表或框中,只要結果窗口且盡量緊湊,如下圖所示。不符合要求者將扣分。一、單項選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫下表中,注意,不準修改答案顏色。題號12345678910總分答案得分01、下面有關for循環的正確描述是 ( )。A、for循環只能用于循環次數已經確定的情況B、for循環是先執行循環體語句,后判斷表達式C、在for循環中,不能用break語句跳出循環體D、for循環的循環體語句中,可以包含多條語句,但必

3、須用花括號括起來2、下列標識符組中,合法的用戶標識符為 ( )。A、_0123與ssipedB、del-word與signedC、list與*jerD、 keep%與wind3、若希望當A的值為奇數時,表達式的值為真,A的值為偶數時,表達式的值為假,則以下不能滿足要求的表達式是 ( )。A、 A%2= =1 B、 !(A%2= =0) C、 !(A%2) D、 A%24、C語言中最簡單的數據類型包括()A、整型、實型、邏輯型 B、整型、實型、字符型 C、整型、字符型、邏輯型 D、整型、實型、邏輯型、字符型5、以下對二維整形數組a的正確說明是( )。A、int a3; B、float a(3,4

4、); C、double a14; D、float a(3)(4) 6、下列關于賦值運算符的表述中,錯誤的是( )。A、賦值運算符優先級高于逗號運算符B、賦值運算符的結合性是從左至右 C、賦值運算符是雙目運算符D、賦值運算符可在表達式中連用7、錯誤的if語句是( )。A、 if(x>y) z=x; B、 if(x=y) z=0; C、 if(x!=y) printf("%d",x) else printf("%d",y);D、 if(x<y) x+;y-;8、以下對一維整形數組a進行正確初始化的語句是( )。A、int a10=(0,0,0,0

5、,0); B、int a10=; C、int a=0; D、int a10=10*1;9、關于局部變量,下列說法正確的是 ( )。A、 定義該變量的程序文件中的函數都可以訪問。B、 定義該變量的函數中的定義處以下的任何語句都可以訪問。C、 定義該變量的復合語句的定義處以下的任何語句都可以訪問。 D、 局部變量可用于函數之間傳遞數據。10、能正確表示邏輯關系:“10=a=0”的C語言表達式是 ( ) A、 10>=a>=0 B、 a>=0 and a<=10 C、 a>=0|a<=10 D、 a>=0&&a<=10二、程序運行題(本

6、大題共2小題,每題4分,共8分)。將結果截圖放在題后框內。1、(得分: )運行下列代碼,給一維數組a輸入任意6個整數,建立一個以下內容的方陣并打印。 735 6 2 1 173562 217356 621735 562173 356217將結果窗口截圖放置題后框內。#include “stdio.h”void main() int a6,i,j,k,m; printf(“輸入6個整數:”);for(i=0;i<6;i+)scanf(“%d”, &ai);for(i=5;i>=0;i-) k=a5; for(j=4;j>=0;j-)aj+1=aj;a0=k;for(m=

7、0;m<6;m+) printf(“%2d”,am);printf(“n”);結果截圖: 2、(得分: )運行下列代碼,輸入若干學生成績,輸出其中的最高分和平均分。將結果截圖放在題后框內。#include “stdio.h”void main() int grade,max,n=0,sum=0;scanf(“%d”,&grade);max=grade;while(grade>=0) sum+=grade;scanf(“%d”,&grade);if(grade>max)max=grade;n+;printf(“max=%d,average=%5.2fn”,max

8、,1.0*sum/n);結果截圖:三、程序改錯題(本大題共3小題,每小題5分,共15分),請將正確代碼粘貼到右邊框內。然后運行并將結果截圖。1、(得分: )以下程序實現對任意輸入的四位整數,分別求出其各位數字,并按從后到前的順序依次輸出。例如,輸入為1234時,輸出結果為4,3,2,1。(提示:利用求整和求余運算分別計算出個、十、百和千位數字,再輸出)。請改正程序中的錯誤,并將正確代碼粘貼到右邊框內,然后運行并將結果截圖。#include "stdio.h"void main()int a,b,c,d,x;printf("輸入4位整數:");scanf(

9、"%d",x);a=x%10;b=a/10%10;c=a/100%10;d=a/1000;printf("%f=%d,%d,%d,%dn",x,a,b,c,d);正確代碼粘貼在此處:結果截圖:2、(得分: )以下程序的功能是輸入若干學生成績存于數組中,以輸入-1表示結束輸入,然后求這些學生的平均成績。請改正程序中的錯誤,并將正確代碼粘貼到右邊框內,然后運行并將結果截圖。#include "stdio.h"void main() int a50,i=0,sum;float ave;scanf("%d",&a)

10、;while(ai!=-1) sum+=ai; i+;scanf("%d", &a);ave=sum/i;printf("average=%fn",ave);正確代碼粘貼在此處:結果截圖:3、(得分: )將3本書的書名和單價保存在結構數組中,計算并輸出總價。請改正程序中的錯誤,并將正確代碼粘貼到右邊框內,然后運行并將結果截圖。#include “stdio.h”struct Book char bookname20; int price;Book book3=“計算機導論”,“C程序設計”, “數據結構”, 28.6 , 25.3, 22.5;v

11、oid main() int i; float sumprice;for(i=0; i<3; i+) sumprice+=price;printf(“Total=%fn”, sumprice);正確代碼粘貼在此處:結果截圖:四、程序填空題(本大題共3小題,每題10分,共30分),在每小題的橫線上填上相應的內容。1、(得分: )用ifelse if語句實現:假設獎金稅的稅率如下(a代表獎金數,r代表稅率):a<500 r=0%500<=a<1000 r=5%1000<=a<2000 r=8%2000<=a<5000 r=10%5000<=a

12、r=20%用戶輸入一個獎金數,輸出稅率和應交稅款以及實發獎金。完成下列代碼,然后運行并將結果截圖。#include<stdio.h>int main(void)float a,r;printf("請輸入獎金數:"); ;if(a<500) r=0; ;else if(a<=2000) r=0.08;else if(a<=5000) r=0.1; ;printf("利率為=%.2f,獎金數=%.2f,應交稅款=%.2f,實發獎金=%.2fn",r,a,a*r,a-a*r);return 0;完整代碼粘貼在此處:結果截圖:2、(

13、得分: )以下代碼是:分別定義兩個字符數組str1和str2,str1存放你的姓的全拼(如:peng),str2存放你名的全拼(如:Yichun),然后將字符串str2連接到字符串str1中,最后輸出str1(PengYichun)。完成下列代碼,然后運行并將結果截圖。#include <stdio.h>int main() char s180,s240; int i=0,j=0; printf("請輸入第一個字符串:"); scanf("%s",s1); printf("請輸入第二個字符串:"); scanf("

14、;%s",s2); while ( ) i+; while( ) s1 =s2 ; s1i='0' printf("n合并后的字符串為:%sn",s1); return 0; 完整代碼粘貼在此處:結果截圖:3、(得分: )設計一個程序計算輸入的兩個數的和與差,要求自定義一個函數 sum_diff(float op1, float op2, float *psum, float *pdiff),其中 op1 和 op2 是輸入的兩個數,*psum 和*pdiff 是計算得出的和與差。完成下列代碼。然后運行并將結果截圖。#include<stdi

15、o.h>int main(void) ; float psum,pdiff; float op1,op2; printf("請輸入數,逗號間隔:"); scanf("%f,%f",&op1,&op2); sum_diff( ); printf("%.2f+%.2f=%.2f,%.2f-%.2f=%.2fn",op1,op2,psum,op1,op2,pdiff); return 0;void sum_diff(float op1,float op2,float *psum,float *pdiff) ; *pdi

16、ff=op1-op2;完整代碼粘貼在此處:結果截圖:五、改編題(本大題共2小題,每1小題5分,共10分),請將正確代碼粘貼到右邊框內。然后運行并將結果截圖。1、(得分: )左邊代碼實現:有2個候選人,每個選民只能投票選一人,要求編一個統計選票的程序,先后輸入被選人的名字,最后輸出各人得票結果。現要求改編 程序,如果輸入的名字不在候選人列表中,結果也要顯示此人以及得票結果。#include <string.h>#include <stdio.h>struct Person char name20; int count; ld2; int main() int i,j; c

17、har ld_name20; for (i=1;i<=10;i+) scanf(“%s”,ld_name); for(j=0;j<2;j+) if(strcmp(ldname, )=0) ldj.count+; for(i=0;i<2;i+) printf("%5s:%dn“,, ldi.count); return 0;改編后的代碼粘貼在此處:結果截圖:2、(得分: )左邊代碼是使用冒泡法對10個整數按由小到大順序排序。請改編:使用void sort(int *x,int n)函數實現排序過程,在main函數中實現這10個整數的輸入

18、和輸出,并調用該函數實現排序,程序的其他地方也可能要求有所改動,請按要求改編。#include <stdio.h>void main() int a10; int i,j,t; printf("input 10 numbers :n"); for (i=0;i<10;i+) scanf("%d",&ai); printf("n"); for(j=0;j<9;j+)for(i=0;i<9-j;i+) if (ai>ai+1) t=ai;ai=ai+1;ai+1=t; printf("the sorted numbers :n"); for(i=0;i<10;i+) printf("%d ",ai); printf("n");改編后的代碼粘貼在此處:結果截圖:六、編程題(本大題共2小題,第1小題8分,第2小題9分,共17分)請將代碼粘貼在題后的代碼框內,將結果窗口截圖放在題后的結果框內,盡量不要跨頁。1、 (8分,

溫馨提示

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

最新文檔

評論

0/150

提交評論