導航:首頁 > 源碼編譯 > 函數與編譯預處理總結

函數與編譯預處理總結

發布時間:2022-10-03 02:48:13

1. C語言數組和函數與編譯預處理的有關問題

1.
long fac(int n)
{
long result=1,i;

for(i=1;i<=n;i++)
result*=n;

return result;
}

2.
是不是求m的n次方啊,如果是的話,那麼就是下面的代碼
int f(int m,int n)
{
if(n=0) return 1;
return m*f(m,n-1);
}

2. C語言編程問題(函數與編譯預處理)

#include <stdio.h>
void input(float a[10]);
void output(float b[10]);
void input(float a[10])
{
int i,j;
float t;
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
}
void output(float b[10])
{int i;
for(i=0;i<10;i++)
printf("%f ",b[i]);
}
void main()
{int i;
float c[10];
printf("請輸入10個實型數:\n");
for(i=0;i<10;i++)
scanf("%f",&c[i]);
input(c);
printf("\n");
output(c);}
經過本人測試,絕對正確

3. c語言中預處理命令都有哪些

我們可以在C源程序中插入傳給編譯程序的各中指令,這些指令被稱為預處理器指令,它們擴充了程序設計的環境。現把常用的預處理命令總結如下:
1. 預處理程序
按照ANSI標準的定義,預處理程序應該處理以下指令:
#if #ifdef #ifndef #else #elif
#endif
#define
#undef
#line
#error
#pragma
#include
顯然,上述所有的12個預處理指令都以符號#開始,,每條預處理指令必須獨佔一行。
2. #define
#define指令定義一個標識符和一個串(也就是字元集),在源程序中發現該標識符時,都用該串替換之。這種標識符稱為宏名字,相應的替換稱為宏代換。一般形式如下:
#define macro-name char-sequence
這種語句不用分號結尾。宏名字和串之間可以有多個空白符,但串開始後只能以新行終止。
例如:我們使用LEFT代表1,用RIGHT代表0,我們使用兩個#define指令:
#define LEFT 1
#define RIGHT 0
每當在源程序中遇到LEFT或RIGHT時,編譯程序都用1或0替換。
定義一個宏名字之後,可以在其他宏定義中使用,例如:
#define ONE 1
#define TWO ONE+ONE
#define THREE ONE+TWO
宏代換就是用相關的串替代標識符。因此,如果希望定義一條標准錯誤信息時,可以如下定義:
#define ERROR_MS 「Standard error on input \n」
如果一個串長於一行,可在行尾用反斜線」\」續行,如下:
#define LONG_STRING 「This is a very very long \
String that is used as an example」
3. #error
#error指令強制編譯程序停止編譯,它主要用於程序調試。#error指令的一般形式是:
#error error-message
注意,宏串error-message不用雙引號包圍。遇到#error指令時,錯誤信息被顯示,可能同時還顯示編譯程序作者預先定義的其他內容。
4. #include
程序中的#include指令要求編譯程序讀入另一個源文件。被讀入文件的名字必須用雙引號(「」)或一對尖括弧(>)包圍,例如:
#include 「stdio.h」
#include
都使C編譯程序讀入並編譯頭文件以用於I/O系統庫函數。
包含文件中可以包含其他#include指令,稱為嵌套包含。允許的最大嵌套深度隨編譯器而變。
文件名被雙括弧或尖括弧包圍決定了對指定文件的搜索方式。文件名被尖括弧包圍時,搜索按編譯程序作者的定義進行,一般用於搜索某些專門放置包含文件的特殊目錄。當文件名被雙括弧包圍時,搜索按編譯程序實時的規定進行,一般搜索當前目錄。如未發現,再按尖括弧包圍時的辦法重新搜索一次。
通常,絕大多數程序員使用尖括弧包圍標準的頭文件,雙引號用於包圍與當前程序相關的文件名。

