當前位置:首頁 » 編程語言 » c語言對函數類型未加顯式說明
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言對函數類型未加顯式說明

發布時間: 2023-02-07 14:51:58

c語言程序中,若對函數返回值類型未加顯式說明,則函數返回值的隱含類型為什麼類型

c語言程序中,若對函數返回值類型未加顯式說明,則函數返回值的隱含類型為
int類型

㈡ 在c語言程序中,若對函數類型未加說明,則該函數的隱含類型為void

這句話是錯誤的。

在C語言程序中,如果我沒沒有對函數的類型進行說明的話,那麼函數的默認類型是int類型的,也就是說函數必須返回一個int型的返回值。

C語言函數是一種函數,用來編譯C語言,一般包括字元庫函數,數學函數,目錄函數,進程函數,診斷函數,操作函數等。

函數是理解面向過程和面向對象的切入點。通過 C 語言的函數可以直觀地辨別出面向過程和面向對象的區別。

(2)c語言對函數類型未加顯式說明擴展閱讀:

C語言函數定義和使用:

在使用函數之前應該先聲明,事先通知編譯器該函數的類型:

換句話說,一個聲明即是描述一個函數的介面。聲明至少應指明函數返回值的類型,如下例所示:int rename();。

該聲明沒有包含關於函數參數的數量和類型等相關信息。因此,編譯器無法檢查調用該函數時所傳入的參數是否正確。如果調用該函數時傳入的參數有別於該函數的定義,那麼會導致嚴重的運行錯誤。

通常,可以將自己所定義的函數原型放在一個頭文件中,這樣在其他任何源代碼文件中,通過 include 命令來包含該頭文件,則可以使用這些函數。

當聲明某個函數,其參數是長度可變數組,除了在函數定義的頭部,其他地方都可以使用星號(*)來表示數組長度。

㈢ 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語言程序中,若對函數類型未加顯式說明,則函數的隱含類型為( )類型。。。應該是int還是void

錯誤的。如果沒有對函數類型未加說明,則該函數默認為隱含類型int,即返回值必須為int型。

㈤ 在C語言程序中,若對函數類型未加說明,則函數的隱含類型為( ) A、voidB、dou

在C語言程序中,若對函數類型未加說明,則函數的隱含類型為( int )

㈥ 極其簡單的C語言試卷,幫忙做一下,要求100%正確,一個小時後要答案!!高分!高分!高分!高分!

1、下面標識符中,均為不合法的用戶標識符為( C )。
A、AB、x_0、for B、float、1a0、_Y
C、x-y、goto、123 D、_123、tmp、CHAR
2、執行printf(「%x」, 100);後的輸出結果為( D )。
A、100 B、0x100
C、0x64 D、64
6、能表示條件-100≤x≤100的C語言表達式是( D )。
A、-100<=x<=100 B、x>=-100, x<=100
C、-100≤x≤100 D、x>=-100 && x<=100
7、C程序中,注釋部分的位置( D )。
A) 必須在一行的開始 B) 必須在語句之後
C) 必須在一行的最後 D) 以上三種都可以
8、結構化程序的三種基本結構是( A )。
A、順序結構、選擇結構、循環結構 B、遞歸結構、循環結構、轉移結構
C、嵌套結構、遞歸結構、循環結構 D、循環結構、轉移結構、順序結構
9、對數組的描述正確的是( B )。
A、 數組一旦定義其大小是固定的,但數組元素的類型可以不同
B、 數組一旦定義其大小是固定的,但數組元素的類型必須相同
C、 數組一旦定義其大小是可變的,但數組元素的類型可以不同
D、 數組一旦定義其大小是可變的,但數組元素的類型必須相同
10、設有說明語句:char a=』\72』;,則變數a( A )。
A、包含1個字元 B、包含2個字元
C、包含3個字元 D、說明不合法
11、以下敘述不正確的是( D )。
A、一個C程序可由一個或多個函數組成
B、一個C程序必須包含一個main函數
C、C程序的基本組成單位是函數
D、在C程序中,注釋說明只能位於一條語句的後面
12、C語言用( C )表示邏輯「真」值。
A、t B、y C、非0整數值 D、整數1
13、C語言程序中,若對函數類型未加顯式說明,則函數的隱含類型為( C )類型。
A、void B、double C、int D、char
判斷題:
1、unsigned 和void 在C中都是保留的關鍵字。

2、7/2+12的值是15.5。

3、C語言中一個int的變數在內存中佔2個位元組。

4.注釋內容太多會影響程序的執行效率。

5、void play(int a, b) ; 是一個合法的函數說明。

6.在main函數中說明的變數,有效范圍是main函數及其調用的函數。

7、C語言中的函數可以嵌套調用,也可以遞歸調用。

8、程序段 int x; 1=x; 是正確的。

9、對於 for(j=1;j<=20;j++)形式的循環語句,肯定要執行20次循環。

10、對於字元串 」welcome\0」,使用strlen函數所求出的字元串長度是7

1、一個函數如下,用程序實現。
y =x(x<0)
y=2x-1(0<=x<10)
y=3x-11(x>=10)

main()
{
float x, y;
scanf(「%f」, &x);
If (x<0)
y = x;
else
if ( x<10 ) ;
y = ( 2*x - 1 );
else
y =( 3*x-11 );
printf(「y=%f」, y);
return 1;

2、下面程序的功能為:把100~200之間的不能被3整除的數輸出,請填空。
main( )
{int n;
for ( n=100 ;n<=200; n++)
{
if (n%3= =0)
printf("%d\n",n);
}}
四:寫出程序的輸出結果:
1. main() {
int a=6,b=4;
a = a+b; //a=6+4 所以a=10
b = a−b; //b=10-4 所以b=6
a = a-b; //a=10-6 所以a=4
printf(「a=%d, b=%d」, a, b);
}
所以輸出結果 a=4 b=6;
2. main(){
int m,n;
for (m=5;m<=10;m++)
for (n=2;n<=m-1;n++)
if (m%n==0)
printf(「%d\t」,m);
}
6 6 8 8 9 10 10