當前位置:首頁 » 編程語言 » c語言文件讀寫練習題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言文件讀寫練習題

發布時間: 2023-03-07 10:11:44

『壹』 c語言練習題

1、以下說法中正確的是____。(C)

A、C語言程序總是從第一個函數開始執行
B、在C語言程序中,要調用的函數必須在main()函數中定義
C、C語言程序總是從main()函數開始執行
D、C語言程序中的main()函數必須放在程序的開始部分

2、某文件中定義的靜態全局變數(或稱靜態外部變數)其作用域是_____。(B)

A、只限某個函數
B、本文件
C、跨文件
D、不限製作用域

3、下列敘述中正確的是_____。(A)

A、函數定義不能嵌套,但函數調用可以嵌套
B、函數定義可以嵌套,但函數調用不可以嵌套
C、函數定義和函數調用都不能嵌套
D、函數定義與函數調用都可以嵌套

4、以下說法中正確的是_____。(A)

A、#define和printf都是C語句
B、#define是C語句,而printf不是
C、printf是C語句,但#define
D、#define和printf都不是C語句

5、以下關於函數敘述中,正確的是_____。(D)

A、在函數體中可以直接引用另一個函數中聲明為static類別的局部變數的值
B、在函數體中至少必須有一個return 語句
C、在函數體中可以定義另一個函數
D、在函數體中可以調用函數自身

6、在C語言中,若對函數類型未加顯式說明,則函數的隱含類型是______。(A)

A、void
B、double
C、int
D、char

7、下面不正確的描述為______。(A)

A、調用函數時,實參可以是表達式
B、調用函數時,實參與形參可以共用內存單元
C、調用函數時,將為形參分配內存單元
D、調用函數時,實參與形參的類型必須一致

8、在一個源文件中定義的全局變數的作用域為______。(D)
A、本文件的全部范圍
B、本程序的全部范圍
C、本函數的全部范圍
D、從定義該變數開始至本文件結束

9、以下敘述中,錯誤的是______。(D)
A、不同函數中可以使用相同名字的變數
B、在函數外部定義的變數是全局變數
C、形式參數是局部變數
D、在main函數體內定義的變數是全局變數

10、C語言規定,調用一個函數時,當實參和形參都是普通變數時,它們之間數據傳遞的方式是______。(B)
A、地址傳遞
B、單向值傳遞
C、雙向值傳遞
D、由用戶定義傳遞方式

11、若用數組名作為函數調用的實參,則傳遞給形參的是______。(A)
A、數組的首地址
B、數組的第一個元素的值
C、數組中全部元素的值
D、數組元素的個數

12、C語言規定,函數返回值的類型是______。(D)
A、return語句中的表達式的類型
B、調用該函數時的主調函數的類型
C、由系統確定
D、該函數定義時的類型

13、若一個void型函數定義中沒有return語句,則調用該函數時,函數______。(A)
A、沒有返回值
B、返回若干個系統默認值
C、返回一個用戶所希望的函數值
D、返回一個不確定的值

14、以下有關C語言的敘述中,錯誤的是______。(A)
A、函數調用可以作為獨立的語句出現
B、函數調用可以出現在表達式中
C、函數調用可以作為函數的實參
D、函數調用可以作為函數的形參

15、以下程序輸出結果是__________。(B)
#include <stdio.h>
int i=10;
main()
{int j=1;
j=fun();
printf("%d,",j);
j=fun();
printf("%d",j);
}
fun()
{int k=0;
k=k+i;
i=i+10;
return (k);
}
A、0,0
B、10,20
C、10,10
D、20,20

『貳』 求C語言練習題答案

