當前位置:首頁 » 編程語言 » c語言與kn完全等價的表達式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言與kn完全等價的表達式

發布時間: 2022-09-04 05:58:58

A. 與k=n++完全等價的表達式是

k=n,n=n+1;

++是自增運算符,可以放置在操作數前面,也可以放在後面。而n++ 表示n參與運算後,n的值再自增1;++n表示,n自增1後再參與其它運算.

k=n++表示n自增1後,賦值給k。

(1)c語言與kn完全等價的表達式擴展閱讀:

自增自減運算符存在於C/C++/C#/Java/Python等高級語言中,它的作用是在運算結束前(前置自增自減運算符)或後(後置自增自減運算符)將變數的值加(或減)一。

相較於這些語言中的+=和-=運算符,自增運算符更加簡潔,且可以控制效果作用於運算之前還是之後,具有很大的便利性。

前置後置區別的舉例:

a = i++;

相當於 a = i; i++;

a = ++i;

相當於 i++; a = i;

B. k=n++完全等價的表達式是

n++,是後加的,就是說,先用n的值,再讓它+1比如,原來n為4那麼n++為4,然後,n就變成5了 ①k=n,n=n+1 是可以的,k=n,n賦給k之後,k=4,然後,n+1變成了5

C. 還是C語言

第1題 以下四個選項中不能看作一條語句的是
A、{; }
B、a=0,b=0,c=0;
C、if(a>0)
D、if(b==0)m=1;n=2;

【我的答案】
C

A可以,{}起到的作用是對變數的什麼周期進行限定,防止名稱空間污染
C 如果,,,,,(沒有後半句了),看著都不爽,就選他了
--------------------------------------------

第2題 C語言提供的合法關鍵字是
A、swicth
B、cha
C、Case
D、default

【我的答案】
D

A錯了,我靠這不會是英文考試吧,竟然還有switch的拼寫問題!
D正確
--------------------------------------------

第3題 能正確表示邏輯關系「a≥10或a≤0」的C語言表達式是
A、a>=10 or a<=0
B、a>=10 || a<=0
C、a>=10 && a<=0
D、a>=10 | a<=0

【我的答案】
B

或者是 || 不是 or
| 是位操作符 - 位或
--------------------------------------------

第4題 下述語句的輸出為
int m=-1;
printf(「%d,%u,%o」,m,m,m);
A、-1,-1,-11
B、-1,32767,-177777
C、-1,32768,177777
D、-1,65535,177777

【我的答案】
D

我不知道,但是猜猜看:
1 %d 正常輸出
2 %u unsigned, 那麼-1就變成了極大極大極大的數,記住,愛到盡頭便是恨,(就是正數的極大值)
3 %o 八進制, 你見過負的么?我暫時木有

選擇D

--------------------------------------------

第5題 設有變數int x=0,y=1,z=1,則運行表達式:x=y++>z--後,x,y,z的值分別是
A、1,1,1
B、1,2,0
C、0,1,1
D、0,2,0

【我的答案】
D

考察運算符優先順序,單目大於雙目:
y++ ==> y=1;y=y+1;y=2;
z-- ==> z=1;z=z-1;z=0;
然後從右向左

x=( 1>1 ) ==> 錯的 ==> X=0

選D
--------------------------------------------

第6題 若有定義:「int a=8,b=5,c;」,執行語句「c=a/b+0.4」後,c的值為
A、1.4
B、1
C、2.0
D、2

【我的答案】
B

考察C語言的類型隱式轉換
C=a/b + 0.4 = 8/5+ 0.4 = 1.00000 + 0.4 = 1.4000000 => (int)1.400000 = 1 => 選B

--------------------------------------------

第7題 假定x和y為double型,則表達式x=2,y=x+3/2的值是
A、3.500000
B、3
C、2.000000
D、3.000000

【我的答案】
D

y=x+3/2 = 2+ 1.5 = 2+1 = 3 (double)3 ==> 3.000000 ==> 選D

--------------------------------------------

第8題 以下程序的輸出結果是
int
main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}
}
printf(「%d\n」,a);
}
A、31
B、13
C、10
D、20

【我的答案】
A

i=1 a=0; a=a+8=8
i=2 a=a+8=16;
i=3 a=a+10=26;
i=4; a=a+5=31;
選A

--------------------------------------------

第9題 已有定義:int x=3,y=4,z=5;則表達式!(x+y)+z-1&&y+z/2的值是
A、6
B、0
C、2
D、1

【我的答案】

!(x+y)+z-1&&y+z/2:

z=5; z/2=2; y=4; 4+2=6;

