2019年整理年9月計算機(jī)二級c語言試題及詳細(xì)解答答案精品資料_第1頁
2019年整理年9月計算機(jī)二級c語言試題及詳細(xì)解答答案精品資料_第2頁
2019年整理年9月計算機(jī)二級c語言試題及詳細(xì)解答答案精品資料_第3頁
2019年整理年9月計算機(jī)二級c語言試題及詳細(xì)解答答案精品資料_第4頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、WORD格式一、選擇題在下列各題的 A )、 B )、 C )、 D )四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。( 1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)_。的是 A)循環(huán)隊列 B) 帶鏈隊列 C) 二叉樹D) 帶鏈棧( 2)下列數(shù)據(jù)結(jié)構(gòu)中,能夠按" 先進(jìn)后出 "原則存取數(shù)據(jù)_ 。照 A) 循環(huán)隊列 B) 棧 C) 隊列的是D)二叉樹( 3)對于循環(huán)隊列,下列敘述中正確。_的是A) 隊頭指針是固定不變的B) 隊頭指針一定大于隊尾指針C) 隊頭指針一定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針( 4 )算法的空間

2、復(fù)雜度是指_。A) 算法在執(zhí)行過程中所需要的計算機(jī)存儲空間B) 算法所處理的數(shù)據(jù)量D) 算法在執(zhí)行過程中所需要的臨時工作單元數(shù)( 5 )軟件設(shè)計中劃分模塊的一個準(zhǔn)則是_。A) 低內(nèi)聚低耦合B) 高內(nèi)聚低耦合C)低內(nèi)聚高耦合D) 高內(nèi)聚高耦合( 6 )下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是_。A) 可封裝B) 自頂向下C)模塊化D) 逐步求精( 7 )軟件詳細(xì)設(shè)計產(chǎn)生的圖如下:該圖是。A)N-SB)PADC)程序流程D)E R 圖圖圖圖( 8 )數(shù)據(jù)庫管理系統(tǒng)是_。A) 操作系統(tǒng)的一部分專業(yè)資料整理WORD格式B) 在操作系統(tǒng)支持下的系統(tǒng)軟件C) 一種編譯系統(tǒng)D) 一種操作系統(tǒng)( 9 )在 E

3、R 圖中,用來表示實體聯(lián)系的圖形是_。A) 橢圓形 B) 矩形C) 菱形 D) 三角形(10)有三個關(guān)系R,S 和T如下:RABCa12b21c31SABCd32TABCa12b21c31d32其中關(guān)系 T由關(guān)系 R 和 S 通過某種操作得到,該操作為_。A) 選擇B) 投影C)交D)并( 11 )以下敘述中正確的是_。A) 程序設(shè)計的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試B) 程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)C) 程序設(shè)計的任務(wù)就是確定所用算法D)以上三種說法都不完整( 12 )以下選項中,能用作用戶標(biāo)識符的是_。A)voidB)8_8C)_0_D)unsigned( 13 )閱讀以下程序:#in

4、clude<stdio.h>main() int case ;floatprintF; printf("請輸入2個數(shù): ");scanf("%d%f" , &case ,&printF);專業(yè)資料整理WORD格式printf("% d%fn", case , printF);該程序在編譯時產(chǎn)生錯誤,其出錯原因是_。A) 定義語句出錯, case 是關(guān)鍵字,不能用作用戶自定義標(biāo)識符B) 定義語句出錯, printF不能用作用戶自定義標(biāo)識符D) 定義語句無錯,printf不能輸出 case 的值( 14)表達(dá)式

5、:(int)(double)9/2) (9)%2的值是 _ 。A)0B)3C)4D)5( 15 )若有定義語句:x 10 ;,則表達(dá)式x x x 的值為int_。A) 20B)10C)0D)10( 16 )有以下程序:#include<stdio.h>main()inta 1 , b 0 ;printf("%d,", b a b) ;printf("%dn", a 2程序運行后的輸出結(jié)果是_ 。A)0,0B)1,0C)3,2D)1,2( 17 )設(shè)有定義:inta 1, b 2, c 3 ;,以下語句中執(zhí)行效果與其他三個不同的是_。A)if(

