國信藍點杯軟件設計大賽C語言試題及答案_第1頁
國信藍點杯軟件設計大賽C語言試題及答案_第2頁
國信藍點杯軟件設計大賽C語言試題及答案_第3頁
國信藍點杯軟件設計大賽C語言試題及答案_第4頁
國信藍點杯軟件設計大賽C語言試題及答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 C語言程序設計一、 選擇題(1)(40)每題1分,(41)(50)每題2分,共60分)1、有以下程序main( ) char a="abcdefg",b10="abcdefg" printf("%d %dn",sizeof(a),sizeof(b); 執行后輸出結果是()A)7 7 B)8 8 C)8 10 D)10 10sizeof對應指針是4,對應數組是數組所占的字節的多少,所有的包括 0sizeof對與函數傳遞過來的數組也是4,因為在C語言中數組參數被當作指針傳遞2、有以下程序void swap1(int c) int t;

2、t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf("%d %d %d %dn",a0,a1,b0,b1); 其輸出結果是()A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 33、有以下程序void sum(int *a) a0=a1;main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i>=0;i-)

3、 sum(&aai); printf("%dn",aa0); 執行后的輸出結果是()A)4 B)3 C)2 D)14、有以下程序int f(int b4) int i,j,s=0; for(j=0;j<4;j+) i=j; if(i>2) i=3-j; s+=bij; return s;main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf("%dn",f(a); 執行后的輸出結果是()A)12 B)11 C)18 D)165、有以下定義#include <stdio.h

4、>char a10,*b=a;不能給數組a輸入字符串的語句是()A)gets(a) B)gets(a0) C)gets(&a0); D)gets(b);a0是char類型的,其他都為地址類型。在C語言里面要注意類型檢測,可以識別類型的。6、有以下程序main( ) char *p10="abc","aabdfg","dcdbe","abbd","cd" printf("%dn",strlen(p4); 執行后輸出結果是()A)2 B)3 C)4 D)57、有以下

5、程序int a=2;int f(int *a)return (*a)+;main( ) int s=0; int a=5; s+=f(&a); s+=f(&a); printf("%dn",s); 執行后輸出結果是()A)10 B)9 C)7 D)8Gcc中允許在里面定義變量,里面的變量會屏蔽外部變量直至全局變量8、有以下程序#define f(x) x*xmain( ) int i; i=f(4+4)/f(2+2); printf("%dn",i); 執行后輸出結果是()A)28 B)22 C)16 D)49、設有以下語句typedef

6、 struct S int g; char h; T;則下面敘述中正確的是()A)可用S定義結構體變量 B)可以用T定義結構體變量C)S是struct類型的變量 D)T是struct S類型的變量10、有以下程序struct STU char name10; int num; ;void f1(struct STU c) struct STU b="LiSiGuo",2042; c=b;void f2(struct STU *c) struct STU b="SunDan",2044; *c=b;main( ) struct STU a="Ya

7、ngSan",2041,b="WangYin",2043; f1(a);f2(&b); printf("%d %dn",a.num,b.num); 執行后的輸出結果是()A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043/結構體可以直接賦值操作的,結構體是值傳遞不是指針傳遞11、一個算法應該具有"確定性"等5個特性,下面對另外4個特性的描述中錯誤的是A)有零個或多個輸入 B)有零個或多個輸出 C)有窮性 D)可行性有一個或多個輸出12、 以下敘述中正確的是()A)C語言的源

8、程序不必通過編譯就可以直接運行B)C語言中的每條可執行語句最終都將被轉換成二進制的機器指令C)C源程序經編譯形成的二進制代碼可以直接運行D)C語言中的函數不可以單獨進行編譯13、 以下符合C語言語法的實型常量是()A)1.2E0.5 B)3.14.159E C).5E-3 D)E15指數形式:123e3( 代表123乘以10的三次方)e可以是大寫或小寫,其后必須為整數;如 0.12e5、3.5E7 等等;規范化的指數形式為:5.689e003 (=5689)、2.5e004(=0.00025) e左邊必須為1且10的數14、 以下4組用戶定義標識符中,全部合法的一組是()A)_main B)I

