本文目錄一覽:
- 1、c語言練習題
- 2、C語言試題B(速求)
- 3、C語言習題 B和C有啥區別?
- 4、C語言練習題
c語言練習題
1、C語言的跳轉語句中,對於break和continue說法正確的是_______。
A、continue語句只應用於循環體中
B、break語句只應用於循環體中 (switch也用)
C、break是無條件跳轉語句,continue不是 (均無條件跳轉)
D、break和continue的跳轉範圍不夠明確,容易產生問題 (goto跳轉範圍不夠明確)
2、對於do…while語句,下列說法中正確的是______。
A、用do…while語句可實現分支程序設計 (循環)
B、當循環條件不成立時,至少也要執行一次循環體
C、當循環條件不成立時,一次也不執行循環體 (至少執行一次)
D、do…while與while結構完全相同 (不同)
3、下列程序段執行時,若從鍵盤輸入23,則輸出為______。
int c,num;
scanf(“%d”,num);
do
{
c=num%10;
printf(“%d”,c);
num=num/10;
}while(num0);
printf(“\n”);
解釋:
第一次循環 23%10 = 3 輸出3,23/10(整除)值為2 繼續循環
第二次循環 2 %10 = 2 輸出2 2/10值為0 退出循環
結果 32
4、若I,j已定義為int型,則以下for循環是( )。
for(I=0,j=0;(j!=123)(I4);I++);
A、無限循環
B、循環次數不定
C、執行4次
D、執行3次
解釋:
j != 123 永遠為真
上面一句等價為 for(I=0;I 4;I++); 所以4次
5、對於for(表達式1;;表達式3)可以理解為________。
A、for(表達式1;0; 表達式3)
B、for(表達式1;1; 表達式3)
C、for(表達式1;表達式1;表達式3)
D、for(表達式1;表達式3;表達式3)
解釋:for(表達式1;;表達式3) 說明循環不判斷循環條件永遠為真所以
for(表達式1;1; 表達式3)
6、執行下列程序段後,I值是( )。
int I,x;
for(I=1,x=1;I=20;I++)
{
if(x=10) 語句1
break;
if(x%2==1) 語句2
{
x+=5;
continue;
}
x-=3;
}
第一次循環:語句1為假,語句2為真執行 x+ = 5 x值變成6 重新循環
第二次循環:語句1為假,語句2為假執行 x- = 3 x值變成3 重新循環
第三次循環:語句1為假,語句2為真執行 x+ = 5 x值變成8 重新循環
第四次循環:語句1為假,語句2為假執行 x- = 3 x值變成5 重新循環
第五次循環:語句1為假,語句2為真執行 x+ = 5 x值變成10 重新循環
第六次循環:語句1為真,退出循環 x值為10
7、下列程序的執行結果是( )。
#includestdio.h
main( )
{
int s=0, k;
for(k=7;k=0;k–)
{
switch(k)
{
case 1:
case 4:
case 7:
s++;
break;
case 2:
case 3:
case 6:
break;
case 0:
case 5:
s+=2;
break;
}
}
printf(“s=%d\n”,s);
}
switch語句一旦匹配到case就不在匹配case了,直接按順序執行下一個case中的代碼。不難得出答案。
8、下列程序段執行結果是輸出( )。
x=3;
do
{
printf(“%2d”,x–);
} while(!x);
x++ 和++x 前綴和後綴的問題數上講了很多。
第一次循環輸出3 x的值變成2 !2 為假退出循環
9、以下程序的執行結果是( )。
#include
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main( )
{
int I=1,n=0;
while(I=NUM)
{
n++;
printf(“%d”,n);
I++;
}
printf(“\n”);
}
宏展開:
等價於 while(I = (M+1)*M/2 )
等價於 while(I = (N+1+1)*N+1/2 )
等價於 while(I = (2+1+1)*2+1/2 )
等價於 while(I = 8 )
10、若I,j已定義為int型,則以下程序段中內循環體”printf(“sd\n”);”的執行次數是__________。
#include
main( )
{
int j,I;
for(I=5;I=1;I–) 執行5次
for(j=0;j4;j++) 執行4次
printf(“sd\n”); 執行5×4 = 20次
}
循環中條件變量x++ 和++x 等效
結果我沒驗證 C語言學習推薦看 point on c
C語言試題B(速求)
第8題是D,附圖:
判斷8的確是錯。
這是我關於那個改正的哥們兒的回答的驗證。
因為我是英語學習,沒辦法給你以對應的中文解釋,只能在實際操作上幫你一些了。
C語言習題 B和C有啥區別?
選擇c,二維數組的第二維大小不能省略,多維數組的高維都不能省略,第一維有時候可以省略,大小會根據初始化時的元素大小決定,如c等價於int a[2][3]={{3,2,1},{5,6,7}};
經過編譯int a[2][]={{1,2,3},{4,5,6}};報錯,不能編譯通過,而int a[][3]={{3,2,1},{5,6,7}};則能正常編譯,不要相信錯誤的答案啊
C語言練習題
9.下面程序段中循環體的執行次數是__3_____。
a=10;
b=0;
do{b+=2;a-=2+b;}while(a=0);
10.下面程序段的運行結果是___**___。
x=2;
do{{printf(‘*’);x–;}while(!x==0);
11.下面程序段胡運行結果是__a=-5_____。
i=1; a=0; s=1;
do{a=a+s*I; s=-s; i++;}while(i=10);
printf(“a=%d\n”,a);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/283011.html