C語言程序設(shè)計(jì)期末考試試題A_第1頁
C語言程序設(shè)計(jì)期末考試試題A_第2頁
C語言程序設(shè)計(jì)期末考試試題A_第3頁
C語言程序設(shè)計(jì)期末考試試題A_第4頁
C語言程序設(shè)計(jì)期末考試試題A_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、選擇題(每題1.5分,共計(jì)45分)1、以下敘述正確的是【 】AC語言程序是由過程和函數(shù)組成的BC語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x)CC語言函數(shù)不可以單獨(dú)編譯DC語言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在2、以下關(guān)于C語言的敘述中正確的是【 】AC語言中的注釋不可以夾在變量名或關(guān)鍵字的中間BC語言中的變量可以在使用之前的任何位置進(jìn)行定義C在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致DC語言的數(shù)據(jù)常量中夾帶空格不影響常量的正常使用3、以下C語言用戶標(biāo)識(shí)符中,不合法的是【 】A_1BAaBcCa_bDab4、若有定義:doubl

2、e a=22;int i=0,k=18;,則不符合C語言規(guī)定的賦值語句是【 】Aa=a+,i+;Bi=(a+k)<=(i+k);Ci=a%11;Di!a;5、有以下程序include<stdio.h>main() char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%cn”,a,b,c,d);當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開始,<CR>代表回車,注意:回車也是一個(gè)字符)12<CR>34<CR>則輸出結(jié)果是【 】A1234B

3、12C12 3D12 346、以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是【 】A若要準(zhǔn)確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型B若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型7、若a是數(shù)值類型,則邏輯表達(dá)式(a= =1)|(a!=1)的值是【 】A1B0C2D不知道a的值,不能確定8、以下選項(xiàng)中與if(a= =1)a=b; else a+; 語句功能不同的switch語句是【 】Aswitch(a)case:a=b;break;default:a+;Bswitch(a= =1)cas

4、e 0:a=b;break;case 1:a+;Cswitch(a)default:a+;break;case 1:a=b;Dswitch(a= =1)case 1 : a=b;break;case 0 : a+;9、有如下嵌套的if語句if (a<b)if(a<c) k=a;else k=c;elseif(b<c) k=b;else k=c;以下選項(xiàng)中與上述if語句等價(jià)的語句是【 】 Ak(ab)?a:b; k(bc)?b:c;Bk(ab)?(bc)?a:b:(bc)?b:c);Ck(ab)?(ac)?a:c):(be)?b:c);Dk(ab)?a:b; k=(ac)?a:

5、c;10、有以下程序includestdio.hmain()in i,j,m=1;for(i=1;i3;i+)for(j=3;jO;j-)if(i*j)3)break;m=i*j;printf("m=%dn",m);程序運(yùn)行后的輸出結(jié)果是【 】Am=6Bm=2Cm=4Dm=511、有以下程序include(stdio.hmain()int al;b2;for(;a8;a+) b+=a;a+=2;printf("%d,%dn",a,b);程序運(yùn)行后的輸出結(jié)果是【 】A9,18B8,11C7,11D10,1412、有以下程序,其中k的初值為八進(jìn)制數(shù)#incl

6、ude <stdio.h>main()int k011;printf("%dn",k+);程序運(yùn)行后的輸出結(jié)果是【 】A12B11C10D913、下列語句組中,正確的是【 】Achar *s;s="Olympic"Bchar s7;s="Olympic"Cchar *s;s="Olympic"Dchar s7;s="Olympic"14、以下關(guān)于return語句的敘述中正確的是【 】A一個(gè)自定義函數(shù)中必須有一條return語句B一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句

7、C定義成void類型的函數(shù)中可以有帶返回值的return語句D沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處15、下列選項(xiàng)中,能正確定義數(shù)組的語句是【 】Aint num0.2008;Bint num;Cint N=2008; int numN;D#define N 2008 int numN;16、有以下程序#include <stdio.h>void fun(char *c,int d)*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main()char b='a',a='A';fun(&

8、amp;b,a);printf("%c,%cn",b,a);程序運(yùn)行后的輸出結(jié)果是【 】Ab,B,b,ABb,B,B,ACa,B,B,aDa,B,a,B17、若有定義int(*Pt)3;,則下列說法正確的是【 】A定義了基類型為int的三個(gè)指針變量B定義了基類型為int的具有三個(gè)元素的指針數(shù)組ptC定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組D定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(shù)元素的二維數(shù)組18、設(shè)有定義double a10,*s=a;,以下能夠代表數(shù)組元素a3的是【 】A(*s)3B*(s+3)C*s3D*s+319、有以下程序include(stdi

9、o.h)main()int a5=1,2,3,4,5,b5O,2,1,3,0,i,s0;for(i0;i5;i+) ss+abi);printf("%dn", s);程序運(yùn)行后的輸出結(jié)果是【 】A6B10C11D1520、有以下程序include <stdio.h>main()int b 33=O,1,2,0,1,2,O,1,2,i,j,t=1;for(i=0;i<3;i+)for(j=ij<=1;j+) t+=bibji;printf("%dn",t);程序運(yùn)行后的輸出結(jié)果是【 】A1B3C4D921、若有以下定義和語句char