5. 條件編譯指令
若干編譯指令允許程序員有選擇的編譯程序源代碼的不同部分,這種過程稱為條件編譯。
5.1#if、#else、#elif #endif
條件編譯指令中最常用的或許是#if,#else,#elif和#endif。這些指令允許程序員根據常數表達式的結果有條件的包圍部分代碼。
#if的一般形式是:
#if constant-expression
Statement sequence
#endif
如#if後的常數表達式為真,則#if和#endif中間的代碼被編譯,否則忽略該代碼段。#endif標記#if塊的結束。
#else指令的作用與C語言的else相似,#if指令失敗時它可以作為備選指令。例如:
#include
#define MAX 100
Int main(void)
{
#if MAX>99
printf(「Compiled for array greater than 99.\n」);
#else
printf(「Complied for small array.\n」);
#endif
return 0;
}
注意,#else既是標記#if塊的結束,也標記#else塊的開始。因為每個#if只能寫一個#endif匹配。
#elif指令的意思是「否則,如果」,為多重編譯選擇建立一條if-else-if(如果-否則-如果鏈)。如果#if表達式為真,該代碼塊被編譯,不測試其他#elif表達式。否則,序列中的下一塊被測試,如果成功則編譯之。一般形式如下:
#if expression
Statement sequence
#elif expression1
Statement sequence
#elif expression2
Statement sequence
.
.
.
#elif expression
Statement sequence
#endif
5.2#ifdef和#ifndef
條件編譯的另一個方法是使用編譯指令#ifdef和#ifndef,分別表示「如果已定義」和「如果未定義」。#ifdef的一般形式如下:
#ifdef macro-name
Statement sequence
#endif
如果macro-name原先已經被一個#define語句定義,則編譯其中的代碼塊。
#ifndef的一般形式是:
#ifndef macro-name
Statement sequence
#endif
如果macro-name當前未被#define語句定義,則編譯其中的代碼塊。

我認為,用這種,可以很方便的開啟/關閉整個程序的某項特定功能。
#ifdef和#ifndef都可以使用#else或#elif語句。
#inlucde
#define T 10
Int main(void)
{
#ifdef t
Printf(「Hi T\n」);
#else
Printf(「Hi anyone\n」);
#endif
#ifndef M
Printf(「M Not Defined\n」);
#endif
Return 0;
}
6. #undef
#undef指令刪除前面定義的宏名字。也就是說,它「不定義」宏。一般形式為:
#undef macro-name
7. 使用defined
除#ifdef之外,還有另外一種確定是否定義宏名字的方法,即可以將#if指令與defined編譯時操作符一起使用。defined操作符的一般形式如下:
defined macro-name
如果macro-name是當前定義的,則表達式為真,否則為假。
例如,確定宏MY是否定義,可以使用下列兩種預處理命令之一:
#if defined MY

#ifdef MY
也可以在defined之前加上感嘆號」!」來反轉相應的條件。例如,只有在DEBUG未定義的情況下才編譯。
#if !defined DEBUG
Printf(「Final Version!\n」);
#endif
使用defined的一個原因是,它允許由#elif語句確定的宏名字存在。
8. #line
#line指令改變__LINE__和__FILE__的內容。__LINE__和__FILE__都是編譯程序中預定義的標識符。標識符__LINE__的內容是當前被編譯代碼行的行號,__FILE__的內容是當前被編譯源文件的文件名。#line的一般形式是:
#line number 「filename」
其中,number是正整數並變成__LINE__的新值;可選的「filename」是合法文件標識符並變成__FILE__的新值。#line主要用於調試和特殊應用。

9. #pragma
#pragma是編譯程序實現時定義的指令,它允許由此向編譯程序傳入各種指令。例如,一個編譯程序可能具有支持跟蹤程序執行的選項,此時可以用#pragma語句選擇該功能。編譯程序忽略其不支持的#pragma選項。#pragma提高C源程序對編譯程序的可移植性。
10. 預處理操作符#和##
有兩個預處理操作符:#和##,它們可以在#define中使用。
操作符#通常稱為字元串化的操作符,它把其後的串變成用雙引號包圍的串。例如:
#include
#define mkstr(s) #s
int main(void)
{
Printf(mkstr(I like C));
Return 0;
}
預處理程序把以下的語句:
Printf(mkstr(I like C));
變成
Printf(「I like C」);
操作符##把兩個標記拼在一起,形成一個新標記。例如:
#include
#define concat(a,a) a##b
int main(void)
{
Int xy = 10;
Printf(「%d」,concat(x,y));
Return 0;
}
預處理程序把以下語句:
Printf(「%d」,concat(x,y));
變成
Printf(「%d」,xy);
操作符#和##主要作用是允許預處理程序對付某些特殊情況,多數程序中並不需要。
11. 預定義宏
C規范了5個固有的預定義宏,它們是:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__
__LINE__和__FILE__包含正在編譯的程序的行號和文件名。
__DATE__和內容形如month/day/year(月/日/年)的串,代表源文件翻譯成目標碼的日期。
__TIME__中的串代表源代碼編譯成目標碼的時間,形如hour:minute:second(時:分:秒)
如果__STDC__的內容是十進制常數1,則表示編譯程序的實現符合標准C。