6、a>b)ca, a b , b c ;B)if(a>b)c a , a b , b c ; C)if(a>b)c a ; a b ; b c;D)if(a>b)c a ; a b ; b c ; ( 18 )有以下程序:#include<stdio.h>main()intc 0 , k ;for(k 1 ; k<3 ; k )switch(k) default: c k ;case 2 : c ; break ;case 4 : c 2 ;break ;printf("%dn", c) ;專業(yè)資料整理WORD格式專業(yè)資料整理WORD

7、格式程序運行后的輸出結(jié)果是_。A)3B)5C)7D)9( 19 )以下程序段中,與語k a>b ? (b>c ? 1 :0) : 0 ;功能相_。句: 1 ;同的是A)if(a>b)&&(b>c)kelse k 0; (b>c)k 1;B)if(a>b)else k 0 ;C)if(a< b)k 0;else if(b< c)k 1;D)if(a>b)k 1 ;elsif(b>k 1;ec)elsk 0;e( 20 )有以下程序:#include <stdio.h>main()char s; int i,

8、n"012xy" ;0for(i 0; si! 0 ; i )if (si> 'z') n'a'&&si<;printf("%dn",n) ;程序運行后的輸出結(jié)果是_。A)0B)2C)3D)5( 21 )有以下程序:#include <stdio.h>main()intn2, k 0 ;while(k &&n >2);printf("%d %dn", k , n) ;程序運行后的輸出結(jié)果是_ 。A)02B)13C)57D)12( 22 )有以

9、下定義語句,編譯時會出現(xiàn)編譯錯誤的是_。A)chaB)charrC)char專業(yè)資料整理WORD格式a 'a';a 'aa';a 'n';D)char a 'x2d';( 23 )有以下程序:#include<stdio.h>main()專業(yè)資料整理WORD格式 char cl , c2;cl 'A' '8' '4';c2 'A' '8' '5';printf("%c, %dn", cl , c2) ;已

10、知字母 A 的 ASCIl碼為 65 ,程序運行后的輸出結(jié)果是_。A)E,68B)D,69C)E, DD) 輸出無定值( 24 )有以下程序:#include<stdio.h>voidfun(int p)int d 2 ;p d ;printf("%d", p) ; main()inta 1 ;fun(a); printf("%dn", a) ; 程序運行后的輸出結(jié)果是_ 。A)32B)12C)21D)22( 25)以下函數(shù) findmax 擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導(dǎo)致不能實現(xiàn)預(yù)定功能。#define MIN 2

11、147483647int findmax(intx, int n) int i, max;for(i 0 ; i<n;i ) maxMIN ;if(max<xi)max xi; return max;造成錯誤的原因是_。A) 定義語句 int i,max;中 max 未賦初值B) 賦值語句 max MIN ;中,不應(yīng)給 max 賦 MIN 值C) 語句 if(max<xi)max xi;中判斷條件設(shè)置錯誤D)賦值語句 max MIN ;放錯了位置( 26 )有以下程序:#include<stdio.h>main() int m 1 , n 2, *p &m

12、 , *q&n , *r; r p ; p q ; q r ;printf("%d,%d, %d, %dn", m, n, *p, *q);程序運行后的輸出結(jié)果是_ 。A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2專業(yè)資料整理WORD格式( 27 )若有定義語句:inta410, *p ,*q4;且 0 i<4 ,則錯誤的賦值是_。A)p aB)qi aiC)pD)p &a21ai( 28 )有以下程序:#include<stdio.h>#include<string.h>main() char str

13、20 "Qne*World", "one*Dream! ", *p str1; printf("%d, ", strlen(p);printf("%sn", p) ;程序運行后的輸出結(jié)果是_ 。A)9 , One*WorldB)9 , One*Dream!C)10, One*Dream!D)10 , One*World( 29 )有以下程序:#includ<stdio.h>emain()a , i;in2,3,5,4tfor(i 0 ; i<4; i )switch(i%2)case 0: swi

14、tch(ai%2)case 0 : ai; break ;case 1 : ai;break;case 1 : ai 0 ;for(i 0 ; i<4; i ) printf("%d", ai); printf("n");程序運行后的輸出結(jié)果是_ 。0 5A)3344B)203 0C)3040D)04( 30 )有以下程序:#include<stdio.h>#include <string.h>main()char a10 "abcd";printf("%d, %dn", strlen