10、 s110="abcd!",*s2="n123"printf("%d %dn", strlen(s1),strlen(s2);則輸出結(jié)果是【 】A5 5B10 5C10 7D5 822、有以下程序#include <stdio.h>#define N 8void fun(int *x,int i)*x=*(xi);main()int aN=1,2,3,4,5,6,7,8,i;fun(a,2);for(i=O;iN2;i+)printf("%d",ai);printf("n");程序運(yùn)

11、行后的輸出結(jié)果是【 】A1313B2234C3234D123423、有以下程序#include <studio.h>int f(int t ,int n);main int a4=1,2,3,4,s;s=f(a,4); printf("%dn",s);int f(int t ,int n) if(n>0) return tn-1+f(t,n-1);else return 0;程序運(yùn)行后的輸出結(jié)果是【 】A4B1OC14D624、有以下程序#include <stdio.h>int fun() static int x=1;x*2; return

12、 x;main()int i,s=1,for(i=1;i<=2;i+) s=fun();printf("%dn",s);程序運(yùn)行后的輸出結(jié)果是【 】AOB1C4D825、有以下程序#include <stdio.h>#define SUB(a) (a)-(a)main() int a=2,b=3,c=5,d;d=SUB(a+b) *c;printf("%dn",d);程序運(yùn)行后的輸出結(jié)果是【 】A0B-12C-20D1026、設(shè)有定義:struct complex int real,unreal; data1=1,8,data2;則以下

13、賦值語句中錯(cuò)誤的是【 】Adata2=data1;Bdata2=(2,6);Cdata2.real=data1.real;Ddata2.real=data1.unreal;27、有以下程序#include <stdio.h>#include <string.h>struct A int a; char b10; double c;void f(struct A t);main() struct A a=1001,"ZhangDa",1098.0;f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);vo

14、id f(struct A t) t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;程序運(yùn)行后的輸出結(jié)果是【 】A1001,zhangDa,1098.0B1002,changRong,1202.0C1001,ehangRong,1098.OD1002,ZhangDa,1202.0 28、有以下定義和語句struct workers int num;char name20;char c;structint day; int month; int year; s;struct workers w,*pw;pw&w;能給w中year

15、成員賦1980的語句是【 】A*pw.year198O;Bw.year=1980;Cpw->year=1980;Dw.s.year=1980;29、有以下程序#include <stdio.h>main() int a=2,b=2,c=2;printf("%dn",a/b&C;程序運(yùn)行后的輸出結(jié)果是【 】AOB1C2D330、有以下程序#include <stdio.h>main() FILE *fp;char str10;fp=fopen("myfile.dat","w");fputs(&quo

16、t;abc",fp);fclose(fp);fpfopen("myfile.data","a+");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);程序運(yùn)行后的輸出結(jié)果是【 】AabcB 28cC abc28D因類型不一致而出錯(cuò)二、填空題(每空2分,共30分)1、設(shè)x為int型變量,請(qǐng)寫出一個(gè)關(guān)系表達(dá)式_,用以判斷x同時(shí)為3和7的倍數(shù)時(shí),關(guān)系表達(dá)式的值為真。 2、有以下程序#include <stdio

17、.h>main() int a=1,b=2,c=3,d=0;if(a=1)if(b!=2)if(c=3) d=1;else d=2;else if(c!=3) d=3;else d=4;else d=5;printf(“%dn”,d);程序運(yùn)行后的輸出結(jié)果是_。3、有以下程序#include <stdio.h>main() int m,n;scanf("%d%d",&m,&n);while(m!=n) while(m>n) m=m-n;while(m<n) n=n-m;printf(“%dn”,m);程序運(yùn)行后,當(dāng)輸入14 63

18、 <回車> 時(shí),輸出結(jié)果是_。4、有以下程序#include <stdio.h>main() int i,j,a3=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+)for(j=i;j<3;j+) printf(“%d%,aij);printf("n");程序運(yùn)行后的輸出結(jié)果是_。 5、有以下程序#include <stdio.h>main() int a=1,2,3,4,5,6,*k3,i=0;while(i<3) ki=&a2*i;printf("%d",*ki);i+;程

19、序運(yùn)行后的輸出結(jié)果是_。6、有以下程序#include <stdio.h>main() int a33=1,2,3,4,5,6,7,8,9;int b3=0,i;for(i=0;i<3;i+) bi=ai2+a2i;for(i=0;i<3;i+) printf("%d",bi);printf("n");程序運(yùn)行后的輸出結(jié)果是_。7、有以下程序#include <stdio.h>#include <string.h>void fun(char *str) char temp;int n,i;n=strlen(

20、str);temp=strn-1;for(i=n-1;i>0;i-) stri=stri-1;str0=temp;main() char s50;scanf("%s",s); fun(s); printf("%sn",s);程序運(yùn)行后輸入:abcdef<回車>,則輸出結(jié)果是_。 8、以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個(gè)位、十位、百位的順序拆分并輸出。請(qǐng)?zhí)羁铡?#include <stdio.h>main() int x=256;printf("%d-%d-%dn",_ ,x/10%10

