❶ C語言,求過程,
a=4,b=3,c=5,d=6
t(a,b,c,d); 無論t怎麼折騰,其參數變數的值都不會反饋到調用函數中的變數,因此c和d的值不變
printf輸出:5,6
在調用t函數時,實際上是:函數臨時申請4個參數變數,取主程序中a,b,c,d四個變數的值賦值給這4個變數,函數返回後會舍棄臨時變數
❷ 請問這道java程序輸出的為什麼不是23579,而是2357
9%3=0,直接執行continue 跳出了。 所以是2357
❸ 下列程序執行後的輸出結果是( )。
d.
程序沒錯,i=p只是把地址p里的數值賦給i;由於你的數組a沒有賦值,所以系統會隨機賦值。中間一大堆語句,根最後輸出結果沒聯系,所以不會影響輸出結果。
希望對你有幫助。
❹ 一個不懂的C語言習題
看fun3第1個條件
如果n是2或者3,返回1,這個簡單,確定能輸出2和3了
如果n<2,或者是偶數,只返回0,大於等於2的一個偶數也不能輸出了
for循環,從3開始的,到n,步長是2,如果n能整除i,返回0,這個復雜一點
只考慮奇數,5.7.9,其中9能整除3,會返回0,所以9也不能輸出了
剩下的返回1,剩下的就是2,3,5,7
❺ 第五屆全國ITAT教育工程就業技能大賽C語言程序設計預賽試題及答案誰有啊 請各位幫幫忙啊,急急急!
一、單選題(共60小題,每題1分,共60分)
1. 執行下列程序中的輸出語句後,x的值是______。(知識點3.10)
main()
{int x ;
printf(「%d\n」,(x=5*6,x*2,x+20));}
A)30 B)60 C)50 D)80
2. 下列程序的輸出結果是_______。(知識點3.8)
main()
{int x=1,y=0,z;
z=(x<=0)&&(y- ->=0);
printf(「%d %d% d%\n」,z,x,y) ;}
A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -1
3. 在C語言中,下列選項屬於合法的長整型常數的是_______。(知識點3.3)
A)0L B)1234567 C)0.0234567 D)3.14159e3
4. 下列選項中屬於不正確的賦值語句的是_____。 (知識點3.6)
A)t++; B)n1=(n2=(n3=0)); C)k=i= =j; D)a=b,c=1;
5. 若有定義:int a,b;char x,y;並有以下輸入數據: 14 22 XxYy (回車)
則能給a賦整數14,給b賦整數22,給x賦字元x,給y賦字元y的正確程序段是________。 (知識點4.2)
A) scanf(「%d %d」,&a,&b);
x=getchar();y=getchar();
B) scanf(「%d%d %c %c」, &a, &b,&x,&x,&y,&y);
C) scanf(「%d %d %c%c%c %c」, &a,&b,&x,&x,&y,&y);
D) scanf(「%d%d %c %c」, &a, &b,&x,&y);
6. 下列轉義字元不正確的是_______。(知識點3. 5)
A)』\\』 B)』\』 C)』\053』 D)』\0』
7. 下列選項可作為C語言賦值語句的是_______。(知識點4.2)
A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
8. 當c的值不為0時,下列選項中能正確將c的值賦給變數a、b的是_______。(知識點5.2)
A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;
9. 有以下程序:
main()
{ unsigned int a ;
int b=-1;
a=b;
printf(「%u」,a);}
該程序運行後的輸出結果是_______。(知識點4.5)
A)-1 B)65535 C)32767 D)-32768
10. 若x、b、m、n均為int型變數,執行下面語句後b的值為_______。(知識點3.10)
m=20;n=6;
x=(- -m= =n++)?- -m:++n;
b=m++;
A)11 B)6 C)19 D)18
11. 有以下程序:
main()
{ int a=111,b=222;
printf(「%d\n」,a,b);
}
該程序運行後的輸出結果是_______。(知識點4.5)
A)錯誤信息 B)111 C)222 D)111,222
12. 以下程序的輸出結果是_______。(知識點4.5)
main()
{ int a=2,c=5;
printf(「a=%%%d,b=%%%d\n」,a,c);}
A) a=%2,b=%5 B) a=2,b=5 C) a=%%%d,b=%%%d D) a=%%d,b=%%d
13. 對於浮點型變數f,能實現對f中的值在小數點後第三位進行四捨五入的表達式是_______。(知識點3.8)
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
14. 設 a=5, b=6, c=7, d=8, m=2, n=2, 執行(m=a>b)&&(n=c>d) 後m,n的值為______。(知識點5.2)
A) 2,2 B) 2,0 C) 0,2 D) 0,0
15. 語句printf(「%d\n」,strlen(「asd\n\x12\1\\」));的輸出結果是______。(知識點7.3)
A) 9 B) 11 C) 7 D) 8
16. 有以下程序:
main( )
{
int y=1234;
printf(「y=%6d」,y);
printf(「y=%+06d\n」,y);
}
該程序的運行結果是______。(知識點4.5)
A) y= 1234y=001234 B) y= 1234y=+01234
C) y=1234y=+01234 D) y= 1234y=1234
17. 語句:printf(「%d」, !9);的輸出結果是______。(知識點5.2)
A) 0 B) 1 C) 有語法錯誤 ,不能執行 D) -9
18. 已有定義語句:int x=6,y=4,z=5;執行以下語句後,能正確表示x、y、z值的選項是______。(知識點5.3)
if(x<y)z=x;x=y ;y=z;
A) x=4,y=5,z=6 B) x=4,y=6,z=6
C) x=4,y=5,z=5 D) x=5,y=6,z=4
19. 下列選項中屬於正確的switch語句的是______。(知識點5.4)
A)switch(1.0) B)swicth(1)
{ case 1.0 :printf(「A\n」); { case 1 :printf(「A\n」);
case 2.0 :printf(「B\n」); } case 2 :printf(「B\n」);}
C)switch((int)(1.0+2.5)) D)switch(「a」);
{ case 1 :printf(「A\n」); { case 「a」 :printf(「A\n」);
case 1+2 :printf(「B\n」);} case 「b」 :printf(「B\n」);}
20. 若k為int型變數,以下語句段執行後的輸出結果是______。(知識點5.3)
k=-3;
if(k<=0) printf(「####」)
else printf(「****」);
A) #### B) **** C) ####**** D) 有語法錯誤 ,不能執行
21. 當a=2,b=3,c=4,d=5時, 執行下面一段程序後x的值為_____。(知識點5.3)
if(a>b)
if(c<d)x=1 ;
else
if(a<c)
if(b>d)x=2 ;
else x=3 ;
else x=4 ;
else x=5 ;
A)2 B)3 C)4 D)5
22. 下列程序的運行結果是________。(知識點6.3)
main()
{ int y=10;
do { y- - ;} while(- -y);
printf(「%d\n」,y- -);}
A)-1 B)1 C)8 D)0
23. 下列程序的運行結果是________。(知識點6.5)
# include <stdio.h>
main()
{
int i ;
for(i=1;i<=5;i++)
{ if(i %2)printf(「*」);
else continue ;
printf(「#」);
}
printf(「$\n」);
}
A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$
24. 若x是int型變數,且有下面的程序片段: (知識點6.5)
for(x=5;x<8;x++)
printf((x%2)?(「**%d」):(「##%d\n」),x);
該程序片段的輸出結果是 _______。
A)**5##6 B)##5 C)##5**6##7 D)**5##6**7
**7 **6##7
25. 有以下程序:
main()
{int a=1,b=0;
switch(a)
{ case 1:switch(b)
{ case 0:printf(「****」);break ;
case 1:printf(「####」);break ; }
case 2: printf(「$$$$」);break ; }
該程序的輸出結果是________。(知識點5.4)
A)**** B)****$$$$ C)****####$$$$ D) ####$$$$
26. 下列程序段的輸出結果是_______。(知識點6.4)
int x=3;
do {printf(「%3d」,x-=2);}
while(!(--x));
A)1 B)3 0 C)1 -2 D)死循環
27. 有以下程序,其中x、y為整型變數;
for(x=0,y=0;(x<=1)&&(y= 1);x++,y--);
printf(「x=%d,y=%d」,x,y);
該程序的輸出結果是_____。(知識點6.5)
A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=0
28. 有以下程序段:
int n=0,p;
do { scanf(「%d」,&p);n++;} while(p!=12345&&n<3);
此處do-while循環的結束條件是_____。(知識點6.4)
A)p的值不等於12345並且n的值大於3
B)p的值等於12345並且n的值大於等於3
C)p的值不等於12345或者n的值小於3
D)p的值等於12345或n的值大於等於3
29. 在下述程序中,if (i>j) 語句共執行的次數是_____。(知識點6.5)
main()
{ int i=0,j=10,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(「%d」,s);
break ;
}
s+=i ;
}
}
A)4 B)7 C)5 D)6
30. 以下程序的功能是:按順序讀入10名學生和4門課程的成績,計算出每位學生的平均分進行輸出,但運行結果不正確。
main()
{ int n,k;float score,ave;
ave=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(「%f」,&score);
ave+=score/4 ;}
printf(「NO%d:%f\n」,n,ave);}
}
造成程序計算結果錯誤的語句行是_____。(知識點6.6)
A)ave=0.0; B)for(n=1;n<=10;n++)
C)ave+=score/4 ; D)printf(「NO%d:%f\n」,n,ave);
31. 若有以下定義:char s[10]={『a』,』b』,』c』,』0』,』\0』,』2』,』\x32』,』\0』};執行語句printf(「%d」,strlen(s));的結果是_____。(知識點7.3)
A)3 B)4 C)8 D)10
32. 設有數組定義:char array[ ]=「abcdef」;則數組array所佔的空間為_____。(知識點7.3)
A)4個位元組 B)5個位元組 C)6個位元組 D)7個位元組
33. 有以下程序:
main()
{ char str[ ][10]={「China」,「Beijing」},*p=str;
printf(「%s\n」,p+10);}
該程序運行後的輸出結果是_____。(知識點10.4)
A)China B)Beijing C)ng D)ing
34. 閱讀下面程序,該程序段的功能是_____。(知識點7.1)
#include <stdio.h>
main()
{ int c[ ]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{ t=c[i];j=i-1;
while(j>=0&&t>c[j]) { c[j+1]=c[j];j- - ;}
c[j+1]=t;}
for(i=0;i<7;i++)printf(「%d 」,c[i] );
putchar(』\n』);
}
A)對數組元素的升序排列 B)對數組元素的降序排列
C)對數組元素的倒序排列 D)對數組元素的隨機排列
35. 下列程序的輸出結果是_____。(知識點7.2)
main()
{ int n[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n[i+1][j+1]+= n[i][j];
printf(「%d \n」,n[i][j]);
}
A)14 B)0 C)6 D)值不確定
36. 下列函數調用語句中含有______個參數。(知識點8.3)
func((f1,f2),(f2,f3,f4),f5)
A)3 B)4 C)5 D)6
37. 下列程序的運行結果是_______。(知識點7.3)
#include <string.h>
main()
{ char *p1,*p2,ch[20]=「ABCDEFabcdef」;
p1=「1234」;p2=「abcd」;
strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);
pintf(「%s\n」,ch);}
A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc4
38. 下列程序的運行結果是_______。(知識點8.6)
# include <stdio.h>
int f(int a)
{ switch (a)
{ case 0:return 0;
case 1:case 2:return 1;
}
return(f(a-2)+f(a-3));
}
main()
{ int b;
b=f(10);
printf(「b=%d\n」,b);
}
A) 12 B)10 C)9 D)8
39. 有以下程序:
fun(int n)
{ if(n= =1|| n= =2)return 2;
return s=n-fun(n-2);}
main()
{printf(「%d\n」,fun(7));}
該程序運行後的輸出結果是_____。(知識點8.6)
A) 1 B)2 C)3 D)4
40. 下列程序中函數sort的功能是對a數組中的數據進行由大到小的排序:
void sort(int a[ ],int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10 },i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf(「%d,」,aa[i]);
printf(「\n」);
}
該程序運行後的輸出結果是_____。(知識點8.4)
A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3,
41. 下列程序的運行結果是_____。(知識點8.3)
main()
{ int a=3,y;
y=fn(a,a++);
printf(「%d」,y);}
int fn(x,c)
{ int b;
if(x<c)b=1;
else if(x= =c)b=0;
else b=-1 ;
return(b);
}
A)3 B)-1 C)1 D)0
42. 下列程序的運行結果是_____。(知識點7.3)
main()
{ char arr[2][4];
strcpy(arr,「you」);strcpy(arr[1],「me」);
printf(「%s\n」 ,arr);}
A)you me B)you C)me D)arr
43. 下列程序的輸出結果是_____。(知識點8.8)
int f()
{ static int i=0;
int s=1;
s+=i;i++;
return s;}
main()
{ int i , a=0;
for(i=0;i<5;i++)a+=f();
printf(「%d\n」,a);}
A)20 B)24 C)25 D)15
44. 程序中對fun函數有如下說明:
void *fun();
此說明的含義是_____。(知識點10.6)
A) fun函數無返回值
B) fun函數的返回值可以是任意的數據類型
C) fun函數的返回值是無值型的指針類型
D) 指針fun指向一個函數,該函數無返回值
45. 設有下列定義:static int x,*p=&x,*q;
scanf(「%d,%d」,p,q);
若輸入3,4,則x的值為_____。(知識點8.8)
A)3 B)4 C)0 D)無法確定
46. 設有以下程序:
int fun(char *s)
{ int n=0;
while(*s){ n++;s++ ;}
return n ;}
main()
{char y[ ]=「this_is_an_example。」;
printf(「%d\n」,fun(&y[6]));
}
該程序的輸出結果是_____。(知識點:10.4)
A)12 B)13 C)14 D)16
47. 下列程序的功能是_____。(知識點:10.4)
int fun(char *a)
{ char *b=a;
while(*b)b++;
{return b-a ;}
}
A) 比較兩個字元串的大小 B)字元串的復制
C) 計算字元串的長度 D) 字元串的連接
48. 下列程序的輸出結果是_______。(知識點10.2)
main()
{
int k=3,m=5,n=7;
int *pk=&k,*pm=&m,*p;
*(p=&n)=*pk*(*pm);
printf("%d\n",n);
}
A)5 B)7 C)15 D)21
49. 下列程序的執行結果是_______。(知識點10.3)
main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf(「%d」,*--p);}
A)非法 B)a[4]的地址 C)5 D)4
50. 以下函數返回a所指的數組中最小值所在的下標值:
fun(int *a, int n)
{ int i , j=0 , p ;
p=j ;
for(i=j;i<n;i++)
if(a[i]<a[p]) _______ ;
return(p);}
在下劃線處應填入_______。(知識點10.2)
A)i=p B)a[p]=a[i] C)p=j D)p=i
51. 下列程序的運行結果是_______。(知識點10.2)
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;}
main()
{ int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf(「%d %d」,a,b);
}
A)6 3 B)3 6 C)編譯出錯 D)0 0
52. 有如下程序:
#define f(x)x*x
main()
{ int i ;
i=f(4+4)/(2+2);
printf(「%d\n」,i);}
該程序執行後的輸出結果是_______。(知識點9.1)
A)28 B)21 C)16 D)4
53. 下列程序的輸出結果是_______。(知識點11.4)
struct tt;
{ int n1;char n2;float n3;
union uu{int u1[2];char u2[2];}su;
};
main()
{printf(「%d\n」,sizeof(struct tt));}
A)11 B)12 C)7 D)9
54. 下列程序的輸出結果是_______。(知識點11.6)
struct LH
{ int n;struct LH *m;}p[4];
main()
{ int i;
for(i=0;i<3;i++)
{p[i].n=i;p[i].m=&p[i+1];}
p[i].m=p;
printf(「%d,%d\n」,(p[1].m)->n,p[3].m->n);
}
A)1,2 B)1,3 C)2,0 D)程序出錯
55. 下列程序的輸出結果是_______。(知識點11.6)
struct st
{ int x;int *y;}*p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf(「%d 」,++p->x);
printf(「%d 」,(++p)->x);
printf(「%d 」,++(*p->y));}
A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 31
56. 字元0的ASCII碼的十進制數為48,且數組的第0個元素在低位,則以下程序的執行結果是_______。(知識點11.8)
#include <stdio.h>
main()
{ union
{ int i[4];
long k;
char c[6];
}a,*s=&a ;
s->i[0]=0x39;
s->i[1]=0x38;
printf(「%c\n」,s->c[0]);
}
A)5 B)3 C)6 D)9
57. 下列程序的運行結果是_______。(知識點12.2)
main()
{ unsigned c1=0xff,c2=0x00;
c1=c2|c1>>2;c2=c1^0236;
printf(「%x,%x\n」,c1,c2);
}
A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a1
58. 若有運算符<<,sizeof,^,&=,則它們按優先順序由高至低的排列次序正確的是_______。(知識點3.8)
A)sizeof,&= , <<, ^ B)sizeof,<<, ^,&=
C)^,<<,sizeof, &= D)<<,^,&=,sizeof
59. 有以下程序:
#include <stdio.h>
void fun(char *fname,char *st)
{ FILE *myf;int i;
myf=fopen(fname,「w」);
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{ fun(「test.t」,「new world」);fun(「test.t」,「hello,」);}
執行該程序後,文件test.t中的內容是_______。(知識點13.4)
A)hello, B)new worldhello, C)new world D)hello,rld
60. 有以下程序:
#include <stdio.h>
main()
{ FILE *fp;int i=20,j=30,k,n;
fp=fopen(「d1.dat」,「w」);
fprintf(fp,「%d\n」,i);fprintf(fp,「%d\n」,j);
fclose(fp);
fp=fopen(「d1.dat」,「r」);
fscanf(fp,「%d%d」,&k,&n);printf(「%d %d\n」,k,n);
fclose(fp);}
該程序運行後的輸出結果是_______。(知識點13.4)
A)20 30 B)20 50 C)30 50 D)30 20
❻ C語言問題高分求解
樣例輸入;2357
是77533吧
沒有看出2357和
775
X.33
這個之間的聯系
要是77533的話,其實程序很簡單,就是一個輸出樣式的問題
定義6個變數,存儲從上到下5個數據,還有一個輸入的數據,這樣算出來,列印就好了
775 --------------------變數2
X.33 -----------------變數3
____
2325 -----------------變數4
2325 --------------變數5
____
25575 ---------------變數6
輸入變數1,截取高3為和低兩位存入變數2和變數3
變數4=變數2乘以變數3的低位,變數5=變數2乘以變數3的高位
變數6=變數4+變數5乘以10
這樣根據樣式吧變數2~變數6列印出來就好了
❼ 跪求C語言高手
s=10,t=25
1: result is 4
2: result is 6
3: result is 8
s=16
10
7
x=9
12
哪有劃線?估計是 static int x=2;只有這個可以
51
3個
你連編譯都不會么