Ⅰ c語言 程序分析題 求詳解
這個程序應該是把
十進制數
轉換成
二進制數
輸出
#include
//
頭文件
void
main()
{
int
a,b[10],c,i=0;
//
a存儲待轉換的十進制數,b[10]存儲轉換後的二進制位,
//
c
是存儲
余數
,
printf("輸入一個整數\n");
scanf("%d",&a);
//
輸入需轉換的十進制數
while(a!=0)
//
只要a不為零,就繼續轉換
{
c=a%2;
//
把a除以2
的余數賦值給c
a=a/2;
//
把商存入a進行下一次循環
b[i]=c;
//
把余數存到數組中作為二進制中的一位
i++;
}
for(;i>0;i--)
printf("%d",
b[i-1]);
//反向輸出余數,即得到二進制
例如輸入4
因為4
!=
0
4
/
2
=
2((商=a)...........0(余數=c=b[0])
因為2
!=
0
2
/
2
=
1((商=a)...........0(余數=c=b[1])
因為1
!=
0
1
/
2
=
0((商=a)...........1(余數=c=b[2])
因為
0
=
0
結束循環輸出
b[2]
b[1]
b[0]
即
100,也就是二進制的
4
Ⅱ c語言編程,請問這題如何思考
A while(*t++);將t移到字元串s的末尾, t--; 去掉'\0', t-s 就是字元串長度
Ⅲ c語言。。12題。寫程序。。後面思考題,寫答案
1 編程
1.1 列印出以下圖案
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
#include<stdio.h>
intmain()
{
inti=0,j;
for(;i<3;i++){
j=0;
for(;j<i*2+1;j++)printf("*");
printf(" ");
}
for(;i>=0;i--){
j=0;
for(;j<i*2+1;j++)printf("*");
printf(" ");
}
return0
}
1.2編寫程序實現輸入整數n,輸出如下所示由數字組成的菱形。(圖中n=5)
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
#include<stdio.h>
intmain()
{
inti=0,j,n,k;
scanf("%d",&n);//輸入
for(;i<n-1;i++){
j=0;k=1;
for(;j<=n+i;j++){
if(j<n-i)
printf("");
elseif(j<n)
{
printf("%d",k++);
}
else{
printf("%d",k--);
}
}
printf(" ");
}
for(;i>=0;i--){
j=0;k=1;
for(;j<=n+i;j++){
if(j<n-i)
printf("");
elseif(j<n)
{
printf("%d",k++);
}
else{
printf("%d",k--);
}
}
printf(" ");
}
return0;
}
2 思考題
1.以下不是死循環的語句是 。
A)for (y=1,x=9;x>++y ; x=i++) i=x ;
B)for ( ; ; x++=i ) ;
C)while (1) { x++ ; }
D)for (i=10 ; ; i--) sum+=i ;
A,思路:排除法;
2. 下面程序段的運行結果是 。
x=y=0;
while (x<15) y++,x+=++y ;
printf(「%d,%d」,y,x);
A)20,7 B)6,12 C)20,8 D)8,20
D;運行一下就知道了
3. 以下for循環的執行次數是 。
for (x=0,y=0; (y=123) && (x<4) ; x++) ;
A)無限循環 B)循環次數不定 C)4次 D)3次
C;
4.寫出下面程序運行的結果。
main ( )
{ int i,b,k=0 ;
for (i=1; i<=5 ; i++) {
b=i%2;
while (b--==0) k++ ;
}
printf(「%d,%d」,k,b);
}
答:2,0;
5. 寫出下面程序運行的結果。
main ( )
{ int a,b;
for (a=1,b=1 ; a<=100 ; a++) {
if (b>=20) break;
if (b%3==1) { b+=3 ; continue ; }
b-=5;
}
printf(「%d
」,a);
}
答:8
6. 寫出下面程序運行的結果。
main ( )
{ int k=1,n=263 ;
do { k*= n%10 ; n/=10 ; } while (n) ;
printf(「%d
」,k);
}
答:36
Ⅳ c語言程序題,給出答案及思考過程
首先,程序有點小錯誤,改成這樣就能執行了:
#include<stdio.h>
int fun(char p[][10],char ch)
{int i,n=0;
for(i=0;i<7;i++)
if(p[i][0]==ch)
n++;
return n;}
void main()
{char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
printf("The result is:\n");
printf("%3d\n",fun(str,'T'));
printf("%3d\n",fun(str,'S'));
printf("%3d\n",fun(str,'F'));
printf("%3d\n",fun(str,'W'));
printf("%3d\n",fun(str,'B'));}
然後,運行結果如下:
The result is:
2
2
1
1
0
最後,我們來分析一下思路,
int fun(char p[][10],char ch)這個函數(樓主多了一個『)』)
需要兩個參數,一個是二維數組,一個是一個char變數,
它是用來判斷該char變數在前面這個二維數組中作為開頭的次數,
也就是說,對於printf("%3d\n",fun(str,'T'));這句話,就是用來判斷T在str這個二維數組中作為開頭的次數,顯然,答案是2
以此類推
Ⅳ C語言程序設計思考題。救急!!!!
如何實驗驗證實參數組元素和形參數組元素共享同一內存?
可以將實參數組元素的內存地址和形參數組元素的內存地址比較,相同則為同以內存
比如: int x ; x = &FC[0];可以得到第一個元素的內存地址。
2. Average函數內查找最大值和最小值時需要更新pmax和pmin的值還是*pmax和*pmin的值?為什麼?這兩種做法有何區別、對main的影響如何
兩者都可以;因為*pmax和*pmin是數值,pmax和pmin只是指針,指向數據的地址。兩者修改都可以達到效果。對main的沒有影響!
Ⅵ 計算機c語言編程思考題
根據IEEE754標准,階碼:float=8-bit,double=11-bit。尾數:float:23-bit,double=52-bit。
與具體的體系結構有關,個人PC常用的X86體系是小端模式。MIPS大小端都支持,可以自行配置。
字元串數據類型佔用一塊連續的內存空間,首地址對應第一個字元的地址。可以用(基址+偏移量)的方式訪問字元串里的字元。
這個與具體的標准和編譯器有關,具體的可以用sizeof關鍵字計算。例如,在C17標准下的gcc編譯器中,short int佔2位元組,int佔4位元組,long int佔4位元組。
數據都是以二進制的形式存儲的。計算機不管是中文還是英文,它看到的只是二進制串,至於區分中文還是英文,這就是解析存儲的二進制串了。查表就行了,這個表就是字元集。每個字元都規定了一個整數與之對應,查表就能區分出是中文還是英文,前提是在同一個字元集的環境下,因為同一個字元在不同的字元集里可能會有不同的整數與之對應。
可以加我的群 9362之後是50734,代做課程設計和畢業論文。
Ⅶ c語言程序分析題
f中第一個參數是傳值,編譯器會復制一份a傳遞給函數f,復制的臨時變數與a是兩個不同的變數,它們的地址不同,此後f中的x與main中的變數a不再有任務關聯
f的第二個參數是傳地值,f中的y與b的地址在內存中是相同的,操作的是同一個地址
Ⅷ c語言程序設計題,幫忙解決一下思考題,急!!!!
1、在定義二維數組時就已經給數組分配好了地址,不需要初始化也可以顯示地址
2、根據顯示地址可以看出每個元素佔4位元組
Ⅸ C語言程序設計程序編寫題目應該怎麼怎樣去解,一般的分析方法是什麼,如下題,請寫出結果及分析過程,謝謝
這個其實也沒什麼好去分析的,按照題目的要求去做就可以了。
比如說這個題目,題干已經很明確的告訴你要去你寫一個函數完成兩個字元串的連接(不使用庫函數strcat),即把p2所指的字元串連接到p1所指的字元串後。
那麼你按要求寫就好了
給個例子
void fun(char p1[], char p2[])
{
int i=0,j=0;
while(p1[i]!='\0')
{
i++;
}/*因為是p2所指的字元串連接到p1所指的字元串後。所以找到p1字元串的結尾*/
while(p2[j]!='\0')
{
p1[i]=p2[j];
i++;
j++;
}/*從p1字元串結尾開始依次用p2的字元填充直到p2中的內容為'\0'*/
p1[i]='\0';
/*要注意給p1[]字元串結束標志,這個地方很容易忘記。因為當p2[j]是'\0'時已經退出循環了,所以p1[]是沒有結束標志的,可能會導致程序崩潰哦。*/
}
2級C是很基礎的 考來考去就那麼幾個上機題 說實話 你那幾種題型一樣寫幾個就OK了 呵呵 但是要細心 2級C考的就是你細不細心的問題 加油 祝你考試順利