一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

C語言軟件開發(fā)筆試題目

時間:2024-12-25 16:10:04 資料大全 我要投稿
  • 相關(guān)推薦

C語言軟件開發(fā)筆試題目(精選5套)

  在日常學(xué)習(xí)、工作生活中,我們都不可避免地會接觸到試題,試題有助于被考核者了解自己的真實(shí)水平。什么樣的試題才是好試題呢?下面是小編收集整理的C語言軟件開發(fā)筆試題目,希望對大家有所幫助。

C語言軟件開發(fā)筆試題目(精選5套)

  C語言軟件開發(fā)筆試題目 1

  (1)什么是預(yù)編譯,何時需要預(yù)編譯:

  答案:

  1、總是使用不經(jīng)常改動的大型代碼體。

  2、程序由多個模塊組成,所有模塊都使用一組標(biāo)準(zhǔn)的包含文件和相同的編譯選項(xiàng)。在這種情況下,可以將所有包含文件預(yù)編譯為一個預(yù)編譯頭。

  預(yù)編譯又稱為預(yù)處理,是做些代碼文本的替換工作。處理#開頭的指令嗎,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等,就是為編譯做的預(yù)備工作的階段,主要處理#開始的預(yù)編譯指令,預(yù)編譯指令指示了在程序正式編譯前就由編譯器進(jìn)行的.操作,可以放在程序中的任何位置。c編譯系統(tǒng)在對程序進(jìn)行通常的編譯之前,先進(jìn)行預(yù)處理。c提供的預(yù)處理功能主要有以下三種:1)宏定義 2)文件包含 3)條件編譯。

  (2)char* const p, char const* p,const char*p 上述三個有什么區(qū)別?

  答案:

  char * const p; //常量指針,p 的值不可以修改

  char const * p;//指向常量的指針,指向的常量值不可以改

  const char *p;//和char const *p等價

  (3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc";

  const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < <( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout <

  < ( str7 == str8 ) < < endl;

  結(jié)果是:0 0 1 1 str1,str2,str3,str4 是數(shù)組變量,它們有各自的內(nèi)存空間;而str5,str6,str7,str8是指針,它們指向相同的常量區(qū)域,

  (4)以下代碼中的兩個sizeof 用法有問題嗎?

  void UpperCase( char str[] ) // 將 str 中的小寫字母轉(zhuǎn)換成大寫字母

  {

  for( size_t i=0;i

  if( a <=str[i] && str[i] <=z )

  str[i] -= (a-A );

  }

  char str[] = "aBcDe"; cout < < "str 字符長度為: " < < sizeof(str)/sizeof(str[0]) < < endl;

  UpperCase( str ); cout < < str < < endl;

  答案:函數(shù)內(nèi)的sizeof 有問題。根據(jù)語法,sizeof 如用于數(shù)組,只能測出靜態(tài)數(shù)組的大小,無法檢測動態(tài)分配的或外部數(shù)組大小。函數(shù)外的str 是一個靜態(tài)定義的數(shù)組,因此其大小為6,因?yàn)檫有\(zhòng)0,函數(shù)內(nèi)的str 實(shí)際只是一個指向字符串的指針,沒有任何額外的與數(shù)組相關(guān)的信息,因此sizeof 作用于上只將其當(dāng)指針看,一個指針為4 個字節(jié),因此返回4。

  (5)一個32 位的機(jī)器,該機(jī)器的指針是多少位答案:

  指針是多少位只要看地址總線的位數(shù)就行了。80386 以后的機(jī)子都是32 的數(shù)據(jù)總線。所以指針的位數(shù)就是4 個字節(jié)了。

  C語言軟件開發(fā)筆試題目 2

  (1)算法的時間復(fù)雜度是指_______。

  A)執(zhí)行算法程序所需要的時間

  B)算法程序的長度

  C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)

  D)算法程序中的指令條數(shù)

  答案:C

  評析:所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。

  (2)下列敘述中正確的是________。

  A)線性表是線性結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)

  C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)

  答案:A

  評析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

  (3)下面關(guān)于完全二叉樹的敘述中,錯誤的是_________。

  A)除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

  B)可能缺少若干個左右葉子結(jié)點(diǎn)

  C)完全二叉樹一般不是滿二叉樹

  D)具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1

  答案:B

  評析:滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的`結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。

  C語言筆試題答案篇

  (1)結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是_________。

  A)程序的規(guī)模B)程序的易讀性

  C)程序的執(zhí)行效率D)程序的可移植性

  答案:B

  評析:結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測試,以保證程序的正確性。

  (2)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。

  A)概要設(shè)計B)詳細(xì)設(shè)計C)可行性分析D)需求分析

  答案:D

  評析:需求分析是對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。

  (3)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。

  A)控制流B)加工C)數(shù)據(jù)存儲D)源和潭

  答案:A

  評析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。

  (4)軟件需求分析一般應(yīng)確定的是用戶對軟件的__________。

  A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求

  答案:D

  評析:軟件需求分析中需要構(gòu)造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對軟件的功能需求和非功能需求。

  C語言軟件開發(fā)筆試題目 3

  (1)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是________。

  A)數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余

  B)數(shù)據(jù)庫系統(tǒng)避免了一切冗余

  C)數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

  D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

  答案:A

  評析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。

  (2)關(guān)系表中的每一橫行稱為一個________。

  A)元組B)字段C)屬性D)碼

  答案:A

  評析:在關(guān)系數(shù)據(jù)庫中,關(guān)系模型采用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。

  (3)數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是________。

  A)概念設(shè)計和邏輯設(shè)計B)模式設(shè)計和內(nèi)模式設(shè)計

  C)內(nèi)模式設(shè)計和物理設(shè)計D)結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計

  答案:A

  評析:數(shù)據(jù)庫設(shè)計可分為概念設(shè)計與邏輯設(shè)計。概念設(shè)計的目的是分析數(shù)據(jù)間內(nèi)在語義關(guān)聯(lián),在此基礎(chǔ)上建立一個數(shù)據(jù)的抽象模型。邏輯設(shè)計的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。

  (4)請讀程序:

  #include

  main

  {

  int a;float b,c;

  scanf(“%2d%3P%4f’,&a,&b,&C);

  printf(” a=%d,b=%ec。%f ”,a,b,C);

  }

  若運(yùn)行時從鍵盤上輸入9876543210l,則上面程序的輸出結(jié)果是________。

  A)a=98,b=765,c=432 1

  B)a=1 0,b=432,c=8765

  C)a=98,b=765.000000,c=432 1.000000

  D)a=98,b=765.0,c=432 1.0

  答案:C

  評析:scanf把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf遺棄。這時變量a、b、c的值分別為:98、765.000000、4321.000000。

  (5)一個良好的算法由下面的基本結(jié)構(gòu)組成,但不包括__________。

  A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu)D)跳轉(zhuǎn)結(jié)構(gòu)

  答案:D

  評析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。

  (6)請選出以下程序的輸出結(jié)果________。

  #include

  sub(x,y,z)

  int x,y,星符號z:

  {星符號z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的`值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。

  (7)下面程序在屏幕上的輸出是________。

  main

  {

  printf(”ab c”);

  }

  A)ab c B)a c C)abc D)ab c

  答案:B

  評析:c語言中允許使用一種特殊形式的字符常量,、就是以一個“”開頭的字符序列,這樣的字符稱為“轉(zhuǎn)義字符”。常用的轉(zhuǎn)義字符有:,換行;,水平制表;,退格;,回車。

  (8)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是_______。

  A)pb=&x; B)pb=x; C)星符號pb=星符號、/)還包括自增自減運(yùn)算符(++、–),在c語言解析表達(dá)式時,它總是進(jìn)行貪婪咀嚼,這樣,該表達(dá)式就被解析為i++ ++ +i,顯然該表達(dá)式不合c語言語法。

  (10)若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元

  int星符號int) D)(int星符號)

  答案:D

  評析:不論p是指向什么類型的指針變量,都可以通過強(qiáng)制類型轉(zhuǎn)換的方法使之類型一致,強(qiáng)制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型+)。

  (11)下面程序輸出的結(jié)果是__________。

  main

  {

  int i=5,J=9,x;

  x=(I==j?i:(j=7));

  printf(” %d,%d”,I,J);

  }

  A)5,7 B)5,5 C)語法錯誤D)7,5

  答案:A

  評析:條件表達(dá)式的一般形式為:表達(dá)式I?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式l的值為假,則求解表達(dá)式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。

  C語言軟件開發(fā)筆試題目 4

  (1)下列敘述中正確的是

  A.棧是“先進(jìn)先出”的線性表

  B.隊(duì)列是“先進(jìn)先出”的線性表

  C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

  D.有序性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)

  (2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是

  A.棧

  B.樹

  C.隊(duì)列

  D.二叉樹

  (3)某二叉樹有5個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是

  A.10

  B.8

  C.6

  D.4

  (4)下列排序方法中,最壞情況下比較次數(shù)最少的是

  A.冒泡排序

  B.簡單選擇排序

  C.直接插入排序

  D.堆排序

  (5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是

  A.編譯軟件

  B.操作系統(tǒng)

  C.教務(wù)管理系統(tǒng)

  D.匯編程序

  (6)下面敘述中錯誤的是

  A.軟件測試的目的`是發(fā)現(xiàn)錯誤并改正錯誤

  B.對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟

  C.程序調(diào)試通常也稱為Debug

  D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性

  (7)耦合性和內(nèi)聚性是對模塊獨(dú)立性度量的兩個標(biāo)準(zhǔn)。下列敘述中正確的是

  A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性

  B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性

  C.耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度

  D.內(nèi)聚性是指模塊間互相連接的緊密程度

  (8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是

  A.數(shù)據(jù)庫設(shè)計

  B.數(shù)據(jù)庫系統(tǒng)設(shè)計

  C.數(shù)據(jù)庫維護(hù)

  D.數(shù)據(jù)庫管理員培訓(xùn)

  (9)有兩個關(guān)系R,S如下:

  R

  ABC

  a32

  b01

  c21

  S

  AB

  a3

  b0

  c2

  由關(guān)系R通過運(yùn)算得到關(guān)系S,則所使用的運(yùn)算為

  A.選擇

  B.投影

  C.插入

  D.連接

  (10)將E-R圖轉(zhuǎn)換為關(guān)系模式時,實(shí)體和聯(lián)系都可以表示為

  A.屬性

  B.鍵

  C.關(guān)系

  D.域

  C語言軟件開發(fā)筆試題目 5

 。1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是

  A.循環(huán)隊(duì)列

  B.帶鏈隊(duì)列

  C.二叉樹

  D.帶鏈棧

  (2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是

  A.循環(huán)隊(duì)列

  B.棧

  C.隊(duì)列

  D.二叉樹

  (3)對于循環(huán)隊(duì)列,下列敘述中正確的是

  A.隊(duì)頭指針是固定不變的

  B.隊(duì)頭指針一定大于隊(duì)尾指針

  C.隊(duì)頭指針一定小于隊(duì)尾指針

  D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針

 。4)算法的空間復(fù)雜度是指

  A.算法在執(zhí)行過程中所需要的計算機(jī)存儲空間

  B.算法所處理的數(shù)據(jù)量

  C.算法程序中的語句或指令條數(shù)

  D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

  (5)軟件設(shè)計中劃分模塊的一個準(zhǔn)則是

  A.低內(nèi)聚低耦合

  B.高內(nèi)聚低耦合

  C.低內(nèi)聚高耦合

  D. 高內(nèi)聚高耦合

 。6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計原則的是

  A.可封裝。

  B. 自頂向下

  C.模塊化

  D. 逐步求精

 。7)軟件詳細(xì)設(shè)計產(chǎn)生的圖如下:

  該圖是

  A.N-S圖

  B.PAD圖

  C.程序流程圖

  D. E-R圖

 。8)數(shù)據(jù)庫管理系統(tǒng)是

  A.操作系統(tǒng)的一部分

  B.在操作系統(tǒng)支持下的系統(tǒng)軟件

  C.一種編譯系統(tǒng)

  D. 一種操作系統(tǒng)

  (9)在E-R圖中,用來表示實(shí)體聯(lián)系的圖形是

  A.橢圓圖

  B.矩形

  C.菱形

  D. 三角形

 。10)有三個關(guān)系R,S和T如下:

  其中關(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)以下選項(xiàng)中,能用作用戶標(biāo)識符的是

  A.void

  B.8_8

  C._0_

  D.unsigned

  (13)閱讀以下程序

  #include

  main()

  { int case; float printF;

  printf(“請輸入2個數(shù):”);

  scanf(“%d %f”,&case,&pjrintF);

  printf(“%d %f ”,case,printF);

  }

  該程序編譯時產(chǎn)生錯誤,其出錯原因是

  A.定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標(biāo)識符

  B.定義語句出錯,printF不能用作用戶自定義標(biāo)識符

  C.定義語句無錯,scanf不能作為輸入函數(shù)使用

  D.定義語句無錯,printf不能輸出case的值

  (14)表達(dá)式:(int)((double)9/2)-(9)%2的值是

  A.0

  B.3

  C.4

  D.5

 。15)若有定義語句:int x=10;,則表達(dá)式x-=x+x的值為

  A.-20

  B.-10

  C.0

  D.10

 。16)有以下程序

  #include

  main()

  { int a=1,b=0;

  printf(“%d,”,b=a+b);

  printf(“%d ”,a=2*b);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.0,0

  B.1,0

  C.3,2

  D.1,2

 。17)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是

  A.if(a>B. c=a,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

  main()

  { int c=0,k;

  for (k=1;k<3;k++)

  switch (k)

  { default: c+=k

  case 2: c++;break;

  case 4: c+=2;break;

  }

  printf(“%d ”,C.;

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.3

  B.5

  C.7

  D.9

  (19)以下程序段中,與語句:k=a>b?(b>c?1:0):0;功能相同的是

  A.if((a>b)&&(b>C.) k=1;

  else k=0;

  B.if((a>b)||(b>C. k=1;

  else k=0;

  C.if(a<=B. k=0;

  else if(b<=C.k=1;

  D.if(a>B. k=1;

  else if(b>C.k=1;

  else k=0;

  20)有以下程序

  #include

  main()

  { char s[]={“012xy”};int i,n=0;

  for(i=0;s[i]!=0;i++)

  if(s[i]>=’a’&&s[i]<=’z’) n++;

  printf(“%d ”,n);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.0

  B.2

  C.3

  D.5

 。21)有以下程序

  #include

  main()

  { int n=2,k=0;

  while(k++&&n++>2);

  printf(“%d %d ”,k,n);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.0 2

  B.1 3

  C.5 7

  D.1 2

 。22)有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是

  A.char a=’a’;

  B.char a=’ ’;

  C.char a=’aa’;

  D.char a=’x2d’;

 。23)有以下程序

  #include

  main()

  { char c1,c2;

  c1=’A’+’8’-‘4’;

  c2=’A’+’8’-‘5’;

  printf(“%c,%d ”,c1,c2);

  }

  已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是

  A.E,68

  B.D,69

  C.E,D

  D.輸出無定值

  (24)有以下程序

  #include

  void fun(int p)

  { int d=2;

  p=d++; printf(“%d”,p);}

  main()

  { int a=1;

  fun(a); printf(“%d ”,a);}

  程序運(yùn)行后的'輸出結(jié)果是

  A.32

  B.12

  C.21

  D.22

 。25)以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能

  #define MIN -2147483647

  int findmax (int x[],int n)

  { int i,max;

  for(i=0;i

  { max=MIN;

  if(max

  return max;

  }

  造成錯誤的原因是

  A.定義語句int i,max;中max未賦初值

  B.賦值語句max=MIN;中,不應(yīng)給max賦MIN值

  C.語句if(max

  D.賦值語句max=MIN;放錯了位置

 。26)有以下程序

  #include

  main()

  { int m=1,n=2,*p=&m,*q=&n,*r;

  r=p;p=q;q=r;

  printf(“%d,%d,%d,%d ”,m,n,*p,*q);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.1,2,1,2

  B.1,2,2,1

  C.2,1,2,1

  D.2,1,1,2

  (27)若有定義語句:int a[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是

  A.p=a

  B.q[i]=a[i]

  C.p=a[i]

  D.p=&a[2][1]

  (28)有以下程序

  #include

  #include

  main()

  { char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];

  printf(“%d,”,strlen(p));printf(“%s ”,p);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.9,One*World

  B.9,One*Dream

  C.10,One*Dream

  D.10,One*World

 。29)有以下程序

  #include

  main()

  { int a[ ]={2,3,5,4},i;

  for(i=0;i<4;i++)

  switch(i%2)

  { case 0:switch(a[i]%2)

  {case 0:a[i]++;break;

  case 1:a[i]--;

  }break;

  case 1:a[i[=0;

  }

  for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);

  }

  A.3 3 4 4

  B.2 0 5 0

  C.3 0 4 0

  D.0 3 0 4

  (30)有以下程序

  #include

  #include

  main()

  { char a[10]=”abcd”;

  printf(“%d,%d ”,strlen(a),sizeof(a));

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.7,4

  B.4,10

  C.8,8

  D.10,10

 。31)下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是

  A.不可以用賦值語句給字符數(shù)組名賦字符串

  B.可以用輸入語句把字符串整體輸入給字符數(shù)組

  C.字符數(shù)組中的內(nèi)容不一定是字符串

  D.字符數(shù)組只能存放字符串

 。32)下列函數(shù)的功能是

  fun(char * a,char * b)

  { while((*b=*a)!=’’) {a++,b++;} }

  A.將a所指字符串賦給b所指空間

  B.使指針b指向a所指字符串

  C.將a所指字符串和b所指字符串進(jìn)行比較

  D.檢查a和b所指字符串中是否有’’

 。33)設(shè)有以下函數(shù)

  void fun(int n,char * s) {……}

  則下面對函數(shù)指針的定義和賦值均是正確的是

  A.void (*pf)(); pf=fun;

  B.viod *pf(); pf=fun;

  C.void *pf(); *pf=fun;

  D.void (*pf)(int,char);pf=&fun;

  (34)有以下程序

  #include

  int f(int n);

  main()

  { int a=3,s;

  s=f(a);s=s+f(a);printf(“%d ”,s);

  }

  int f(int n)

  { static int a=1;

  n+=a++;

  return n;

  }

  程序運(yùn)行以后的輸出結(jié)果是

  A.7

  B.8

  C.9

  D.10

 。35)有以下程序

  #include

  #define f(x) x*x*x

  main()

  { int a=3,s,t;

  s=f(a+1);t=f((a+1));

  printf(“%d,%d ’,s,t);

  }

  程序運(yùn)行后的輸出結(jié)果是

  A.10,64

  B.10,10

  C.64,10

  D.64,64

 。36)下面結(jié)構(gòu)體的定義語句中,錯誤的是

  A.struct ord {int x;int y;int z;}; struct ord a;

  B.struct ord {int x;int y;int z;} struct ord a;

  C.struct ord {int x;int y;int z;} a;

  D.struct {int x;int y;int z;} a;

  (37)設(shè)有定義:char *c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個字符串的是

  A.char str[ ]=”string”;c=str;

  B.scanf(“%s”,C.;

  C.c=get);

  D.*c=”string”;

 。38)有以下程序

  #include

  #include

  struct A

  { int a; char b[10]; double c;};

  struct A f(struct A t);

  main()

  { struct A a={1001,”ZhangDa”,1098.0};

  a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C.;

  }

  struct A f(struct A t)

  ( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )

  程序運(yùn)行后的輸出結(jié)果是

  A.1001,ZhangDa,1098.0

  B.1001,ZhangDa,1202.0

  C.1001,ChangRong,1098.0

  D.1001,ChangRong,1202.0

 。39)若有以下程序段

  int r=8;

  printf(“%d ”,r>>1);

  輸出結(jié)果是

  A.16

  B.8

  C.4

  D.2

 。40)下列關(guān)于C語言文件的敘述中正確的是

  A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件

  B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

  C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

  D.文件由字符序列組成,其類型只能是文本文件

【C語言軟件開發(fā)筆試題目】相關(guān)文章:

C語言筆試題目10-09

C語言筆試系列題目收集分享08-23

C/C++筆試題目大全08-22

C/C++ 筆試、面試題目05-30

金正科技機(jī)試C語言筆試題目07-11

C++類型筆試題目08-01

C++筆試題目分享08-07

文思c++筆試題目10-12

普天C++筆試題目06-10