當前位置:首頁 » 編程語言 » 請選出合法的c語言賦值語句

請選出合法的c語言賦值語句

發布時間: 2022-11-13 21:49:14

1. c語言問題。i++; 算是賦值語句么

這種討論意義不大。C語言本身是以表達式為基礎的語言,類似的語言如Java。
你說 a = b = c = d 算是賦值 語句嗎?輸給誰賦值?
a = ( c = b +d )?x : y, 10 呢?
這種以表達式為基礎的語言語句分類裡面,嚴格的說就不存在賦值語句。
BASIC、Pascal、Fortran裡面有嚴格的賦值語句。
-----------------------------------------------------------------------------------------
要說 邊際效應 (side effert) ,i++的確可能會改變i的值。但是你看看下面的程序:
老的編譯器就可以支持左值轉換,但是結果呢?
稍微寫錯了,應該是都通不過,老的編譯器,TC除外。
注意提示不同。

其實,如果存在左值就是應該說是你說的賦值語句,
賦值語句由賦值運算符左值和右值。但實際上問題很復雜。

float a=1.0;
((int)a)++;
printf("%f\n",a);

float a=1.0;
(int)a+=1;
printf("%f\n",a);

float a=1.0;
(int)a=a+1;
printf("%f\n",a);

2. 請選出合法的C語言賦值語句請選出合法的C語言賦值語句 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);

k=int(a+b)。

賦值語句是由賦值表達式再加上分號構成的表達式語句。其一般形式為: 變數=表達式。

在賦值語句的使用中需要注意以下幾點:

1、由於在賦值符「=」右邊的表達式也可以又是一個賦值表達式, 因此,下述形式 變數=(變數=表達式); 是成立的,從而形成嵌套的情形。

其展開之後的一般形式為:變數=變數=…=表達式; 例如:a=b=c=d=e=5;按照賦值運算符的右接合性,因此實際上等效於:e=5; d=e; c=d; b=c; a=b;

2、注意在變數==說明==中給變數賦初值和賦值語句的區別。 給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。 例如:int a=5,b,c;

3、在變數說明中,不允許連續給多個變數賦初值。 如下述說明是錯誤的:int a=b=c=5必須寫為int a=5,b=5,c=5;而賦值語句允許連續賦值。

4、注意賦值表達式和賦值語句的區別。 賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。

(2)請選出合法的c語言賦值語句擴展閱讀:

C語言特點:

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

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

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

3. 幾道C語言的題,請大家幫幫忙幫我做一下,萬分感謝。

一、填空題(每空2分,共20分)
1. 結構化程序由(順序)、(選擇)、(循環)三種基本結構組成。
2. 若k為int型變數並賦值11,請寫出運算++k後的表達式的值(12)和變數k++的值(11).
3. c語言主函數是(include),函數體由符號(main)開始,到符號(return 0)結束。
4. 請寫出以下程序的輸出結果是(101>100)
5.以下程序的輸出結果是___2__.
二 、選擇題(每題3分,共30分)
1 以下選項中合法的標識符(A)
2 C語言中運算對象是單操作數的運算符(c)
3 若變數已正確定義並賦值,符合C語言語法的表達式是(C)
4. 以下敘述正確的是(A)
5. 以下敘述中正確的是(A)
6.合法的C語言賦值語句是(B)
7. 若變數已定義為int型,要給a,b,c輸入的數據,正確的語句是(D)
8. 設a、b和c都是int型變數,且a=3,b=4,c=5,則以下的表達式中值為0的表達式是 ( D )
9.有以下程序: 程序的輸出結果是A
10. 以下敘述中正確的是( D )
三、找錯題 (每題10分,共30分)
1. 請指出以下C程序的錯誤所在
#include <stdio.h>;
int Main (viod); /*main funtion*/
{float r,s; /*/* r is radius */,/* s is area of circular*/*/
r=5.0; s=3.14159 * r * r;
printf(「%f\n」,s);
return 0;
}
2. 請指出以下C程序的錯誤所在
main /*main funtion*/
{ float a,b,c,v; /*a,b,c, are sides ,v is volume of cube */
a=2.0 ; b= 3.0; c=4.0
v=a*b*c;
printf(「%f\n」;v);
return 0;
}
3.下面的fun函數用以判斷n是否是素數,fun函數中有邏輯錯,請改正。
int fun(int n)
{int k, yes ;
for(k=2;k<=n/2;k++)
{if(n%k==0) yes=0;
else yes=1;
}
return yes;
}
四、編程序 (每題5分,共20分)
1.編寫函數int mymod(int a, int b)用以求a 被b 除之後的余數。
int mymod(int a, int b)
{int c;
c=a%b;
return c;
}