9、f C)txt D)int enclude -max REAL k_2 sin turbo 3COM _00115、 若以下選項中的變量已正確定義,則正確的賦值語句是()A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;16、 設有以下定義int a=0; double b=1.25;char c=A;#define d 2則下面語句中錯誤的是()A) a+; B)b+ C)c+; D)d+;自加自減可用于操作浮點型,但結果是錯誤的。17、 設有定義:float a=2,b=4,h=3;,以下C語言表達式與代數式 計算結果不相符的是()A)(a+b)*h/2

10、B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)1/2兩個整型相除結果是0,所以B的結果為0,其余結果為918、 有以下程序main( ) int x=102,y=012; printf("%2d,%2dn",x,y); 執行后輸出結果是()A)10,01 B)002,12 C)102,10 D)02,100x前綴是16進制,0前綴是8進制19、以下4個選項中,不能看作一條語句的是()A); B)a=0,b=0,c=0; C)if(a>0); D)if(b=0) m=1;n=2;20、設有定義:int a,*pa=&a;以下s

11、canf語句中能正確為變量a讀入數據的是()A)scanf("%d",pa); B)scanf("%d",a);C)scanf("%d",&pa); D)scanf("%d",*pa);pa相當于&a,scanf的第二個參數是輸入變量的地址21、有以下程序main( ) unsigned char a,b; a=4|3; b=4&3; printf("%d %dn",a,b(; 執行后輸出結果是()A) 7 0 B)0 7 C)1 1 D)43 022、下面程序的功能是輸

12、出以下形式的金字塔圖案是: * * * *main( ) int i,j; for(i=1;i<=4;i+) for(j=1;j<=4-i;j+) printf(" "); for(j=1;j<=_;j+) printf("*"); printf("n"); 在下劃線處應填入的是()A)i B)2*i-1 C)2*i+1 D)i+223、有以下程序void sort(int a,int n) int i,j,t; for(i=0;i<n-1;i+=2) for(j=i+2;j<n;j+=2) if(ai&

13、lt;aj) t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i<10;i+) printf("%d",aai); printf("n"); 其輸出結果是()A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)9,2,7,4,5,6,3,8,1,10, D)1,10,3,8,5,6,7,4,9,2,24、以下程序段中,不能正確賦字符串(編譯時系統會提示錯誤)的是()A) char s10="

14、;abcdefg" B) char t="abcdefg",*s=t;C) char s10;s="abcdefg" D) char s10;strcpy(s,"abcdefg");25、有以下程序#include <string.h>main(int argc ,char *argv ) int i,len=0; for(i=1;i<argc;i+=2) len+=strlen(argvi); printf("5dn",len); 經編譯鏈接后生成的可執行文件是ex.exe,若運行時輸

15、入以下帶參數的命令行ex abcd efg h3 k44執行后輸出結果是()A)14 B)12 C)8 D)626、有以下程序void f(int a,int i,int j) int t; if(i<j) t=ai; ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i<5;i+) printf("%d,",aai); printf("n"); 執行后輸出結果是()A)5,4,3,2,1, B)5,2,3,4,1, C)1,2,3,4,5, D

16、)1,2,3,4,5,27、有以下程序struct STU char name10; int num; int Score;main( ) struct STU s5="YangSan",20041,703,"LiSiGuo",20042,580, "wangYin",20043,680,"SunDan",20044,550, "Penghua",20045,537,*p5,*t; int i,j; for(i=0;i<5;i+) pi=&si; for(i=0;i<4;i+

17、) for(j=i+1;j<5;j+) if(pi->Score>pj->Score) t=pi;pi=pj;pj=t; printf("5d %dn",s1.Score,p1->Score); 執行后輸出結果是()A)550 550 B)680 680 C)580 550 D)580 68028、有以下程序#include <stdlib.h>struct NODE int num; struct NODE *next; ;main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NOD

18、E *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE);p->num=1;q->num=2;r->num=3;p->next=q;q->next=r;r->next=NULL;sum+=q->next->num;sum+=p->num;printf("%dn",sum); 執行后的輸出結果是A)3 B)4 C)5 D)629、有以下程序#include <stdio.h>main( ) FILE *fp; int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;i<4;i+) fprintf(fp,"%d",i); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d %d

溫馨提示

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

評論

0/150

提交評論