二、填空題
1. ___變數__是指在程序運行過程中,值可以發生變化的量。
2.C語言是一種____區分_(區分/不區分)字母大小寫的語言,Password和password在C語言中是兩個___不同__(相同/不同)的標識符。
3.下面的轉義字元分別表示:
』\b』__退格___,』\n』__換行___,』\t』__水平製表___,』\」』 __雙引號字元「"」___
4.下面常量的類型分別為:
1.5E12__浮點型___,1288L _整型____,』a』__字元___,"a"__字元串___
08 __整形___,』\007』__整型___
5. C語言源程序一定要有而且只有一個__主函數___函數,程序執行時也從它開始。
6. 結構化程序設計主要有___順序__、__選擇___和__循環___三種基本結構。
三、判斷題
1. C語言不是一種結構化程序設計語言。(錯)
2. C語言是弱類型語言,為了類型轉換的方便,對類型的要求很不嚴格,在許多情況下不做類型檢查。(對)
3. C語言既具有高級語言的特點,同時也具有部分低級語言的特點。(對)
4. C源程序可以由多個文件組成,每個文件中都可有一個主函數main()。(錯)
5. C程序從main()函數開始執行,因此主函數main()必須放在程序的開頭。(錯)
6. 命名標識符時字元個數不得超過6個。(錯)
7. 對於同一個數據種類型,變數值越大,它所佔內存的位元組數越多。(錯)
8. 定義一個變數時必須指出變數類型,但是不一定必須給變數初始化。(對)
9. ""表示一個空字元串常量,』』表示一個空字元常量。(對)
10. 一個表達式中出現多種數值型數據類型,運算前先進行類型轉換。(對)
11. 浮點數不能作自增或自減運算,只有整型才可作自增或自減運算。(錯)
12. 已知a、b是整型變數,則表達式a=3,2+4,b=6,7+8是一個逗號表達式。(對)
四、問答題
1. 寫出下面表達式的值
(1)12/3*9=36
(2)int i=3,j;
i*=2+5;
i/=j=4;
i+=(j%2);
i、j的最終結果是多少?i=5,j=4
(3)int a=3,b,c;
b=(a++)+(a++)+(a++);
c=(++a)+(++a)+(++a);a、b、c的最終結果是多少?a=9,b=9,c=25

2. 下列表達式是否正確?若正確,表達式的值是什麼?
21/2=10 21/2.0= 10.5 21.0/2=10.5 21%2=1 21.0%2 21%2.0 18%15=3 15%18=15 3%15=3
五、編程題
編寫程序,在屏幕上輸出如下信息:
===================
= I am a student. =
===================
#include"stdio.h「
void main()
{
printf("= I am a student. =");
}

『叄』 誰知道哪有關於C語言的練習題

C 程序設計試題庫C語言概述練習題

1.一個C程序的執行是從( )
A.本程序的main函數開始,到main函數結束
B.本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C.本程序的main函數開始,到本程序文件的最後一個函數結束
D.本程序文件的第一個函數開始,到本程序main函數結束

2.以下敘述正確的是:( )
A.在C程序中,main函數必須位於程序的最前面
B.程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

3.以下敘述不正確的是:( )
A.一個C源程序可由一個或多個函數組成
B.一個C源程序必須包含一個main函數
C.C程序的基本組成單位是函數
D.在C程序中,注釋說明只能位於一條語句的後面

4.C語言規定:在一個源程序中,main的位置( )
A.必須在最開始
B.必須在系統調用的庫函數後面
C.可以任意
D.必須在最後

5.一個C語言程序是由( )
A.一個主程序和若乾子程序組成
B.函數組成
C.若干過程組成
D.若乾子程序組成

6.C源程序的基本單位是____________

7.一個C源程序中至少包括一個____________

8.在一個C源程序中,注釋部分兩側的分界符分別為____________ 和____________

9.在C語言中,輸入操作是由庫函數____________ 完成的,輸出操作是由庫函數____________ 完成的

c語言模擬練習題