4. c語言計算機二級考試選擇題如圖

全國計算機二級考試試題題庫(附答案)
下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題
卡相應位置上塗黑,答在試卷上不得分。
(1) 應用軟體是指
A) 所有能夠使用的軟體 B) 能被各應用單位共同使用的某種軟體
C) 所有微機上都應使用的基本軟體 D) 專門為某一應用目的而編制的軟體
(2) 下列述敘中錯誤的是
A) 計算機要經常使用不要長期閑置不用
B) 為了延長計算機的壽命,應避免頻繁開關計算機
C) 在計算機附近應避免磁場干擾
D) 計算機用幾小時後,應關機一會兒再用
(3) 下列字元中,ASCII碼值最小的是
A) A B) a C) Z D) x
(4) 用晶體管作為電子器件製成的計算機屬於
A) 第一代 B) 第二代 C) 第三代 D) 第四代
(5) 下列各不同進制的四個無符號數中,最小的數是
A) ()2 B) (37)8 C) (75)10 D) (2A)16
(6) 二進制數轉換成十六進制數是
A) B) C) D)
(7) 下列各無符號十進制數中,能用八位二進製表示的是
A) 296 B) 333 C) 256 D) 199
(8) 計算機的軟體系統可分類為
A) 程序與數據 B) 系統軟體與應用軟體
D) 操作系統與語言處理程序 D) 程序、數據與文檔
(9) 486機中的CPU同時能處理的二進制位數為
A) 8 B) 16 C) 32 D) 64
(10) 在使用計算機的過程中,需要重新啟動DOS,則要
A) 按Ctrl+Break鍵 B) 按^C鍵 C) 按Ctrl+Alt+Del鍵 D) 按^H鍵
(11) 現要從軟盤啟動DOS(軟盤中已存有DOS系統),設有如下一些操作:①打開計算機
電源;②將該軟盤插入A驅動器;③關好A驅動器門。則冷啟動的操作順序應為
A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①
(12) 設當前盤中某一文件路徑為\A\C\B\,當前目錄為\A。下列命令中錯誤的是
A) CD.. B) RD \A\C\B
C) TYPE \A\C\B\ D) TYPE C\B\
(13) 設當前盤中的根目錄下有一子目錄AB,在子目錄AB下有一文件。現要查看文件
的內容,應使用命令
A) TYPE \AB B) TYPE \AB\
C) TYPE \ D) DIR \AB\
(14) 自動批處理文件必須放在
A) C盤根目錄中 B) A盤根目錄中
C) 啟動盤的任一個目錄中 D) 啟動盤的根目錄中
(15) 設當前盤當前目錄為C:\USER\XY\P,且當前盤當前目錄為空,則下列命令中能正
確執行的是
A) RD C:\USER\XY\P B) RD USER\XY\P
C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y
(16) 下列DOS命令中,合法的是
A) DISKCOMP B) TYPE >>
C) COMP A: B: D) COMP A: A:
(17) 設當前盤為C盤,所用的所有軟盤已格式化,且容量相同,則下列DOS命令中錯
誤的是
A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:
(18) 下列DOS命令中錯誤的是
A) TYPE >PRN B) TYPE PRN
C) COPY *.TXT PRN D) COPY CON PRN
(19) 下列四組DOS命令中,互相等價的一組是
A) COPY A:*.* B:與DISKCOPY A: B:
B) COPY +與TYPE >>
C) COPY + 與COPY +
D) TYPE *.FOR>CON與COPY *.FOR CON
(20) 設C盤目錄結構如下:
且C盤根目錄下文件的內容為
CD FORTRAN
CD \TC
如果在A驅動器中插入一張根目錄中只有擴展名為.C的若干文件(即A盤中無DOS系統
文件)的軟碟片,則由C盤啟動DOS系統後,第一次鍵入下列命令中,正確的是
A) COPY A:\*.C B) COPY A:\*.C TC
C) COPY A:\*.C FORTRAN D) CD USER
(21) C語言提供的合法的數據類型關鍵字是
A) Double B) short C) integer D) Char
(22) 在C語言中,合法的長整型常數是
A) 0L B) 4962710 C) D)
(23) 表達式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(24) 合法的C語言中,合法的長整型常數是
A) '\t' B) "A" C) 65 D) A
(25) 若有說明和語句:
int a=5;
a++;
此處表達式a++的值是
A) 7 B) 6 C) 5 D) 4
(26) 在下列選項中,不正確的賦值語句是
A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;
(27) 若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是
A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p;
(28) 不能把字元串:Hello!賦給數組b的語句是
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
(29) 若有以下說明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
則數值為4的表達式是
A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
(30) 若有以下說明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數值為6的表達式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
(31) 若有以下說明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
則數值為4的表達式是
A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]
(32) 若程序中有下面的說明和定義
struct abc
{int x;char y;}
struct abc s1,s2;
則會發生的情況是
A) 編譯進錯 B) 程序將順利編譯`連接`執行
C) 能順利通過編譯`連接`但不能執行 D) 能順利通過編譯`但連接出錯
(33) 能正確表示a≥10或a≤0的關系表達式是
A)a>=10 or a<=0 B)a>=10│a<=0
C)a>=10││a<=0 D)a>=10 ││a<=0
(34) 下面程序的輸出是
main()
{ int x=3,y=6,a=0;
while(x++!=(y+=o1))
{ a+o=1;
if(y
#include
main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss);printf("%s\n",ss);
}
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(35) 下面程序的輸出是
main()
{ char *a="";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{ default:v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1
C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8
(36) 下面程序的輸出是
main()
{int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b
(37) 若有以下程序段,w和k都是整型變數:

w=k;
LB: if(w==0) go to LE;
w--;
printf("*");
goto LB;
LE: ┆
則不能與上面程序段等價的循環語句是
A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*");
C)w=k; D)w=k;
while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);
(38) 若有說明,double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是
A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p);
C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);
(39) 當執行下面程序且輸入:ABC時,輸出的結果是
#include
#include
main()
{ char ss[10]="12345";
gets(ss);printf("%s\n",ss); }
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(40) 若有以下的說明和語句:
main()
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k];
}
則以一選項中能正確表示t數組元素地址的表達式是
A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]
(41) 下面程序輸出數組中的最大值,由s指針指向該元素.
main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;
flr(p=a, s=a; p-a<10; p++)
if(---?---)s=p;
printf("The max:%d",*s):
}
則在if語句中的判斷表達式應該是
A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s
(42) 下面程序的輸出是
#include
main()
{ char*a="abcdefgh";
fun(a);puts(a); }
fun (char * s)
{ int x=0,y;char c;
for(y=strlen(s)-1;x
A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba
(43) 若有以下函數調用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數調用語句
中實參的個數是
A)3 B)4 C)5 D)6
(44) 下面程序的輸出是
main()
{ int t=1; fun(fun(t));}
fun(int h)
{ static int a[3]={1,2,3};
int k;
for(k=0;k<3;k++) a[k]+=a[k]-h;
for(k=1;k<3;k++) printf("%d",a[k]);
printf("\n"); return(a[h]);}
A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,
1,5,9, 1,3,5, 0,4,8, -1,3,7,
(45) C語言中,函數的隱含存儲類別是
A)auto B)static C)extern D)無存儲類別
(46) 下面程序的輸出是
int w=3;
main()
{ int w=10; printf("%d\n",fun(5)*w); }

5. 請選出合法的C語言賦值語句______。 A、a=b=58 B、i++ C、a=58,b=58; D、k=int(a+b); A,B,D為什麼不正確

A、B沒有分號

6. C語言作業

僅供參考

一、單選題
1.下列選項中,不能用作標識符的是(d )
A _12_ B _1_2 C int_2_ D 2_int_

2.下面哪些是C的關鍵字(b )
A define B void C INT D printf

3.下列正確的轉義字元是( d)
A.''' B.'\97' C.'\0xab' D.'\\'

4.0x20U是( d)
A.整型常量 B.字元型常量 C.浮點型常量 D.非法常量

5.與0x200等值的數為( d)
A.0512 B.512 C.01024 D.1024

6.表達式23/3%3的值是( a)
A.1 B.2 C.3 D.0

7.假設 int x=5,n=5; 則執行表達式x += ++n後x的值是 ( c).
A.6 B.5 C.11 D.10

8.已知int a,b; float c; 則錯誤的表達式語句是( a)
A.a=c+b; B.b+=a ; C.a=int (c); D.a=1,b=2;

9.下列運算符中優先順序最高的是( c)
A.<= B.&& C.-> D.=+

10. 設a,b,c為int型變數,且a=3, b= 4, c=5,下面表達式值為0的是( b)
A. 'a' && 'b' B.a>b C.a || b+c && b-c D.b<c

11. 合法的C語言表達式是( a)
A. a+=58 B. (i+j)++ C.a=58; b=58 D.k = int(a+b)

12. 下列實型常數表示形式非法的是(d )
A.327. B.1.48e4 C..5E-10 D.0x2.1e4

13. 已知char ch; 則錯誤的賦值語句是( c)
A.ch='\0'; B.ch='1'+'2'; C.ch='a+b'; D.ch=10+5;

二、判斷題
1.0xabfUL是合法的整型常量。 ×
2. 數據1015 在C語言程序中表示為E15。 ×
3. 若char c; 則賦值語句c=62+3;合法。 √
4. 定義語句int n=3, a[n]; 是合法的。 ×
5.構成C程序的基本單位是函數,所有函數名都可以由用戶命名。 ×

三、問答題
1.請寫一個C表達式,如果字元變數ch的值是小寫字母,則結果為對應的大寫字母,否則不變。
ch=(ch<97?ch;ch-32);
2.寫出描述「x是小於等於10的正數」的表達式。
x<=10&&x>0;

7. c語言,程序設計題,如圖

c 語言程序設計練習題 c 語言程序設計練習題 篇一:c 語言程序設計基礎單元總結與練習題及答案 答案 單元一程序設計宏觀認識 單元總結提升 本...

8. C語言的一道題目:設x,y均為float型變數,則以下賦值語句不合法的是( )

該題應該選擇B答案,因為求余運算符兩邊的操作數只能是整形變數,不能為float型。。。。
另外替你分析一下其他選項:
A:++是自增運算符,即x的值先加1後再使用x的值,該值正確。
B:略。。
C:符合運算符, x*=y+8等同於x=x*(y+8),該值也正確,只是會損失精度,x*(y+8)返回的值是double型的,而x定義的為float型。。但不影響正確性。。
D:連續的賦值運算嘛,自動將0轉換為float型賦給x和y,也正確。。。

9. C語言 表達式 多選題

1) BD
2) ACD
3) BCD
4) AD
5) BD

10. 26、請選出合法的C語言賦值語句

選項A和選項C中都沒有以「;」結束,故選項A和選項C都不是正確的賦值語句;選項D中強制轉換類型符int應用括弧括起來,故選項D不正確,只有選項B是合法的C語言賦值語句。

熱點內容
視頻點播伺服器搭建區域網 發布:2025-01-12 15:46:44 瀏覽:87
unit長安豪華版有哪些配置 發布:2025-01-12 15:45:05 瀏覽:84
資料庫表的分區 發布:2025-01-12 15:39:29 瀏覽:368
u點家庭伺服器網關設置有什麼用 發布:2025-01-12 15:33:15 瀏覽:152
王者歸來java 發布:2025-01-12 15:27:13 瀏覽:67
安卓手機為什麼卡又發熱 發布:2025-01-12 15:23:18 瀏覽:570
如何驗證root密碼是否正確 發布:2025-01-12 15:23:15 瀏覽:591
socketftp伺服器端 發布:2025-01-12 15:19:55 瀏覽:235
胸椎腰椎壓縮性骨折 發布:2025-01-12 15:18:30 瀏覽:475
運營商清緩存 發布:2025-01-12 15:17:36 瀏覽:488