4. c語言問題 函數與編譯預處理

#include<stdio.h>
intk;
main()
{
intfun(intk);//如果函數定義在使用位置之後要提前聲明函數
k=3;
k=fun(k);//將k初始值傳遞過去再將返回來的函數值重新賦值給k
printf("k=%d ",k);
}

intfun(intk)
{
k=k*k;
returnk;//要返回計算得出的k值
}

建議:為了方便閱讀,建議更改一下

#include<stdio.h>
intk;
main()
{
intn;
intfun(intk0);//如果函數定義在使用位置之後要提前聲明函數,而且函數要有返回值類型
k=3;
n=fun(k);//用n接收返回來的函數值
printf("k=%d ",n);
}

intfun(intk0)
{
intk1;
k1=k0*k0;
returnk1;//要返回計算得出的k值
}

補充:函數定義格式: 返回值類型 函數名(形參);形參可要可不要,形參類型個數和函數返回值類型視情況而定

5. C語言編程問題(函數與編譯預處理)

macro.h
[code]
#define GetBit(var,i) (var&(0x0001<<(i)))
#define SetBit(var,i) var|=(0x01<<(i))
[/code]

main.c
[code]
....................
int var,i;
......................
GetBit(var,i);
.....................
SetBit(var,i);
.....................
[/code]

6. C語言知識總結

c語言概要
第一章、 概述
1、 c語言的基本知識
1.1、 c語言的執行步驟
編輯-程序代碼的錄入,生成源程序*.c
編譯-語法分析查錯,翻譯生成目標程序*.obj
(語法或邏輯錯誤,從第一個開始改,變數定義,語句格式,表達式格式等)
鏈接-與其他目標程序或庫鏈接裝配,生成可執行程序*.exe
執行
1.2、 main函數的基本知識
main()函數的位置
c程序總是從main( )函數開始執行
一個c程序可以包含一個主函數,即main()函數;也可以包含一個main()函數和若干其它函數
1.3、 c程序的結構
函數與主函數
程序由一個或多個函數組成
必須有一個且只能有一個主函數main()
程序執行從main開始,在main中結束,其他函數通過嵌套調用得以執行
程序語句
C程序由語句組成
用「;」作為語句終止符
注釋
//

