欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      計算機二級c語言試題及答案

      時間:2019-05-15 13:25:31下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《計算機二級c語言試題及答案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《計算機二級c語言試題及答案》。

      第一篇:計算機二級c語言試題及答案

      計算機二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)四個等級中的一個等級,考核計算機基礎(chǔ)知識和使用一種高級計算機語言編寫程序以及上機調(diào)試的基本技能。計算機二級考試采用全國統(tǒng)一命題、統(tǒng)一考試的形式。那么計算機二級c語言會怎么考?以下僅供參考!

      1.(A)是構(gòu)成C語言程序的基本單位。

      A、函數(shù)

      B、過程

      C、子程序

      D、子例程

      2.C語言程序從 C 開始執(zhí)行。

      A、程序中第一條可執(zhí)行語句

      B、程序中第一個函數(shù)

      C、程序中的main函數(shù)

      D、包含文件中的第一個函數(shù)

      3、以下說法中正確的是(C)。

      A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行

      B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

      C、C語言程序總是從main()函數(shù)開始執(zhí)行

      D、C語言程序中的main()函數(shù)必須放在程序的開始部分

      4.下列關(guān)于C語言的說法錯誤的是(B)。

      A、C程序的工作過程是編輯、編譯、連接、運行

      B、C語言不區(qū)分大小寫。

      C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)

      D、C程序從main函數(shù)開始執(zhí)行

      5.下列正確的標(biāo)識符是(C)。

      A、-a

      1B、a[i]

      C、a2_i

      D、int t

      5~8題為相同類型題

      考點:標(biāo)識符的命名規(guī)則

      只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識符的開頭

      關(guān)鍵字不能作為標(biāo)識符

      選項A中的“-”,選項B中“[”與“]”不滿足(1);選項D中的int為關(guān)鍵字,不滿足(3)

      6.下列C語言用戶標(biāo)識符中合法的是(B)。

      A、3ax

      B、x

      C、case

      D、-e2 E)union

      選項A中的標(biāo)識符以數(shù)字開頭不滿足(2);選項C,E均為為關(guān)鍵字,不滿足(3);選項D中的“-”不滿足(1);

      7.下列四組選項中,正確的C語言標(biāo)識符是(C)。

      A、%x

      B、a+b

      C、a12

      3D、12

      3選項A中的“%”,選項B中“+”不滿足(1);選項D中的標(biāo)識符以數(shù)字開頭不滿足(2)

      8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是(A)。

      A、print _3d db8 aBc

      B、Iam one_half start$it 3pai

      C、str_1 Cpp pow while

      D、Pxq My->book line# His.age

      選項B中的“”,”$”,選項D中“>”,”#”,”.”,”-”不滿足(1);選項C中的while為關(guān)鍵字,不滿足(3)

      9.C語言中的簡單數(shù)據(jù)類型包括(D)。

      A、整型、實型、邏輯型

      B、整型、實型、邏輯型、字符型

      C、整型、字符型、邏輯型

      D、整型、實型、字符型

      10.在C語言程序中,表達(dá)式5%2的結(jié)果是 C。

      A、2.5B、2C、1D、3%為求余運算符,該運算符只能對整型數(shù)據(jù)進(jìn)行運算。且符號與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

      /為求商運算符,該運算符能夠?qū)φ?、字符、浮點等類型的數(shù)據(jù)進(jìn)行運算,5/2=

      211.如果int a=3,b=4;則條件表達(dá)式"aA、3B、4C、0

      D、1詳見教材P97.表達(dá)式1?表達(dá)式2:表達(dá)式

      3先計算表達(dá)式1,若表達(dá)式1成立,則選擇計算表達(dá)式2,并表達(dá)式2的值作為整個大表達(dá)式的值;

      若表達(dá)式1不成立,則選擇計算表達(dá)式3,并將表達(dá)式3的值作為整個大表達(dá)式的值

      此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表達(dá)式x

      A、4B、3C、2D、0

      E)

      113.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)。

      A、0

      B、0或

      1C、1D、‘T’或’F’

      14.下面(D)表達(dá)式的值為4.A、11/

      3B、11.0/

      3C、(float)11/

      3D、(int)(11.0/3+0.5)

      14~16題為同一類型

      詳見教材P54~56.(1)相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。

      (2)不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。

      選項A,11與3為兩個整數(shù),11/3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)部分全部舍掉,僅保留整數(shù),因此11/3=3.選項B,11.0為實數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實型數(shù)據(jù),選項B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實型數(shù)據(jù),因此選項B 11.0/3=3.666666

      選項C,先將整數(shù)11強制類型轉(zhuǎn)換,轉(zhuǎn)換為實型11.0,因此選項C變?yōu)?1.0/3,其后計算過程、結(jié)果與選項B同

      選項D,首先計算11.0/3,其計算過程、結(jié)果與選項B同,得到3.666666;再計算3.666666+0.5=4.166666,最后將4.166666強制類型轉(zhuǎn)換為整型,即將其小數(shù)部分全部舍掉,結(jié)果為

      415.設(shè)整型變量 a=2,則執(zhí)行下列語句后,浮點型變量b的值不為0.5的是(B)

      A、b=1.0/a

      B、b=(float)(1/A、C、b=1/(float)a

      D、b=1/(a*1.0)

      16.若“int n;float f=13.8;”,則執(zhí)行“n=(int)f%3”后,n的值是(A)

      A、1B、4C、4.33333

      3D、4.6

      “(int)f“表示將f中的值強制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為

      117.以下對一維數(shù)組a的正確說明是: D

      A、char a(10);

      B、int a[];

      C、int k=5,a[k];

      D、char a[3]={‘a(chǎn)’,’b’,’c’};

      詳見教材P143~144,一維數(shù)組的定義、初始化

      類型符 數(shù)組名 [常量表達(dá)式]

      類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)則;常量表達(dá)式是指數(shù)組的長度(數(shù)組中包含元素的個數(shù)),其值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

      選項A,常量表達(dá)式只能放在中括號 [ ]中

      選項B,只有在對數(shù)組初始化(即賦值)的時候才可以省略數(shù)組的長度,B中并未對a進(jìn)行初始化。

      選項C,常量表達(dá)式不能為變量。

      18.以下能對一維數(shù)組a進(jìn)行初始化的語句是:(C)

      A、int a[5]=(0,1,2,3,4,)

      B、inta(5)={}

      C、int a[3]={0,1,2}

      D、int a{5}={10*1}

      詳見教材P145,一維數(shù)組的定義、初始化

      選項B,D,常量表達(dá)式只能放在中括號 [ ]中

      選項A,數(shù)組可以看做是若干個相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對其初始化,使用{ }對其初始化,選項A用了().19.在C語言中對一維整型數(shù)組的正確定義為 D。

      A、int a(10);

      B、int n=10,a[n];

      C、int n;a[n];

      D、#define N 10

      int a[N];

      20、已知:int a[10];則對a數(shù)組元素的正確引用是(D)。

      A、a[10]

      B、a[3.5]

      C、a(5)

      D、a[0]

      詳見教材P144,數(shù)組元素的引用

      數(shù)組名[下標(biāo)]

      引用數(shù)組元素時,[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)

      int a[10]表示定義了一個包含10個整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為0~9,即a[0] 表示組中第1個元素;a[1] 表示組中第2個元素;a[2] 表示組中第3個元素;......;a[9] 表示組中第10個元素.選項A,超過了數(shù)組a的邏輯地址下標(biāo)范圍;

      選項B,邏輯地址下標(biāo)只能為整數(shù)

      選項C,邏輯地址下標(biāo)只能放在[ ]中

      21.若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是(C)。

      int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};

      A、10

      B、9

      C、6

      D、5先算a[a[i]]內(nèi)層的a[i],由于i=10,因此a[i]即a[10].a[10]對應(yīng)下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]

      a[9]對應(yīng)下面數(shù)組中的元素為6.因此a[9]即為6

      22.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B)

      A、2B、3C、4D、無確定值7

      D、3 6 9

      二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對二維數(shù)組賦值,因此內(nèi)層有幾個大括號,數(shù)組就有幾行

      23.對二維數(shù)組的正確定義是(C)

      詳見教材P149~152,二維數(shù)組的定義、初始化

      類型符 數(shù)組名 [常量表達(dá)式][常量表達(dá)式]

      二維數(shù)組可以看做是矩陣

      類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)則;第一個常量表達(dá)式是指數(shù)組的行數(shù);第二個常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

      一維數(shù)組初始化時可以省略數(shù)組長度

      二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)

      選項A,B,都省略了列數(shù)

      選項D,不符合二維數(shù)組定義的一般形式,行、列常量表達(dá)式應(yīng)該放在不同的[]中

      A、int a[ ][ ]={1,2,3,4,5,6};

      B、int a[2] []={1,2,3,4,5,6};

      C、int a[ ] [3]={1,2,3,4,5,6};

      D、int a[2,3]={1,2,3,4,5,6};

      24.已知int a[3][4];則對數(shù)組元素引用正確的是__C___

      A、a[2][4]

      B、a[1,3]

      C、a[2][0]

      D、a(2)(1)

      詳見教材P150,數(shù)組元素的引用

      數(shù)組名[下標(biāo)] [下標(biāo)]

      引用數(shù)組元素時,[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)

      第一個[下標(biāo)]表示行邏輯地址下標(biāo),第二個[下標(biāo)]表示列邏輯地址下標(biāo)。

      本題圖示詳見P149圖6.7

      因此a的行邏輯地址范圍0~2;a的列邏輯地址范圍0~3;

      選項A,列邏輯地址下標(biāo)超過范圍

      選項B,D,的引用形式不正確。

      25.C語言中函數(shù)返回值的類型是由 A 決定的.A、函數(shù)定義時指定的類型

      B、return語句中的表達(dá)式類型

      C、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

      D、形參的數(shù)據(jù)類型

      26.在C語言中,函數(shù)的數(shù)據(jù)類型是指(A)

      A、函數(shù)返回值的數(shù)據(jù)類型

      B、函數(shù)形參的數(shù)據(jù)類型

      C、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

      D、任意指定的數(shù)據(jù)類型

      27.在函數(shù)調(diào)用時,以下說法正確的是(B)

      A、函數(shù)調(diào)用后必須帶回返回值

      B、實際參數(shù)和形式參數(shù)可以同名

      C、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量

      D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里

      28.在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是:(C)

      A、auto

      B、register

      C、static

      D、extern

      29.未指定存儲類別的變量,其隱含的存儲類別為(A)。

      A、auto

      B、static

      C、extern

      D、register

      30.若有以下說明語句:

      struct student

      { int num;

      char name[ ];

      float score;

      }stu;

      則下面的敘述不正確的是:(D)

      A、struct是結(jié)構(gòu)體類型的關(guān)鍵字

      B、struct student 是用戶定義的結(jié)構(gòu)體類型

      C、num, score都是結(jié)構(gòu)體成員名

      D、stu是用戶定義的結(jié)構(gòu)體類型名

      31.若有以下說明語句:

      struct date

      { int year;

      int month;

      int day;

      }brithday;

      則下面的敘述不正確的是__C___.A、struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字

      B、struct date 是用戶定義的結(jié)構(gòu)體類型名

      C、brithday是用戶定義的結(jié)構(gòu)體類型名

      D、year,day 都是結(jié)構(gòu)體成員名

      32.以下對結(jié)構(gòu)變量stul中成員age的非法引用是 B

      struct student

      { int age;

      int num;

      }stu1,*p;

      p=&stu1;

      A、stu1.age

      B、student.age

      C、p->age

      D、(*p).age

      33.設(shè)有如下定義:

      struck sk

      { int a;

      float b;

      }data;

      int *p;

      若要使P指向data中的a域,正確的賦值語句是 C

      A、p=&a;

      B、p=datA、a;

      C、p=&datA、a;

      D、*p=datA、a;

      34.設(shè)有以下說明語句:

      typedef struct stu

      { int a;

      float b;

      } stutype;

      則下面敘述中錯誤的是(D)。

      A、struct是結(jié)構(gòu)類型的關(guān)鍵字

      B、struct stu是用戶定義的結(jié)構(gòu)類型

      C、a和b都是結(jié)構(gòu)成員名

      D、stutype是用戶定義的結(jié)構(gòu)體變量名

      35.語句int *p;說明了 C。

      A、p是指向一維數(shù)組的指針

      B、p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)

      C、p是指向int型數(shù)據(jù)的指針 // 指針的定義教材P22

      3D、p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針

      36.下列不正確的定義是(A)。

      A、int *p=&i,i;

      B、int *p,i;

      C.int i,*p=&i;

      D、int i,*p;

      選項A先定義一個整型指針變量p,然后將變量i的地址賦給p。然而此時還未定義變量i因此編譯器無法獲得變量i的地址。(A與C對比,選項C先定義變量i,則在內(nèi)存中為i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時可以為p賦i的地址,C正確)

      37.若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是:(D)

      A、p=q

      B、*p=*q

      C、n=*q

      D、p=n

      p,q同為整型指針變量,二者里面僅能存放整型變量的地址。

      選項A,q中為地址,因此可將此地址賦給p

      選項B,*p表示p所指向?qū)ο髇的內(nèi)容,即一個整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于 n=n;

      選項C,n=*q 等價于n=n;

      選項D,p中只能存放地址,不能將n中的整數(shù)值賦給p

      38.有語句:int a[10],;則 B 是對指針變量p的正確定義和初始化。

      A、int p=*a;

      B、int *p=a;

      C、int p=&a;

      D、int *p=&a;

      選項A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a

      選項C,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。而且在定義指針變量p時,應(yīng)在變量名前加*,標(biāo)明p是指針變量

      選項D,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。

      39.若有說明語句“int a[5],*p=a;”,則對數(shù)組元素的正確引用是(C)。

      A、a[p]

      B、p[a]

      C、*(p+2)

      D、p+

      2首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量p,并同時對p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時p中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

      對于數(shù)組元素下標(biāo)的引用(詳見p144), 一般形式 數(shù)組名[下標(biāo)] 其中下標(biāo)為邏輯地址下標(biāo),從0開始計數(shù),方括號中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。

      選項A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)

      選項B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)

      選項C,(重點!!詳見p231~234)p+2表示指向同一數(shù)組中的下兩個元素的地址,當(dāng)前p指向a[0],則p+2表示a[2]的地址,因此*(p+2)表示a[2]的內(nèi)容

      40.有如下程序

      int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

      則數(shù)值為9的表達(dá)式是 B

      A、*P+9

      B、*(P+8)

      C、*P+=9

      D、P+8

      (重點!!詳見p231~234)

      首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量P,并同時對P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時P中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

      數(shù)組中9對應(yīng)的是a[8], 選項B,P+8表示數(shù)組中后8個元素的地址,即a[8]的地址。*(P+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。

      選項A,*P表示P所指向?qū)ο蟮膬?nèi)容,此時P指向a[0], *P即a[0]的值1.*P+9=1+9=10

      選項C,*P表示P所指向?qū)ο蟮膬?nèi)容,此時P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價于a[0]=a[0]+9.選項D,P+8表示數(shù)組中后8個元素的地址,即a[8]的地址,而非a[8]中的值。

      第二篇:計算機二級C語言考試試題及答案

      C語言是一門通用計算機編程語言,應(yīng)用廣泛。下面小編整理了計算機二級C語言考試試題及答案,希望對大家有幫助!

      1.(A)是構(gòu)成C語言程序的基本單位。

      A、函數(shù)

      B、過程

      C、子程序

      D、子例程

      2.C語言程序從(C)開始執(zhí)行。

      A、程序中第一條可執(zhí)行語句

      B、程序中第一個函數(shù)

      C、程序中的main函數(shù)

      D、包含文件中的第一個函數(shù)

      3、以下說法中正確的是(C)。

      A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行

      B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

      C、C語言程序總是從main()函數(shù)開始執(zhí)行

      D、C語言程序中的main()函數(shù)必須放在程序的開始部分

      4.下列關(guān)于C語言的說法錯誤的是(B)。

      A、C程序的工作過程是編輯、編譯、連接、運行

      B、C語言不區(qū)分大小寫。

      C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)

      D、C程序從main函數(shù)開始執(zhí)行

      5.下列正確的標(biāo)識符是(C)。

      A、-a

      1B、a[i]

      C、a2_i

      D、int t

      5-8題為相同類型題

      考點:標(biāo)識符的命名規(guī)則

      只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識符的開頭

      關(guān)鍵字不能作為標(biāo)識符

      選項A中的“-”,選項B中“[”與“]”不滿足(1);選項D中的int為關(guān)鍵字,不滿足(3)

      6.下列C語言用戶標(biāo)識符中合法的是(B)。

      A、3ax

      B、x

      C、case

      D、-e2 E)union

      選項A中的標(biāo)識符以數(shù)字開頭不滿足(2);選項C,E均為為關(guān)鍵字,不滿足(3);選項D中的“-”不滿足(1);

      7.下列四組選項中,正確的C語言標(biāo)識符是(C)。

      A、%x

      B、a+b

      C、a12

      3D、12

      3選項A中的“%”,選項B中“+”不滿足(1);選項D中的標(biāo)識符以數(shù)字開頭不滿足(2)

      8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是(A)。

      A、print _3d db8 aBc

      B、Iam one_half start$it 3pai

      C、str_1 Cpp pow while

      D、Pxq My->book line# His.age

      選項B中的“”,”$”,選項D中“>”,”#”,”.”,”-”不滿足(1);選項C中的while為關(guān)鍵字,不滿足(3)

      9.C語言中的簡單數(shù)據(jù)類型包括(D)。

      A、整型、實型、邏輯型

      B、整型、實型、邏輯型、字符型

      C、整型、字符型、邏輯型

      D、整型、實型、字符型

      10.在C語言程序中,表達(dá)式5%2的結(jié)果是 C。

      A、2.5B、2C、1D、3%為求余運算符,該運算符只能對整型數(shù)據(jù)進(jìn)行運算。且符號與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

      /為求商運算符,該運算符能夠?qū)φ?、字符、浮點等類型的數(shù)據(jù)進(jìn)行運算,5/2=2


      第三篇:c語言試題及答案

      一、單選題

      1.在C語言中,下列類型屬于構(gòu)造類型的是(D)A.整型 B.字符型 C.實型 D.?dāng)?shù)組類型 2.下列字符串不是標(biāo)識符的是(D)A.sum B.Average C.Day_night D.M.D.JOHN 3.在C語言中,回車換行符是(A)A.n B.t C.v D.b 4.在C語言中,語句和數(shù)據(jù)定義是用(C)作為結(jié)束標(biāo)記的 A.句號 B.逗號 C.分號 D.括號 5.設(shè)有如下定義: int x=10,y=5,z;則語句printf(“%dn”,z=(x+=y,x/y));的輸出結(jié)果是(C)A.0 B.1 C.3 D.4 6.10.以下程序的輸出結(jié)果是(B)main(){char c1=’8’,c2=’2’;

      printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);} A.因輸出格式不合法,輸出出錯信息 B.8,2,6,106 C.8,2,6,10 D.8,2,5,9 7.兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是(A)main(){int x;scanf(“%d”,&x);

      if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} A.7和5 B.7和4 C.6和4 8.表達(dá)式(int)2.1416的值時(A)A.2 B.2.1 C.0 D.3 9.下列運算符優(yōu)先級最高的是(B)A.> B.+ C.&& D.!= 10.C語言容許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型時(B)A.float型 B.Int型 C.Long 型 D.Double型

      11、C程序的基本構(gòu)成單位是(C)A、子程序 B、過程 C、函數(shù) D、文件

      12、C語言中要求操作數(shù)都為整型數(shù)據(jù)的算術(shù)符是(C)A、/ B、!C、% D、= =

      13、若int x=1,y=1;則表達(dá)式(!x||y--)的值是(B)。A、0 B、1 C、2 D、-1

      14、能正確表示邏輯關(guān)系:a≥10或a≤0的C語言表達(dá)式(D)A、a>=10 or a<=0 B、a>=0|a<=10 C、a>=10 && a<=0 D、a>=10||a<=0

      15、double x,y;表達(dá)式x=1,y=x+3/2的值是(C)。A、1 B、2 C、2.0 D、2.5

      16、運行C源程序的命令是(D)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9

      17、運行完C程序后,查看C程序運行結(jié)果的命令是(A)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9 18.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);該程序段的輸出結(jié)果是:(D)A、3,2 B、4,3 C、3,3 D、4,2 19設(shè) int a=12;表達(dá)式a+=a-=a*=a的值是(C)。A 12 B 144 C 0 D 132 20、若給定條件表達(dá)式(M)?(a++):(a--),則其中表達(dá)式M和(D)等價。A M==0 B M=1 C M!=1 D M!=0

      21、在C語言中,if語句后的一對圓括號中,用以決定分支流程的表達(dá)式為(D)。A 只能是邏輯表達(dá)式 B只能是關(guān)系表達(dá)式

      C 只能是邏輯表達(dá)式或關(guān)系表達(dá)式 D可以是任意表達(dá)式

      22、下列選項中,(A)給變量賦初值是錯誤的。

      A int a=b=3;B int a,b,c=5;C int a=3,b,c=a;D float f=3.56;

      23、在C語言中,一個字符變量在內(nèi)存中占用(A)個字節(jié)。A 1 B 2 C 3 D 4

      24、int a=12,b=13,c;c=(a

      25、設(shè)有int i;則表達(dá)式i=1,++i,++i||++i,i的值為(C)A.1 B.2 C.3 D.4 30以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價的是(A)A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1 else k=0;C)if(a<=b)k=0;D)if(a>b)k=1;else if(b<=c)k=1;else if(b>c)k=1;else k=0;

      31、算法具有五個特性,以下選項中不屬于算法特性的是(A)有窮性(B)簡潔性(C)可行性(D)確定性 32以下選項中可作為C語言合法常量的是(A)(A)-80.(B)-080(C)-8e1.0(D)-80.0e

      33、以下敘述中正確的是(C)

      (A)用C語言實現(xiàn)的算法必須要有輸入和輸出操作(B)用C語言實現(xiàn)的算法可以沒有輸出但必須要有輸入(C)用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出(D)用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

      33、以下選項中,不能作為合法常量的是(B)(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0

      34、有以下程序

      B)(main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d %d %dn”,i,j,k);} 程序運行后的輸出結(jié)果是(D)(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 3

      35、判斷變量ch中的字符是否為數(shù)字字符,正確表達(dá)式是____D___。

      A)ch>=0&&ch<=9 B)’0’<=ch<=’9’ C)ch>=’0’||ch<=’9’ D)ch>=’0’&&ch<=’9’

      36、若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是__B_____ A)11 B)10 C)9 D)8 main()

      { int n; scanf(“%d”,&n); if(n++<10)printf(“%dn”,n); else printf(“%dn”,n--); }

      37、若w=1,x=2,y=3,z=4;則條件表達(dá)式w>x?w:y

      38、以下非法的賦值語句是(C)A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;

      39、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是(D)A)6.500000 B)6 C)5.500000 D)6.000000 40、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為

      1、j的值為

      2、k的值為3,以下選項中正確的輸入語句是(C)A)scanf(“---”,&i,&j,&k);B)scanf(“%d %d %d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

      41、若有以下程序: main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);} 執(zhí)行后的輸出結(jié)果是(C)A)8,6 B)8,3 C)6,4 D)7,4 

      42、已有定義:int x=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1 && y+z/2的值是(D)A)6 B)0 C)2 D)1

      43 以下選項中,與k=n++完全等價的表達(dá)式是(A)A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1

      39、若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是B A)i= *P;B)*P=*&J;C)i=&j;D)i=* *p;40、若有以下說明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為6的表達(dá)式是C A)*p+6 B)*(p+6)C)*p+=5 D)p+5

      二、填空題

      1.C語言是通過 庫函數(shù) 來進(jìn)行輸入和輸出的。

      2.C語言的數(shù)據(jù)類型有四大類,他們是 基本類型、構(gòu)造類型、指針類型和 空類型。

      4.下面程序的運行結(jié)果是 3.600000,3 main(){float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);} 5.?dāng)?shù)組名定義規(guī)則和變量名相同,遵守 標(biāo)識符 命名規(guī)則。

      6、main(){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%cn”,c1,c2,c3);} 程序的運行結(jié)果是: b,99,d

      7、main(){int a=5,b=6,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“c=%dn”,c);} 程序的運行結(jié)果是:-1 11.設(shè)x的值為15,n的值為2,則表達(dá)式x%=(n+=3)運算后,x的值為 0。12.設(shè) int a=7,b=9,t;執(zhí)行完表達(dá)式t=(a>b)?a:b后,t的值是 9。14.求100~200間的全部素數(shù)。# include main(){ int m,k,i,n=0;for(m=101;m<=200;m+=2){ if(n==0)printf(“n”);k=sqrt(m);for(i= 2;i<=k;i++)if(m%i==0)break;if(i== k){ printf(“%d ”,m);n++;} } }

      15、main(){ int x,y=1,z=10;if(y!=0)x=5; printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;else x=5;printf(“x=%dn”,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(“x=%dt”,x);printf(“z=%dn”,z);} 寫出程序的運行結(jié)果:x=5 x=1 x=7 z=0

      16、百馬百擔(dān)問題:有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問大、中、小馬各多少匹? main(){ int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+= 3)for(hm=0;hm<=100-hb;hm+= 2){ hl=100-hb-hm;if(hb/3+hm/2+2* hl ==100){ n++;printf(“hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl);} } printf(“n=%dn”,n);}

      17、寫出程序運行結(jié)果,并簡述功能(運行結(jié)果5分,功能描述3分,共8分)#include main(){ int i,t;int a[10]={2,4,6,8,10,1,3,5,7,9};for(i=0;i<=4;i++){ t=a[i];a[i]=a[9-i];a[9-i]=t;} for(i=0;i<=9;i++)printf(“%d ”,a[i]);} 運行結(jié)果: 7 5 3 1 10 8 6 4 2 功能描述:

      將整型數(shù)組a以逆序形式顯示出來

      18、有以下語句段 int n1=10,n2=20;printf(“ n1=%dnn2=%d ”,n1,n2);

      要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始,請?zhí)羁?。n1=10 n2=20

      19、有以下程序 main(){ int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);} 執(zhí)行后輸出結(jié)果是-4。

      21、.以下程序運行后的輸出結(jié)果是____ main(){ int a,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d %d %dn”,a,b,c);} 答案:10 20 0

      22、任意輸入三條邊(a,b,c)后,若能構(gòu)成三角形且為等腰、等邊和直角,則分別輸出DY、DB和ZJ,若不能構(gòu)成三角形則輸出NO。main(){ float a,b,c,a2,b2,c2 scanf(“%f%f%f%,&a,&b,&c);printf(”%5.1f,%5.1f,%5.1f“,a,b,c);if(a+b>c&&b+c>a&&a+c>b){ if(a==b || b==c || a==c)printf(”DY“);if(a==b && b==c)printf(”DB“);a2=a*a;b2=b*b;c2=c*c;if((a2+b2==c2)||(a2+c2==b2)||(b2+c2==a2))printf(”ZJ“);printf(”n“);} else printf(”NOn“);}

      23、當(dāng)a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是___x=2______ if(a

      24、以下程序運行后的輸出結(jié)果是 20,0。 main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d n”,x,y);}

      三、程序題

      1、在購買某物品時,若所花的錢x在下述范圍內(nèi),所付錢y按對應(yīng)折扣支付:

      x x<1000 0.9x 1000≤x<2000 0.8x 2000≤x<3000 0.7x x.≥3000 y=

      2、編一程序根據(jù)上網(wǎng)時間計算上網(wǎng)費用,計算方法如下:

      費用= 30元基數(shù) <10小時 每小時3元 10 ~50 每小時2.5元 ≥50小時

      同時為了鼓勵多上網(wǎng),每月收費最多不超過150元。

      3、已知輸入某課程的百分制成績mark,要求顯示對應(yīng)五級制的評定,評定條件如下:

      等級= 優(yōu) mark≥90 良 80≤mark<90 中 70≤mark<80 及格 60≤mark<70 不及格 mark<60 第一題答案: #include void main(){ float y;int x;scanf(”%d“,&x);if(x<1000)y=x;if(x>=1000 && x<2000)y=0.9*x;if(x>=2000 && x<3000)y=0.8*x;if(x>=3000)y=0.7*x;printf(”%f“,y);} 第二題答案: #include void main(){ float y;int x;scanf(”%d“,&x);if(x<10)y=30;if(x>=10 && x<50)y=3*x;if(x>=50)y=2.5*x;if(y>150)y=150;printf(”%f“,y);} 第三題答案: #include void main(){ int mark;scanf(”%d“,&mark);if(mark>=90)printf(”優(yōu)“);else if(mark>=80)printf(”良“);else if(mark>=70)printf(”中“);else if(mark>=60)printf(”及格“);else printf(”不及格");}

      第四篇:計算機二級C語言測試題及答案解析

      C語言的應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,下面給大家整理了計算機二級C語言測試題及答案,歡迎閱讀!

      計算機二級C語言測試題及答案解析

      1.(A)是構(gòu)成C語言程序的基本單位。

      A、函數(shù)

      B、過程

      C、子程序

      D、子例程

      2.C語言程序從 C 開始執(zhí)行。

      A、程序中第一條可執(zhí)行語句

      B、程序中第一個函數(shù)

      C、程序中的main函數(shù)

      D、包含文件中的第一個函數(shù)

      3、以下說法中正確的是(C)。

      A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行

      B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

      C、C語言程序總是從main()函數(shù)開始執(zhí)行

      D、C語言程序中的main()函數(shù)必須放在程序的開始部分

      4.下列關(guān)于C語言的說法錯誤的是(B)。

      A、C程序的工作過程是編輯、編譯、連接、運行

      B、C語言不區(qū)分大小寫。

      C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)

      D、C程序從main函數(shù)開始執(zhí)行

      5.下列正確的標(biāo)識符是(C)。

      A、-a

      1B、a[i]

      C、a2_i

      D、int t

      5~8題為相同類型題

      考點:標(biāo)識符的命名規(guī)則

      只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識符的開頭

      關(guān)鍵字不能作為標(biāo)識符

      選項A中的“-”,選項B中“[”與“]”不滿足(1);選項D中的int為關(guān)鍵字,不滿足(3)

      6.下列C語言用戶標(biāo)識符中合法的是(B)。

      A、3ax

      B、x

      C、case

      D、-e2 E)union

      選項A中的標(biāo)識符以數(shù)字開頭不滿足(2);選項C,E均為為關(guān)鍵字,不滿足(3);選項D中的“-”不滿足(1);

      7.下列四組選項中,正確的C語言標(biāo)識符是(C)。

      A、%x

      B、a+b

      C、a12

      3D、12

      3選項A中的“%”,選項B中“+”不滿足(1);選項D中的標(biāo)識符以數(shù)字開頭不滿足(2)

      8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是(A)。

      A、print _3d db8 aBc

      B、Iam one_half start$it 3pai

      C、str_1 Cpp pow while

      D、Pxq My->book line# His.age

      選項B中的“”,”$”,選項D中“>”,”#”,”.”,”-”不滿足(1);選項C中的while為關(guān)鍵字,不滿足(3)

      9.C語言中的簡單數(shù)據(jù)類型包括(D)。

      A、整型、實型、邏輯型

      B、整型、實型、邏輯型、字符型

      C、整型、字符型、邏輯型

      D、整型、實型、字符型

      10.在C語言程序中,表達(dá)式5%2的結(jié)果是 C。

      A、2.5B、2C、1D、3%為求余運算符,該運算符只能對整型數(shù)據(jù)進(jìn)行運算。且符號與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

      /為求商運算符,該運算符能夠?qū)φ?、字符、浮點等類型的數(shù)據(jù)進(jìn)行運算,5/2=

      211.如果int a=3,b=4;則條件表達(dá)式“aA、3B、4C、0

      D、1詳見教材P97.表達(dá)式1?表達(dá)式2:表達(dá)式

      3先計算表達(dá)式1,若表達(dá)式1成立,則選擇計算表達(dá)式2,并表達(dá)式2的值作為整個大表達(dá)式的值;

      若表達(dá)式1不成立,則選擇計算表達(dá)式3,并將表達(dá)式3的值作為整個大表達(dá)式的值

      此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表達(dá)式x

      A、4B、3C、2D、0

      E)

      113.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)。

      A、0

      B、0或

      1C、1D、‘T’或’F’

      14.下面(D)表達(dá)式的值為4.A、11/

      3B、11.0/

      3C、(float)11/

      3D、(int)(11.0/3+0.5)

      14~16題為同一類型

      詳見教材P54~56.(1)相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。

      (2)不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。

      選項A,11與3為兩個整數(shù),11/3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)部分全部舍掉,僅保留整數(shù),因此11/3=3.選項B,11.0為實數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實型數(shù)據(jù),選項B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實型數(shù)據(jù),因此選項B 11.0/3=3.666666

      選項C,先將整數(shù)11強制類型轉(zhuǎn)換,轉(zhuǎn)換為實型11.0,因此選項C變?yōu)?1.0/3,其后計算過程、結(jié)果與選項B同

      選項D,首先計算11.0/3,其計算過程、結(jié)果與選項B同,得到3.666666;再計算3.666666+0.5=4.166666,最后將4.166666強制類型轉(zhuǎn)換為整型,即將其小數(shù)部分全部舍掉,結(jié)果為

      415.設(shè)整型變量 a=2,則執(zhí)行下列語句后,浮點型變量b的值不為0.5的是(B)

      A、b=1.0/a

      B、b=(float)(1/A、C、b=1/(float)a

      D、b=1/(a*1.0)

      16.若“int n;float f=13.8;”,則執(zhí)行“n=(int)f%3”后,n的值是(A)

      A、1B、4C、4.33333

      3D、4.6

      “(int)f“表示將f中的值強制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為

      117.以下對一維數(shù)組a的正確說明是: D

      A、char a(10);

      B、int a[];

      C、int k=5,a[k];

      D、char a[3]={‘a(chǎn)’,’b’,’c’};

      詳見教材P143~144,一維數(shù)組的定義、初始化

      類型符 數(shù)組名 [常量表達(dá)式]

      類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)則;常量表達(dá)式是指數(shù)組的長度(數(shù)組中包含元素的個數(shù)),其值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

      選項A,常量表達(dá)式只能放在中括號 [ ]中

      選項B,只有在對數(shù)組初始化(即賦值)的時候才可以省略數(shù)組的長度,B中并未對a進(jìn)行初始化。

      選項C,常量表達(dá)式不能為變量。

      18.以下能對一維數(shù)組a進(jìn)行初始化的語句是:(C)

      A、int a[5]=(0,1,2,3,4,)

      B、inta(5)={}

      C、int a[3]={0,1,2}

      D、int a{5}={10*1}

      詳見教材P145,一維數(shù)組的定義、初始化

      選項B,D,常量表達(dá)式只能放在中括號 [ ]中

      選項A,數(shù)組可以看做是若干個相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對其初始化,使用{ }對其初始化,選項A用了().19.在C語言中對一維整型數(shù)組的正確定義為 D。

      A、int a(10);

      B、int n=10,a[n];

      C、int n;a[n];

      D、#define N 10

      int a[N];

      20、已知:int a[10];則對a數(shù)組元素的正確引用是(D)。

      A、a[10]

      B、a[3.5]

      C、a(5)

      D、a[0]

      詳見教材P144,數(shù)組元素的引用

      數(shù)組名[下標(biāo)]

      引用數(shù)組元素時,[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)

      int a[10]表示定義了一個包含10個整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為0~9,即a[0] 表示組中第1個元素;a[1] 表示組中第2個元素;a[2] 表示組中第3個元素;......;a[9] 表示組中第10個元素.選項A,超過了數(shù)組a的邏輯地址下標(biāo)范圍;

      選項B,邏輯地址下標(biāo)只能為整數(shù)

      選項C,邏輯地址下標(biāo)只能放在[ ]中

      21.若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是(C)。

      int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};

      A、10

      B、9

      C、6

      D、5先算a[a[i]]內(nèi)層的a[i],由于i=10,因此a[i]即a[10].a[10]對應(yīng)下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]

      a[9]對應(yīng)下面數(shù)組中的元素為6.因此a[9]即為6

      22.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B)

      A、2B、3C、4D、無確定值7

      D、3 6 9

      二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對二維數(shù)組賦值,因此內(nèi)層有幾個大括號,數(shù)組就有幾行

      23.對二維數(shù)組的正確定義是(C)

      詳見教材P149~152,二維數(shù)組的定義、初始化

      類型符 數(shù)組名 [常量表達(dá)式][常量表達(dá)式]

      二維數(shù)組可以看做是矩陣

      類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)則;第一個常量表達(dá)式是指數(shù)組的行數(shù);第二個常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。

      一維數(shù)組初始化時可以省略數(shù)組長度

      二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)

      選項A,B,都省略了列數(shù)

      選項D,不符合二維數(shù)組定義的一般形式,行、列常量表達(dá)式應(yīng)該放在不同的[]中

      A、int a[ ][ ]={1,2,3,4,5,6};

      B、int a[2] []={1,2,3,4,5,6};

      C、int a[ ] [3]={1,2,3,4,5,6};

      D、int a[2,3]={1,2,3,4,5,6};

      24.已知int a[3][4];則對數(shù)組元素引用正確的是__C___

      A、a[2][4]

      B、a[1,3]

      C、a[2][0]

      D、a(2)(1)

      詳見教材P150,數(shù)組元素的引用

      數(shù)組名[下標(biāo)] [下標(biāo)]

      引用數(shù)組元素時,[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)

      第一個[下標(biāo)]表示行邏輯地址下標(biāo),第二個[下標(biāo)]表示列邏輯地址下標(biāo)。

      本題圖示詳見P149圖6.7

      因此a的行邏輯地址范圍0~2;a的列邏輯地址范圍0~3;

      選項A,列邏輯地址下標(biāo)超過范圍

      選項B,D,的引用形式不正確。

      25.C語言中函數(shù)返回值的類型是由 A 決定的.A、函數(shù)定義時指定的類型

      B、return語句中的表達(dá)式類型

      C、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

      D、形參的數(shù)據(jù)類型

      26.在C語言中,函數(shù)的數(shù)據(jù)類型是指(A)

      A、函數(shù)返回值的數(shù)據(jù)類型

      B、函數(shù)形參的數(shù)據(jù)類型

      C、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型

      D、任意指定的數(shù)據(jù)類型

      27.在函數(shù)調(diào)用時,以下說法正確的是(B)

      A、函數(shù)調(diào)用后必須帶回返回值

      B、實際參數(shù)和形式參數(shù)可以同名

      C、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量

      D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里

      28.在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是:(C)

      A、auto

      B、register

      C、static

      D、extern

      29.未指定存儲類別的變量,其隱含的存儲類別為(A)。

      A、auto

      B、static

      C、extern

      D、register

      30.若有以下說明語句:

      struct student

      { int num;

      char name[ ];

      float score;

      }stu;

      則下面的敘述不正確的是:(D)

      A、struct是結(jié)構(gòu)體類型的關(guān)鍵字

      B、struct student 是用戶定義的結(jié)構(gòu)體類型

      C、num, score都是結(jié)構(gòu)體成員名

      D、stu是用戶定義的結(jié)構(gòu)體類型名

      31.若有以下說明語句:

      struct date

      { int year;

      int month;

      int day;

      }brithday;

      則下面的敘述不正確的是__C___.A、struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字

      B、struct date 是用戶定義的結(jié)構(gòu)體類型名

      C、brithday是用戶定義的結(jié)構(gòu)體類型名

      D、year,day 都是結(jié)構(gòu)體成員名

      32.以下對結(jié)構(gòu)變量stul中成員age的非法引用是 B

      struct student

      { int age;

      int num;

      }stu1,*p;

      p=&stu1;

      A、stu1.age

      B、student.age

      C、p->age

      D、(*p).age

      33.設(shè)有如下定義:

      struck sk

      { int a;

      float b;

      }data;

      int *p;

      若要使P指向data中的a域,正確的賦值語句是 C

      A、p=&a;

      B、p=datA、a;

      C、p=&datA、a;

      D、*p=datA、a;

      34.設(shè)有以下說明語句:

      typedef struct stu

      { int a;

      float b;

      } stutype;

      則下面敘述中錯誤的是(D)。

      A、struct是結(jié)構(gòu)類型的關(guān)鍵字

      B、struct stu是用戶定義的結(jié)構(gòu)類型

      C、a和b都是結(jié)構(gòu)成員名

      D、stutype是用戶定義的結(jié)構(gòu)體變量名

      35.語句int *p;說明了 C。

      A、p是指向一維數(shù)組的指針

      B、p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)

      C、p是指向int型數(shù)據(jù)的指針 // 指針的定義教材P22

      3D、p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針

      36.下列不正確的定義是(A)。

      A、int *p=&i,i;

      B、int *p,i;

      C.int i,*p=&i;

      D、int i,*p;

      選項A先定義一個整型指針變量p,然后將變量i的地址賦給p。然而此時還未定義變量i因此編譯器無法獲得變量i的地址。(A與C對比,選項C先定義變量i,則在內(nèi)存中為i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時可以為p賦i的地址,C正確)

      37.若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是:(D)

      A、p=q

      B、*p=*q

      C、n=*q

      D、p=n

      p,q同為整型指針變量,二者里面僅能存放整型變量的地址。

      選項A,q中為地址,因此可將此地址賦給p

      選項B,*p表示p所指向?qū)ο髇的內(nèi)容,即一個整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于 n=n;

      選項C,n=*q 等價于n=n;

      選項D,p中只能存放地址,不能將n中的整數(shù)值賦給p

      38.有語句:int a[10],;則 B 是對指針變量p的正確定義和初始化。

      A、int p=*a;

      B、int *p=a;

      C、int p=&a;

      D、int *p=&a;

      選項A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a

      選項C,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。而且在定義指針變量p時,應(yīng)在變量名前加*,標(biāo)明p是指針變量

      選項D,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。

      39.若有說明語句“int a[5],*p=a;”,則對數(shù)組元素的正確引用是(C)。

      A、a[p]

      B、p[a]

      C、*(p+2)

      D、p+

      2首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量p,并同時對p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時p中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

      對于數(shù)組元素下標(biāo)的引用(詳見p144), 一般形式 數(shù)組名[下標(biāo)] 其中下標(biāo)為邏輯地址下標(biāo),從0開始計數(shù),方括號中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。

      選項A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)

      選項B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)

      選項C,(重點!!詳見p231~234)p+2表示指向同一數(shù)組中的下兩個元素的地址,當(dāng)前p指向a[0],則p+2表示a[2]的地址,因此*(p+2)表示a[2]的內(nèi)容

      40.有如下程序

      int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

      則數(shù)值為9的表達(dá)式是 B

      A、*P+9

      B、*(P+8)

      C、*P+=9

      D、P+8

      (重點!!詳見p231~234)

      首先定義一個整型數(shù)組a,a的長度為5,然后定義一個指針變量P,并同時對P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時P中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a[0]的地址。

      數(shù)組中9對應(yīng)的是a[8], 選項B,P+8表示數(shù)組中后8個元素的地址,即a[8]的地址。*(P+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。

      選項A,*P表示P所指向?qū)ο蟮膬?nèi)容,此時P指向a[0], *P即a[0]的值1.*P+9=1+9=10

      選項C,*P表示P所指向?qū)ο蟮膬?nèi)容,此時P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價于a[0]=a[0]+9.選項D,P+8表示數(shù)組中后8個元素的地址,即a[8]的地址,而非a[8]中的值。

      41.在C語言中,以 D 作為字符串結(jié)束標(biāo)志

      A、’’

      B、’ ’

      C、’0’

      D、’