1樓:yx陳子昂
當然不是了,i從9一直到1,第一次迴圈是st[18]= st[9], st[17]=' '
insert函式是在每個字元間插入空格,因此選a
2樓:15853833407王
這個找專門的程式設計員才能知道是什麼意思。
3樓:令寒天
根本無法計算出這樣的算式
c語言考試題
4樓:高金山
這些都是最基本的題,但要想全部做對,還真不容易我已經儘量保證我下面的答案都是對的
就算錯也錯不會超過1-2個的
填空題1.1
2.93.96 `(~鍵的那個符號,1鍵前面)
4.a[0] a[1] a[2]
5.1600
6.文字檔案 二進位制檔案
7.fopen fclose fseek
選擇題1.c
2.b3.d
4. a
只有a是正確的,bcd都是編譯都通不過的
b. a是陣列,是不能直接對陣列進行賦值的5.c6.c
7.a指標是可以相減,進行比較,指向同一地址的,但相加是不行的8.d9.c
10. b
寫出下列程式的執行結果:
1.10,6,23,-90,0,3
2.6 7 8
在 處填入適當內容:
(1)#include
(2)2
(3)break;
(4)k+1
程式設計求解
1、1*2*3。。。n
#include
void main()
2、1+2+3+…+100
#include
void main()
5樓:匿名使用者
我來回答下把:
1.12.9解釋:t = (a>b)?a:b等價於t = ((a>b)?a:b),這下應該知道了把
3.96 `(和~鍵是同一個鍵)
解釋:a=96;96是那個字元的acsii碼值的十進位制表示,它的十六進位制表示的ascii碼值為60,你可以對96進行除16取餘法得到60,然後你去檢視下字元的ascii碼 16進製表示的那個表就會發現,它對應的是這個字元,所以就是他了,別和單引號混淆就好,單引號的ascii碼十六進位制表示為27
4.a[0] a[1] a[2]
5.1600
6.文字檔案 二進位制檔案 [這個拿的不是很準]
7.fopen fclose fseek
下面:1.c
解釋:a+=a-=a*=a,首先要知道+=,-=,*=的優先順序是相同的,但是他們的結合性是由右向左的,所以,他相當於a+=a-=(a=a*a),你還要知道,這是在同一條語句中多次修改同一個變數的值,這裡有結合性,可以保證,但是有的時候並不可以,因為語言中明確規定,求值順序未定義,一般儘可能不要在同一條語句裡多次修改同一個變數的值,有的時候還和編譯器有關的,a+=a-=(a=a*a)相當於a+=(a=a-(a=a*a)),在a=(a+(a=a-(a=a*a))),所以為0
2.b3.d解釋:你定義一個帶引數的巨集#define add(x) (x)+(x)
你要知道,巨集替換是機械化的替換,不會很智慧化的,也就是說
在這裡,替換的時候是替換成了這樣d=(a+b)+(a+b)*c;所以最後就是80了
4. a
解釋:這樣理解把, char a[5]; char *p=a;這個是把陣列的首地址賦給指標p來初始化指標,你後面再加一句p="abcd";不就是對指標的賦值嗎,使指標不再指向陣列的首地址,而是指向了字串的首地址了.相信char *p="abcd";很常見把,呵呵...
5.c解釋:因為k=2,然後執行關係表示式k==0,結果顯然判斷結果為假,所以不執行迴圈體
6.c7.a指標是不能相加的
8.d解釋:這個應該好好解釋下,這個題還好了
struct st;
a p++->n b p->n++ c (*p).n++ d ++p->n
分析:首先你要知道,這是定義了一個結構體陣列,這個static struct st a[3]=寫的易讀一點就是static struct st a[3]=,,},是不是明瞭了好多.
你做這個題目之前還需要明白一點,即箭頭操作符的優先順序高於++運算子,然後分析選項
選項a.p++是字尾加,所以執行(p++)->n(即p++->n) 相當於執行p->n,即得到的值是5
選項b. p->n++相當於(p->n)++,由於是字尾加,所以得到的值也是5
選項c.(*p).n++ 就是相當於((*p).
n)++,更相當於(p->n)++,所以和上面的是一樣的,也是5,為什麼它相當於它呢,這就要你看看箭頭操作符的由來了,箭頭操作符的由來就是為了結合解引用操作符*和點操作符.於一起的.來簡化書寫,增加可讀性
選項d.++p->n 相當於++(p->n),由於是字首加,所以得到的值為6了
9.c,選擇w會格式化
10. b ,陣列名其實就相當於一個指標,這裡對指標做運算,加1使指標下移
寫出執行結果:
1.10623-9003
2.6 7 8
填空題:
1.#include
#include
2. 2
3.break;
4.k+1
程式設計題:
1.**如下:
#include
int main()
2.**如下
#include
int main()
應該沒錯把,樓主有什麼問題可以發訊息給我
6樓:匿名使用者
未檢查,請後來人指正19
96 a
a[0],a[1],a[2]
1600
二進位制 文字
fopen fclose fseekcb
dbcc
bcdb
10,6,23,-90,0,3,
6 7 8
(1)#include
(2)2
(3)break
(4)k+1
#include
int main()
#include
int main()
7樓:真理的尋找
1)1;2)9;3)96,a;4)a[0]a[1]a[2];5)1600;6)檔案,函式;7)fopen ,fclose,fgetc
1)c;2)b;3)a;4)b;5)c;6)c;7)b;8)a;9)d;10)b
1)10623
-900
32)6,7,8
在處填入適當內容
1)stdio;2)i=2;3)m++;4)m程式設計求解:
1)int i,t=1;
main()
{ for(i=0;i這分可是真不好拿阿
8樓:雛龍
1.設x的值為15,n的值為2,則表示式x%n運算後,表示式的值為(1 )。
2.設 int a=7,b=9,t;執行完表示式t = (a>b)?a:b後,t的值是( 9)。
3.下面程式段的輸出結果是(96,` )。
int a=96; printf(「%d %c\n」,a,a);
4.a陣列定義如下,按照記憶體排列順序,a陣列中的所有元素是(a[0] a[1] a[2]
)。 char a[3];
5.設有以下巨集定義,則執行賦值語句 a=pp*20;(a為int型變數)後,a的值是(1600 )。
#define pp 80
6.在c檔案中,資料存在的兩種**形式是(ascⅱ和二進位制
)。 7.c語言中呼叫(fopen )函式開啟檔案,呼叫(fclose )函式關閉檔案,呼叫(fseek )函式可實現檔案的隨機讀寫。
1.設 int a=12; 表示式a+=a-=a*=a的值是(c )。
a 12 b 144 c 0 d 132
2.以下程式的輸出結果是( b)。
main( )
a 96 b 97 c a d b
3.以下程式的輸出結果是(d )。
#define add(x) (x)+(x)
main()
a d=70 b d=140 c d=280 d d=80
4.下面的選項中正確的賦值語句是(char a[5],*p=a;)(c )。
a p=「abcd」; b a=「abcd」; c *p=「abcd」; d *a=「abcd」;
5.若k為整形,則while迴圈執行( c)次。
k=2; while(k==0) printf(「%d」,k); k--; printf(「\n」);
a 10 b 9 c 0 d 1
6.陣列名作為實參傳遞給形參時,陣列名被處理為該陣列的(c )。
a長度 b元素個數 c首地址 d各元素的值
7.兩個指標變數不可以(a )。
a. 相加 b 比較 c 相減 d 指向同一地址
8.若有以下程式段,則值為6的表示式是(d )。
struct st;
a p++->n b p->n++ c (*p).n++ d ++p->n
9.要開啟一個已存在的非空檔案」file」用於修改,選擇正確的語句( d)。
a fp=fopen("file","r"); b fp=fopen("file","w");
c fp=fopen("file","r+"); d fp=fopen("file","w+");
10. 9.若有int a[3]=;則a+1是( b)。
a a[0]的地址 b a[1]的地址 c a[1]的值 d a[0]的值加1
寫出下列程式的執行結果:
1.main( )
,i;for(i=0;i<6;i++) printf(「%d,」,a[i]);
printf(「\n」);
}/* 結果:10,6,23,-90,0,3*/
2.f1(int a)
main()
/*6 7 8*/
在 處填入適當內容:
求100~200間的全部素數。
(1)main() }
} 程式設計求解
1*2*3。。。n
///int main()
1+2+3+…+100
//#include
int main()
9樓:匿名使用者
1.答案為1
2.答案為9
3.答案為96和'這個字元
4.a[0] a[1] a[2]
5.答案為1600
6.ascⅱ和二進位制
7.fopen fclose fseek
1.c2.b3.b4.cd5.d6.c7.b8.c9.d10.c1. 10,6,23,-90,0,3回車2 7,8,9
(1) #include(2)2 (3)continue (4)k+1
程式1:
maim()
程式2:
main()
中午沒吃飯給你寫這個,我也新手,你看看有什麼不對的地方沒(選擇第8個我拿不準)!
當a 3,b 2,c 1時,執行以下程式段後c
c 2a b 2 b c 1 c a 2 回答當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,...
int a 1,b 2,c 3,d 0 if a 1 b2 if bc3 printfd d結果為什麼不是1,
第一句if。a 1和b 都為真du。所以執行zhiif b 0 c 3 dao但是b 2先判斷b是否為2,後b自加1,所以內b 3,答案1,3,3 c不減1是因為if b 0 c 3 這個容if是或運算,在c語言中或運算只有在 之前的表示式不為真的時候在進行 後面的表示式計算,而上面是 之前的表示式...
c中,如果a1,b2,c3,d4,則表示式「a
條件運算子的結合方向為 自右向左 a b?a cb?a c 那麼結果就很顯然了 結果為 c 3 可以看成是計算a b?a cb不成立,取 後面的表示式即c c,所以值為c,3 應該是3 如果a大於b那麼就是a,否則如果c小於d就是c,否則為d 已知a 1,b 2,c 3,則表示式a b b c a ...