第一篇:計(jì)算機(jī)二級(jí)c語(yǔ)言試題及答案
計(jì)算機(jī)二級(jí)考試是全國(guó)計(jì)算機(jī)等級(jí)考試(National Computer Rank Examination,簡(jiǎn)稱NCRE)四個(gè)等級(jí)中的一個(gè)等級(jí),考核計(jì)算機(jī)基礎(chǔ)知識(shí)和使用一種高級(jí)計(jì)算機(jī)語(yǔ)言編寫(xiě)程序以及上機(jī)調(diào)試的基本技能。計(jì)算機(jī)二級(jí)考試采用全國(guó)統(tǒng)一命題、統(tǒng)一考試的形式。那么計(jì)算機(jī)二級(jí)c語(yǔ)言會(huì)怎么考?以下僅供參考!
1.(A)是構(gòu)成C語(yǔ)言程序的基本單位。
A、函數(shù)
B、過(guò)程
C、子程序
D、子例程
2.C語(yǔ)言程序從 C 開(kāi)始執(zhí)行。
A、程序中第一條可執(zhí)行語(yǔ)句
B、程序中第一個(gè)函數(shù)
C、程序中的main函數(shù)
D、包含文件中的第一個(gè)函數(shù)
3、以下說(shuō)法中正確的是(C)。
A、C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B、在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行
D、C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分
4.下列關(guān)于C語(yǔ)言的說(shuō)法錯(cuò)誤的是(B)。
A、C程序的工作過(guò)程是編輯、編譯、連接、運(yùn)行
B、C語(yǔ)言不區(qū)分大小寫(xiě)。
C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D、C程序從main函數(shù)開(kāi)始執(zhí)行
5.下列正確的標(biāo)識(shí)符是(C)。
A、-a
1B、a[i]
C、a2_i
D、int t
5~8題為相同類型題
考點(diǎn):標(biāo)識(shí)符的命名規(guī)則
只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識(shí)符的開(kāi)頭
關(guān)鍵字不能作為標(biāo)識(shí)符
選項(xiàng)A中的“-”,選項(xiàng)B中“[”與“]”不滿足(1);選項(xiàng)D中的int為關(guān)鍵字,不滿足(3)
6.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是(B)。
A、3ax
B、x
C、case
D、-e2 E)union
選項(xiàng)A中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2);選項(xiàng)C,E均為為關(guān)鍵字,不滿足(3);選項(xiàng)D中的“-”不滿足(1);
7.下列四組選項(xiàng)中,正確的C語(yǔ)言標(biāo)識(shí)符是(C)。
A、%x
B、a+b
C、a12
3D、12
3選項(xiàng)A中的“%”,選項(xiàng)B中“+”不滿足(1);選項(xiàng)D中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2)
8、下列四組字符串中都可以用作C語(yǔ)言程序中的標(biāo)識(shí)符的是(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
選項(xiàng)B中的“”,”$”,選項(xiàng)D中“>”,”#”,”.”,”-”不滿足(1);選項(xiàng)C中的while為關(guān)鍵字,不滿足(3)
9.C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型包括(D)。
A、整型、實(shí)型、邏輯型
B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型
D、整型、實(shí)型、字符型
10.在C語(yǔ)言程序中,表達(dá)式5%2的結(jié)果是 C。
A、2.5B、2C、1D、3%為求余運(yùn)算符,該運(yùn)算符只能對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算。且符號(hào)與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;
/為求商運(yùn)算符,該運(yùn)算符能夠?qū)φ?、字符、浮點(diǎn)等類型的數(shù)據(jù)進(jìn)行運(yùn)算,5/2=
211.如果int a=3,b=4;則條件表達(dá)式"aA、3B、4C、0
D、1詳見(jiàn)教材P97.表達(dá)式1?表達(dá)式2:表達(dá)式
3先計(jì)算表達(dá)式1,若表達(dá)式1成立,則選擇計(jì)算表達(dá)式2,并表達(dá)式2的值作為整個(gè)大表達(dá)式的值;
若表達(dá)式1不成立,則選擇計(jì)算表達(dá)式3,并將表達(dá)式3的值作為整個(gè)大表達(dá)式的值
此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表達(dá)式x
A、4B、3C、2D、0
E)
113.C語(yǔ)言中,關(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題為同一類型
詳見(jiàn)教材P54~56.(1)相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。
(2)不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。
選項(xiàng)A,11與3為兩個(gè)整數(shù),11/3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)部分全部舍掉,僅保留整數(shù),因此11/3=3.選項(xiàng)B,11.0為實(shí)數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實(shí)型數(shù)據(jù),選項(xiàng)B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實(shí)型數(shù)據(jù),因此選項(xiàng)B 11.0/3=3.666666
選項(xiàng)C,先將整數(shù)11強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換為實(shí)型11.0,因此選項(xiàng)C變?yōu)?1.0/3,其后計(jì)算過(guò)程、結(jié)果與選項(xiàng)B同
選項(xiàng)D,首先計(jì)算11.0/3,其計(jì)算過(guò)程、結(jié)果與選項(xiàng)B同,得到3.666666;再計(jì)算3.666666+0.5=4.166666,最后將4.166666強(qiáng)制類型轉(zhuǎn)換為整型,即將其小數(shù)部分全部舍掉,結(jié)果為
415.設(shè)整型變量 a=2,則執(zhí)行下列語(yǔ)句后,浮點(diǎn)型變量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中的值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計(jì)算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為
117.以下對(duì)一維數(shù)組a的正確說(shuō)明是: D
A、char a(10);
B、int a[];
C、int k=5,a[k];
D、char a[3]={‘a(chǎn)’,’b’,’c’};
詳見(jiàn)教材P143~144,一維數(shù)組的定義、初始化
類型符 數(shù)組名 [常量表達(dá)式]
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;常量表達(dá)式是指數(shù)組的長(zhǎng)度(數(shù)組中包含元素的個(gè)數(shù)),其值只能是整數(shù),不可以是變量,而且從1開(kāi)始計(jì)數(shù)。
選項(xiàng)A,常量表達(dá)式只能放在中括號(hào) [ ]中
選項(xiàng)B,只有在對(duì)數(shù)組初始化(即賦值)的時(shí)候才可以省略數(shù)組的長(zhǎng)度,B中并未對(duì)a進(jìn)行初始化。
選項(xiàng)C,常量表達(dá)式不能為變量。
18.以下能對(duì)一維數(shù)組a進(jìn)行初始化的語(yǔ)句是:(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}
詳見(jiàn)教材P145,一維數(shù)組的定義、初始化
選項(xiàng)B,D,常量表達(dá)式只能放在中括號(hào) [ ]中
選項(xiàng)A,數(shù)組可以看做是若干個(gè)相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對(duì)其初始化,使用{ }對(duì)其初始化,選項(xiàng)A用了().19.在C語(yǔ)言中對(duì)一維整型數(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];則對(duì)a數(shù)組元素的正確引用是(D)。
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]
詳見(jiàn)教材P144,數(shù)組元素的引用
數(shù)組名[下標(biāo)]
引用數(shù)組元素時(shí),[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開(kāi)始計(jì)數(shù)
int a[10]表示定義了一個(gè)包含10個(gè)整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為0~9,即a[0] 表示組中第1個(gè)元素;a[1] 表示組中第2個(gè)元素;a[2] 表示組中第3個(gè)元素;......;a[9] 表示組中第10個(gè)元素.選項(xiàng)A,超過(guò)了數(shù)組a的邏輯地址下標(biāo)范圍;
選項(xiàng)B,邏輯地址下標(biāo)只能為整數(shù)
選項(xiàng)C,邏輯地址下標(biāo)只能放在[ ]中
21.若有以下數(shù)組說(shuō)明,則i=10;a[a[i]]元素?cá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]對(duì)應(yīng)下面數(shù)組中的元素為9.因此a[a[i]]即為a[9]
a[9]對(duì)應(yīng)下面數(shù)組中的元素為6.因此a[9]即為6
22.若有說(shuō)明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B)
A、2B、3C、4D、無(wú)確定值7
D、3 6 9
二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對(duì)二維數(shù)組賦值,因此內(nèi)層有幾個(gè)大括號(hào),數(shù)組就有幾行
23.對(duì)二維數(shù)組的正確定義是(C)
詳見(jiàn)教材P149~152,二維數(shù)組的定義、初始化
類型符 數(shù)組名 [常量表達(dá)式][常量表達(dá)式]
二維數(shù)組可以看做是矩陣
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;第一個(gè)常量表達(dá)式是指數(shù)組的行數(shù);第二個(gè)常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開(kāi)始計(jì)數(shù)。
一維數(shù)組初始化時(shí)可以省略數(shù)組長(zhǎng)度
二維數(shù)組初始化時(shí)可以省略行數(shù),但不能省略列數(shù)
選項(xiàng)A,B,都省略了列數(shù)
選項(xiàng)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];則對(duì)數(shù)組元素引用正確的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
詳見(jiàn)教材P150,數(shù)組元素的引用
數(shù)組名[下標(biāo)] [下標(biāo)]
引用數(shù)組元素時(shí),[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開(kāi)始計(jì)數(shù)
第一個(gè)[下標(biāo)]表示行邏輯地址下標(biāo),第二個(gè)[下標(biāo)]表示列邏輯地址下標(biāo)。
本題圖示詳見(jiàn)P149圖6.7
因此a的行邏輯地址范圍0~2;a的列邏輯地址范圍0~3;
選項(xiàng)A,列邏輯地址下標(biāo)超過(guò)范圍
選項(xiàng)B,D,的引用形式不正確。
25.C語(yǔ)言中函數(shù)返回值的類型是由 A 決定的.A、函數(shù)定義時(shí)指定的類型
B、return語(yǔ)句中的表達(dá)式類型
C、調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型
D、形參的數(shù)據(jù)類型
26.在C語(yǔ)言中,函數(shù)的數(shù)據(jù)類型是指(A)
A、函數(shù)返回值的數(shù)據(jù)類型
B、函數(shù)形參的數(shù)據(jù)類型
C、調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型
D、任意指定的數(shù)據(jù)類型
27.在函數(shù)調(diào)用時(shí),以下說(shuō)法正確的是(B)
A、函數(shù)調(diào)用后必須帶回返回值
B、實(shí)際參數(shù)和形式參數(shù)可以同名
C、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個(gè)文件里
28.在C語(yǔ)言中,表示靜態(tài)存儲(chǔ)類別的關(guān)鍵字是:(C)
A、auto
B、register
C、static
D、extern
29.未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為(A)。
A、auto
B、static
C、extern
D、register
30.若有以下說(shuō)明語(yǔ)句:
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.若有以下說(shuō)明語(yǔ)句:
struct date
{ int year;
int month;
int day;
}brithday;
則下面的敘述不正確的是__C___.A、struct是聲明結(jié)構(gòu)體類型時(shí)用的關(guān)鍵字
B、struct date 是用戶定義的結(jié)構(gòu)體類型名
C、brithday是用戶定義的結(jié)構(gòu)體類型名
D、year,day 都是結(jié)構(gòu)體成員名
32.以下對(duì)結(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域,正確的賦值語(yǔ)句是 C
A、p=&a;
B、p=datA、a;
C、p=&datA、a;
D、*p=datA、a;
34.設(shè)有以下說(shuō)明語(yǔ)句:
typedef struct stu
{ int a;
float b;
} stutype;
則下面敘述中錯(cuò)誤的是(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.語(yǔ)句int *p;說(shuō)明了 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;
選項(xiàng)A先定義一個(gè)整型指針變量p,然后將變量i的地址賦給p。然而此時(shí)還未定義變量i因此編譯器無(wú)法獲得變量i的地址。(A與C對(duì)比,選項(xiàng)C先定義變量i,則在內(nèi)存中為i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時(shí)可以為p賦i的地址,C正確)
37.若有說(shuō)明:int n=2,*p=&n,*q=p,則以下非法的賦值語(yǔ)句是:(D)
A、p=q
B、*p=*q
C、n=*q
D、p=n
p,q同為整型指針變量,二者里面僅能存放整型變量的地址。
選項(xiàng)A,q中為地址,因此可將此地址賦給p
選項(xiàng)B,*p表示p所指向?qū)ο髇的內(nèi)容,即一個(gè)整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時(shí)為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于 n=n;
選項(xiàng)C,n=*q 等價(jià)于n=n;
選項(xiàng)D,p中只能存放地址,不能將n中的整數(shù)值賦給p
38.有語(yǔ)句:int a[10],;則 B 是對(duì)指針變量p的正確定義和初始化。
A、int p=*a;
B、int *p=a;
C、int p=&a;
D、int *p=&a;
選項(xiàng)A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a
選項(xiàng)C,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。而且在定義指針變量p時(shí),應(yīng)在變量名前加*,標(biāo)明p是指針變量
選項(xiàng)D,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。
39.若有說(shuō)明語(yǔ)句“int a[5],*p=a;”,則對(duì)數(shù)組元素的正確引用是(C)。
A、a[p]
B、p[a]
C、*(p+2)
D、p+
2首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量p,并同時(shí)對(duì)p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時(shí)p中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。
對(duì)于數(shù)組元素下標(biāo)的引用(詳見(jiàn)p144), 一般形式 數(shù)組名[下標(biāo)] 其中下標(biāo)為邏輯地址下標(biāo),從0開(kāi)始計(jì)數(shù),方括號(hào)中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。
選項(xiàng)A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)
選項(xiàng)B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)
選項(xiàng)C,(重點(diǎn)!!詳見(jiàn)p231~234)p+2表示指向同一數(shù)組中的下兩個(gè)元素的地址,當(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
(重點(diǎn)!!詳見(jiàn)p231~234)
首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量P,并同時(shí)對(duì)P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時(shí)P中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。
數(shù)組中9對(duì)應(yīng)的是a[8], 選項(xiàng)B,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址。*(P+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。
選項(xiàng)A,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值1.*P+9=1+9=10
選項(xiàng)C,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價(jià)于a[0]=a[0]+9.選項(xiàng)D,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址,而非a[8]中的值。
第二篇:計(jì)算機(jī)二級(jí)C語(yǔ)言考試試題及答案
C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。下面小編整理了計(jì)算機(jī)二級(jí)C語(yǔ)言考試試題及答案,希望對(duì)大家有幫助!
1.(A)是構(gòu)成C語(yǔ)言程序的基本單位。
A、函數(shù)
B、過(guò)程
C、子程序
D、子例程
2.C語(yǔ)言程序從(C)開(kāi)始執(zhí)行。
A、程序中第一條可執(zhí)行語(yǔ)句
B、程序中第一個(gè)函數(shù)
C、程序中的main函數(shù)
D、包含文件中的第一個(gè)函數(shù)
3、以下說(shuō)法中正確的是(C)。
A、C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B、在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行
D、C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分
4.下列關(guān)于C語(yǔ)言的說(shuō)法錯(cuò)誤的是(B)。
A、C程序的工作過(guò)程是編輯、編譯、連接、運(yùn)行
B、C語(yǔ)言不區(qū)分大小寫(xiě)。
C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D、C程序從main函數(shù)開(kāi)始執(zhí)行
5.下列正確的標(biāo)識(shí)符是(C)。
A、-a
1B、a[i]
C、a2_i
D、int t
5-8題為相同類型題
考點(diǎn):標(biāo)識(shí)符的命名規(guī)則
只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識(shí)符的開(kāi)頭
關(guān)鍵字不能作為標(biāo)識(shí)符
選項(xiàng)A中的“-”,選項(xiàng)B中“[”與“]”不滿足(1);選項(xiàng)D中的int為關(guān)鍵字,不滿足(3)
6.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是(B)。
A、3ax
B、x
C、case
D、-e2 E)union
選項(xiàng)A中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2);選項(xiàng)C,E均為為關(guān)鍵字,不滿足(3);選項(xiàng)D中的“-”不滿足(1);
7.下列四組選項(xiàng)中,正確的C語(yǔ)言標(biāo)識(shí)符是(C)。
A、%x
B、a+b
C、a12
3D、12
3選項(xiàng)A中的“%”,選項(xiàng)B中“+”不滿足(1);選項(xiàng)D中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2)
8、下列四組字符串中都可以用作C語(yǔ)言程序中的標(biāo)識(shí)符的是(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
選項(xiàng)B中的“”,”$”,選項(xiàng)D中“>”,”#”,”.”,”-”不滿足(1);選項(xiàng)C中的while為關(guān)鍵字,不滿足(3)
9.C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型包括(D)。
A、整型、實(shí)型、邏輯型
B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型
D、整型、實(shí)型、字符型
10.在C語(yǔ)言程序中,表達(dá)式5%2的結(jié)果是 C。
A、2.5B、2C、1D、3%為求余運(yùn)算符,該運(yùn)算符只能對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算。且符號(hào)與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;
/為求商運(yùn)算符,該運(yùn)算符能夠?qū)φ?、字符、浮點(diǎn)等類型的數(shù)據(jù)進(jìn)行運(yùn)算,5/2=2
第三篇:c語(yǔ)言試題及答案
一、單選題
1.在C語(yǔ)言中,下列類型屬于構(gòu)造類型的是(D)A.整型 B.字符型 C.實(shí)型 D.?dāng)?shù)組類型 2.下列字符串不是標(biāo)識(shí)符的是(D)A.sum B.Average C.Day_night D.M.D.JOHN 3.在C語(yǔ)言中,回車換行符是(A)A.n B.t C.v D.b 4.在C語(yǔ)言中,語(yǔ)句和數(shù)據(jù)定義是用(C)作為結(jié)束標(biāo)記的 A.句號(hào) B.逗號(hào) C.分號(hào) D.括號(hào) 5.設(shè)有如下定義: int x=10,y=5,z;則語(yǔ)句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.因輸出格式不合法,輸出出錯(cuò)信息 B.8,2,6,106 C.8,2,6,10 D.8,2,5,9 7.兩次運(yùn)行下面的程序,如果從鍵盤(pán)上分別輸入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的值時(shí)(A)A.2 B.2.1 C.0 D.3 9.下列運(yùn)算符優(yōu)先級(jí)最高的是(B)A.> B.+ C.&& D.!= 10.C語(yǔ)言容許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型時(shí)(B)A.float型 B.Int型 C.Long 型 D.Double型
11、C程序的基本構(gòu)成單位是(C)A、子程序 B、過(guò)程 C、函數(shù) D、文件
12、C語(yǔ)言中要求操作數(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語(yǔ)言表達(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、運(yùn)行C源程序的命令是(D)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9
17、運(yùn)行完C程序后,查看C程序運(yùn)行結(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)等價(jià)。A M==0 B M=1 C M!=1 D M!=0
21、在C語(yǔ)言中,if語(yǔ)句后的一對(duì)圓括號(hào)中,用以決定分支流程的表達(dá)式為(D)。A 只能是邏輯表達(dá)式 B只能是關(guān)系表達(dá)式
C 只能是邏輯表達(dá)式或關(guān)系表達(dá)式 D可以是任意表達(dá)式
22、下列選項(xiàng)中,(A)給變量賦初值是錯(cuò)誤的。
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語(yǔ)言中,一個(gè)字符變量在內(nèi)存中占用(A)個(gè)字節(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以下程序段中與語(yǔ)句k=a>b?(b>c?1:0):0;功能等價(jià)的是(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、算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是(A)有窮性(B)簡(jiǎn)潔性(C)可行性(D)確定性 32以下選項(xiàng)中可作為C語(yǔ)言合法常量的是(A)(A)-80.(B)-080(C)-8e1.0(D)-80.0e
33、以下敘述中正確的是(C)
(A)用C語(yǔ)言實(shí)現(xiàn)的算法必須要有輸入和輸出操作(B)用C語(yǔ)言實(shí)現(xiàn)的算法可以沒(méi)有輸出但必須要有輸入(C)用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出(D)用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出
33、以下選項(xiàng)中,不能作為合法常量的是(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);} 程序運(yùn)行后的輸出結(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í)行以下程序時(shí)從鍵盤(pán)上輸入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、以下非法的賦值語(yǔ)句是(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型變量,若從鍵盤(pán)輸入:1,2,3<回車>,使i的值為 1、j的值為 2、k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是(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 以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是(A)A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 39、若有說(shuō)明:int i,j=7, *p=&i;,則與i=j;等價(jià)的語(yǔ)句是B A)i= *P;B)*P=*&J;C)i=&j;D)i=* *p;40、若有以下說(shuō)明: 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語(yǔ)言是通過(guò) 庫(kù)函數(shù) 來(lái)進(jìn)行輸入和輸出的。 2.C語(yǔ)言的數(shù)據(jù)類型有四大類,他們是 基本類型、構(gòu)造類型、指針類型和 空類型。 4.下面程序的運(yùn)行結(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)識(shí)符 命名規(guī)則。 6、main(){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%cn”,c1,c2,c3);} 程序的運(yùn)行結(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);} 程序的運(yùn)行結(jié)果是:-1 11.設(shè)x的值為15,n的值為2,則表達(dá)式x%=(n+=3)運(yùn)算后,x的值為 0。12.設(shè) int a=7,b=9,t;執(zhí)行完表達(dá)式t=(a>b)?a:b后,t的值是 9。14.求100~200間的全部素?cái)?shù)。# include 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);} 寫(xiě)出程序的運(yùn)行結(jié)果:x=5 x=1 x=7 z=0 16、百馬百擔(dān)問(wèn)題:有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問(wè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、寫(xiě)出程序運(yùn)行結(jié)果,并簡(jiǎn)述功能(運(yùn)行結(jié)果5分,功能描述3分,共8分)#include 將整型數(shù)組a以逆序形式顯示出來(lái) 18、有以下語(yǔ)句段 int n1=10,n2=20;printf(“ n1=%dnn2=%d ”,n1,n2); 要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開(kāi)始,請(qǐng)?zhí)羁铡1=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、.以下程序運(yùn)行后的輸出結(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時(shí),執(zhí)行完下面一段程序后x的值是___x=2______ if(a 24、以下程序運(yùn)行后的輸出結(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、在購(gòu)買某物品時(shí),若所花的錢(qián)x在下述范圍內(nèi),所付錢(qián)y按對(duì)應(yīng)折扣支付: x x<1000 0.9x 1000≤x<2000 0.8x 2000≤x<3000 0.7x x.≥3000 y= 2、編一程序根據(jù)上網(wǎng)時(shí)間計(jì)算上網(wǎng)費(fèi)用,計(jì)算方法如下: 費(fèi)用= 30元基數(shù) <10小時(shí) 每小時(shí)3元 10 ~50 每小時(shí)2.5元 ≥50小時(shí) 同時(shí)為了鼓勵(lì)多上網(wǎng),每月收費(fèi)最多不超過(guò)150元。 3、已知輸入某課程的百分制成績(jī)mark,要求顯示對(duì)應(yīng)五級(jí)制的評(píng)定,評(píng)定條件如下: 等級(jí)= 優(yōu) mark≥90 良 80≤mark<90 中 70≤mark<80 及格 60≤mark<70 不及格 mark<60 第一題答案: #include C語(yǔ)言的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到C語(yǔ)言,下面給大家整理了計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案,歡迎閱讀! 計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析 1.(A)是構(gòu)成C語(yǔ)言程序的基本單位。 A、函數(shù) B、過(guò)程 C、子程序 D、子例程 2.C語(yǔ)言程序從 C 開(kāi)始執(zhí)行。 A、程序中第一條可執(zhí)行語(yǔ)句 B、程序中第一個(gè)函數(shù) C、程序中的main函數(shù) D、包含文件中的第一個(gè)函數(shù) 3、以下說(shuō)法中正確的是(C)。 A、C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行 B、在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義 C、C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行 D、C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分 4.下列關(guān)于C語(yǔ)言的說(shuō)法錯(cuò)誤的是(B)。 A、C程序的工作過(guò)程是編輯、編譯、連接、運(yùn)行 B、C語(yǔ)言不區(qū)分大小寫(xiě)。 C、C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán) D、C程序從main函數(shù)開(kāi)始執(zhí)行 5.下列正確的標(biāo)識(shí)符是(C)。 A、-a 1B、a[i] C、a2_i D、int t 5~8題為相同類型題 考點(diǎn):標(biāo)識(shí)符的命名規(guī)則 只能由字母、數(shù)字、下劃線構(gòu)成數(shù)字不能作為標(biāo)識(shí)符的開(kāi)頭 關(guān)鍵字不能作為標(biāo)識(shí)符 選項(xiàng)A中的“-”,選項(xiàng)B中“[”與“]”不滿足(1);選項(xiàng)D中的int為關(guān)鍵字,不滿足(3) 6.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是(B)。 A、3ax B、x C、case D、-e2 E)union 選項(xiàng)A中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2);選項(xiàng)C,E均為為關(guān)鍵字,不滿足(3);選項(xiàng)D中的“-”不滿足(1); 7.下列四組選項(xiàng)中,正確的C語(yǔ)言標(biāo)識(shí)符是(C)。 A、%x B、a+b C、a12 3D、12 3選項(xiàng)A中的“%”,選項(xiàng)B中“+”不滿足(1);選項(xiàng)D中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿足(2) 8、下列四組字符串中都可以用作C語(yǔ)言程序中的標(biāo)識(shí)符的是(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 選項(xiàng)B中的“”,”$”,選項(xiàng)D中“>”,”#”,”.”,”-”不滿足(1);選項(xiàng)C中的while為關(guān)鍵字,不滿足(3) 9.C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型包括(D)。 A、整型、實(shí)型、邏輯型 B、整型、實(shí)型、邏輯型、字符型 C、整型、字符型、邏輯型 D、整型、實(shí)型、字符型 10.在C語(yǔ)言程序中,表達(dá)式5%2的結(jié)果是 C。 A、2.5B、2C、1D、3%為求余運(yùn)算符,該運(yùn)算符只能對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算。且符號(hào)與被模數(shù)相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /為求商運(yùn)算符,該運(yùn)算符能夠?qū)φ?、字符、浮點(diǎn)等類型的數(shù)據(jù)進(jìn)行運(yùn)算,5/2= 211.如果int a=3,b=4;則條件表達(dá)式“aA、3B、4C、0 D、1詳見(jiàn)教材P97.表達(dá)式1?表達(dá)式2:表達(dá)式 3先計(jì)算表達(dá)式1,若表達(dá)式1成立,則選擇計(jì)算表達(dá)式2,并表達(dá)式2的值作為整個(gè)大表達(dá)式的值; 若表達(dá)式1不成立,則選擇計(jì)算表達(dá)式3,并將表達(dá)式3的值作為整個(gè)大表達(dá)式的值 此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表達(dá)式x A、4B、3C、2D、0 E) 113.C語(yǔ)言中,關(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題為同一類型 詳見(jiàn)教材P54~56.(1)相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。 (2)不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度的數(shù)據(jù)類型。 選項(xiàng)A,11與3為兩個(gè)整數(shù),11/3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)部分全部舍掉,僅保留整數(shù),因此11/3=3.選項(xiàng)B,11.0為實(shí)數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實(shí)型數(shù)據(jù),選項(xiàng)B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實(shí)型數(shù)據(jù),因此選項(xiàng)B 11.0/3=3.666666 選項(xiàng)C,先將整數(shù)11強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換為實(shí)型11.0,因此選項(xiàng)C變?yōu)?1.0/3,其后計(jì)算過(guò)程、結(jié)果與選項(xiàng)B同 選項(xiàng)D,首先計(jì)算11.0/3,其計(jì)算過(guò)程、結(jié)果與選項(xiàng)B同,得到3.666666;再計(jì)算3.666666+0.5=4.166666,最后將4.166666強(qiáng)制類型轉(zhuǎn)換為整型,即將其小數(shù)部分全部舍掉,結(jié)果為 415.設(shè)整型變量 a=2,則執(zhí)行下列語(yǔ)句后,浮點(diǎn)型變量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中的值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計(jì)算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為 117.以下對(duì)一維數(shù)組a的正確說(shuō)明是: D A、char a(10); B、int a[]; C、int k=5,a[k]; D、char a[3]={‘a(chǎn)’,’b’,’c’}; 詳見(jiàn)教材P143~144,一維數(shù)組的定義、初始化 類型符 數(shù)組名 [常量表達(dá)式] 類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;常量表達(dá)式是指數(shù)組的長(zhǎng)度(數(shù)組中包含元素的個(gè)數(shù)),其值只能是整數(shù),不可以是變量,而且從1開(kāi)始計(jì)數(shù)。 選項(xiàng)A,常量表達(dá)式只能放在中括號(hào) [ ]中 選項(xiàng)B,只有在對(duì)數(shù)組初始化(即賦值)的時(shí)候才可以省略數(shù)組的長(zhǎng)度,B中并未對(duì)a進(jìn)行初始化。 選項(xiàng)C,常量表達(dá)式不能為變量。 18.以下能對(duì)一維數(shù)組a進(jìn)行初始化的語(yǔ)句是:(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} 詳見(jiàn)教材P145,一維數(shù)組的定義、初始化 選項(xiàng)B,D,常量表達(dá)式只能放在中括號(hào) [ ]中 選項(xiàng)A,數(shù)組可以看做是若干個(gè)相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對(duì)其初始化,使用{ }對(duì)其初始化,選項(xiàng)A用了().19.在C語(yǔ)言中對(duì)一維整型數(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];則對(duì)a數(shù)組元素的正確引用是(D)。 A、a[10] B、a[3.5] C、a(5) D、a[0] 詳見(jiàn)教材P144,數(shù)組元素的引用 數(shù)組名[下標(biāo)] 引用數(shù)組元素時(shí),[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開(kāi)始計(jì)數(shù) int a[10]表示定義了一個(gè)包含10個(gè)整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為0~9,即a[0] 表示組中第1個(gè)元素;a[1] 表示組中第2個(gè)元素;a[2] 表示組中第3個(gè)元素;......;a[9] 表示組中第10個(gè)元素.選項(xiàng)A,超過(guò)了數(shù)組a的邏輯地址下標(biāo)范圍; 選項(xiàng)B,邏輯地址下標(biāo)只能為整數(shù) 選項(xiàng)C,邏輯地址下標(biāo)只能放在[ ]中 21.若有以下數(shù)組說(shuō)明,則i=10;a[a[i]]元素?cá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]對(duì)應(yīng)下面數(shù)組中的元素為9.因此a[a[i]]即為a[9] a[9]對(duì)應(yīng)下面數(shù)組中的元素為6.因此a[9]即為6 22.若有說(shuō)明:int a[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B) A、2B、3C、4D、無(wú)確定值7 D、3 6 9 二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對(duì)二維數(shù)組賦值,因此內(nèi)層有幾個(gè)大括號(hào),數(shù)組就有幾行 23.對(duì)二維數(shù)組的正確定義是(C) 詳見(jiàn)教材P149~152,二維數(shù)組的定義、初始化 類型符 數(shù)組名 [常量表達(dá)式][常量表達(dá)式] 二維數(shù)組可以看做是矩陣 類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;第一個(gè)常量表達(dá)式是指數(shù)組的行數(shù);第二個(gè)常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開(kāi)始計(jì)數(shù)。 一維數(shù)組初始化時(shí)可以省略數(shù)組長(zhǎng)度 二維數(shù)組初始化時(shí)可以省略行數(shù),但不能省略列數(shù) 選項(xiàng)A,B,都省略了列數(shù) 選項(xiàng)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];則對(duì)數(shù)組元素引用正確的是__C___ A、a[2][4] B、a[1,3] C、a[2][0] D、a(2)(1) 詳見(jiàn)教材P150,數(shù)組元素的引用 數(shù)組名[下標(biāo)] [下標(biāo)] 引用數(shù)組元素時(shí),[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開(kāi)始計(jì)數(shù) 第一個(gè)[下標(biāo)]表示行邏輯地址下標(biāo),第二個(gè)[下標(biāo)]表示列邏輯地址下標(biāo)。 本題圖示詳見(jiàn)P149圖6.7 因此a的行邏輯地址范圍0~2;a的列邏輯地址范圍0~3; 選項(xiàng)A,列邏輯地址下標(biāo)超過(guò)范圍 選項(xiàng)B,D,的引用形式不正確。 25.C語(yǔ)言中函數(shù)返回值的類型是由 A 決定的.A、函數(shù)定義時(shí)指定的類型 B、return語(yǔ)句中的表達(dá)式類型 C、調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型 D、形參的數(shù)據(jù)類型 26.在C語(yǔ)言中,函數(shù)的數(shù)據(jù)類型是指(A) A、函數(shù)返回值的數(shù)據(jù)類型 B、函數(shù)形參的數(shù)據(jù)類型 C、調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型 D、任意指定的數(shù)據(jù)類型 27.在函數(shù)調(diào)用時(shí),以下說(shuō)法正確的是(B) A、函數(shù)調(diào)用后必須帶回返回值 B、實(shí)際參數(shù)和形式參數(shù)可以同名 C、函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量 D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個(gè)文件里 28.在C語(yǔ)言中,表示靜態(tài)存儲(chǔ)類別的關(guān)鍵字是:(C) A、auto B、register C、static D、extern 29.未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為(A)。 A、auto B、static C、extern D、register 30.若有以下說(shuō)明語(yǔ)句: 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.若有以下說(shuō)明語(yǔ)句: struct date { int year; int month; int day; }brithday; 則下面的敘述不正確的是__C___.A、struct是聲明結(jié)構(gòu)體類型時(shí)用的關(guān)鍵字 B、struct date 是用戶定義的結(jié)構(gòu)體類型名 C、brithday是用戶定義的結(jié)構(gòu)體類型名 D、year,day 都是結(jié)構(gòu)體成員名 32.以下對(duì)結(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域,正確的賦值語(yǔ)句是 C A、p=&a; B、p=datA、a; C、p=&datA、a; D、*p=datA、a; 34.設(shè)有以下說(shuō)明語(yǔ)句: typedef struct stu { int a; float b; } stutype; 則下面敘述中錯(cuò)誤的是(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.語(yǔ)句int *p;說(shuō)明了 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; 選項(xiàng)A先定義一個(gè)整型指針變量p,然后將變量i的地址賦給p。然而此時(shí)還未定義變量i因此編譯器無(wú)法獲得變量i的地址。(A與C對(duì)比,選項(xiàng)C先定義變量i,則在內(nèi)存中為i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時(shí)可以為p賦i的地址,C正確) 37.若有說(shuō)明:int n=2,*p=&n,*q=p,則以下非法的賦值語(yǔ)句是:(D) A、p=q B、*p=*q C、n=*q D、p=n p,q同為整型指針變量,二者里面僅能存放整型變量的地址。 選項(xiàng)A,q中為地址,因此可將此地址賦給p 選項(xiàng)B,*p表示p所指向?qū)ο髇的內(nèi)容,即一個(gè)整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時(shí)為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于 n=n; 選項(xiàng)C,n=*q 等價(jià)于n=n; 選項(xiàng)D,p中只能存放地址,不能將n中的整數(shù)值賦給p 38.有語(yǔ)句:int a[10],;則 B 是對(duì)指針變量p的正確定義和初始化。 A、int p=*a; B、int *p=a; C、int p=&a; D、int *p=&a; 選項(xiàng)A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a 選項(xiàng)C,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。而且在定義指針變量p時(shí),應(yīng)在變量名前加*,標(biāo)明p是指針變量 選項(xiàng)D,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。 39.若有說(shuō)明語(yǔ)句“int a[5],*p=a;”,則對(duì)數(shù)組元素的正確引用是(C)。 A、a[p] B、p[a] C、*(p+2) D、p+ 2首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量p,并同時(shí)對(duì)p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時(shí)p中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。 對(duì)于數(shù)組元素下標(biāo)的引用(詳見(jiàn)p144), 一般形式 數(shù)組名[下標(biāo)] 其中下標(biāo)為邏輯地址下標(biāo),從0開(kāi)始計(jì)數(shù),方括號(hào)中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。 選項(xiàng)A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo) 選項(xiàng)B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo) 選項(xiàng)C,(重點(diǎn)!!詳見(jiàn)p231~234)p+2表示指向同一數(shù)組中的下兩個(gè)元素的地址,當(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 (重點(diǎn)!!詳見(jiàn)p231~234) 首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量P,并同時(shí)對(duì)P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時(shí)P中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。 數(shù)組中9對(duì)應(yīng)的是a[8], 選項(xiàng)B,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址。*(P+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。 選項(xiàng)A,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值1.*P+9=1+9=10 選項(xiàng)C,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價(jià)于a[0]=a[0]+9.選項(xiàng)D,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址,而非a[8]中的值。 41.在C語(yǔ)言中,以 D 作為字符串結(jié)束標(biāo)志 A、’’ B、’ ’ C、’0’ D、’
主站蜘蛛池模板:
久久亚洲日韩av一区二区三区|
欧洲熟妇色xxxx欧美老妇免费|
国产精品成人无码久久久|
久久综合av色老头免费观看|
黑人糟蹋人妻hd中文字幕|
国产亚洲2021成人乱码|
日韩欧国产精品一区综合无码|
18禁黄无遮挡网站免费|
曰欧一片内射vα在线影院|
亚洲精品一区二区三区的|
无码乱码天天更新|
白天躁晚上躁麻豆视频|
欧美老肥妇做爰bbww|
国内精品久久久久久影院|
亚洲最新版av无码中文字幕|
妇女性内射冈站hdwwwooo|
中文字幕日韩人妻不卡一区|
日韩av无码成人无码免费|
国产 高清 无码 在线播放|
久久天天拍天天爱天天躁|
国产 制服丝袜 动漫在线|
久久人人97超碰国产亚洲人|
国产精品精华液网站|
丰满少妇被猛烈进入高清播放|
久久久久青草线综合超碰|
国产精品久久久久久人妻|
欧美亚洲国产精品久久蜜芽|
аⅴ资源中文在线天堂|
日本真人边吃奶边做爽动态图|
99久久国产热无码精品免费|
亚洲色欲啪啪久久www综合网|
性色av极品无码专区亚洲|
欧美又粗又长又爽做受|
看全黄大色黄大片美女|
国产精品人妻99一区二区三区|
无码专区aaaaaa免费视频|
亚洲国产精品原创巨作av|
欧美日韩在线视频一区|
扒开女人内裤猛进猛出免费视频|
男女性爽大片视频|
白嫩少妇喷水正在播放|
第四篇:計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析