語言期中試題春_第1頁
語言期中試題春_第2頁
語言期中試題春_第3頁
語言期中試題春_第4頁
語言期中試題春_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程號(hào):0401023 C程序設(shè)計(jì)期中考試試卷考試形式:閉卷考試 考試時(shí)間:120分鐘班號(hào) 學(xué)號(hào) 姓名 得分 一、選擇題(每空2分,共40分)。對(duì)每一個(gè)【 】,從A、B、C、D四個(gè)供選擇的答案中,選出一個(gè)正確的答案。1、 一個(gè)C程序的執(zhí)行是從【 】。A)程序的main函數(shù)開始,到main函數(shù)結(jié)束B)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序的最后一個(gè)函數(shù)結(jié)束D)本程序的第一個(gè)函數(shù)開始,到本程序的main函數(shù)結(jié)束2、 下面程序段的輸出結(jié)果是【 】。int a=9;a+=a-=a+a;printf("%dn",a);A)18

2、 B)9C)-18 D)-93、 若有定義:int k=7; float a=2.5 , b= 4.7; 則表達(dá)式 a + k%3*(int)(a+b)%2/4 的值是【 】。A)2500000 B)2.750000 C)3.500000 D)0.0000004、 有以下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一行開始輸入數(shù)據(jù)的時(shí)候,正確的數(shù)據(jù)輸入方式是【 】。(注:表示一個(gè)空格,<CR>表示回車)int a1,a2;char c1,c2;scanf("%d%c%d%c ",&a1,&c1,&a2,

3、&c2);A)10A20B<CR> B)10A20B<CR>C)10A20B<CR> D)10A20B<CR>5、 已知ch是字符型變量,下面正確的賦值語句是【 】。A)ch = “ ” B)ch =xff C)ch = 123 D)ch = 086、若希望當(dāng)變量a的值為奇數(shù)時(shí),表達(dá)式的值為“真”,a的值為偶數(shù)時(shí),表達(dá)式的值為“假”。 則以下不能滿足要求的表達(dá)式是【 】。A)a%2 = = 1 B)!(a%2 = = 0)C)!(a%2) D)a%27、設(shè)ch 是char 類型變量,其值是A,則以下表達(dá)式 ch =(ch >=A&a

4、mp;& ch <=Z)?(ch+a-A):ch 的值是【 】。A)Z B)A C)a D)z8、以下程序的運(yùn)行結(jié)果為【 】。#include <stdio.h>void main() int x1 = 3 , x2 = 1 , x3 = 1 ; if (x1=x2+x3) printf (“ * * * * ” ) ; else printf (“ # # # # ” ) ; A)輸出* * * * B)輸出# # # #C)存在語法錯(cuò)誤 D)無輸出結(jié)果9、若運(yùn)行時(shí)輸入2.0<回車>,則下面程序的輸出結(jié)果是【 】。void main() float a,

5、 b;scanf("%f",&a);if(a<0.0) b=0.0;else if(a<0.5)&&(a!=2.0) b=1.0/(a+2.0);else if(a<10.0) b=1.0/a;else b=10.0;printf("%fn",b);A)0.000000 B)0.500000 C)1.000000 D)0.25000010、執(zhí)行程序段,則下面說法中正確的是【 】。x=-1;do x=x*x; while(!x);A)死循環(huán) B)循環(huán)執(zhí)行2次C)循環(huán)執(zhí)行1次 D)有語法錯(cuò)誤11、當(dāng)輸入為“quert

6、?”時(shí),下面程序的執(zhí)行結(jié)果是【 】。#include <stdio.h>void main() char c; c=getchar(); while(c=getchar()!='?') putchar(+c); A)quert B)vfsu C)quert? D)rvfsu?12、對(duì)一維整型數(shù)組a的說明語句中正確的是【 】。A)int a(10); B)int n=10,an;C)int n; D)#define SIZE 10 scanf("%d",&n); int aSIZE; int an;13、下面程序的輸出結(jié)果是【 】。 voi

7、d main() int x=1,y=0,a=0,b=0; switch( x ) case 1:switch(y) case 0: a+; case 1: b+; break; case 2: a+; b+; break; printf("a=%d,b=%dn",a,b); A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=214、有定義語句:int i;int x33=1,2,3,4,5,6,7,8,9;,則下面語句的輸出結(jié)果是【 】。for(i=0;i<3;i+) printf("%3d",xi2-i);A)159B)14

8、7C)357D)36915、下面程序的運(yùn)行結(jié)果是【 】。void main() int i,j,a=0;for(i=0;i<2;i+) for(j=0;j<4;j+)if(j%2) break;a+; a+;printf("%dn",a);A)4 B)5 C)6 D)716、有兩個(gè)字符數(shù)組a,b,則以下能正確為a,b數(shù)組進(jìn)行賦值的語句是【 】。 A)gets( a, b) ; B)scanf(“%s%s”, &a ,&b) ;C)getchar(a); getchar(b); D)gets(a); gets(b);17、以下能正確計(jì)算1×

9、;2×3×10的程序段是【 】。A) do k=1;n=1; B) do k=1;n=0;n=n*k; n=n*k;k+; k+; while(k<=10); while(k<=10);C) k=1;n=1; D) k=1;n=0;do n=n*k; do n=n*k;k+; k+; while(k<=10); while(k<=10);18、不能把字符串:"good! "賦給數(shù)組b的語句是【 】。A)char b10= 'g', 'o', 'o', 'd', 

10、9;! 'B)char b10; b="good! "C)char b10; strcpy(b, "good! ");D)char b10= "good! "19、下面程序的運(yùn)行結(jié)果是【 】。void main() char a="morning",t;int i,j=0;for(i=1;i<7;i+) if(aj<ai)j=i;t=aj; aj=a7; a7=t; puts(a);A)mogninr B)mo C)morning D)mornin20、下面程序的輸出結(jié)果是【 】。(注:表示一個(gè)

