c語言試卷參考模板_第1頁
c語言試卷參考模板_第2頁
c語言試卷參考模板_第3頁
c語言試卷參考模板_第4頁
c語言試卷參考模板_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言試卷一、選擇題(40分,每題1分)1、C語言規(guī)定:在一個源程序中,main函數(shù)的位置(C)。A、必須在最開始B、必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C、可以任意 D、必須在最后2、組成C語言程序的是(A)。 A、函數(shù) B、 子程序C、過程 D、主程序和子程序 3、C語言中,用戶能使用的合法標識符是(C)。 A、a_b!B、 xyz C、fa2D、5i 4、若定義inti; 則以下循環(huán)語句的循環(huán)執(zhí)行次數(shù)是(B)。 for(i=2; i=0;) printf("%d", i-); A、 無限次 B、0次 C、1次 D、2次 5、以下關(guān)于宏替換的敘述不正確的是(D)。A、宏替換只是

2、字符替換 B、宏名無類型C、宏替換不占用運行時間 D、宏替換不占用編譯時間6、在循環(huán)語句的循環(huán)體中,continue語句的作用是(C)。 A、立即終止整個循環(huán) B、繼續(xù)執(zhí)行continue語句之后的循環(huán)體 C、結(jié)束本次循環(huán) D、結(jié)束本次循環(huán)并跳出循環(huán) 7、以下對C語言中字符數(shù)組的錯誤描述是(C)。 A、字符數(shù)組可以存放字符串 B、字符數(shù)組中的字符串可以整個輸入、輸出 C、可以在賦值語句中通過賦值運算符=對字符數(shù)組整體賦值 D、字符數(shù)組中字符串的結(jié)束標志是0 8、C語言規(guī)定,函數(shù)返回值的類型由(D)所決定。 A、return語句中的表達式類型 B、調(diào)用該函數(shù)時的主調(diào)函數(shù)類型 C、調(diào)用該函數(shù)時的形

3、參類型 D、在定義該函數(shù)時所指定的函數(shù)類型 1 / 99、以下關(guān)于do-while循環(huán)的不正確描述是(B)。A、do-while的循環(huán)體至少執(zhí)行一次B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號C、在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱?"假")的操作D、do-while的循環(huán)體可以是復合語句10、若a=-14,b=3,則條件表達式 a<b? a:b+1的值為(A)。A、-14 B、-13 C、3 D、411、已知:int n,i=1,j=2;執(zhí)行語句n=i<j?i+:j+;則i和j的值