15、(a), sizeof(a);專業(yè)資料整理WORD格式程序運行后的輸出結(jié)果是_ 。A)7,4B)4,10C)8,8D)10,10( 31 )下面是有關(guān)C 語言字符數(shù)組的描述,其中錯誤的是_。A) 不可以用賦值語句給字符數(shù)組名賦字符串專業(yè)資料整理WORD格式B) 可以用輸入語句把字符串整體輸入給字符數(shù)組C) 字符數(shù)組中的內(nèi)容不一定是字符串 D)字符數(shù)組只能存放字符串( 32)下列函數(shù)的功能是 _ 。fun(char *a, char*b)while(*b *a) ! '0')a; b ; A) 將 a 所指字符串賦給 b 所指空間B) 使指針 b 指向 a 所指字符串C) 將 a

16、 所指字符串和 b 所指字符串進(jìn)行比較D)檢查 a 和 b 所指字符串中是否有'0'( 33 )設(shè)有以下函數(shù):void fun(int n,char*s)?則下面對函數(shù)指針的定義和賦值均正確的是_。A)voi(*pf)()pf fun ;d;pf fun;B)voi*pf(); *pf fun ;d*pf();C)voidD)void(*pf)(int, char);pf &fun;( 34 )有以下程序:#include <stdio.h>int f(int n);main()int a 3 , s;s f(a);s s f(a);printf("

17、;%dn", s) ;int f(int n) static int a 1 ; n a;return n;程序運行后的輸出結(jié)果是_ 。A)7B)8C)9D)10( 35 )有以下程序:#include <stdio.h>#define f(x) x*x*xmain()int a 3 , s,t ;s f(a 1) ; t f(a 1) ;printf("%d,%dn" , s , t);專業(yè)資料整理WORD格式程序運行后的輸出結(jié)果是_ 。A)10,64B)10,10C)64,10D)64,64專業(yè)資料整理WORD格式( 36 )下面結(jié)構(gòu)體的定義語句中

18、,錯誤的是_。A)strucinx;y ;z ; ; structtordtintintorda;B)strucinx;y;z; structtordtintintorda;C)strucinx;y;tordtintintz; a;D)struix;y;z; )a ;ctntintint( 37 )設(shè)有定義: cha*c ;,以下選項中能夠使字符型c 正確指向一個字符串的是r指針_。A)char str "string"; c str ;B)scanf("%s", c) ;C)c getchar() ;D)*c "string";(

19、38 )有以下程序:#include<stdio.h>#include<string.h>struct A int a; char b10; doublec ; ; struct A f(struct A t);main() struct A a 1001 , "ZhangDa", 1098.0);a f(a); printf("%d, %s, %6.1fn", a.a , a.b , a.c) ;struct A f(struct A t) t a 1002 ; strcpy(t.b, "changRong"

20、); t.c 1202.0 ; return t; 程序運行后的輸出結(jié)果是_ 。A)1001, ZhangDa,1098.0B)1002, ZhangDa,1202.0C)1001 , ChangRong,1098.0D)1002 , ChangRong,1202.0( 39 )若有以下程序段:int r 8;printf("%dn", r>>1);輸出結(jié)果是_ 。A)16B)8C)4D)2( 40 )下列關(guān)于C 語言文件的敘述中正確的是_。A) 文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件B) 文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件C) 文件由數(shù)

21、據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件D)文件由字符序列組成,其類型只能是文本文件專業(yè)資料整理WORD格式二、填空題請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。(1)某二叉樹有 5 個度為 2的結(jié)點以及3 個度為 1 的結(jié)點,則該二叉樹_【 1 】 _ 個結(jié)點。中共有(2)程序流程圖中的菱形框表示的_【 2】 _。是(3)軟件開發(fā)過程主要分為需求分析、設(shè)計、編碼與測試四個階段,其中_【 3】階段產(chǎn)生 " 軟件需求規(guī)格說明書" 。_( 4)在數(shù)據(jù)庫技術(shù)中,實體集之間的聯(lián)系可以是一對一或一對多或多對多的,那么可選課程 " 的聯(lián)系為 _ 【 4 】

22、 _ 。( 5)人員基本信息一般包括:身份證號,姓名,性別,年齡等。其中可以作為主關(guān)鍵字是【5】 _ 。"學(xué)生 "和"_(6)若有定義語句:int a 5 ;,則表達(dá)式:a 的值是_ 【 6 】 _ 。(7)若有語句double x 17 ; int y;,當(dāng)執(zhí)行y (int)(x/5)%2;之后 y 的值為 _ 【 7 】 _ 。( 8 )以下程序運行后的輸出結(jié)果是_【 8 】 _ 。#include<stdio.h>main() int x 20;printf("%d",0<x<20);printf("%d