z-1=4;

!(x+y)=!(7)=0;

0+4&&6=1 選D

--------------------------------------------

第10題 以下程序的輸出結果是
main()
{
int a=3;
printf(「%d\n」,a+(a-=a*a));
}
A、-6
B、12
C、0
D、-12

【我的答案】

a+(a-=3*3)
a+(a-=9)
a+(a=a-9)
a+(a=-6);
-6-6 = -12
選D
--------------------------------------------

第11題 以下四個選項中,屬於實型常量的是
A、0x12
B、-12345e-3
C、1e0.5
D、e-5

【我的答案】

B
--------------------------------------------

第12題 結構化程序設計方法中有三種基本控制結構,以下不正確的是
A、順序結構
B、選擇結構
C、循環結構
D、數組結構

【我的答案】

D
--------------------------------------------

第13題
void main()
{
int a=5, b=8;
printf(「a=%d b=%d\n」, a,b);
a=a+b; b=a-b; a=a-b;
printf(「a=%d b=%d\n」, a,b) ;
}
輸出的結果為
A、a=5 b=8
a=8,b=5
B、a=5 b=8
a=5,b=8
C、a=8 b=5
a=8,b=5
D、a=5 b=8
a=8,b=8

【我的答案】
A 考察交換數字的值a=a+b; b=a-b; a=a-b;

a=5; b=8;
ab交換
a=8 b=5;
選擇 A
--------------------------------------------

第14題 執行int j,i=1; j=-i++; 後j的值是:
A、-1
B、-2
C、1
D、2

【我的答案】
A

j=-i++ ==> j=-1;i=2;
選A
--------------------------------------------

第15題 以下程序的輸出結果是
main()
{
char c='z';
printf(「%c」,c-25);
}
A、a
B、Z
C、z-25
D、y

【我的答案】
A

char-25=a 選A
--------------------------------------------

第16題 以下選項中合法的用戶標識是
A、long
B、_2Test
C、3Dmax
D、A.dat

【我的答案】

D
--------------------------------------------

第17題 以下程序的輸出結果是
main()
{
int a=5,b=4,c=6,d;
printf(「%d\n」,d=a>b?(a>c?a:c):(b));
}
A、5
B、4
C、6
D、不確定

【我的答案】
C

d=a>b?(a>c?a:c):(b); a=5>b=4;==> d= a>c?a:c ==> a=5 < c=6; ==> d=c=6; 選C
--------------------------------------------

第18題 以下選項中,與k=n++完全等價的表達式是
A、k=n,n=n+1
B、n=n+1,k=n
C、k=++n
D、k+=n+1

【我的答案】
A

按照運算順序,
k=n++; ==> k=n;++n; 選A
--------------------------------------------

第19題 已知小寫字母的ASCII碼為97,對於int a=99, b='b'; printf(「%c,%d」, a , b);的結果是
A、99, b
B、c, 98
C、99, 98
D、c, b

【我的答案】
B

printf(「%c,%d」, a , b)
所以輸出為 char,int, 所以為B;
--------------------------------------------

第20題 有如下程序:
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf(「a=%d,b=%d\n」,a,b);
}

該程序的輸出結果是
A、a=2 b=1
B、a=1 b=1
C、a=1 b=0
D、a=2 b=2

【我的答案】
A

a=0;b=0;
x=1
a=a+2=2;
b=b+1=1;
選 A

--------------------------------------------

D. 求解c語言選擇題