21、,x/100); 9、以下程序用以刪除字符串所有的空格,請(qǐng)?zhí)羁铡?include <stdio.h>main() char s100="Our teacher teach C language!"int i,j;for(i=j=0;si!=0;i+)if(si!= ' ') sj=si;j+;sj= _printf(“%sn”,s); 10以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標(biāo)值。請(qǐng)?zhí)羁铡?include <stdio.h>main() int a10,*p,*s;for(p=a;p-a<10;p+)

22、 scanf("%d",p);for(p=a,s=a;p-a<10;p+) if(*p>*s) s=_; printf(“index=%dn”,s-a); 三、程序改錯(cuò)題(10分)下列給定程序中,函數(shù)proc的功能是:先從鍵盤輸入一個(gè)3行3列的矩陣各個(gè)元素的值,然后輸出主對(duì)角線元素之積,請(qǐng)修函數(shù)proc中的錯(cuò)誤使其能得出正確的結(jié)果。注意不要修改主函數(shù),不要增刪程序行或更改程序的結(jié)構(gòu)。#include <stdio.h>void proc() int arr33,mul; int i,j; mul=1; printf(" please input an 3*3 array:n"); for (i=0;i<3;i+) /*第一處錯(cuò)誤區(qū)*/ for (i=0;j<3;j+) scanf("%d",&arrii); for(i=0;i<3;i+)/*第二處錯(cuò)誤區(qū)*/ mul=mul*arrij; printf("Mul=%dn",mul);void main() proc();四、程序編寫(15分)請(qǐng)補(bǔ)充main函數(shù),該函數(shù)實(shí)現(xiàn)的功能是把一個(gè)二維字符數(shù)組中最大的字符拷貝到新的數(shù)組

溫馨提示

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