




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、福建師范大學C語言程序設計考試題系別 _ 班級 _ 姓名_ 學號_ 得分_一、 選擇題 (本大題共40個選項,每個選擇項1.5分,共60分)1.在C語言中,合法的字符常數是【1】A)程序設計 B)“程序設計”C)c D)2.在C語言中,以下不正確的八進制或不正確的十六進制數是【2】A)090 B)0xABC)0xla D)0163.執行int x2,y3;后表達式x(y3)的值是【3】A)0 B)1C)2 D)34.執行語句int a,b,c; a=(b=c=3, c+, b+=c);則a的值是【4】 A) 3 B) 4 C) 7 D) 115.在循環結構的循環體中執行break語句,其作用是
2、【5】 A) 結束本次循環,進行下次循環 B) 繼續執行break語句之后的循環體中各語句 C) 跳出該循環體,提前結束循環 D) 終止程序運行6.以下程序運行結果是【6】 main() char s=”Address”; printf(%dn”, strlen(s); A) 9 B) 10 C) 11 D) 127.以下程序運行結果是【7】 main() int a=2, 4, 6, 8, 10, y=1, x; for(x=0; x<3; x+) y+=ax+1; printf(“%dn”, y); A) 17 B) 18 C) 19 D) 208.已定義char x8; int i
3、;為了給x數組賦值,以下正確的語句是【8】 A) x8=”Turbo C”; B) x=”Turbo C”; C) x=”Turbo C”; D) for(i=0; i<7; i+) xi=getchar();9.設int a4=0, 0;則以下錯誤的描述是【9】 A) 數組a的每個元素都可得到初值0 B) 二維數組a的第一維大小為1 C) 數組a的行數為1D) 只有元素a00和a01可得到初值0,其余元素得不到初值010.以下程序運行結果是【10】 fun3(int x) static int a=3; a+=x; return a; main() int k=2, m=1, n; n
4、=fun3(k); n=fun3(m); printf(“%dn”, n); A) 3 B) 4 C) 6 D) 911.以下四個運算符,按優先級由高到低的排列順序是【11】 A) + % += > B) % + > += C) % += > + D) + % > +=12.以下不正確的描述是【12】 A) 在函數外部定義的變量是全局變量 B) 在函數內部定義的變量是局部變量 C) 函數的形參是局部變量 D) 局部變量不能與全局變量同名13.“文件包含”預處理語句的使用形式中,當#include后面的文件名用“”括起時,尋找被包含的文件的方式為【13】 A) 直接按系統
5、設定的標準方式搜索目錄 B) 先在源程序所在目錄搜索,再按系統設定的標準方式搜索 C) 僅僅搜索源程序所在的目錄 D) 僅僅搜索當前目錄14.設有語句int(*p)();則p是一個【14】 A) 指向一維整型數組的指針變量 B) 指針函數,該函數的返回值為指向整型變量的指針 C) 指向函數的指針變量,該函數的返回值為整型 D) 數組指針,它的每個元素都是一個可以指向整型變量的指針變量15.若有typedef float AR5;AR a;則以下敘述正確的是【15】 A) a是一個新類型名 B) AR是一個實型數組 C) AR是一個實型變量 D) a是一個實型數組16.C語言的簡單數據類型包括【
6、16】A)整型、實型、邏輯型 B)整型、實型、字符型、邏輯型C)整型、字符型、邏輯型 D)整型、實型、字符型17.在C語言中,變量所分配的內存空間大小【17】A)均為一個字節 B)由用戶自己定義 C)由變量的類型決定 D)是任意的18.在C語言中,合法的整型常數是【18】A)0x123 B)3.14159 C)01001101b D)6.7e1019.下列各變量均為整型,選項中不正確的C語言賦值語句是【19】A)ii; B)i=j=k; C)i=j+=i; D)i=j+1=k;20.數學關系式xyz可用C語言的表達式表示為【20】A)(x<=y)&&(y<=z) B
7、)(x<=y)and(y<=z) C)(x<=y<=z) D)(x<=y)&(y<z)21.若定義float a;現要從鍵盤輸入a數據,其整數位為3位,小數位為2位,則選用【21】A)scanf(“6f”,&a); B)scanf(“5.2f”,a); C)scanf(“6.2f”,&a); D)scanf(“f”,a);22.下面程序段的運行結果是【22】unsigned a=0356,b;b=a|a<<2+1;printf(“%xn”,b);A)ffba B)ff71 C)fff8 D)fc0223.要使以下程序的輸出
8、結果為4,則a和b應滿足的條件是【23】main()int s,t,a,b; scanf(“%d%d”,&a,&b); s=t=1; if(a>0) s += 1; if(a>b) t= s + t;else if(a=b) t=5; else t=2*s;printf(“%dn”,t);A)a>0并且a<b B)a<0并且a<b C)a>0并且a>b D)a<0并且a<b24.若int i;則以下循環語句的循環執行次數是【24】 for (i=2;i=0;) printf(“%d”,i-);A)無限次 B)0次 C)
9、1次 D)2次25.下面程序的輸出結果為【25】main()int i; for(i=100;i<200;i+) if(i%5=0) continue; printf(“%dn”,i); break;A)100 B)101 C)無限循環 D)無輸出結果26.下列程序段的運行結果是【26】int i=1,a=1,5,10,9,13,7;while(ai<=10) ai+=2;for (i=0;i<6;i+) printf(“%d”,ai);A)2 7 12 11 13 9 B)1 7 12 11 13 7 C)1 7 12 11 13 9 D)1 7 12 9 13 727.以
10、下語句把字符串“abcde”賦初值給字符數組,不正確的語句是【27】A)char s=“abcde”; B)char s=a, b,c,d,e,0;C)char s=“abcde”; D)char s5= “abcde”;28.若變量c為char類型,能正確判斷出c為小寫字母的表達式是【28】A) 'a'<=c<= 'z' B) (c>= 'a')|(c<= 'z') C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&
11、amp;&(c<= 'z')29.下列程序段的輸出結果是【29】void fun(int *x, int *y) printf("%d %d", *x, *y); *x=3; *y=4; main() int x=1,y=2; fun(&y,&x); printf("%d %d",x, y); A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 30.以下程序的輸出結果是【30】main() int i, k, a10, p3; k=5; for (i=0;i<10;
12、i+) ai =i; for (i=0;i<3;i+) pi =ai *(i+1); for (i=0;i<3;i+) k+=pi *2; printf("%dn",k); A) 20 B) 21 C) 22 D)23 31.當執行下面的程序時,如果輸入ABC,則輸出結果是【31】main() char ss10="1,2,3,4,5" gets(ss); strcat(ss, "6789"); printf("%sn",ss); A) ABC6789 B) ABC67 C) 12345ABC6 D)
13、ABC456789 32.以下不能對二維數組a進行正確的初始化的語句是【32】A) int a23=0; B) int a3=1,2,3,4,5;C) int a23=1,2,3,4,5,6; D) int a23=1,3,4,5;33.若int a31,2,3,4,5,6,7;則a數組第一維的大小是【33】 A) 2 B) 3 C) 4 D)無確定值 34.下面程序段的運行結果是【34】int a23=1,2,3,i,j;for(i=0;i<2;i+) for(j=0;j<3;j+) aij=ai*j%2j+ai(i+j)%3;printf(“%d,”,aij);A) 2,4,6
14、,2,0,8, B) 1,2,3,0,0,0,C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,35.下面程序段的運行結果是【35】int a3=1,2,3,4,5,6,7,8,9,10,11,12;printf(“%dn”,a21);A) 2 B) 4 C) 7 D)836.定義一個結構體變量時,系統分配給它的內存大小是【36】A) 各成員所需內存量的總和B) 成員中占內存量最大者所需內存容量C) 結構中第一個成員所需內存容量D) 結構中最后一個成員所需內存容量37.若typedef char STRING255;STRING s;,則s是【37】A) 字符指針數組變量B) 字符
15、數組變量C) 字符變量D) 字符指針變量38.若已定義:int *p,a;,則語句p&a;中的運算符“&”的含義是【38】A) 位與運算 B) 邏輯與運算C) 取指針內容 D)取變量地址39.若有定義char *p,ch;則不能正確賦值的語句組是【39】A) p=&ch;scanf(“%c”,p);B) p=(char *)malloc(1); *p=getchar();C) *p=getchar();p=&ch;D) p=&ch;*p=getchar();40.下面程序段的運行結果是【40】char s=“ABC”;int i;for(i=0;i<
16、;3;i+) printf(“%s”,&si);A) ABC B) ABCABCABC C) AABABC D)ABCBCC1.下列敘述中正確的是 A) C語言編譯時不檢查語法 B) C語言的子程序有過程和函數兩種 C) C語言的函數可以嵌套定義 D) C語言所有函數都是外部函數 2.以下所列的C語言常量中,錯誤的是 A) 0xFF B) 1.2e0.5 C) 2L D) '72' 3.下列選項中,合法的C語言關鍵字是 A) VAR B) cher C) integer D) default4.設x、y、t均為int型變量,則執行語句:x=y=3;t=+x|+y;后,y
17、的值為A) 不定值 B) 4 C) 3 D) 1 5.下面程序段的運行結果是【5】float y=0.0,a=2.0,4.0,6.0,8.0,10.0,*p;int i;p=&a1;for(i=0;i<3;i+) y+=*(p+i);printf(“%fn”,y);A) 12.0000 B) 28.0000 C) 20.0000 D) 18.0000 6.下面程序段的運行結果是【6】char c=a,b,0,c,0;printf(“%sn”,c);A) ab c B) ab C) abc D) ab 7.下面程序段的運行結果是【7】char s10,*sp=“HELLO”;str
18、cpy(s,sp);s0=h;s6=!;puts(s);A) hELLO B) HELLO C) hHELLO! D) h! 8.若有定義int a35,i,j;(且0i<3,0j<5),則aij的地址不正確表示是【8】A) &aij B) aijC) *(a+i)+j D) *(*(a+i)+j)9.若有定義int *p4;,則標識符p是一個【9】A) 變量的指針變量B) 指向函數的指針變量C) 指向有四個整數元素的一維數組的指針變量D) 指針數組名,有四個元素,每個元素均為一個指向整型變量的指針10.若有定義char *language=“FORTRAN”, “BASI
19、C” ,“PASCAL” ,“JAVA”,“C”;則language2的值是【10】 A) 一個字符 B) 一個地址 C) 一個字符串 D) 不確定 11.C語言規定,函數返回值的類型由【11】所決定。A) return語句中的表達式類型B) 調用該函數時的主調函數類型C) 調用該函數時的形參類型D) 在定義該函數時所指定的函數類型12.下面程序的輸出結果為【12】#include <stdio.h>#define SQR(x) x*xmain()int a=10,k=3,m=2; a=SQR(k+m); printf(“%dn”,a); A) 25 B) 11 C) 5 D) 1
20、0 13. 下面程序的輸出結果為【13】#include <stdio.h>main()int a=10; int a=15; printf(“a.1=%d,”,a); printf(“a.2=%dn”,a);A) a.1=10,a.2=15 B) a.1=15,a.2=10C) a.1=15,a.2=15 D) a.1=10,a.2=1014.下面函數調用正確的是【14】A) fopen(file.dat,r); B) fprintf(“ld”,data,fp);C) fclose(“file.dat”); D) fread(&i,sizeof(int),1,fp);15
21、.若變量已正確定義并賦值,下面符合C語言語法的表達式是【15】A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 16.C語言中運算對象必須是整型的運算符是【16】A) B) / C) D) <= 17.若已定義x和y為double類型,則表達式x1,yx+3/2的值是【17】A) 1 B) 2 C) 2.0 D) 2.518.有如下程序:main() int i,sum;for(i=1;i<=3;sum+) sum+=i;printf(“%dn”,sum); 該程序的執行結果是【18】A) 6 B) 3 C) 死循環 D) 019.如下
22、程序:int runc(int a,int b)return(a+b);main()int x=2,y=5,z=8,r;r=runc(runc(x,y),z);printf(“%dn”,r);該程序的執行結果是【19】A) 12 B) 13 C) 14 D) 1520.有如下程序段:int *p,a=10,b=1;p=&a;a=*p+b;執行該程序段后,a的值為【20】A) 12 B) 11 C) 10 D) 編譯出錯21.以下函數返回a所指數組中最小的值所在的下標值 fun(int *a,int n) int i,j=0,p;p=j;for(i=j;i<n;i+) if(ai&
23、lt;ap) _;return(p);在下劃線處應填入的是【21】。A) i=p B) ap=ai C) pj D) pi22.在C語言中,函數的隱含存儲類別是【22】。A) auto B) static C) extern D) 無存儲類別23.以下所列的C語言常量中,錯誤的是【23】。A) 0xFF B) 1.2e0.5 C) 2L D) 7224.若a為類型,且其值為3,則執行完表達式a+=a-=a*a后,a的值是【24】。A) 3 B) 9 C) 12 D) 625.有以下程序段:int k0;while(k1) k;while循環執行的次數是【25】A) 無限次 B) 有語法錯,不能
24、執行C) 一次也不執行 D) 執行1次26.當調用函數時,實參是一個數組,則向函數傳遞的是【26】A) 數組的長度 B) 數組的首地址C) 數組每一個元素的地址 D) 數組每個元素中的值27.以下對C語言共用體類型數據的描述中,不正確的是【27】A) 共用體變量占的內存長度等于最長的成員的長度B) 共用體類型可以出現在結構體類型定義中C) 共用體變量可以作為函數的形參D)同一共用體中各成員的首地址相同28.下面函數st的功能是【28】st(char *s)char *q=s; while(*q!=0) q+;return (q-s);A) 檢查字符串s中是否含有空字符B) 生成一個新的字符串q
25、,字符串q是從字符串s的尾部到頭部排列的C) 將字符串s中的非空字符的ASCII碼值增1D)計算字符串s的長度29.以下正確的敘述是【29】A) 在C語言中,main函數必須位于文件的開頭B) C語言的每行中只能寫一條語句C) C語言本身沒有輸入、輸出語句D)對一個C語言程序進行編譯預處理時,可檢查宏定義的語法錯誤30.若執行以下程序段:int a1,b2,m2,n2;(ma>b)&&n; 則n的值是【30】A) 1 B) 2C) 3 D) 431.以下程序的運行結果是【31】#include <stdio.h>main()int i=0; while(1)
26、printf(“*”); i+; if(i<3) break;printf(“n”);A) * B) *C) * D) *32.若有以下程序: #include <stdio.h> main(int argc,char *argv) while(-argc) printf(“%s”,argvargc);printf(“n”); 該程序經編譯和連接后生成可執行文件S.EXE。 現在DOS提示符下鍵入S AA BB CC回車,則輸出結果是【32】A) AABBCC B) AABBCCSC) CCBBAA D) CCBBAAS33.若執行以下程序段 int x=3,y=6,z; z
27、=xy<<2; 則z的二進制值是【33】A) 00011011 B) 00010100C) 00011000 D) 0000011034.以下【34】是非法函數調用語句。A) char c=T; B) char c; putchar(c); getchar(c);C) putchar(0x7) D) putchar(d+1);35.以下不正確的一維數組定義語句是【35】A) double a5=1.0,2.7;B) float a5=1.0,2.7,2.8,2,9,3.1,4.5;C) char a=1, 2, 101, t;D) char a=x10, xa, r;二、填空題(本
28、大題共20個空,每個空2分,共40分)1.表示條件:10<x<100或x<0的C語言表達式是 【1】 2.以下程序的功能是:從鍵盤上輸入若干個學生的成績,統計并輸出最高成績和最低成績,當輸入負數時結束輸入,請填空。 main() float x,amax,amin; scanf(“%f”,&x); amax=x; amin=x; while(【2】) if (x>amax) amax=x; if(【3】) amin=x; scanf(“%f”,&x);printf(“namax=%fnamin=%fn”,amax,amin);3.Fibonacci數列中
29、的頭兩個數是1和1,從第三個數開始,每個數等于前兩個數之和。下述程序計算此數列的前20個數,且每行輸出5個數,請填空。#include <stdio.h>void main() int f,f1=1,f2=1; int i; printf(“%6d,%6d”,f1,f2); for (i=3;i<=20;i+) f=【4】 printf(“%6d”,f); if(【5】)printf(“n”); f1=f2; 【6】 4.下面程序的功能是將兩個字符串連接起來,請填空。#include <stdio.h>main() char s180,s240; int i=0,
30、j=0; printf(“nInput string1:”);scanf(“%s”,s1);printf(“Input string2:”);scanf(“%s”,s2);while(s1i!=0)i+;while(s2j!=0) 【7】; 【8】=0; printf(“%sn”,s1); 5.計算1+1/2+1/4+1/50的值,并顯示出來。 main() int i=2; float sum=1.0; while(i<=【9】) sum+=1/【10】; i+=2; printf(“sum=%fn”,sum); 6.以下程序是用來統計正整數的各位數字中零的個數,并求各位數字中最大者。
31、 main() unsigned long num,max,t; int count; count=max=0; scanf(“%ld”,&num); do t=【11】;if(t=0) +count;else if(max<t) 【12】;num/=10; while(num); printf(“count=%d,max=%ldn”,count,max); 7.以下程序功能是當輸入學生序號(1或2或3)后,能輸出該學生的全部成績(共有三位學生,每位學生有4門成績)。#include <stdio.h>main() float score4=60,70,80,90,5
32、6,89,67,88,34,78,90,66, (*p)4; int n,i;p=【13】; scanf(“%d”,&n); printf(“序號為d的學生成績是:”,n); for(i=0;i<4;i+) printf(“%5.1f”,p【14】); 8. 以下程序經過編譯連接后得到的可執行文件名為show.exe,程序的功能是將用戶運行程序時鍵入的參數作為字符串連接起來,并在屏幕上顯示,例如在dos提示符下輸入:show ABC DEF GH回車,則在屏幕上將顯示 ABCDEFGH。#include “string.h”main(int 【15】 ,char *argv) c
33、har s1000=”; int i; for (i=1;i<argc;i+)strcat(s, 【16】);printf(“%sn”,s);9.若變量n中的值為24,則print函數共輸出【17】行,最后一行有【18】個數。 void print(int n,int aa) int i; for(i=1;i<=n;i+) printf(“%6d”,aai); if(!(i%5) printf(“n”); printf(“n”); 10.以下程序顯示如下所示的矩陣,矩陣中每個元素形成的規律是:右上三角陣(含對角線)元素為1,其它元素值為:行下標列下標1。1 1 1 1 12 1 1
34、 1 13 2 1 1 14 3 2 1 15 4 3 2 1 main() int i,j,a55;for(i=0;i<=4;i+) for(j=0;j<5;j+) if(【19】) aij=1; else 【20】=i-j+1;for(i=0;i<5;i+) for(j=0;j<5;j+) printf(“%3d”,aIj); printf(“n”);1.若已知a=1,b=2,則表達式!a<b的值是【1】。2.若有以下定義double a10; 則a數組元素下標的上限為【1】 ,下限為【1】 。1.以下程序的輸出結果是【1】 main() int a=1, b
35、=2; a=a+b; b=a-b; a=a-b; printf("%d,%dn", a, b ); 2.下列程序的輸出結果是16.00,請填空。main() int a=9, b=2; float x= 【2】, y=1.1, z; z=a/2+b*x/y+1/2; printf("%5.2fn", z ); 3.下列程序段的輸出結果是【3】。 main() char b="Hello,you" b5=0; printf("%sn", b ); 4.下列程序段的輸出結果是【4】。 int n='c' switch(n+) default: printf("error");break; case 'a':case 'A':case 'b':case 'B':printf("good");break; case 'c':cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 苗醫技能型人才培養中的師承與技術傳承機制建設
- 政企合作對鄉村職業教育發展的實際影響
- 幼小銜接協同育人機制的策略及實施路徑
- 推進綠色創新的策略及實施路徑
- 區域旅游生態位的動態評估與競合模式
- 企業財務分析對經營決策的作用與影響
- 深圳市光明區區屬公辦中小學招聘教師筆試真題2024
- 內蒙古億利化學工業有限公司招聘筆試真題2024
- 2024年木里縣選聘社區工作者真題
- 海南省農村義務教育階段學校特設崗位教師招聘筆試真題2024
- 基于GIS的四川省旅游資源調查、分類與評價
- 刑事案件模擬法庭劇本完整版五篇
- 錄播教室設備投標方案(技術標)
- 公司對項目部安全檢查和整改記錄表
- 人行道欄桿計算
- 小學心理健康教育-我會舉手發言教學設計學情分析教材分析課后反思
- 鹽堿地治理施工方案
- 東南大學高等數學實驗報告-2
- 病理英語詞匯表
- 江蘇省連云港市海州區2022-2023學年八年級下學期期末數學試題(含答案)
- 西師版小學數學-畢業總復習資料
評論
0/150
提交評論