浙大版c語言程序設計?一、單選題(每題2分,共60分),我來為大家科普一下關于浙大版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每日頭條,我们将持续为您更新最新资讯!