PTA混淆总结(就做个笔记储存一下)
1
//執(zhí)行以下程序段,輸入10
double x;
scanf("%d", &x);
printf("%.2f", x);
//輸出0。00 ? ?因?yàn)槎x的浮點(diǎn)型變量,需要整型的輸入,直接給默認(rèn)值?
2?
//x的值會(huì)變嗎?
int x=1;
int b=20
if (x = b) {y = 1;
} else {y = 0;
}
printf("%d",x);
//輸出20 ?x會(huì)變
只要b不為0,if語句就是成立的,執(zhí)行if里面的語句,順便還把x的值改了
3?
執(zhí)行以下程序段,sum的值是1.5。int i, sum;
sum = 0;
for (i = 1; i <= 2; i++){sum = sum + 1.0/i;
}
///錯(cuò)誤!! ? 因?yàn)閟um是整型,結(jié)果應(yīng)為 1?
所有的自定義函數(shù)都必須事先聲明函數(shù)。(x)?
如果函數(shù)的定義,在函數(shù)調(diào)用之前,就不用聲明。
main()函數(shù)必須放在最前面。(X)
main函數(shù)可以在任何地方,只要不違背語法
4,分支語句
#include <stdio.h>
int main(){int mynumber,yournumber;mynumber = 38;scanf ("%d", &yournumber); if(yournumber == mynumber){ printf("Right");}if(yournumber > mynumber ){printf("Big");}else{ printf("Small");}return 0;
} //輸入38
//輸出 RightSmall
程序是一步一步來的
double grade;
scanf ("%lf", &grade);
if(grade < 60); { printf("Fail");
}
printf("?");
//輸入28
//輸出 Fail?
if語句后有分號?
5,
scanf ("%lf", &eps);
i = 1;
flag = 1;
denominator = 1;
item = 1.0;
s = 0;
while(fabs(item) >= eps){ s = s + item; i++; flag = -flag; denominator = denominator + 2; item = flag * 1.0 / denominator;
}
s = s + item;
printf ("%.2f\n", s);注意倒數(shù)第二行的代碼,就算不符合,最后也加了
6
for(num = 1; num <= 100; num++){ s = 0;do{s = s + num % 10;num = num / 10;}while(num != 0);printf("%d\n", s);
}
易錯(cuò):兩個(gè)循環(huán)變量用的一樣,每次num最后等于0?
7
以下關(guān)于函數(shù)敘述中,錯(cuò)誤的是(A )。
A.實(shí)參與形參的個(gè)數(shù)必須相等,且實(shí)參與形參的類型必須對應(yīng)一致
B.當(dāng)形參是變量時(shí),實(shí)參可以是變量、常量或表達(dá)式
C.函數(shù)未被調(diào)用時(shí),系統(tǒng)將不為形參分配內(nèi)存單元
D.如函數(shù)調(diào)用時(shí),實(shí)參與形參都為變量,則這兩個(gè)變量不可能占用同一內(nèi)存空間
實(shí)參與形參的個(gè)數(shù)必須相等,錯(cuò),有不定參函數(shù),比如printf,scanf就是不定參函數(shù)
實(shí)參與形參的類型必須對應(yīng)一致,錯(cuò),參數(shù)類型不一致傳參時(shí)會(huì)有隱式的類型轉(zhuǎn)換
8
表達(dá)式 (z=0, (x=2)||(z=1),z) 的值是1? ? ?(X)
先算小括號z=1,之后從左往右(z=0,1,z).最后值為0
9
執(zhí)行下面程序中的輸出語句后,輸出結(jié)果是(20 )。
int a;
printf("%d\n",(a=3*5,a*4,a+5));
?從左往右,a賦值為15-->5*4-->15+5
10
總結(jié)
以上是生活随笔為你收集整理的PTA混淆总结(就做个笔记储存一下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言条件语句(就做个笔记,云储存一下)
- 下一篇: 上海欢乐谷代步车价格表