23、n", 0<x&&x<20);( 9 )以下程序運行后的輸出結(jié)果是_【 9 】_。#include<stdio.h>main() int a 1 , b7; dob b/2; a b ; while(b>1);printf("%dn", a) ; ( 10 )有以下程序:#include<stdio.h>main() int f, fl,f2,i; f1 0 ;f2 1;printf("%d %d" ,f1, f2);for(i 3 ; i< 5; i ) f f1 f2; pri

24、ntf("%d",f) ;f1 f2 ; f2 f ;printf("n");專業(yè)資料整理WORD格式程序運行后的輸出結(jié)果是_ 【10】 _ 。專業(yè)資料整理WORD格式( 11 )有以下程序:#include <stdio.h>int a 5;void fun(int b) int a 10 ;a b ; printf("%d", a) ;main() int c 20 ;fun(c); a c ; printf("%dn", a) ;程序運行后的輸出結(jié)果是_ 【 11】_。( 12 )設(shè)有定義:str

25、uct personint ID;char name12;p;請將 scanf("%d", _【 12 】 _) ;語句補充完整,使其能夠為結(jié)構(gòu)p 的成ID 正確讀入體變量員數(shù)據(jù)。( 13 )有以下程序:#include<stdio.h>main() char a20 "How are you? " ,b20; scanf("%s", b) ;printf("%s %sn", a , b) ;程序運行時從鍵盤輸入:How are you? < 回車 >則輸出結(jié)果為_【13】 _。( 14 )

26、有以下程序:#include <stdio.h>typedef structint num; double s; REC ;void funl(REC x)x.num 23 ; x.s 88.5 ; main()REC a 16,90.0);fun1(a);printf("%dn", a.num) ;程序運行后的輸出結(jié)果是_ 【14】 _ 。( 15 )有以下程序:#include <stdio.h>fun(int x)if(x/2>0) fun(x/2);專業(yè)資料整理WORD格式printf("%d .", x) ;專業(yè)資

27、料整理WORD格式main()fun(6) ,; printf("n")_ 【15】 _ 。程序運行后的輸出結(jié)果是一、選擇題(1)C【解析】根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性結(jié)構(gòu)表示數(shù)據(jù)元素之間為一對一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間為一對多或者多對一的關(guān)系。根據(jù)各種結(jié)構(gòu)的定義知二叉樹是一種非線性結(jié)構(gòu)。(2)B【解析】 棧是限定只在一端進(jìn)行插入與刪除的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。棧頂元素總是后被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最后才能被刪除的元

28、素。棧是按照" 先進(jìn)后出 " 或 "后進(jìn)先出"(3)D【解析】 循環(huán)隊列是將順序隊列首尾相連形成的, 隨著插入元素或刪除元素的進(jìn)行,針及隊尾指針是在不斷變化的,有時可能會出現(xiàn)隊頭指針大于隊尾指針的情況,也可能是隊尾指針大于隊頭指針,故答案為D)。的原則組織數(shù)據(jù)的。其隊頭指(4)A【解析】 算法的空間復(fù)雜度是指: 算法執(zhí)行過程中所需的存儲空間。 一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。(5)B【解析】 模塊劃分應(yīng)考慮的因素包括模塊之間的耦合和內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地低

29、,即模塊盡可能獨立,要求模塊的內(nèi)聚程度盡可能地高,即遵循高內(nèi)聚、低耦合的原則。(6)A【解析】 模塊化、自頂向下、逐步求精都是結(jié)構(gòu)化程序設(shè)計的原則;可封裝是面向?qū)ο蟪绦蛟O(shè)計原則。(7)C【解析】N S 圖是由若干基本框圖構(gòu)成的流程圖,其特點是沒有流程線;PAD圖即問題分析圖 (Problem Analysis Diagram),它是一種由左往右展開的二維樹形結(jié)構(gòu);程序流程圖用于描述問題解決的過程和步驟,其中方框表示處理步驟,菱形框表示邏輯判斷,箭頭表示控制流向;E R 圖即實體聯(lián)系圖( Entity Relationship Diagram),用來描述現(xiàn)實世界的概念模型,構(gòu)成元素有實體、屬性和