一、 判斷題(2×8=16分)
1、Printf()函數總是從新行的起始位置開始列印。 ( )
2、所有的變數在使用前都必須予以申明。( )
3、在申明變數時必須給出變數的類型。( )
4、C語言認為變數number和NuMbEr是相同的。( )
5、列印三行輸出的C語言程序必須用三條printf語句。( )
6、求余運算符%只能用於兩個整數操作數。( )
7、switch選擇結構中必須有default子句。( )
8、如果x>y或a<b為真,那麼表達式(x>y&&a<b)為真。( )
二、 選擇題(3×16=48分)
1、下面實現換行功能的格式符為 。( )
A. \t B. \n C. \a D. \k
2. C語言程序由什麼組成?(單選)
A. 子程序 B. 主程序和子程序 C. 函數 D. 過程
3. 下面哪個表達式的值為4.
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
4. 該源程序執行後,屏幕上顯示什麼?
void main()
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}

A. a=%d,b=%f\n B. a=%d,b=%f
C. a=4,b=9.50 D. a=4,b=9.5
5. 若有以下說明語句:
char s='\\\092';
則下面哪一項是正確的.
A. 使s的值包含2個字元 B. 說明語句不合法
C. 使s的值包含6個字元 D. 使s的值包含4個字元
6.若k,g均為int型變數,則以下語句的輸出為哪一項?
int k,g;
k=017;
g=111;
printf("%d,",k);
printf("%x\n",g);

A. 15,6f B. f,6f C. f,111 D. 15,111

7. 在C語言的if語句中,用作判斷的表達式為___。
A. 關系表達式 B. 邏輯表達式
C. 算術表達式 D. 任意表達式

8. 請問:下面這個程序段的輸出是什麼?
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8

9. 下面這個程序的輸出是什麼?
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

A. y=0 B. while構成死循環 C. y=1 D. y=-1

10. 若有以下說明和語句,則輸出結果是___。
char str[]="\"c:\\abc.dat\"";
printf("%s",str);

A. 字元串中有非法字元 B. \"c:\\abc.dat\"
C. "c:\abc.dat" D. "c:\\abc.dat"

11. 如果要把常量327存入變數a中,a不能定義成哪些類型?
A. int B. char C. long D. float
12. C語言中,預處理總是以 符號開頭。 ( )
A. ¥ B.# C. @ D. ◇
13. C語言中,double類型的數據占 個位元組的空間。( )
A. 1 B.2 C. 4 D. 8
14. 下面語句執行完後,b的值為 。 ( )
int a=b=10;
b=10+(a++);
A. 10 B.19 C. 20 D. 21

15. 這段程序中的常量有: (多選) ( )
#define PI 3.14
void main()
{
int sum;
sum = 10 + 15;
printf("sum=%d\n",sum);
printf("result is 25\n");
}
這段程序中常量有:
A. 10 B. sum C. 15
D. 25 E. main F. PI

16. 指出下面錯誤的表達式:(多選) ( )
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7

三、 填空題(3×8=24分)
1、C語言程序都是從 函數開始執行。
2、函數體用 開始,用 結束。
3、C語言的語句都以 結束。
4、執行循環結構中的 語句能夠立即執行下一次循環。
5、執行循環結構或switch結構中的 語句能夠立即退出該結構。
6、輸出字元串的格式化符為 。
7、C語言中數組名表示數組的 。

『肆』 C語言文件習題:在C語言中,函數fgets(str,n,fp)的功能是_________。

選擇D.從文件fp中讀取長度不超過n-1的字元串,存入str指向的內存空間。

fgets函數用來從文件中讀入字元串。fgets函數的調用形式如下:fgets(str,n,fp);此處,fp是文件指針;str是存放在字元串的起始地址;n是一個int類型變數。函數的功能是從fp所指文件中讀入n-1個字元放入str為起始地址的空間內;如果在未讀滿n-1個字元之時,已讀到一個換行符或一個EOF(文件結束標志),則結束本次讀操作,讀入的字元串中最後包含讀到的換行符。因此,確切地說,調用fgets函數時,最多隻能讀入n-1個字元。讀入結束後,系統將自動在最後加'\0',並以str作為函數值返回。