/* */ 為注釋,不能嵌套
不產生編譯代碼
1.4、c 程序書寫的規則
習慣用小寫字母,大小寫敏感
不使用行號,無程序行概念:通常一個語句佔一行
可使用空行和空格
常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。
第二章、基本數據類型與運算
2.1、c程序的數據類型
注意類型和變數含義的不同(類型是固定好的名字,變數是自己起的名字)
變數佔用的存儲空間
數據類型
基本類型:整型、字元型、浮點型(單精度型,雙精度型)
構造類型:數組類型、結構體類型
指針類型
空類型
注意基本類型賦初值的方式
基本數據類型的表示形式
整形數據
十進制:以非0數字開頭,如:123,-9,0
八進制;以0數字開頭,如:0123,067
十六進制:以0x開頭,如:0x123,0xff
實型數據
十進制:必須帶小數點,如:123.0,-9.0
指數形式;如:1.23E3,0.9e-2,5e2
字元型數據
普通字元:如:』a』,』2』,』H』,』#』
轉義字元:如:』\n』,』\167』,』\xlf,』\\』
(實現幾列的對齊:指定寬度。如%100\ 『\t』製表位)
(字元串長度。「abc\n\t\\」 strlen 6; sizeof 7)
基本數據類型的存儲長度
整型
Int 位元組數 2 位數 16 數的表示範圍 -32768—32767
Short 2 16 -32768—32767
Long 4 32 -2147483648—2147483647
實型
Float 4 32 3.4e-38---3.4e38
Double 8 64 1.7e-308---1.7e308
字元型
Char 1 8 -128----127
2.2、標識符命名規則
C語言標志符命名規則
標識符有數字,字母,下劃線組成
標識符的首字元必須為字母和下劃線
標識符不能為c語言的保留字(關鍵字)
如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed
算術運算符 + - * / %
關系運算符 > < == >= <= !=
邏輯運算符 ! && ||
位運算符 << >> ~ | ^ &
賦值運算符 = 及其擴展賦值運算符
條件運算符 ? :
逗號運算符 ,
指針運算符 * &
求位元組數運算符 sizeof
強制類型轉換運算符 (類型)
分量運算符 . ->
下標運算符 [ ]
其他 如函數調用運算符()
運算符的優先順序
由高到低:單目運算符,算數運算符,關系運算符,賦值運算符
說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左
如:++--I 先—i.。
算術運算 結合方向自左至右
2.3基本運算和表達式
關系表達式和邏輯表達式
(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b)
A&&b.a為0.不執行b
A||b a為1.不執行b
在 c 中邏輯運算結果:1代表「真」,0代表「假」;
判斷一個表達式是否真:0代表「假」,非0代表「真」
條件表達式 逗號表達式
如:k=5,k++
逗號值為5;k為6.
表達式1?表達式2 :表達式3
K=5>6 ? 1 : 0
2.4、混合運算的數據類型轉換
2/3+0.5 雙精度浮點型
第三章、順序結構程序設計
3.1、c語句的分類
簡單語句
表達式語句 表達式+分號
空語句 只有分號的語句
復合語句 用花括弧將若干語句括起來
流程式控制制語句
選擇語句 if ,switch
循環語句 while, do while , for
轉移語句 break ,continue ,return goto
3.2、格式輸入函數scanf
一般形式:scanf(「格式控制字元串「,地址列表);
使用scanf函數時,需要注意:
格式字元的個數必須與輸入項的個數相同,數據類型必須一一對應,非格式字元串(說明性的)要原封不動的輸入。
輸入實行數據時,可以不帶小數點,即按整型數據輸入
數值型數據與字元或字元串混合輸入時,需要注意輸入方式。
3.3、格式輸出函數printf
Printf(「格式控制字元串「,輸出列表);
指定輸出格式,由格式字元串和非格式字元串兩種組成,非格式字元串照原樣輸出。
%[標志][輸出最小寬度][.精度][長度]類型
標志:- 左對齊;+ 右對齊;
%f, %d, %c, %s
3.4、其他輸入輸出函數
Putchar getchar puts gets
第四章、選擇結構程序設計
If選擇結構
單分支
If(表達式)
語句
雙分支
If(表達式)
語句1
Else
語句2
多分支
If (表達式1)
語句1
Else if(表達式2)
語句2
。。。
Else if(表達式m)
語句m
Else
語句n
Switch(表達式)
{
Case 常量表達式1:語句1;break;
Case 常量表達式2:語句2;break;
。。。
Case 常量表達式m:語句m;break;
Default:語句n;break;
}
注意break的使用
第五章、循環結構程序設計
循環三要素
初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環體)
While(表達式)
語句

Do
語句
While(表達式);

For(循環體變數賦初值;循環條件;循環變數增量)
( for( ) ; // ; 進行時間延遲。在信息交換等時用。如for(i=0,i<100) ; 互相通訊的時間延遲。 Delay )
Break語句 :不能用於循環語句和switch語句之外的任何其他語句;跳出循環。
Continue語句 :跳過循環體中剩餘的語句而強行執行下一次循環;跳出本次循環。
第六章、函數與編譯預處理
6.1、函數的定義和調用
類型標識符 函數名 (形式參數列表)
{ 聲明部分
語句
}
例:
Int max (int x,int y)
{int z;<br>Z=x>y?x:y;<br>Return(z);}
6.2、局部變數和全局變數
注意函數中靜態變數的定義和使用
6.3、變數的存儲類型
局部變數的存儲類型
自動變數(auto) 動態存儲
局部靜態變數(static) 靜態存儲
寄存器變數(register) 靜態存儲
全局變數的存儲類型
自動變數(auto) 動態存儲
外部變數 (extern) 靜態存儲
全局靜態變數(static )靜態存儲
Extern 外部引用
Static 不能用extern 引用。
第七章、數組
7.1、一維數組的定義和使用
特別需要注意循環體的初值,終止條件
例:
Main()
{
Int I,a[10];
For(i=0;i<=9;i++)
A=I;
For(i=9;i>=0;i--)
Printf(「%d」,a);
}
注意下標問題
7.2、二維數組的定義和使用
二維數組的初始化
例如:
Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};
例如:int a[3][3]={{1},{2},{3}};
是對每一行的第一列元素賦值,未賦值的元素取0
7.3、字元數組和 字元串
字元串用字元數組來處理,結束標志符 『\0』
如:char c[ ]={「I am happy」};
用字元串常量使字元數組初值化
Char c[ ]={『I』,』 『,』a』,』m』,』 『,』h』,』a』,』p』,』p』,』y』,』\0』};
第八章、指針
8.1、地址和指針的概念
Int I;
Int *i_point;
8.2、指針變數和變數的地址
操作符:* &
8.3、指針和一維數組
若有定義
Int a[10];
Int *p=a;
分析下面表達式的含義:
A, &a,
*(a+i), a+I,
*(p+i), p+i
A=*(a+i)=*(P+i)
&a=a+i=p+i
8.4、指針與字元串
Main()
{
Char string[ ]=」I love china!」;
Printf(「%s\n」,string);
}
Main()
{ char *string=」I love china!」;
Printf(「%s\n」,string);
}
8.5、指針變數作為函數參數
形參的定義方式;實參的形式;參數的傳遞方式。
第九章、結構體
9.1、結構體類型和變數的定義
Struct 結構體名
{成員列表};
Struct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};

