官方網(wǎng)站如何做外貿(mào)seo推廣招聘
Ⅰ? 易錯(cuò)題
1.設(shè)有double p;,為變量p聲明一個(gè)引用名稱rp,則定義語(yǔ)句為?double& rp=p;
2.已知‘A’一‘Z’的ASCII碼為65—90,當(dāng)執(zhí)行“char ch=14*5+2;cout<<ch<<endl;”語(yǔ)句序列后得到的輸出結(jié)H? ?,72對(duì)應(yīng)ASCII碼中的字符’H’
3.變量分為全局和局部?jī)煞N,____變量沒(méi)有賦初值時(shí),其值是不確定的.?局部變量沒(méi)有賦初值時(shí),其值是不確定的。
4.?如果要把PI聲明為值為3.14159類型為雙精度實(shí)數(shù)的符號(hào)常量,該聲明語(yǔ)句是___。
可以使用C++中的const關(guān)鍵字來(lái)聲明一個(gè)符號(hào)常量,其語(yǔ)法為:const 數(shù)據(jù)類型 常量名 = 常量值;
const double PI = 3.14159;
5.?現(xiàn)在有以下語(yǔ)句: ?? struct MyBitType ??? {??char a[3]; ?????? int b[3]; ?????? float c[2]; ????? };//int占四個(gè)字節(jié) ??? int sz=sizeof(MyBitType); 則執(zhí)行后,變量sz的值將得到(?? )。 A、16? B、8?? ? ?C、27????D、31
執(zhí)行后,變量sz的值將得到B、8。 MyBitType中有三個(gè)char類型,占用3個(gè)字節(jié);三個(gè)int類型,占用12個(gè)字節(jié);兩個(gè)float類型,占用8個(gè)字節(jié)。所以總共占用23個(gè)字節(jié),但由于內(nèi)存對(duì)齊的原因,需要將其舍入為8的倍數(shù),所以sz的值為8。
6.結(jié)構(gòu)體變量S實(shí)際所占內(nèi)存的大小為(? ? )字節(jié)。 A、sizeof(S)?B、strlen(S) C、結(jié)構(gòu)體中最長(zhǎng)成員的長(zhǎng)度?????? D、結(jié)構(gòu)體中最短成員的長(zhǎng)度
答案是A、sizeof(S)。在C語(yǔ)言中,可以使用sizeof運(yùn)算符來(lái)計(jì)算結(jié)構(gòu)體變量所占的內(nèi)存大小,其返回值單位為字節(jié)。而strlen函數(shù)是用來(lái)計(jì)算字符串長(zhǎng)度的,不適用于計(jì)算結(jié)構(gòu)體變量大小。結(jié)構(gòu)體中最長(zhǎng)成員的長(zhǎng)度和最短成員的長(zhǎng)度也不能代表整個(gè)結(jié)構(gòu)體變量所占內(nèi)存的大小。
7.在函數(shù)說(shuō)明時(shí),下列( )項(xiàng)是不必要的。 A、函數(shù)的類型 B、函數(shù)參數(shù)類型和名字 C、函數(shù)名字 D、返回值表達(dá)式
在函數(shù)說(shuō)明時(shí),不必要提供函數(shù)的類型,因?yàn)橐呀?jīng)確定為函數(shù)類型。因此選項(xiàng)A不必要。
8.下列標(biāo)識(shí)符中,( )不是局部變量。 A、register類 B、外部static類 C、auto類 D、函數(shù)形參
A、register類、C、auto類和D、函數(shù)形參都是局部變量,只存在于它們所在的函數(shù)或代碼塊中。
B、外部static類則是全局變量,但是其作用域被限定在定義該變量的文件內(nèi),不同于一般的全局變量。
9.C++中的組合符號(hào)是“::”,它被稱為作用域解析符,用于指定命名空間、類、結(jié)構(gòu)體、枚舉、函數(shù)等的作用域。具體來(lái)說(shuō),使用“::”可以訪問(wèn)命名空間中的成員,類中的靜態(tài)成員,類的成員函數(shù)和全局作用域中的函數(shù)。
例如,如果有一個(gè)名為MyNamespace的命名空間,其中包含一個(gè)名為MyFunction的函數(shù)和一個(gè)名為MyClass的類,我們可以使用“::”來(lái)訪問(wèn)它們的作用域:
MyNamespace::MyFunction(); // 訪問(wèn)命名空間中的函數(shù)
MyNamespace::MyClass::MyStaticMember; // 訪問(wèn)類中的靜態(tài)成員
MyNamespace::MyClass myObject; // 創(chuàng)建類對(duì)象
myObject.MyMemberFunction(); // 調(diào)用對(duì)象的成員函數(shù)
Ⅱ? ? C語(yǔ)言基礎(chǔ)選擇題精選?
1、以下說(shuō)法中正確的是(C)(2分)
A、C語(yǔ)言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B、在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語(yǔ)言程序總是從main()函數(shù)開始執(zhí)行
D、C語(yǔ)言程序中的main()函數(shù)必須放在程序的開始部分
?2、一個(gè)算法應(yīng)該具有“確定性”等五個(gè)特性,下面對(duì)另外4個(gè)特性的描述中錯(cuò)誤的是(B)(2分)
A、有零個(gè)或多個(gè)輸入 ?????
B、有零個(gè)或多個(gè)輸出
C、有窮性
D、可行性
?3、以下選項(xiàng)中,不合法常量的是 (B)(2分)
A、1.234e04 ?B、1.234e0.4 ?
C、1.234e+4 ?D、1.234e0
?4、C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括(B)(2分)
A、整型、實(shí)型、邏輯型 ???B、整型、實(shí)型、字符型
C、整型、字符型、邏輯型 ??D、整型、實(shí)型、邏輯型、字符型 ?
5、能正確表示邏輯關(guān)系:“10≥=a≥=0”的C語(yǔ)言表達(dá)式是 (D)(2分)
A、 10>=a>=0 ?B、 a>=0 and a<=10
C、 a>=0||a<=10 D、 a>=0&&a<=10
?6、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是(D)(2分)
A、 6.500000 ??????B、 6 ????????
C、 5.500000 ??????????D、 6.000000
?7、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語(yǔ)句是 (B)(2分)
A、 INPUT x、y、z; ?B、 scanf("%d%d%d",&x,&y,&z); ?
C、 scanf("%d%d%d",x,y,z); ?D、 read("%d%d%d",&x,&y,&z); ?
8、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;則執(zhí)行后,c3中的值是(A)(2分)
A、 0 ?B、 0.5 ?
C、 1 ?D、 2
?9、設(shè)char ch='A';則ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( ?B ??)。 ?????(2分)
A、A B、a
C、Z D、z
?10、設(shè) int ?x=1, y=1; 表達(dá)式(!x||y--)的值是( ?B ?)。(2分)
A、0 ?B、1 C、2 D、-1
11.執(zhí)行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d %d %d\n”,k,a,b);后的輸出結(jié)果是( ?D ) 。 ?????????????(2分)
A、1 0 4 ?B、1 0 3 ?
C、0 0 3 ?D、0 0 4 ?
12、程序段 ??int ?x=3; ??do ?{ printf(“%d”,x-=2); ?} ??while (!(--x));的輸出結(jié)果是( ??C ?)。(2分)
A、1 ?B、3 ?0 C、1 ?-2 D、死循環(huán)
15、語(yǔ)句int k=1; while (k++<10);執(zhí)行后,變量k的值是( ?B )。(2分)
A、10 ?B、11 C、9 ?D、無(wú)限循環(huán),值不定
?
16、程序 int i,sum; ?for(i=1;i<=3;sum++)sum+=i; ??printf(“%d\n”,sum); 的執(zhí)行結(jié)果是( ?C ??)。(2分)
A、6 ?B、3 C、不確定 D、0
?
17、以下對(duì)二維整形數(shù)組a的正確說(shuō)明是( ??C)。(2分)
A、int a[3][]; B、float a(3,4);
C、double a[1][4]; D、float a(3)(4)
?
18、若已定義char s[10];在下面表達(dá)式中不能表示s[1]的地址的是(B ??)。 (2分)
A、s+1 ?B、s++ ?
C、&s[0]+1 ?D、&s[1]
19、對(duì)兩個(gè)字符數(shù)組a和b進(jìn)行初始化char a[ ]="ABCDEF"; ?char ?b[ ]={'A','B','C','D','E','F'}; 則以下敘述正確的是(D ??) 。 (2分)
A、a與b數(shù)組完全相同 B、a與b長(zhǎng)度相同 ??
C、a和b中都存放字符串 D、a數(shù)組比b數(shù)組長(zhǎng)度長(zhǎng)
?
20、有說(shuō)明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};則表達(dá)式*language[1]>*language[2]比較的是( A )
A、字符B和字符P ?????????????B、字符串FORTRAN和字符串BASIC
C、字符F和字符B ?????????????D、字符串BASIC和字符串PASCAL
21、C語(yǔ)言程序由函數(shù)組成,它的( ?B)。(2分)
A、主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)
B、主函數(shù)可以在其它函數(shù)之后,函數(shù)內(nèi)不可以嵌套定義函數(shù)
C、主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)
D、主函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)
?22、在C語(yǔ)言中,若需一變量只在本文件中所有函數(shù)使用,則該變量的存儲(chǔ)類別是( D )。(2分)
A、extern ?B、registerC、auto D、static
?23、已知:int a[]={1,2,3,4,5,6},*p=a;則值為3的表達(dá)式是 ( ??A ?)。 ???????????.(2分)
A、p+=2,*(p++) ????????B、p+=2,*++p ???????
C、p+=3,*p++ ??????D、p+=2,++*p
?
24、設(shè)有說(shuō)明語(yǔ)句“struct stu{ ?int a; ?float b;}stutype;”,則敘述不正確的是(C )(2分)
A、struct是結(jié)構(gòu)體類型的關(guān)鍵字。 B、struct stu是用戶定義的結(jié)構(gòu)體類型。
C、stutype是用戶定義的結(jié)構(gòu)體變量名。 D、a和b都是結(jié)構(gòu)體變量。
25、下列關(guān)于文件指針的描述中,錯(cuò)誤的是(D )(2分)
A、文件指針是由文件類型FILE定義的。 B、文件指針是指向內(nèi)存某個(gè)單元的地址值。
C、文件指針是用來(lái)對(duì)文件操作的標(biāo)識(shí)。 D、文件指針在一個(gè)程序中只能有一個(gè)。
26、以下敘述中正確的是(B)(2分)
?A、C語(yǔ)言的源程序不必通過(guò)編譯就可以直接運(yùn)行
?B、C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
?C、C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
?D、C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
27、以下敘述中正確的是 (C)(2分)
?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)有輸出
28、C語(yǔ)言中, 下列字符常量合法的是(A)(2分)
?A、'\t' ?B、"A" ?C、65 ?D、A
?
29、下列關(guān)于賦值運(yùn)算符的表述中,錯(cuò)誤的是(C)(2分)
?A、賦值運(yùn)算符優(yōu)先級(jí)高于逗號(hào)運(yùn)算符
?B、賦值運(yùn)算符的結(jié)合性是從左至右
C、賦值運(yùn)算符是雙目運(yùn)算符
?D、賦值運(yùn)算符可在表達(dá)式中連用
?
31、以下不是關(guān)鍵字的是(C)(2分)
?A、continue B、char C、If D、default
32、設(shè)x,y為浮點(diǎn)型變量,合法賦值語(yǔ)句是(A)(2分)
?A、x=8+y; ??B、(float)3 ; ????C、y=(x%2)/10 ; ???D、*x=10;
?
33、已定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是(B)(2分)
?A、 ch='\'; ????B、 ch=62+3; ?????C、 ch=' '; ????D、 ch='\xaa';
?
38、c語(yǔ)言中( ?D ?)。(2分)
?A、不能使用do-while語(yǔ)句構(gòu)成的循環(huán)
?B、do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能退出
?C、do—whiLe語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán) ???????????D、do—while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)
39、設(shè)j為int型變量,則for(j=10;j>3;j--) {if (j%3) ?j--; --j;--j;printf(“%d ???”,j); }的執(zhí)行結(jié)果是( ?A ?)。 ?(2分
A、7 ???4B、4 ???7 C、5 ???6D、1 ???3
?
41、以下正確的定義語(yǔ)句是( ?D )。(2分)
?A、int a[1][4]={1,2,3,4,5};
?B、float x[3][]={{1},{2},{3}};
C、long b[2][3]={{1},{1,2},{1,2,3}};
?D、double y[][3]={0};
43、在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是( C )。(2分)
?A、整型常量
?B、整型表達(dá)式
C、整型常量或整型表達(dá)式
?D、任何類型的表達(dá)式
?
44、若有說(shuō)明:int a[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是( B ?)。(2分)
?A、2? ?B、3? ? C、4? ? ?D、無(wú)確定值
int *f()表示這個(gè)函數(shù)的功能是:返回一個(gè)地址.
int(*f)():表示 這是一個(gè)函數(shù)的指針.它要指向一個(gè)函數(shù)才能有用.指向一個(gè)函數(shù)之后可以用它來(lái)代替該函數(shù).之后使用這個(gè)指針相當(dāng)于使用該函數(shù).
int *a[];是一個(gè)指針數(shù)組啦...表示數(shù)組中的每一個(gè)元素都是一個(gè)指針,可以指向一個(gè)int類型的數(shù)值.
int (*a)[]這是一個(gè)指向多維數(shù)組的指針變量.
46、函數(shù)調(diào)用結(jié)束后,形式參數(shù)(C ?)。(2分)
?A、繼續(xù)占用相同大小的內(nèi)存B、占用的內(nèi)存減小 C、釋放內(nèi)存 D、不確定
47、已知:int a,*p=&a;則下列函數(shù)調(diào)用中錯(cuò)誤的是( D ???)。(2分)
?A、scanf("%d",&a) B、scanf("%d",p); C、printf("%d",a); ??D、printf("%d",p);
48、枚舉類型首元素默認(rèn)值和兩個(gè)相鄰元素之間默認(rèn)的差值分別是(C )(2分)
?A、1,0 B、1,1 C、0,1D、0,0
?
49、語(yǔ)句“fseek(fp,100L,2);”的功能是(C )(2分)
?A、將fp所指向文件的位置指針移至距文件首100個(gè)字節(jié)。 ?
B、將fp所指向文件的位置指針移至距文件尾100個(gè)字節(jié)。
??C、將fp所指向文件的位置指針移至距當(dāng)前位置指針的文件首方向100個(gè)字節(jié)。 ?
D、將fp所指向文件的位置指針移至距當(dāng)前位置 指針的文件尾方向100個(gè)字節(jié)。
50、以下敘述錯(cuò)誤的是(D)(2分)
?A、一個(gè)C程序總是從main函數(shù)開始執(zhí)行的;
?B、C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分寫在多行上;
?C、每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào);
?D、C語(yǔ)言本身有輸入輸出語(yǔ)句。
52、下面不正確的字符串常量是(A)(2分)
?A、 'abc' ???B、 "12'12" ?????C、 "0" ?????D、 " ?"
53、已知各變量的類型說(shuō)明如下:int k,a,b=1; unsigned long w=5;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是(A)(2分)
?A、 k=b+2=w ???B、 w+= -2 ??C、 k=(a=2,b=3,a+b) ????D、 a+=a-=(b=4)*(a=3)
?
54、執(zhí)行下列語(yǔ)句int x=10,y=3;printf("%d\n",y=x/y);后的輸出是(C)(2分)
?A、 0 B、 1 ?C、 3 D、 不確定的值
55、若執(zhí)行以下程序段: int ?a=0, b=0, c=0;c=(a-=a-5), (a=b, b+3); printf(“%d,%d,%d\n”,a, b, c); 其輸出結(jié)果是(B)(2分)
?A、0,0,-10 B、0,0,5 ??C、-10,3,-10 ?D、3,3,-10
?
58、條件運(yùn)算符的結(jié)合方向是( ?A ??)。(2分)
?A、自右至左; B、自左至右; C、任意; D、前后順序;
59、對(duì)于程序段int x=-1; do { x=x*x; }while(!x);說(shuō)法正確的是( ?C ?)。(2分)
?A、是死循環(huán) B、循環(huán)執(zhí)行兩次 C、循環(huán)執(zhí)行一次 ?D、有語(yǔ)法錯(cuò)誤
?
?
62、以下對(duì)一維整形數(shù)組a進(jìn)行正確初始化的語(yǔ)句是( ?C )。(2分)
?A、int a[10]=(0,0,0,0,0); ?B、int a[10]={}; C、int a[]={0};D、int a[10]={10*1};
64、以下能對(duì)二維整形數(shù)組a進(jìn)行正確初始化的語(yǔ)句是( ?D )。(2分)
?A、int a[2][3]={0}; ???????????????????????????B、int a[][3]={{1,2},{0}};
?C、int a[2][3]={{1,2},{3,4},{5,6}}; ????D、int a[][3]={1,2,3,4,5,6};
?
65、程序char c[5]={‘a(chǎn)’,’b’,’\0’,’c’c,’\0’}; printf(“%s”,c);}的運(yùn)行結(jié)果是( D ?)。(2分)
?A、'a''b'B、ab ?C、ab cD、ab
?
67、在定義語(yǔ)句int *f();中,標(biāo)識(shí)符f代表的是( D )。(2分)
?A、一個(gè)用于指向整型數(shù)據(jù)的指針變量
?B、一個(gè)用于指向一維數(shù)組的行指針
?C、一個(gè)用于指向函數(shù)的指針變量
?D、一個(gè)返回值為指針型的函數(shù)名
68、設(shè)p1和p2是指向同一個(gè)字符串的指針變量,e為字符變量,則以下不能正確執(zhí)行的賦值語(yǔ)句是(B)。(2分)
?A、c=*p1+*p2;B、p2=c C、p1=p2 D、c=*p1*(*p2);
69、C語(yǔ)言結(jié)構(gòu)體類型變量在程序執(zhí)行期間(A )(2分)
?A、所有成員一直駐留在內(nèi)存中。
?B、只有一個(gè)成員駐留在內(nèi)存中。 ??????????????????????
?C、部分成員駐留在內(nèi)存中。
?D、沒(méi)有成員駐留在內(nèi)存中。
85、判斷字符串a(chǎn)是否大于b,應(yīng)當(dāng)使用( D ?)。(2分)
?A、if (a>b)B、if (strcmp(a,b)) C、if (strcmp(b,a)>0)D、if (strcmp(a,b)>0)
?
?
86、若已定義char s[2][40]={"china","English"};則在下面表達(dá)式中能表示字符‘E’的地址的是( B ?)。 (2分)
?A、&s[2][1] ??????B、s[1] ????C、&s[1]D、&(s[1]+1)
87、關(guān)于局部變量,下列說(shuō)法正確的是 ( ?D ??)。(2分)
?A、 定義該變量的程序文件中的函數(shù)都可以訪問(wèn)。
?B、 定義該變量的函數(shù)中的定義處以下的任何語(yǔ)句都可以訪問(wèn)。
?C、 定義該變量的復(fù)合語(yǔ)句的定義處以下的任何語(yǔ)句都可以訪問(wèn)。 ?D、 局部變量可用于函數(shù)之間傳遞數(shù)據(jù)。
?
88、程序char ?a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(“%d”,*--p);的輸出結(jié)果是( ?????C ???)。(2分)
?A、非法 ??B、a[4]的地址 ???????C、5 ?????????????D、3
?
90、下列正確定義一個(gè)文件指針pm的語(yǔ)句是(C )(2分)
?A、FILE pm;B、file *pm; C、FILE *pm;D、file pm;
?
94、以下敘述中正確的是( C)(2分)
?A、在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無(wú)誤的表示。 ?B、C程序由主函數(shù)組成
C、C程序由函數(shù)組成
?D、C程序由函數(shù)和過(guò)程組成
100、以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是( ?C ???)。(2分)
?A、關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符
?B、邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符
C、賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符
?D、算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符
?
108、若有char a[80],b[80];則正確的是( ?D )。 (2分)
?A、puts(a,b);B、printf("%s,%s",a[ ],b[ ]); C、putchar(a,b); D、puts(a);puts(b);
?
109、若已定義char s[10];在下面表達(dá)式中不能表示s[1]的地址的是( B ?)。 (2分)
?A、s+1 B、s++ ?C、&s[0]+1 D、&s[1]
?
?
110、若有說(shuō)明:int ?a[3][4];則數(shù)組a中各元素( C ?)。(2分)
?A、可在程序的運(yùn)行階段得到初值0
?B、可在程序的編譯階段得到初值0 C、不能得到確定的初值
?D、可在程序的編譯或運(yùn)行階段得到初值0
?
112、有程序 char s[]=”ABCD”, *P; for(p=s+1; p<s+4; p++) ?printf (“%s ”,p); 程序的輸出結(jié)果是( ??????D ???) 。 ????????????????????(2分)
?A、ABCD BCD CD D B、A B C D ???C、B C D ????????????D、BCD CD D
?
Ⅲ? ? 建議?
刷題過(guò)程中可對(duì)照課本復(fù)習(xí)鞏固相關(guān)知識(shí)點(diǎn).