1樓:匿名使用者
1.b!比||優先順序高,所以||最後算.而y=1,||左邊不管是什麼,最終結果都是1
2.b陣列名是常量,不允許改變.
3.db-=a,b變成9,然後a++,a變成2.再判斷b-->0,條件不成立,結束迴圈,再是b--後面的--起作用,b變成8
4.c不用多說了,b,c,d,e,f
5.cd
*a+1指向的是zhang的第2個字元,所以輸出 hang&a[1][10]指向的是wang
如果是&a[0][10]的話,倒是指向li
2樓:匿名使用者
1.b,因為邏輯非(!)遠算符優先順序比邏輯或(||)高,!x||y應該為(!x)||y
!x為0(假),和y作邏輯或遠算,就為1(真)2.b,因為b++是先使用b的值,再改變b的值,使b的值加13.
d,因為b=b-a=10-1=9,而while(b--<0)中又使b的值自動減1,故為8
4.c,char c1='b'=98,c2='f'=102,c2-c1後輸出整數型為4
5.a,printf("%s",a+1);輸出的是第一行的第一列字元,
3樓:匿名使用者
1、設 int x=1,y=1;表示式 "!x||y" 的值是(b)
a、0 b、1 c、2 d、-1
ps: !x不是1,就是假的意思 y是真 中間的||或的意思。所以0或1,整個就是1了。
2、如果已定義 int b[10],*p=b; 並在以後語句中未改變p的值,不能表示
b[1]的位址的表示式是(c)
a、p+1 b、b++ c、b+1 d、++p
ps: 陣列標量名的指標位址為a[0]是常量指標,因而是錯誤的。
3、假定a和b為int型變數,則執行下面語句組後b的值為(d)
a=1;b=10;
dowhile(b--<0);
a、9 b、-2 c、-1 d、8
ps:4、若有以下定義和語句,則輸出的結果是(c)
char c1='b',c2='f';printf("%d\n",c2-c1);
a、2 b、3 c、4 d、5
5、已知:char a[3][10]=,*pa=a; 不能正確顯示字串"li"的語句是(c)
a、printf("%s",a+1); b、printf("%s",*(a+1));
ps:a是位址,所以前面要加指標或者取指操作符
4樓:人生如幻亦如夢
c.非x=0.或y=1
a.位址好像不能p+1。
a.b--=9.由於是先迴圈後判斷,所以只做了一次b=b-a,所以=9
c.字元b和f的ascii碼之間相差了4,輸出的是%d,應該是4a.好長時間沒用c了。僅供參考。
c語言 幾道選擇題,C語言 幾道選擇題
1 a2 c 3 a4 c 5 c6 d 7 c8 d 9 c10 d 11 c 12 c 15 d 呵呵 我來幫幫你 1.a2.d 3.a4.這一題要看你的c的執行環境,不同的環境出來的結果可能不同5.b6.d 7.b8.d 9.c10.d 11.b 12.c 15.c 搞定,錯了被打板了可不能怪...
c語言選擇題,C語言選擇題?
首先a,每次j的for迴圈中,s的值也都會重新歸0,但題目中的s只在i的for迴圈中歸0,在j的迴圈中是不斷累加的過程,因此a是錯的。b中,j的初始話在i中,但這樣j 0實際只會執行一次,也就是說,j的for迴圈除了第一次迴圈10次外,以後的幾次會因為直接j 10而不會有迴圈,所以b是錯的 c中,i...
幾道c語言基礎的選擇題求解釋謝謝
路易五十三 1 首先我們知道巨集只是簡單的字元替換,那麼巨集num實際就等價於 n 1 1 n 1 2,再等價於 2 1 1 2 1 2,然後要注意優先順序的問題,num 8,那麼迴圈就是1 8。2 a p 就是a 0 b a 10 這樣就越界了,陣列元素只有a 0 a 9 c a 就是a 0 d ...