Stuct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Struct student stu1, stu2;
9.2、結構體變數的引用
一般形式為:
結構體變數名.成員名
9.3、結構體數組
結構體數組 結構體數組元素.成員名
指向結構體的指針變數
(*p).成員名
p->成員名
其他
Strcpy(字元數組1,字元串2)
Strcat(字元數組1,字元數組2)
Strcmp(字元串1,字元串2)
Strlen(字元數組)

7. 關於C語言函數與編譯預處理的編程

1.
long fac(int n)
{
long result=1,i;

for(i=1;i<=n;i++)
result*=n;

return result;
}

2.
是不是求m的n次方啊,如果是的話,那麼就是下面的代碼
int f(int m,int n)
{
if(n=0) return 1;
return m*f(m,n-1);
}

8. C語言 調用數學庫函數時,編譯預處理命令為include math.h 。為什麼錯

那個include 的意思就是包含的意思,這個語句是c編譯軟體的預處理語句,本身不是c語言的語法。也就是提供給編譯器在生成最終應用程序之前用的。比如include 「math.h」 就是把math.h 這個文件里的內容簡單的復制到當...

9. C語言過級有哪些要注意的地方

說點實用的:
1、注意別忘記帶橡皮,一般准考證、2B鉛筆大家都不會忘帶。
2、注意做完上機題後,一定要保存,再關閉vc6.0,關閉所有窗口後再交卷,否則會得零分。
3、注意計算機等級考試二級C語言中還包含30分的軟體架構、數據結構內容。
4、上機題的改錯題如果找不出錯,但又知道編譯器顯示那條語句錯了,請注意 ;是否是英文下的符號。
5、注意上機題的改錯題有一道是考指針操作的,而往往需要填寫 * 。
6、注意上機題的編程題從來不考文件的讀寫,考的都是編寫實現某一操作的函數。
7、注意筆試題文件操作每次都考,考察的是函數的名稱與功能,而多數學生都不看這一部分。
8、注意二級C的上機編程題,有時會從三級C的南開百題中抽取。
9、注意else總是與最近的 if 相匹配,每年都考。
10、注意字元串的比較、復制、剪切 操作,每年都考其中之一二。
11、注意指針數組與數組指針的區別,每年都考。
12、注意函數名前帶有指針的函數,偶爾考,但考了大家就錯,因為沒見過這種寫法。
13、注意for(;;);是死循環而不是不做。
14、注意switch部分的細節,如switch()括弧里的類型,case的標號要求,default的位置。
15、注意函數中不能定義函數,必考。
16、注意函數的按值傳遞,必考。
17、注意變數的命名規則,必考,注意printf、scanf也可以是變數名。
18、注意static的使用,必考,注意全局變數也是static,。
19、注意關鍵字有哪些,注意sizeof也是,而不是函數。
20、注意宏定義的規則與細節,必考,如 #define後的內容加不加小括弧、是否在同一行、什麼類型、是否可有參數等等。

2011計算機二級C語言考試大綱
公共基礎知識部分30分

