tft每日頭條

 > 教育

 > 浙大版c語言程序設計

浙大版c語言程序設計

教育 更新时间:2024-12-29 11:43:43

浙大版c語言程序設計?一、單選題(每題2分,共60分),我來為大家科普一下關于浙大版c語言程序設計?下面希望有你要的答案,我們一起來看看吧!

浙大版c語言程序設計(北京外國語大學程序設計基礎)1

浙大版c語言程序設計

一、單選題(每題2分,共60分)

1. 一個C程序由若幹個C函數組成,各個函數在文件中的位置順序為( )。

A、任意

B、第一個函數必須是主函數,其他函數任意

C、必須完全按照執行的順序排列

D、其他函數可以任意,主函數必須在最後

2. 求解一個問題而采用的方法和解題步驟稱為( )。

A、數據結構 B、程序 C、算法 D、僞代碼

3. 當順利執行了文件關閉操作時,fclose函數的返回值是( )。

A、-1 B、TRUE C、0 D、1

4. 若有語句:w=1,x=2,y=3,z=4;,則條件表達式w<x?w:y<z?y:z的值是( )。

A、1 B、2 C、3 D、4

5. 對for(表達式1;;表達式3),可理解為( )。

A、for(表達式1;0;表達式3) B、for(表達式1;1;表達式3)

C、語法錯誤 D、僅執行循環一次

6. 以下條件表達式中能完全等價于條件表達式x的是( )。

A、(x==0) B、(x!=0) C、(x==1) D、(x!=1)

7. C語言中,文件組成的基本單位為( )。

A、記錄 B、數據行 C、數據塊 D、字符序列

8. 下面合法的C語言字符常量是( )。

A、'\t' B、”A” C、65 D、A

9. 下列四組選項中,正确的C語言标識符是( )。

A、%x B、a b C、a123 D、123

10. 以下說法中不正确的是( )。

A、C語言是面向對象語言 B、C語言是模塊化語言

C、C語言是高級語言中的低級語言 D、C語言具有結構化的控制語句

11. 以下選項中不能作為 C 語言合法常量的是( )。

A、'cd' B、100000 C、”\a” D、'\011'

12. 有以下程序段

int k=0;

while(k=1) k ;

while循環執行的次數是( )。

A、無限次 B、1次

C、語法錯誤,不能執行 D、一次也不執行

13. C源程序中不能表示的數制是( )。

A、二進制 B、八進制 C、十進制 D、十六進制

14. C語言中的标識符隻能由字母,數字和下劃線三種字符組成,且第一個字符( )。

A、必須為字母 B、必須為下劃線

C、必須為字母或下劃線 D、可以是字母,數字和下劃線中任一字符

15. 表達式:(int)((double)9/2)-(9)%2的值是( )。

A、0 B、3 C、4 D、5

16. 已定義 int a[][3]={1,2,3,4,5,6,7,8,9};,則a[1][2]為( )。

A、2 B、4 C、6 D、8

17. 若有以下語句

typedef struct S

{int g ; char h;} T;

以下叙述中正确的是 ( )。

A、可用S 定義結構體變量 B、可用T 定義結構體變量

C、S 是struct 類型的變量 D、T 是struct S 類型的變量

18. 在C語言中,函數返回值的類型最終取決于( )。

A、函數定義時在函數首部所說明的函數類型

B、return語句中表達式值的類型

C、調用函數時主函數所傳遞的實參類型

D、函數定義時形參的類型

19. 以下正确的函數首部是( )。

A、void fun(int x,int y)

B、void fun(int x;int y)

C、void fun(int x,y)

D、void fun(x,y)

20. 設有以下說明語句:

typedef struct

{

int n;

char ch[8];

} PER;

則下面叙述中正确的是( )。

A、PER 是結構體變量名

B、PER是結構體類型名

C、typedef struct 是結構體類型

D、struct 是結構體類型名

21. 當用戶要求輸入的字符串中含有空格時,應使用的輸入函數是( )。

A、scanf() B、getchar()

C、gets() D、getc()

22. 以下關于函數的叙述中正确的是( )。

A、每個函數都可以被其它函數調用(包括main函數)。

B、每個函數都可以被單獨編譯。

C、每個函數都可以單獨運行。

D、有返回值的函數調用時必須使用在賦值中。

23. 若有以下說明和定義

union dt

{int a; char b; double c;} data;

以下叙述中錯誤的是( )。

A、data的每個成員起始地址都相同

B、變量data所占内存字節數與成員c所占字節數相等

C、程序段: data.a=5;printf("%f\n",data.c); 輸出結果為5.000000

D、data可以作為函數的實參

24. 若有說明:inta[3][4];,則對a數組元素的正确引用是( )。

A、a[2][4] B、a[1,3]

C、a[1 1][0] D、a(2)(1)

25. 下面的函數調用語句中 func 函數的實參個數是( )。

func (f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));

A、3 B、4 C、5 D、8

26. 若有定義:int *p[3];,則以下叙述中正确的是( )。

A、定義了一個類型為int的指針變量p,該變量具有三個指針

B、定義了一個指針數組p,該數組含有三個元素,每個元素都是其類型為int的指針

C、定義了一個名為*p的整型數組,該數組含有三個int類型元素

D、定義了一個可指向一維數組的指針變量p,所指一維數組應具有三個int類型元素