11、空格)int f(int a) int b=0;static int c=3;b+; c+; return(a+b+c);void main() int a=2, i; for(i=0;i<3;i+)printf("%3d",f(a);A) 777B) 71013C) 7911D) 789二、程序選擇填空題(每空 2分,共30分)1、 下面程序是從鍵盤輸入學(xué)號(hào),然后輸出學(xué)號(hào)中百位數(shù)字是 3的學(xué)號(hào),輸入 0時(shí)結(jié)束循環(huán)。請(qǐng)選擇填空。#include<stdio.h>void main() long num; scanf("ld",&

12、mum); do if(【1】) printf("ld",num); scanf("ld",&num); while(【2】); 【1】A) num%100/10=3 B) num/100%10=3C)num%10/10=3 D)num/10%10=3【2】 A)! num B)num0=0 C)! num=0 D)!num!=02、 下面程序的功能是找出數(shù)組中的最大值和此元素的下標(biāo),數(shù)組元素的值由鍵盤輸入。請(qǐng)選擇填空。#include <stdio.h>void main() int a10, k, p; for(k=0;k<

13、10;k+) sacnf(“%d”,【3】);【4】for(k=1;k<10;k+) if(ak>ap) 【5】printf(“最大值=%d,下標(biāo)=%dn”,ap,p);【3】 A)ak B)a(k) C)&ak D)&a(k)【4】 A)p=a0; B)p=0; C)p=1; D)p=a(0);【5】 A)p=k; B)ap=ak; C)ak=ap; D)k=p;3、 下面程序的功能是用起泡法對(duì)10個(gè)數(shù)按由小到大的順序排序。在程序中定義數(shù)組長度為11,a0不用,只用a1到a10,以符合人們的習(xí)慣。請(qǐng)選擇填空。#include <stdio.h>void

14、 main() int i, j, temp, data 11; for(i=1;i<=10;i+) scanf("%d",&datai); for(i=1; i<=9;i+) for(j=1; 【6】;j+) if(【7】) temp=data j; data j=data j+1 ; data j+1=temp; for(i=1;i<11;i+) printf("%d",data i);【6】 A) j<=9 B) j<=i C) j<=10-i D) j<=10【7】A) dataj<data

15、i B) dataj>dataiC) dataj<dataj+1 D) dataj>dataj+14、 下面函數(shù)pi的功能是:根據(jù)以下公式,返回精度滿足0.0005要求的圓周率值。請(qǐng)選擇填空。double pi()double s,t ; int n; for(【8】;t>=0.0005; n+) s+=t; t=t*n/(2*n+1); return (【9】);【8】A)s=0,n=1,t=0 B)s=0,n=1,t=1 C)s=1,n=1,t=1 D)s=0,n=0,t=0【9】 A)s B)t C)2*s D)2*t5、 下面程序用來計(jì)算一個(gè)給定字符串str1的

16、長度。請(qǐng)選擇填空。#include <stdio.h>void main() char str180; int num=0; gets(str1);while(【10】) num+;printf(“字符串str1的長度為:%dn”, num); 【10】A)num<=80 B)str1num!=0 C)str1num!=0 D)str1num!=n6、 以下程序用于求100200間的全部素?cái)?shù),并且每10個(gè)數(shù)據(jù)一行進(jìn)行輸出。請(qǐng)選擇填空。其中變量n中存放素?cái)?shù)的個(gè)數(shù)。 #include <stdio.h> #include <math.h>void main

17、() int m, k, i, n=0;for(m=101;m<=200 ;m=m+2) k=sqrt(m); for(i=2; 【11】;i+)if(【12】) break; if(i>k) ) printf(“%4d”,m); n+; if(【13】) printf(“n”); 【11】A)i>k B)i<=k C)i<m D)i>m【12】 A)m/i=0 B)m%i=0 C)k/i=0 D)m%k=0【13】A)n %10=0 B)n/10=0C)i %10=0 D)n=107、 以下函數(shù)的功能是將字符串s1中除了空格以外的字符全部復(fù)制到數(shù)組s2中。

18、請(qǐng)選擇填空。 void delspace(char s1,char s2) int i, j; for(i=j=0; 【14】; i+)if(s1i!= ) s2j=s1i; j+; 【15】; 【14】A)s1j!=0 B)s1i!=0 C)s1j!=n D)s1i=n【15】 A)s1i=0 B)s1j=0 C) s2j=n D)s2j=0三、填空題(每空2分,共20分)1、下面程序?qū)崿F(xiàn)如下功能:大獎(jiǎng)賽十個(gè)評(píng)委亮分,去掉一個(gè)最高分,去掉一個(gè)最低分,輸出最后得分(平均分)。請(qǐng)將程序補(bǔ)充完整。#include <stdio.h>void main() float avg,cj,ma

19、xcj,mincj,sum; int k; scanf("%f",&cj); maxcj=cj; mincj=cj; 【1】; for(k=1;k<=9;k+) scanf("%f",&cj); sum=sum+cj; if(【2】) maxcj=cj; if(【3】) mincj=cj; avg= (sum-maxcj-mincj)/8; printf(“最后得分是:%6.2fn”,avg);2、下列函數(shù)的功能是用選擇法對(duì)數(shù)組中的n個(gè)整數(shù)由小到大排序。請(qǐng)?zhí)羁?。void sort(int array,int n) int i,j,k,t; for(i=0;i<n-1;i+) 【4】;for(【5】;j<n;j+)if(【6】) k=j;if( k!=i ) t=arra

溫馨提示

  • 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)論