專業語言部分 70分

公共基礎知識

基本要求

1.掌握演算法的基本概念。

2.掌握基本數據結構及其操作。

3.掌握基本排序和查找演算法。

4.掌握逐步求精的結構化程序設計方法。

5.掌握軟體工程的基本方法,具有初步應用相關技術進行軟體開發的能力。

6.掌握資料庫的基本知識,了解關系資料庫的設計。

考試內容

一、基本數據結構與演算法

1.演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)。

2.數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。

3.線性表的定義;線性表的順序存儲結構及其插入與刪除運算。

4.棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。

5.線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。

6.樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。

7.順序查找與二分法查找演算法;基本排序演算法(交換類排序,選擇類排序,插入類排序)。

二、程序設計基礎

1.程序設計方法與風格。

2.結構化程序設計。

3.面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。

三、軟體工程基礎

1.軟體工程基本概念,軟體生命周期概念,軟體工具與軟體開發環境。

2.結構化分析方法,數據流圖,數據字典,軟體需求規格說明書。

3.結構化設計方法,總體設計與詳細設計。

4.軟體測試的方法,白盒測試與黑盒測試,測試用例設計,軟體測試的實施,單元測試、集成測試和系統測試。

5.程序的調試,靜態調試與動態調試。

四、資料庫設計基礎

1.資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統。

2.數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。

3.關系代數運算,包括集合運算及選擇、投影、連接運算,資料庫規范化理論。

4.資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。

考試方式

1.公共基礎知識的考試方式為筆試,與C語言程序設計(C++語言程序設計、Java語言程序設計、Visual Basic語言程序設計、Visual FoxPro資料庫程序設計或Access資料庫程序設計)的筆試部分合為一張試卷。公共基礎知識部分佔全卷的30分。

2.公共基礎知識有10道選擇題和5道填空題。
C語言程序設計

基本要求

1.熟悉TURBO C集成環境。

2.熟練掌握結構化程序設計的方法,具有良好的程序設計風格。

3.掌握程序設計中簡單的數據結構和演算法。

4.TURBO C的集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。

考試內容

一、C語言的結構

1.程序的構成,MAIN函數和其他函數。

2.頭文件,數據說明,函數的開始和結束標志。

3.源程序的書寫格式。

4.C語言的風格。

二、數據類型及其運算

1.C的數據類型(基本類型、構造類型、指針類型、空類型)及其定義方法。

2.C運算符的種類、運算優先順序和結合性。

3.不同類型數據間的轉換與運算。

4.C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。

三、基本語句

1.表達式語句,空語句,復合語句。

2.數據的輸入與輸出,輸入輸出函數的調用。

3.復合語句。

4.GOTO語句和語句標號的使用。

四、選擇結構程序設計

1.用IF語句實現選擇結構。

2.用SWITCH語句實現多分支選擇結構。

3.選擇結構的嵌套。

五、循環結構程序設計

1.FOR循環結構。

2.WHILE和DO WHILE循環結構。

3.CONTINUE語句和BREAK語句。

4.循環的嵌套。

六、數組的定義和引用

1.一維數組和多維數組的定義、初始化和引用。

2.字元串與字元數組。

七、函數

1.庫函數的正確調用。

2.函數的定義方法。

3.函數的類型和返回值。

4.形式參數與實在參數,參數值的傳遞。

5.函數的正確調用,嵌套調用,遞歸調用。

6.局部變數和全局變數。

7.變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。

8.內部函數與外部函數。

八、編譯預處理

1.宏定義:不帶參數的宏定義;帶參數的宏定義。

2.「文件包含」處理。

九、指針

1.指針與指針變數的概念,指針與地址運算符。

2.變數、數組、字元串、函數、結構體的指針以及指向變數、數組、字元串、函數、結構體的指針變數。通過指針引用以上各類型數據。

3.用指針作函數參數。

4.返回指針值的指針函數。

5.指針數組,指向指針的指針,MAIN函數的命令行參數。

十、結構體(即「結構」)與共用體(即「聯合」)

1.結構體和共用體類型數據的定義方法和引用方法。

2.用指針和結構體構成鏈表,單向鏈表的建立、輸出、刪除與插入。

十一、位運算

1.位運算符的含義及使用。

2.簡單的位運算。

十二、文件操作

只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。

1.文件類型指針(FILE類型指針)。