30、聯(lián)系,分別用矩形、橢圓形和菱形表示。本題答案為C)。(8)B專業(yè)資料整理WORD格式【解析】數(shù)據(jù)庫管理系統(tǒng)是指位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)是為數(shù)據(jù)庫建立、使用和維護(hù)而配置的軟件。專業(yè)資料整理WORD格式(9)C【解析】 E R 圖中用矩形表示實體 ( 等同于表 ) ,用橢圓形表示實體的屬性 ( 等同于表中字段 ) ,用菱形表示實體關(guān)系 ( 等同于外鍵 ) 。(10)D【解析】兩個相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合。(11)D【解析】程序設(shè)計通常分為問題建模、算法設(shè)計、編寫代碼和編譯調(diào)試四個階段。所以選項A) 、 B) 、 C)說法都不完整。(12)C3

31、種字符組成;第一【解析】C 語言的標(biāo)識符命名規(guī)則為:只能由字母、數(shù)值和下劃線個字符必須是字母或下劃線;不能C 語言中的關(guān)鍵字或保留字相與同。(13)AC 編譯系統(tǒng)已經(jīng)預(yù)定義的、具有特殊用途的保留【解析】標(biāo)識符不能與標(biāo)識符( 即關(guān)鍵字 ) 同名,否則程序在編譯時會出現(xiàn)錯誤。題目源程序中使用了已經(jīng)預(yù)定義的關(guān)鍵字case ,所以將出現(xiàn)錯誤。(14)B(int)(double)9/2)的值為 4 , (9)%2的值為 1 ,因此【解析】(int)(double)9/2) (9)%2的值為 3 。(15)Bx x x 可化為: x x (x x) ,由于 x 初始值為 10 ,所以計算后, x 10 【

32、解析】 20 10,因此選 B)。(16)D【解析】 執(zhí)行第一個 printf語句時, b a b 1,所以輸出1 ,執(zhí)行第二個 printf語 b=2句時, a 2*,所以輸出結(jié)果為 2 。(17)C【解析】逗號表達(dá)式的求解過程是:按表達(dá)式順序從左往右依次求解。本題中由于判斷條件aA) 、B) 、 D) 中 if語句后面的語句均未被執(zhí)b 的值為假,所以選項行,而C)中的后兩條語句a b和 b c 被執(zhí)行,因此C)的執(zhí)行效果與其他三個不同。選項(18)Ak 1,在 switchdefaultc c第一次循環(huán)時,語句中,先執(zhí)行后面的語句,即【解析】 k 1 ,因為沒有 break 語句,所以不會

33、跳switch結(jié)構(gòu),會接著執(zhí)行case2后面的語句,即c c 1出 2 ,專業(yè)資料整理WORD格式然后跳出 switch ;第二次循環(huán)時, k 2 ,直接執(zhí)行 case2 后面的語句, 即 c c 1 3 ,然后跳出 switch 語句,結(jié)束循環(huán),執(zhí)行輸出語句。(19)A【解析】表達(dá)式 k a>b? (b>c ? 1 0) 0 表示:如果 (a>b) 條件為真,則 k 取值 (b>c ?1 0) ,否則k 取值 0 ;當(dāng) a>b 的情況下,如果 b>c ,則 k 值為 1 ,否則為 0 。所以該表達(dá)式與選項A) 功能相同。專業(yè)資料整理WORD格式(20)B【解析】在字符串?dāng)?shù)組si中,只有當(dāng)下標(biāo)i3 和 i 4 時,才滿足if條件,所以n 的值從 0 增加兩次,結(jié)果為2 。(21)D【解析】 本題考查邏輯運算符的"短路 "現(xiàn)象,由于 k的值為 0 ,表達(dá)式首先去求k的值,因為表達(dá)式 k 的值為 00,因此將跳過 n ,系統(tǒng)完全可以確定邏輯表達(dá)式的運算結(jié)果總是為2,不再對它進(jìn)行求值,即k的值加 1, n 的值不變。(22)C【解析】aa 是字符串,不用加上單引號。(23)Ac1 輸出字符的ASCII碼比字母A 大 4,即字母 E ;

溫馨提示

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

最新文檔

評論

0/150

提交評論