4、是(C)。A、1,2 B、1,3 C、2,2 D、2,312、為了判斷兩個字符串s1和s2相等,應當使用(D)。A、if (s1=s2) B、if(s1=s2)C、if (strcmp(s1,s2)D、if (strcmp(s1,s2)=0)13、若有說明:int a10; 則對a數(shù)組元素的正確引用是(C)。A、a10B、a3.5C、a5-3D、a-114、以下正確的函數(shù)形式是(D)。A、double fun(int x,int y) z=x+y;return z;B、fun(int x,y) int z; return z;C、fun(x,y) int x,y; double z; z=x+

5、y; return z;D、double fun( int x,int y) double z; z=x+y; return z; 15、對于條件表達式:(M)?(a+):(a-),其中的表達式等價于(C)。A、M = 0B、M = 1C、M != 0D、M != 116、若有以下定義和語句:char *s1 = “12345”, *s2 = “1234”;printf(“%dn”, strlen(strcpy(s1, s2);則輸出結(jié)果是:(A)。A、4B、5C、9D、1017、以下哪一項是不正確的字符串賦值或賦初值的方式:(C)。A、char *str;str = “string”;B、c

6、har str7 = s, 't', 'r', 'i', 'n', 'g'C、char str110; str1 = “string”;D、char str1 = “string”, str2 = “12345678”;18、在以下一組運算符中,優(yōu)先級最高的運算符是(C)。A、<=B、=C、%D、&&19、設(shè)有定義:struct skint a; float b;data, *p; 若有p = &data; 則對data中的a域的正確引用是(B)。A、(*p).data.aB、(*p)

7、.aC、p->data.aD、p.data.a20、執(zhí)行下列語句后,sum變量的值是(B)。int sum = 0, i;for(i = 0; i < 10; i+, sum += i);A、45B、55C、0D、編譯錯誤21、以下關(guān)于typedef的敘述中錯誤的是(A)。A、用typedef可以增加新的類型B、用typedef可以定義各種類型名,但不能用來定義變量C、用typedef只是將已有的類型用新的標識符來代替D、使用typedef有利于程序的通用和移植22、表達式1&3&5&7的值為(A)。A、1B、3C、5D、723、語句printf(“st”)

8、;的輸出結(jié)果為(B)。A、stB、stC、sD、s24、語句:strcat(strcpy(str1, str2), str3)的功能是(C)。A、將字符串str1復制到字符串str2中,再連接到字符串str3之后B、將字符串str1連接到字符串str2之后,再復制到字符串str3中C、將字符串str2復制到字符串str1中,再將字符串str3連接到字符串str1之后D、將字符串str2連接到字符串str1之后,再將字符串str1復制到字符串str3中25、執(zhí)行下列語句后,a的值為(B)。int a;#define M(x, y) (x*y)a = M(1+2, 3);A、9B、7C、5D、以上

9、均不是26、能正確表示“當x取值在1,10和200,210范圍內(nèi)為真,否則為假”的表達式是(B)。A、(x >= 1) && (x <= 10) && (x >= 200) && (x <= 210)B、(x >= 1) && (x <= 10) | (x >= 200) && (x <= 210)C、(x >= 1) | (x <= 10) | (x >= 200) | (x <= 210)D、(x >= 1) && (

10、x <= 10) | (x >= 200) | (x <= 210)27、若用數(shù)組作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。A、數(shù)組的首地址B、數(shù)組的第一個元素C、數(shù)組中全部元素的值D、數(shù)組元素的個數(shù)28、算術(shù)運算符、賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低的次序為(B)。A、算術(shù)運算、賦值運算、關(guān)系運算B、算術(shù)運算、關(guān)系運算、賦值運算C、關(guān)系運算、賦值運算、算術(shù)運算D、關(guān)系運算、算術(shù)運算、賦值運算29、假如指針p已經(jīng)指向變量x,則&*p相當于(A)。A、xB、*pC、&xD、*p30、若執(zhí)行以下語句,則輸出的結(jié)果是(B)。char sp = “tv0wi

11、lln”;printf(“%d”, strlen(sp);A、14B、3C、9D、字符串中有非法字符31、下述程序的輸出結(jié)果是(A)。int x = 10;y = x+;printf(“%d, %d”, (x+, y), y+);/(x+,y) 逗號取其最后的值 單從后向前計算A、11, 10B、11, 11C、10, 10D、10, 1132、假設(shè)指針p1已經(jīng)指向來某個整型變量,要使指針p2也指向同一個變量,則下面各項中正確的是(D)。A、p2 = *p1B、p2 = &p1C、p2 = *p1D、p2 = &*p133、執(zhí)行以下程序段后,c3中的值是(A)。int c1=1

12、,c2=2,c3;c3=c1/c2;A、0B、1/2C、0.5D、134、兩個指針變量的值相等時,表明兩個指針變量是(B)。A、占據(jù)同一內(nèi)存單元B、指向同一內(nèi)存單元地址或者都為空C、是兩個空指針D、都沒有指向35、C語言中運算對象必需是整型的運算符是(C)。A、/B、!C、%D、*36、下列程序的輸出結(jié)果是(D)。void fun(int a, int b, int c) c =a*b; void main( )int c; fun(2,3,c); printf(”%dn”,c);A、0B、1C、6D、無法確定37、下面敘述正確的是(C)。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的空間復

13、雜度是指算法程序中指令(或語句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D、算法的時間復雜度是指執(zhí)行算法程序所需要的時間38、以下數(shù)據(jù)結(jié)構(gòu)屬于非線性數(shù)據(jù)結(jié)構(gòu)的是(C)。A、隊列 B、線性表 C、二叉樹D、棧39、以下錯誤的描述是(B)。A、break語句不能用于循環(huán)語句和switch語句外的任何其他語句B、在switch 語句中使用break語句或continue語句的作用相同C、在循環(huán)語句中使用continue語句是為了結(jié)束本次循環(huán),而不是終止整個循環(huán)D、在循環(huán)語句中使用break語句是為了使流程跳出循環(huán)體,提前結(jié)束循環(huán)40、在c語言中,函數(shù)中變量的隱含存儲類別是(A)。

14、A、autoB、staticC、externD、無存儲類別二、填空題(30分,每空1.5分)1、一個C源程序中至少應包括一個_main_函數(shù)。 2、結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是 順序 結(jié)構(gòu) 循環(huán) 結(jié)構(gòu)和 分支 結(jié)構(gòu)。3、定義int i=1;執(zhí)行語句 while(i+<5);后,i的值為_6_。4、若a是int型變量,且a的初值為6,則計算表達式a+=a-=a*a后,a的值為 _-60_。 5、C語言提供的三種邏輯運算符是&&、_|_和_!_。 6、printf(“%5.3fn”, 123456.12345);輸出為_123456.123_。7、表達式: 3 &

15、amp; (2 & 3 4)的值為_4_。8、整型變量m的值為27,語句printf(“%xn”, m);的輸出為_1b_。9、數(shù)組聲明為int a66; 表達式:*a+3指向 _a【0】【3】, *(a+3)指向 _a【3】【0】_,*a指向 _a【0】【0】_。(注:答案的形式是:a11)10、定義一個帶參數(shù)的宏,若變量中的字符為大寫字母則轉(zhuǎn)換成小寫字母_#defineFUNC(c)(c)+32 或#define FUNC(c)(c)+'a'-'A'_。三、編程題(30分,每題10分)1、設(shè)計一個遞歸函數(shù)實現(xiàn)將任意一個十進制正整數(shù)輸出為八進制數(shù)。 1

16、 void function(int num) 2 3 if(num) 4 5 function(num>>3); 6 printf("%d", num%8); 7 8 2、打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位 數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為 153=1的三次方5的三次方3的三次方。 1 #include <stdio.h> 2 3 int isflower(int num); 4 5 int main() 6 7 int i; 8 printf("The flowers are :

17、n"); 9 for (i=100;i<1000;i+) 10 if(isflower(i)=1) 11 printf("%d ",i); 12 printf("n"); 13 14 return 0; 15 16 17 int isflower(int num ) 18 19 int a , b , c; 20 a=num%10; 21 c=num/100; 22 b=(num%100)/10; 23 if(a*a*a+b*b*b+c*c*c=num) 24 return 1; 25 return 0; 26 3、編寫一個函數(shù)實現(xiàn)將兩個

18、從小到大排列的鏈表合并為一個也是從小到大排列的鏈表。鏈表節(jié)點的類型為:struct nodeint num, struct node *next;(按num大小排列)函數(shù)形式:void func(struct node *list, struct node *list1, struct node *list2)將list1和list2合并為list。注:list1和list2都有頭節(jié)點 1 void func(struct node *list, struct node *list1, struct node *list2) 2 3 struct node *p, *p1, *p2; 4 p1 = list1->ne

溫馨提示

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

評論

0/150

提交評論