2.文件的打開與關閉(FOPEN,FCLOSE)。

3.文件的讀寫(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF函數),文件的定位(REWIND,FSEEK函數)。

考試方式

1.筆試:120分鍾,滿分100分,其中含公共基礎知識部分的30分。

2.上機:60分鍾,滿分100分。

若對你有幫助,望採納。

10. 計算機二級c語言

1.題庫每年都會有一點變化,但是變化不大,每一年的肯定會新增一些題目,萬卷不離其宗,考來考去知識點都那些,多看書,多做題,就差不多了。做歷年真題就行了,和考四六級一樣。都是模式化的東西。

2.計算機二級C語言考試的流程:
1)筆試:90分鍾,滿分100分,其中含公共基礎知識部分的30分。
2)上機操作:90分鍾,滿分100分。
上機操作包括:
(1) 基本操作。
(2) 簡單應用。
(3) 綜合應用。

3.計算機二級C語言考試內容 :
一、C語言程序的結構
1.程序的構成,main函數和其他函數。
2.頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。
3.源程序的書寫格式。
4.C語言的風格。
二、數據類型及其運算
1.C的數據類型(基本類型,構造類型,指針類型,無值類型)及其定義方法。
2.C運算符的種類、運算優先順序和結合性。
3.不同類型數據間的轉換與運算。
4.C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。
三、基本語句
1.表達式語句,空語句,復合語句。
2.輸入輸出函數的調用,正確輸入數據並正確設計輸出格式。
四、選擇結構程序設計
1.用if語句實現選擇結構。
2.用switch語句實現多分支選擇結構。
3.選擇結構的嵌套。
五、循環結構程序設計
1.for循環結構。
2.while和do-while循環結構。
3.continue語句break語句。
4.循環的嵌套。
六、數組的定義和引用
1.一維數組和二維數組的定義、初始化和數組元素的引用。
2.字元串與字元數組。
七、函數
1.庫函數的正確調用。
2.函數的定義方法。
3.函數的類型和返回值。
4.形式參數與實在參數,參數值的傳遞。
5.函數的正確調用,嵌套調用,遞歸調用。
6.局部變數和全局變數。
7.變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。
八、編譯預處理
1.宏定義和調用(不帶參數的宏,帶參數的宏)。
2.「文件包含」處理。
九、指針
1.地址與指針變數的概念,地址運算符與間址運算符。
2.一維。二維數組和字元串的地址以及指向變數、數組、字元串、函數、結構體的指針變數的定義。通過指針引用以上各類型數據。
3.用指針作函數參數。
4.返回地址值的函數。
5.指針數組,指向指針的指針。
十、結構體(即「結構」)與共同體(即:「聯合」)
1.用typedef說明一個新類型。
2.結構體和共用體類型數據的定義和成員的引用。
3.通過結構體構成鏈表,單向鏈表的建立,結點數據的輸出、刪除與插入。
十一、位運算
1.位運算符的含義和使用。
2.簡單的位運算。
十二、文件操作
只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。
1.文件類型指針(FILE類型指針)。
2.文件的打開與關閉(fopen,fclose)。
3.文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函數的應用),文件的定位(rewind,fseek函數的應用)。

閱讀全文

與函數與編譯預處理總結相關的資料

熱點內容
喝奶水的電影 瀏覽:437
季璃惡夫記 瀏覽:145
那些辭職考公務員的程序員 瀏覽:664
安卓表格布局怎麼弄列 瀏覽:933
80年代香港殺手電筒影大全集 瀏覽:913
《熱情的鄰居》李彩 瀏覽:998
不收費的小電影在哪裡看 瀏覽:609
適合雙人看的愛情片5g視頻 瀏覽:586
安卓中控怎麼安裝應用 瀏覽:83
電影大全鬼片免費收看 瀏覽:148
kanxv5. com/6/ index.php/ 瀏覽:585
看外國電影的網站 瀏覽:19
染島貢演過的電影 瀏覽:80
經典系列動作電影 瀏覽:731
勞拉是哪個電影里的名字 瀏覽:678
天才黑客林凡 瀏覽:516
中國電影票房排行榜實時票房貓眼 瀏覽:288
收母收姐妹 瀏覽:379
一男兩女後面兩女懷孕的番號 瀏覽:556
不需要會員就能看電視劇的網站 瀏覽:428