1樓:匿名使用者
1 a2 c
3 a4 c
5 c6 d
7 c8 d
9 c10 d
11 c
12 c
15 d
2樓:匿名使用者
呵呵` 我來幫幫你
1.a2.d
3.a4.這一題要看你的c的執行環境,不同的環境出來的結果可能不同5.b6.d
7.b8.d
9.c10.d
11.b
12.c
15.c
搞定,錯了被打板了可不能怪我啊
3樓:匿名使用者
1,8/5只取商,為1,加上0.4等於1.4 a
2,a3.c 4,b ++字首,先增後用,——字尾,先用後減
5,b 6,a 7,d 8,d 9,d 10,d 11,a 12,d 15,a
4樓:喜洋洋
1、a2、b
3、a(最後一句應該是輸出a而不是d吧)
4、c5,c
6,d7,c
8,d9,c
10,這題不會
11,c
12,c
15,d
求教幾道c語言選擇題(詳細解答)!
5樓:匿名使用者
第一題:a。
解析:首先得到一個靜態陣列a,指標p指向a[0], *(p+3)+=4可寫為*(p+3)=*(p+3)+4, p+3的意思是指標移動至a[3]所在單元,*(p+3)是取值,即為9,那麼運算*(p+3)+=4得*(p+3)的最終值為13,p由於指向陣列初位置則*p為1.
第二題:b。
解析:第一全域性變數b=3,先看main函式部分,得到陣列a,從語句 b=fun(&a(1))*b處看fun函式,在這裡fun函式是個地址傳遞,main函式中把a[1]的地址傳遞給fun函式中的指標*k,在fun的語句b=*(k++)*b中,由於是k++,則先做取值運算,再做k自加,所以*(k++),*k,a[1]的值一樣,為12,則b=*(k++)*b運算後得b=24,即fun函式的返回值為24,帶回 b=fun(&a(1))*b運算得b=72(這裡要注意算式中的第二個b要用全域性變數b=3帶)。
第三題:c。
解析:同第二題先看main函式,對於語句 n=fun(x); n=fun(y); 由於是順序結構,則只要看後一句即可;語句n=fun(y)呼叫fun函式,把值y=1給x,a*=x的意思是a=a*x,即a=3,然後返回函式值至main函式,n=3
6樓:匿名使用者
第一題:選a
main()
; int *p=a; // *p=1*(p+3)+=4; // *(p+3)=9,9+4=13printf("%d,%d",*p,*(p+3)); //1,13} 第二題:選b
由於是選擇題,所以可以快速選出答案,因為其餘選項顯然太小第三體:選c
只要看n=fun(y); 就行了
幾道c語言基礎的選擇題,求解釋,謝謝。
7樓:路易五十三
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、a[p-a] //就是a[0]
3、我們知道字元陣列是以數字0(也就是'\0')為結束標識的。p指向的是字元陣列第一個元素'h',那麼p+1指向'e',p+2指向'l',p+3指向'l',p+4指向'o',p+5指向'\0'。
3、a、p+=2,*(p++) //p指向元素1,p+=2後p指向元素3,p++:先使用再自增,則*(p++)就是3
b、p+=2,*++p //++p先自增再使用,則*++p是4
c、p+=3,*p++ //p+=3後p指向元素4
d、++*p //值為2
4、strcpy(s1,s2)將s2複製到s1並返回s1,即之後s1與s2內容是一樣的,strlen取長度值為4。
5、 a、scanf("%d%s",&p->num,p->name);
b、scanf("%d%s",&p->num,&p->name);
c、scanf("%d%s",&p.num,p.name);
d、scanf("%d%s",&p.num,&p.name);
以結構指標操作成員要用到成員運算子->,那麼c、d排除;scanf需要的是一個記憶體地址,p->num是一個整型變數,要用取地址符&;結構中成員name是一個字元陣列,p->name表示的是這個字元陣列的首地址,不需要再用取地址符。
8樓:普洛智應
15,#define num (m+1)*m/2這個巨集為
(n+1)*n+1/2
這就是為啥結果是b
16,char s[ ]="hello";
char *p=s ;
執行完上面程式段後,*(p+5) 的值為 ( ) 。
a、'o'
b、'\0' //正確答案
c、'o' 的地址
d、不確定的值
p是指向字串開頭,p+1就指向第二個字元"e",一次類推,p+5指向結束位了
15,p+=2,指標指向第三個元素
*(p++)先取指標內容後做自加,所以答案是a*(p++)
9樓:逐夢兮樂
第一題12345678選b
幾道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 ...
幾道c語言的選擇題,大家幫忙看看
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的第...
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...