27. 若有定義:int w[3][5]; ,則以下不能正确表示該數組元素的表達式是( )。

A、*(*w 3) B、*(w 1)[4]

C、*(*(w 1)) D、*(&w[0][0] 1)

28. 有以下函數

int aaa(char *s)

{

char *t=s;

while(*t );

t - -;

return(t-s);

}

以下關于aaa函數的功能叙述正确的是 ( )。

A、求字符串s的長度 B、比較兩個串的大小

C、将串s複制到串t D、求字符串s所占字節數

29. 程序段char *s="abcde"; s =2; printf("%d",s);的運行結果是( )。

A、cde B、字符'c'

C、字符'c'的地址

D、無确定的輸出結果

30. 變量的指針,其含義是指該變量的( )。

A、值 B、地址 C、名 D、以上都是

二、是非題(每題1分,共10分)

1. 為簡單起見,for循環中的初始表達式和分号均可省略。( )

2. C語言中的字符常量可以像整數一樣在程序中參與運算。( )

3. C語言中,不能識别處理文本文件。( )

4. 指針變量的類型是它所指向的變量的類型。( )

5. 有參的宏,其參數參與運算,宏替換要先完成參數的計算,然後再執行替換。( )

6. 已有定于語句:int x=3,y=-4,z=5;,則表達式(x&&y)==(x||z)的值是1。( )

7. 一個好的算法是一個好的程序的必要組成部分。( )

8. 使用Turbo C編寫并運行C程序的過程依次是編輯、連接、編譯、運行。( )

9. break語句必須與switch語句中的case配對使用。( )

10. 在C程序中,數據隻能用二進制的形式進行存放。( )

三、問答題(每題10分,共30分)

1. 請寫出實現選擇結構的三種語句。寫出關鍵字,表達式和語句用“表達式”和“語句i”(i=1,2,…)。

2. 對文件的操作過程及相應的文件操作函數為:

第一步: ,相應的函數為 。并說明r: w: a: rb: wb: ab:的含義。

第二步: ,相應的函數為 。

第三步: ,相應的函數為 。

3. 以下程序片段使某輸入的兩個整數有序輸出。根據此原理叙述并寫出實現如下功能的程序:輸入一個字符串,使有序(增序)輸出。

scanf(“%d%d”,&a,&b);

if(a>b)

{

c=a;

a=b;

b=a;

}

printf(“%d<%d”, a, b);

答案

一、單選題(每題2分,共60分)

1

2

3

4

5

6

7

8

9

10

A

C

C

A

B

B

D

A

C

A

11

12

13

14

15

16

17

18

19

20

A

A

A

C

B

C

B

A

A

B

21

22

23

24

25

26

27

28

29

30

C

B

D

C

A

B

B

A

D

B

二、是非題(每題1分,共10分)

1

2

3

4

5

6

7

8

9

10

F

T

F

T

F

T

T

F

F

F

三、問答題(每題10分,共30分)

1. 請寫出實現選擇結構的三種語句。寫出關鍵字,表達式和語句用“表達式”和“語句i”(i=1,2,…)。

答案:

單分支if選擇結構,一般格式為:

if ( 表達式 )

{ 語句;}(2分)

雙分支if-else選擇結構,一般格式為:

if ( 表達式 )

{ 語句1;}

else

{ 語句2;}(3分)

多分支 switch選擇結構,一般格式為:

switch( 表達式 )

{

case 常量表達式1: [語句序列1;] [break;]

case 常量表達式2: [語句序列2;] [break;]

……

case 常量表達式n: [語句序列n;] [break;]

default: 語句序列n 1;

}(5分)

2. 對文件的操作過程及相應的文件操作函數為:

第一步: ,相應的函數為 。并說明r: w: a: rb: wb: ab:的含義。

第二步: ,相應的函數為 。

第三步: ,相應的函數為 。

答案:

對文件的操作過程及相應的文件操作函數為:

第一步:打開文件 ,相應的函數為 fopen() 。(1分)

r:打開一個文本文件隻讀 (1分)

w:打開一個文本文件隻寫 (1分)

a:對一個文本文件添加 (1分)

rb:打開一個二進制文件隻讀 (1分)

wb:打開一個二進制文件隻寫 (1分)

ab:對一個二進制文件添加 (1分)

第二步:讀寫文件,相應的函數為 fputc()/fgetc()等。(2分)

第三步:關閉文件,相應的函數為 fclose() 。(1分)

3. 以下程序片段使某輸入的兩個整數有序輸出。根據此原理叙述并寫出實現如下功能的程序:輸入一個字符串,使有序(增序)輸出。

scanf(“%d%d”,&a,&b);

if(a>b)

{

c=a;

a=b;

b=a;

}

printf(“%d<%d”, a, b);

答案:

輸入一個字符串,通過内外循環比較每個字符和其以後字符的大小,如果後面的字符大于當前字符,調序即可。

gets(s); (1分)

for(i=0;s[i]!='\0';i ) (2分)

{

for(j=1 i;s[j]!='\0';j ) (2分)

{

if(s[i]>s[j]) (2分)

{

n=s[j]; (1分)

s[j]=s[i]; (1分)

s[i]=n; (1分)

}

}

}

puts(s);

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关教育资讯推荐

热门教育资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved