題目來源慕課網
記錄學習過程中遇到的錯題
隨時更新
-
字符串"\\’\054"佔用的存儲空間的長度是____。
答案:4
解釋:
首先\\
,是轉義字符,表示反斜線字符,佔一個字節
然後\’
,是轉義字符,表示單引號字符,佔一個字節
其次\054
,是轉義字符,表示用反斜槓後的三位八進制數字對應的ASCII碼的字符,佔一個字節
最後字符串還有個結束符\0
,佔一個字節 -
下列轉義字符中,錯誤的是( )。
A. ’ \031’ B. ’ \b’ C. ’ \0xa5’ D. ’ \"’
答案:C
解釋:A選項是轉義字符,用三位八進制表示ASCII碼。B選項的反斜槓b表示的是退格。C選項中如果是用三位八進制數表示,則裏面不可能出現a和x,而且位數不對。D選項表示的是雙引號。 -
字符串 "\\abcd\\\n"在內存中佔用的字節數是( )。
A. 11 B. 14 C. 10 D. 9
答案:C
解釋:\\
表示反斜槓,有兩個,佔2個字節;abcd
一個字符佔1個字節,共4個字節;又到了\\
,有兩個,佔2個字節;\n
表示換行轉義符,佔1個字節;最後還有一個結束符\0
,佔一個字節。所以2+4+2+1+1=10。 -
以下哪個數字佔據的空間最大( )。
A. 32768.0F B. ‘3’ C. 32768 D. 32768.0
答案:D
解釋:A選項指定了爲float類型,佔4個字節;B選項是一個字符,佔1個字節;C選項是個整型,佔4個字節;D選項是一個浮點數,C語言中浮點數默認爲double類型,佔8個字節。 -
printf(“a\rHappi\by”);在屏幕上正確的輸出形式是( )。
A. Happy
B. aHappi
C. aHappy
D. Happi
答案:A
解釋:首先輸出a,然後到\r
的時候,表示光標回到本行的開頭,所以後面輸出的H就把a覆蓋掉了。之後輸出Happi。到\b
的時候,表示光標退一格。然後輸出的y就把i覆蓋了。所以最後是Happy。 -
運行下面的程序,正確的輸出結果是( )
#include <stdio.h> int main( ) { double x=68.7563, y= -789.127; printf ("%f, %10.2f\n", x,y); return 0; }
A. 68.756300, □□□-789.13
B. 68.75, □□□-789.13
C. 68.756300, □□□-789.12
D. 68.75, -789.12
答案:A
解釋:%f默認保留6位小數。%10.2f表示有10個位置來顯示,不滿就右對齊,保留兩位小數。 -
設int a=3;,則表達式a<1&&–a>1的運算結果和a的值分別是()
A. 0和3
B. 0和2
C. 1和2
D. 1和3
答案:A
解釋:從左到右計算判斷。首先a<1的結果爲0,後面又是&&,所以後面部分不會計算,直接輸出結果爲0。此時a的值沒有發生改變。運算符優先次序由高到低:!,算術運算符,關係運算符,&&,||,條件運算符,賦值運算符,逗號運算 -
求1~100以內 ( 包括100)能被3整除同時被5整除餘數爲1的所有數之和。要求用for語句完成。
輸出格式:“sum=%d\n”
輸出樣例:sum=357
答案:#include<stdio.h> int main(){ int i,sum=0; for(i=1;i<=100;i++){ if(i%3==0 && i%5==1){ sum = sum + i; } } printf("sum=%d\n",sum); return 0; }
-
用do while 語句實現反覆從鍵盤輸入一個整數,如果大於或等於零,累加求和,直到輸入負數結束。然後求出平均值並輸出。
輸入格式:"%d"
輸出格式:“AVE=%.2f\n”#include<stdio.h> int main(){ int n,sum=0,count=0; do{ scanf("%d",&n); if(n>0){ sum=sum+n; } count++; }while(n>=0); double c = sum/(count-1); printf("AVE=%.2f\n",c); return 0; }
-
求1到10的階乘的和
#include<stdio.h> int main(){ int n,j,sum=0,tmp; for(n=1;n<=10;n++){ tmp = 1; for(j=1;j<=n;j++){ tmp = tmp*j; } sum = sum + tmp; } printf("%d",sum); return 0; }
-
用10元人民幣兌換角幣有多少種換法(角幣有1角、2角、5角三種)
#include<stdio.h> int main(){ int i,j,k,count=0; for(i=0;i<20;i++){ for(j=0;j<50;j++){ for(k=0;k<100;k++){ if(i*5+j*2+k==100){ count++; printf("%d %d %d\n",i,j,k); } } } } printf("%d",count); return 0; }
-
輾轉相除法求兩個整數的最大公約數
#include<stdio.h> int main(){ int a,b,max,min,r; scanf("%d%d",&a,&b); if(a>b){max=a;min=b;} else{max=b;min=a;} do{ r = max%min; max = min; min = r; if(r==0){ printf("%d",max); } }while(r!=0); return 0; }
-
找出一個大於給定整數且緊隨這個整數的素數,例如 給定整數3,找到的素數是5。
#include<stdio.h> int main(){ }