新聞中心
1.執(zhí)行以下程序段后,k
的值為4。?
int k = 3;
sizeof(++k)
false。在C語(yǔ)言中,sizeof()是一個(gè)靜態(tài)運(yùn)算符,即編譯器只關(guān)注括號(hào)內(nèi)數(shù)值的類(lèi)型,而不會(huì)對(duì)括號(hào)里面的參數(shù)進(jìn)行計(jì)算。
2.運(yùn)行包含以下代碼段的程序?qū)⒖赡苓M(jìn)入死循環(huán)。
int i = 1;
while(i>0){ i++; printf("%d ",i); }
false,當(dāng)數(shù)值大到超出int范圍就會(huì)輸出負(fù)值。當(dāng)int型整數(shù)超出自己范圍時(shí),會(huì)從它的最小值重新開(kāi)始。
3.假設(shè)有變量定義語(yǔ)句float f = 1234567890123.123456;
,打印語(yǔ)句printf("f = %f", f);
的輸出是f = 1234567954432.000000?
。那么可以這樣解釋這種想象:因?yàn)閒loat類(lèi)型的數(shù)據(jù)精度是十進(jìn)制7~8位,第9位以后的數(shù)據(jù)是隨機(jī)的,即下次再輸出這個(gè)數(shù)時(shí),第9位以后的數(shù)據(jù)可能會(huì)不一樣。
false
float只有六位有效數(shù)字,且每次輸出的數(shù)據(jù)不會(huì)變.
4.下面哪個(gè)表達(dá)式的值是2?
A.6%3? ? B.-5%3? C.5%-3? D.-5%-3
答案:C.
對(duì)于%的結(jié)果,其符號(hào)取決于%前面的數(shù)的符號(hào)。
5.scanf()函數(shù)在讀不到數(shù)據(jù)時(shí)返回(B)
A.NULL
B.0
C.EOF
D.1
scanf()函數(shù)有返回值嗎?回答是肯定的。
《1.scanf()函數(shù)有返回值且為int型。
《2.scanf()函數(shù)返回的值為:正確按指定格式輸入變量的個(gè)數(shù),也即能正確接收到值的變量個(gè)數(shù)。
例如:
scanf("%d%d", &a, &b);
如果a和b都被成功讀入,那么scanf()的返回值就是2;
如果只有a被成功讀入,返回值為1;
如果a和b都未被成功讀入,返回值為0;
如果遇到錯(cuò)誤或遇到end of file,返回值為EOF。
原文鏈接:https://blog.csdn.net/weixin_39887926/article/details/113316691
6.設(shè)有定義“int a=1, b=2, c=3, d=4, m=2, n=2;”, 則執(zhí)行表達(dá)式“(m=a>b)&&(n=c>d)”后,n的值為(D)。
A.1
B.2
C.3
D.0
a&&b? ? ?a為1時(shí)執(zhí)行b,a為0,不執(zhí)行b.
這里要注意邏輯與和邏輯或的執(zhí)行過(guò)程。
7.若x
為浮點(diǎn)型,則表達(dá)式x=10/4
為( B)。
A.2.5
B.2.0
C.2
D.3
注意是B不是C,因?yàn)榈仁接疫厼閮蓚€(gè)整型,需計(jì)算完后再變?yōu)楦↑c(diǎn)型。
8.表達(dá)式8>6>3值是(A )
A.0
B.1
C.3
D.表達(dá)式語(yǔ)法錯(cuò)
#includeint main() {
int a;
a = (8 >6 >3);
printf("%d", a);
return 0;
}
輸出值發(fā)現(xiàn)a=0;?
運(yùn)算方向:從左往右,eg.表達(dá)式8>6>3的值是0在程序中連續(xù)大于應(yīng)該是8>6&&6>3
運(yùn)算時(shí):
8>6是真,表達(dá)式 == 1
1>3為假,表達(dá)式==0
9.已知字母A
的ASCII碼為十進(jìn)制數(shù)65,且ch
為字符型變量,則執(zhí)行語(yǔ)句ch='A'+'6'-'3';
后,ch
中的值為_(kāi)B_。
A.D
B.68
C.C
D.不確定
既然詢(xún)問(wèn)的是值,那么就應(yīng)該選B而不是A了。
10.?設(shè)x
、y
、t
均為int
型變量,則執(zhí)行語(yǔ)句:x=y=3; t= ++x || ++y;
后,y
的值為_(kāi)___。
A.不定值
B.3
C.4
D.1
這題與第六題同一類(lèi)型,注意邏輯或的使用規(guī)則。
11.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型(D )
A.只能是 0 或 1
B.只能是 0 或非 0 正數(shù)
C.只能是整型或字符型的數(shù)據(jù)
D.可以是任何類(lèi)型的數(shù)據(jù)
邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型:可以是任何合法的類(lèi)型數(shù)據(jù);因?yàn)檫壿嬤\(yùn)算符兩邊的運(yùn)算對(duì)象,最終都被轉(zhuǎn)換成bool值(邏輯值)操作。0、null轉(zhuǎn)換為false,而所有非零、非false、非null值轉(zhuǎn)換為true;然后進(jìn)行運(yùn)算。
12.對(duì)下列代碼的描述正確的是:
#include "stdio.h"
int main(){
? ? long num=1;
? ? while(num++ >0) for(long i=num; i >=0; i--)printf("i :=\n \t %ld \n" , i);
? ? return 0;
}
?
A.程序有編譯錯(cuò)誤,不能執(zhí)行
B.循環(huán)條件永為真,循環(huán)無(wú)限次,程序根本停不下來(lái),打印輸出無(wú)限行
C.循環(huán)有限次,程序正常結(jié)束,打印輸出有限行
D.程序運(yùn)行過(guò)程必定會(huì)出錯(cuò)(崩潰),結(jié)果打印輸出有限行
選D而不是B,原因暫不清楚!?。?/p>
13.表達(dá)式 strcmp("box", "boss") 的值是一個(gè)_A___。
A.正數(shù)
B.負(fù)數(shù)
C.0
D.不確定的數(shù)
考察strcmp(1,2)函數(shù)比較的用法:
1.逐個(gè)字符相比
2.若1=2,函數(shù)值為0;1<2,負(fù)整數(shù);1>2正整數(shù);
14.According to the declaration:?int x=11;
, the value of expressionx++*1/3
is__A___.
A.3
B.4
C.0
D.3.667
x++中,++在后,也就是將x的值單獨(dú)帶入表達(dá)式中,然后求出表達(dá)式的值,求完之后,再給x自己++。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享標(biāo)題:大一上學(xué)期c語(yǔ)言PTA錯(cuò)題總結(jié)(自用)(01)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://www.dlmjj.cn/article/johes.html