C語言易錯的選擇題

2021-10-04 12:29:22 字數 2356 閱讀 5222

1.若有定義:int a,b.c;以下選項中的賦值語句正確的是(a)

a)a=(b=c)+1;

b(a=b)=c=1:

c)a=(b==c)=1;

d)a+b=c;

解析:賦值運算結合性為由右向左結合,賦值運算子左值為變數,右值為變數或常量,且左右兩邊資料型別相同才能實現賦值。a選項中,將c賦值給b,然後將b加1賦值給a,正確的賦值語句,a選項正確。b選項中,將1賦值給c,賦值運算(a=b)=c中左值為表示式,不是變數不能被賦值,b選項錯誤。c選項中賦值運算(b==c)=1左值為邏輯表示式,不是變數不能被賦值,c選項錯誤。d選項左值(a+b)為表示式,不是變數不能被賦值,d選項錯誤。

2.以下選項中,合法的c語言實數是(b)

a)3.1e0.4

b).2e0

c)e13

d)7.12e

解析:實型常量:用帶小數點的數字表示,其值有兩種表達形式,分別為十進位制小數形式和指數形式。十進位制小數形式由數字和小數組成,必須有小數點,且小數點的位置不受限制指數形式由十進位制數加階碼標誌「e"或」e」以及階碼(只能為整數,可以帶符號)組成。2e0為指數形式實數,b選項正確。3.1e0.4,階數不是整數,a選項錯誤。e13階碼標誌前缺少十進位制數,c選項錯誤。7.12e缺少階碼,d選項錯誤。

3.有如下程式

#include

main

else printf(「成功開啟檔案!」);

若指定檔案test.txt不存在,且無其他異常,則以下敘述錯誤的是(a)

a.輸出「不能開啟檔案

b.輸出」成功開啟檔案!

c.系統將按指定檔名新建檔案

d.系統將為寫操作建立文字檔案

解析 :fopen函式以一定方式開啟指定檔案,返回乙個指向檔案的檔案指標,如果不能實現開啟指定檔案的操作,則返回乙個空指標null。如果指定文牛不存在則建立乙個檔名為指定檔名的新檔案,然後開啟它。在指定檔案有錯誤或者指定檔案不存在卻不能建立新檔案的情況下,開啟檔案操作錯誤,返回指標。本題程式中,檔案test.txt不存在,但無其他異常,表示可以建立新檔案,命名為test.tst,c選項敘述正確,並以只寫方式開啟它,d選項敘述正確,返回指檔案的指標,條件不成立,輸出「成功開啟檔案!」,b選項敘述正確,a選項敘述錯誤。

5.有以下程式

#inchude

#define n 2

#define m n+1

#define mun(m+1)*m/2

main()

則程式的輸出結果是(d)

a.11.2   b25.2  c.11,12  d.25.26

【解析】本題考查巨集定義,巨集定義只是做個簡單的替換,執行s(k+j)=(k+j)*(k+j)=25,t(k+j)=s(k+j)/s(k+j)+1=(k+j)*(k+j)/(k+j)*(k+j)+1=26,選項d正確。這種題目 需要注意是否有括號。

7.有以下程式

#include

struct link{

int data;

struct link*next;

main(){

struct link*h,a,b;

h=&a,a.data=10;a.next=&b;b.data=20;

程式執行時不能輸出10.20的語句是(a)

a) printf("%d,%d \n",h->data,a. next. data);

b) printf("%d.%d n",a data,(*a next). data);

c) printf("%d,%d n",h->data,(*a. next). data):

d) printf("%d,%d n",a. data,a. next->data);

解析:可用以下3種形式來引用結構體變數中的成員:結構體變數名.成員名;指標變數名->成員名;(*指標變數名).成員名。主函式定義了兩個結構體變數a,b其成員data分別為10和20,且a成員指標指向b。a選項中a.next為指標,其引用格式為a.next->data與(*a.next).data,a選項錯誤。b選項a.data=10,(*a.next).data=20,正確輸出10.20;c選項h->data=10,(*a.next).data=20,能正確輸出10,20;d選項a.data=10,a.next->data=20,能正確輸出10,20。

8.若有說明語句:char c='\72';則變數c中存放的是(b)

a)2個字元  b)1個字元  c)3個字元    d)說明語句不合法

解析:用一對單引號括起來的單個字元為字元常量,以"\"開頭的轉義字元也是字元常量。"\"後可以為某些單個字元也可以為八進位制或十六進製制數字,故c中存放的是乙個字元。b選項正確。

軟考 易錯選擇題

目錄2.第02題 2019上半年系統整合專案管理工程師 3.第03題 2019年下半年系統整合專案管理工程師 4.第04題 2019年下半年系統整合專案管理工程師 5.第05題 2019年下半年系統整合專案管理工程師 6.第06題 2019年上半年資訊系統專案管理師 7.第07題 2019年下半年系...

NOIP2023年易錯選擇題整理,我的錯題本

在8位二進位制補碼中,10101011表示的數是十進位制下的 a.43 b.85 c.43 d.84 最初選擇 a,因為只是去掉了符號位,並沒有理解補碼 反碼 原碼的概念。正確答案 b 解題 由於是補碼,轉換為10進製的方法如下 補碼 1得到反碼,反碼取反得到原碼,經過進製轉換成為10進製,加符號。...

關於介面選擇題的易錯題

1 public inte ce iservice 預設型別等價表示是哪一項 正確答案 c public string name default public static string name default public static final string name default pri...