36.設有以下定義:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr)[3]=a,*p=a[0];
則下列能正確表示數組元素a[1][2]的表達式是(D )。
A.*((*ptr+1)[2]) B.*(*(p+5))
C.(*ptr+1)+2 D.*(*(a+1)+2)
37.對於以下的變數定義,表達式( D)是不正確的。
struct node {
int j, k;
} x, *p=&x;
A.p->k=2 B.(*p).k=2 C.x.k=2 D.x->k=2
38.當已存在一個abc.txt文件時,執行函數fopen (「abc.txt」, 「r+」)的功能是( D)。
A.打開abc.txt文件,清除原有的內容
B.打開abc.txt文件,只能讀取原有內容
C.打開abc.txt文件,可以讀取和寫入新的內容
D.打開abc.txt文件,只能寫入新的內容
39.有以下程序:
main()
{
char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}執行後輸出結果是( A)。
A.w,one B.n,two C.t,one D.o,two
40.若有以下定義:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
則值為3的表達式是(C )。
A.*p B.*(p+1)
C.*(p+2) D.*(p+3)
41.以下性質不是演算法特徵是( B)。
A.有窮性 B.可重用性 C.確定性 D.有0個或多個輸入
42.以下關於C語言優點說法錯誤的是( B)。
A.C語言描述簡潔、靈活、高效,有豐富的數據類型
B.C語言的源程序無需經過編譯連接處理,可以直接被計算機運行
C.C語言提供了功能齊全的函數庫,有良好的通用性和可移植性
D.C語言生成目標代碼的質量高,程序執行效率高
43.C語言提供合法的數據類型關鍵字是( B)。
A.Double B.short C.integer D.Char
44.C語言的標識符只能由字母、數字和下劃線三種字元組成,且首字元( A)。
A.必須為字母或下劃線 B.必須為下劃線
C.必須為字母 D.可以是字母、數字和下劃線中的任一種字元。
45.以下選項中,與k=n++完全等價的表達式是(A )。
A.k=n,n=n+1 B.k=++n C.k+=n+1 D.n=n+1,k=n
46.設有語句int a=3;則執行語句a+ =a*a;後,變數a的值是( D)。
A.3 B.9 C.12 D.18
47.若有定義int a=7; float x=2.5, y = 4.7; 則表達式x+a%3*(int) (x + y) %2/4的值是( D)。
A.2.750000 B.0.00000 C.3.500000 D.2.500000
48.對y在[3,23]和[100,200]范圍內為真的正確表達式為( C)。
A.(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)
B.(y>=3)||(y<=23)||(y>=100)||(y<=200)
C.(y>=3)&&(y<=23)||(y>=100)&&(y<=200)
D.(y>=3)||(y<=23)&&(y>=100)||(y<=200)
49.設x、y、z和k都是整型變數,則執行變數表達式:x=(y=52,z=26,k=32)後,x的值為( C)。
A.4 B.26 C.32 D.52
50.現已定義整型變數int i=1;執行循環語句」while(i++<5);」後,i的值為(C )。
A.1 B.5 C.6 D.以上三個答案均不正確

E. 以下選項中,與k=n++完全等價的是

k = n++, 意思就是k先等於n 然後n = n + 1,選B,這個樓上也要想為什麼。。。。
n++; 跟n+=1沒區別,當然前提是n為整型數或者字元才可以,指針的話就不行。

F. 在C語言中「%c%c\n」和「%d%d\n「分別說明什麼。。。

%c%c 和%d%d 出現在輸出語句中具有如下意義:

%c%c 表示輸出兩個字元數據,%d%d 表示輸出兩個十進制整型數據。

並且輸出的數據是緊挨著的,如果想分開點,可以增加寬度,比如"%5d"就是按照5的寬度輸出一個整型數據,或者在兩個格式符中間加上空格,逗號,等其他字元也可以,比如"%d,%d"。

(6)c語言與kn完全等價的表達式擴展閱讀:

常用的有以下幾種格式字元:

一、d格式字元。用來輸出十進制整數。有以下幾種用法:

1、%d,按整型數據的實際長度輸出。

2、%md,m為指定的輸出欄位的寬度。

3、%ld,輸出長整型數據。

二、o格式符,以八進制整型式輸出整數。

三、x格式符,以十六進制數形式輸出整數。

四、c格式符,用來輸出一個字元。

G. 求大神,c語言題目:與條件表達式「(n)(c++):(c--)」中的表達式(n)等價的表達式是 。...

if( n !=0)
(c++);
else
(c--);
問號就是三目運算符.
就是 a?b:c;
當a為真時,即a不等於0時執行b;否則執行c!

給分..不容易啊

H. C語言問題。以下程序段中與語句K=a>b(b>c1:0):0;功能等價的是()

if (a>B)k=1;else if (b<=c)k=1; else if (a>c)k=1;else k=0。選D。

問號表達式 :

(表達式1)?(表達式2):(表達式3)。

如果表達式1成立則執行表達式2,否則執行表達式3。

注意事項:

問號表達式是從右向左運行

例如 :

int a=8,b=3,c=7;

printf("%d",a>b?a>c?a:c:b>c?b:c);

可以分成三步完成

第一步:b>c?b:c 結果為c

第二步:a>c?a:c 結果為a

第三步:前兩步的結果分別對應表達式3和表達式2,即a>b?a:c。

最終輸出結果為a即8。

(8)c語言與kn完全等價的表達式擴展閱讀:

C語言特點:

1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元。

2、結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。

C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。

3、代碼級別的跨平台:由於標準的存在,使得幾乎同樣的C代碼可用於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要進行硬體操作的場合,優於其它高級語言。