導航:首頁 > 程序命令 > c語言程序員筆試題

c語言程序員筆試題

發布時間:2022-12-22 00:42:54

㈠ 求上海楊訊計算機科技有限公司C語言程序員筆試題,謝謝!

兄弟,我是揚訊研發不項目經理,你別打聽了,我知道你qq了,請遵守游戲規則,不要找了

㈡ 初級程序員考試內容

主要考試科目是兩科:上午是綜合知識,75道單選題;下午是應用技術,5道案例題,主要考流程圖1題,C語言3題,C++和JAVA二選一,以填空題和選擇題為主。

㈢ 求歷屆江蘇省計算機等級考試二級C語言的試題及答案

1.那麼簡單 連我這12歲的小孩都過了 你還過不了?
2.又沒叫你講指針……建議你重新學
3.最後推薦:C語言集成開發與實驗環境
裡面都有
4.建議你去讀下《提問的智慧》
PS:是全國統考

㈣ C語言二級考試編程一般考什麼

上機考試,考試時長120分鍾,滿分100分。

題型及分值

單項選擇題40分(含公共基礎知識部分10分)、操作題60分(包括填空題、改錯題及編程題)。

考試環境

Visual C++6. 0。

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

2. 頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。

3. 源程序的書寫格式。

4. C語言的風格。

二、數據類型及其運算

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

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

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

4. C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。二級各科考試的公共基礎知識大綱及樣題見高等教育出版社出版的《全國計算機等級考試二級教程——公共基礎知識(2013年版)》的附錄部分。

三、基本語句

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函數的應用)。

㈤ 公司筆試C語言一般考什麼

我前個月就剛去一家公司面試,程序員的,一去就叫我做題目!
全是很基本的C語言知識,其中一題如下:
char ci[100];
void fun(char ch[100])
{
printf("%u\n",sizeof ch);
}
void main()
{
fun(ci);
printf("%u\n",sizeof ci );
char cTest[100];
char *cPoint=cTest;
printf("%u\n",sizeof cTest );
//有些地方記不太清楚
}
所以考的都是些很基本很深入的知識,像指針,數組,標准庫函數等等的理解要深入。
學校在這方面一般是採取的較保守和避諱的態度,一講到上了難度的,就一點即過。要想取得好的效果,必須在下面自己找點適合自己的資料好好研讀!

㈥ c語言 題1:若有語句 char*line[5],則定義line是一個數組,每個數組元素是一個基類型為char的指針變數。

一、選擇題((1)—(10)每題2分,(11)—(50)每題1分,共60分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。

(1)下列敘述中正確的是
A)程序設計就是編製程序 B)程序的測試必須由程序員自己去完成
C)程序經調試改錯後還應進行再測試 D)程序經調試改錯後不必進行再測試

(2)下列數據結構中,能用二分法進行查找的是
A)順序存儲的有序線性表 B)線性鏈表
C)二叉鏈表 D)有序線性鏈表

(3)下列關於棧的描述正確的是
A)在棧中只能插入元素而不能刪除元素
B)在棧中只能刪除元素而不能插入元素
C)棧是特殊的線性表,只能在一端插入或刪除元素
D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素

(4)下列敘述中正確的是
A)一個邏輯數據結構只能有一種存儲結構
B)數據的邏輯結構屬於線性結構,存儲結構屬於非線性結構
C)一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率
D)一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

(5)下列描述中正確的是
A)軟體工程只是解決軟體項目的管理問題
B)軟體工程主要解決軟體產品的生產率問題
C)軟體工程的主要思想是強調在軟體開發過程中需要應用工程化原則
D)軟體工程只是解決軟體開發中的技術問題

(6)在軟體設計中,不屬於過程設計工具的是
A)PDL(過程設計語言) B)PAD圖 C)N-S圖 D)DFD圖
(7)下列敘述中正確的是
A)軟體交付使用後還需要進行維護
B)軟體一旦交付使用就不需要再進行維護
C)軟體交付使用後其生命周期就結束
D)軟體維護是指修復程序中被破壞的指令

(8)資料庫設計的根本目標是要解決
A)數據共享問題 B)數據安全問題
C)大量數據存儲問題 D)簡化數據維護

(9)設有如下關系表:
R S T
A B C A B C A B C
1 1 2 3 1 3 1 1 2
2 2 3 2 2 3
3 1 3
則下列操作中正確的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S

(10)資料庫系統的核心是
A)數據模型 B)資料庫管理系統 C)資料庫 D)資料庫管理員

(11)以下敘述中錯誤的是
A)用戶所定義的標識符允許使用關鍵字
B)用戶所定義的標識符應盡量做到「見名知意」
C)用戶所定義的標識符必須以字母或下劃線開頭
D)用戶定義的標識符中,大、小寫字母代表不同標識

(12)以下敘述中錯誤的是
A)C語句必須以分號結束
B)復合語句在語法上被看作一條語句
C)空語句出現在任何位置都不會影響程序運行
D)賦值表達式末尾加分號就構成賦值語句

(13)以下敘述中正確的是
A)調用printf函數時,必須要有輸出項
B)使用putchar函數時,必須在之前包含頭文件stdio.h
C)在C語言中,整數可以以十二進制、八進制或十六進制的形式輸出
D)調用getchar函數讀入字元時,可以從鍵盤上輸入字元所對應的ASCII碼
(14)以下關於函數的敘述中正確的是
A)每個函數都可以被其它函數調用(包括main函數)
B)每個函數都可以被單獨編譯
C)每個函數都可以單獨運行
D)在一個函數內部可以定義另一個函數

(15)若有語句:char *line[5];,以下敘述中正確的是
A)定義line是一個數組,每個數組元素是一個基類型為char的指針變數
B)定義line是一個指針變數,該變數可以指向一個長度為5的字元型數組
C)定義line是一個指針數組,語句中的*號稱為間址運算符
D)定義line是一個指向字元型函數的指針
(16)有以下程序段
typedef struct NODE
{ int num; struct NODE *next;
} OLD;
以下敘述中正確的是
A)以上的說明形式非法 B)NODE是一個結構體類型
C)OLD是一個結構體類型 D)OLD是一個結構體變數

(17)以下敘述中錯誤的是
A)C語言中對二進制文件的訪問速度比文本文件快
B)C語言中,隨機文件以二進制代碼形式存儲數據
C)語句 FILE fp; 定義了一個名為fp的文件指針
D)C語言中的文本文件以ASCII碼形式存儲數據

(18)當把以下四個表達式用作if語句的控製表達式時,有一個選項與其它三個選項含義不同,這個選項是
A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1

(19)以下不能正確計算代數式 值的C語言表達式是
A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3
C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)

(20)以下能正確定義且賦初值的語句是
A)int n1=n2=10; B)char c=32;
C)float f=f+1.1; D)double x=12.3E2.5;

(21)以下程序的功能是:給r輸入數據後計算半徑為r的圓面積s。程序在編譯時出錯。
main()
/* Beginning */
{ int r; float s;
scanf("%d",&r);
s=*p*r*r; printf("s=%f\n",s);
}
出錯的原因是
A)注釋語句書寫位置錯誤 B)存放圓半徑的變數r不應該定義為整型
C)輸出語句中格式描述符非法 D)計算圓面積的賦值語句中使用了非法變數

(22)設有定義:int k=1,m=2; float f=7;,則以下選項中錯誤的表達式是
A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m

(23)設有定義:int a=2,b=3,c=4;,則以下選項中值為0的表達式是
A)(!a==1)&&(!b==0) B)(a<B)&& !c||1
C)a && b D)a||(b+b)&&(c-a)

(24)有以下程序段
int k=0,a=1,b=2,c=3;
k=ac ? c:k;
執行該程序段後,k的值是
A)3 B)2 C)1 D)0

(25)設變數a、b、c、d和y都已正確定義並賦值。若有以下if語句
if (a<B)
if(c==d) y=0;
else y=1;
該語句所表示的含義是
A) B)
C) D)

(26)有以下程序段
int n,t=1,s=0;
scanf("%d",&n);
dowhile (t!=n);
為使此程序段不陷入死循環,從鍵盤輸入的數據應該是
A)任意正奇數 B)任意負偶數 C)任意正偶數 D)任意負奇數

(27)設變數已正確定義,則以下能正確計算f = n!的程序段是
A) f=0; B) f=1;
for(i=1;i<=n;i++) f*=i; for(i=1;i<N;I++) f*="i;
C) f=1; D) f=1;
for(i=n;i>1;i++) f*=i; for(i=n;i>=2;i--) f*=i;

(28)設有定義:int n1=0,n2,*p=&n2,*q=&n1;,以下賦值語句中與n2=n1;語句等價的是
A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;

(29)若有定義:int x=0, *p=&x;,則語句printf("%d\n",*p);的輸出結果是
A)隨機值 B)0 C)x的地址 D)p的地址

(30)設函數fun的定義形式為
void fun(char ch, float x )
則以下對函數fun的調用語句中,正確的是
A)fun("abc",3.0); B)t=fun('D',16.5);
C)fun('65',2.8); D)fun(32,32);
(31)有以下程序
main()
, *p=&a[3], *q=p+2;
printf("%d\n", *p + *q);
}
程序運行後的輸出結果是
A)16 B)10 C)8 D)6

(32)有以下程序
main()
, q[]="abc";
printf("%d %d\n", sizeof(p),sizeof(q));
};
程序運行後的輸出結果是
A)4 4 B)3 3 C)3 4 D)4 3

(33)有以下程序
# define f(x) (x*x)
main()
{ int i1, i2;
i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ;
printf("%d, %d\n",i1,i2);
}
程序運行後的輸出結果是
A)64, 28 B)4, 4 C)4, 3 D)64, 64

(34)有以下程序
main()
{ char a1='M', a2='m';
printf("%c\n", (a1, a2) ); }
以下敘述中正確的是
A)程序輸出大寫字母M B)程序輸出小寫字母m
C)格式說明符不足,編譯出錯 D)程序運行時產生出錯信息

(35)有以下程序
#include
main()
{ char c1='1',c2='2';
c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);
}
當運行時輸入:a<回車> 後,以下敘述正確的是
A)變數c1被賦予字元a,c2被賦予回車符
B)程序將等待用戶輸入第2個字元
C)變數c1被賦予字元a,c2中仍是原有字元2
D)變數c1被賦予字元a,c2中將無確定值

(36)有以下程序
main()
{ int k=5,n=0;
while(k>0)
{ switch(k)
{ default : break;
case 1 : n+=k;
case 2 :
case 3 : n+=k;
}
k--;
}
printf("%d\n",n);
}
程序運行後的輸出結果是
A)0 B)4 C)6 D)7

(37)有以下程序
main()
, y=0, x, *p;
p=&a[1];
for(x= 1; x<3; x++) y += p[x];
printf("%d\n",y);
}
程序運行後的輸出結果是
A)10 B)11 C)14 D)15
(38)有以下程序
void sort(int a[], int n)
{ int i, j ,t;
for (i=0; i<N-1; i++)
for (j=i+1; j<N; j++)
if (a<A[J])
}
main()
, i;
sort(aa+2, 5);
for (i=0; i<10; i++) printf("%d,",aa);
printf("\n");
}
程序運行後的輸出結果是
A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10,
C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10,

(39)有以下程序
void sum(int a[])

main()
;
sum(&a[2]);
printf("%d\n", a[2]);
}
程序運行後的輸出結果是
A)6 B)7 C)5 D)8

(40)有以下程序
void swap1(int c0[], int c1[])
{ int t ;
t=c0[0]; c0[0]=c1[0]; c1[0]=t;
}
void swap2(int *c0, int *c1)
{ int t;
t=*c0; *c0=*c1; *c1=t;
}
main()
, b[2]=;
swap1(a, a+1); swap2(&b[0], &b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
程序運行後的輸出結果是
A)3 5 5 3 B)5 3 3 5 C)3 5 3 5 D)5 3 5 3

(41)有以下程序
#include
main()
, q[10]=;
printf("%d %d\n", strlen(p), strlen(q));
}
以下敘述中正確的是
A)在給p和q數組置初值時,系統會自動添加字元串結束符,故輸出的長度都為3
B)由於p數組中沒有字元串結束符,長度不能確定;但q數組中字元串長度為3
C)由於q數組中沒有字元串結束符,長度不能確定;但p數組中字元串長度為3
D)由於p和q數組中都沒有字元串結束符,故長度都不能確定

(42)有以下程序,其中函數f的功能是將多個字元串按字典順序排序
#include
void f(char *p[], int n)
{ char *t; int i,j;
for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
if(strcmp(p,p[j])>0)
}
main()
;
f(p, 5);
printf("%d\n", strlen(p[1]));
}
程序運行後的輸出結果是
A)2 B)3 C)6 D)4

(43)有以下程序
# include
void f(char *s, char *t)
{ char k;
k=*s; *s=*t; *t=k;
s++; t--;
if (*s) f(s, t);
}
main()
{ char str[10]="abcdefg", *p ;
p=str+strlen(str)/2+1;
f(p, p-2);
printf("%s\n",str);
}
程序運行後的輸出結果是
A)abcdefg B)gfedcba C)gbcdefa D)abedcfg
(44)有以下程序
float f1(float n)

float f2(float n)

main()
{ float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;
p1=f1; p2=f2;
y1=p2( p1(2.0) );
t = p1; p1=p2; p2 = t;
y2=p2( p1(2.0) );
printf("%3.0f, %3.0f\n",y1,y2);
}
程序運行後的輸出結果是
A)8, 16 B)8, 8 C)16, 16 D)4, 8
(45)有以下程序
int a=2;
int f(int n)
{ static int a=3;
int t=0;
if(n%2)
else
return t+a++;
}
main()
{ int s=a, i;
for( i=0; i<3; i++) s+=f(i);
printf("%d\n", s);
}
程序運行後的輸出結果是
A)26 B)28 C)29 D)24

(46)有以下程序
# include
struct STU
{ int num;
float TotalScore; };
void f(struct STU p)
,};
p.num = s[1].num; p.TotalScore = s[1].TotalScore;
}
main()
,};
f(s[0]);
printf("%d %3.0f\n", s[0].num, s[0].TotalScore);
}
程序運行後的輸出結果是
A)20045 537 B)20044 550 C)20042 580 D)20041 703

(47)有以下程序
# include
struct STU
{ char name[10];
int num; };
void f(char *name, int num)
,};
num = s[0].num;
strcpy(name, s[0].name);
}
main()
,},*p;
p=&s[1]; f(p->name, p->num);
printf("%s %d\n", p->name, p->num);
}
程序運行後的輸出結果是
A)SunDan 20042 B)SunDan 20044
C)LiSiGuo 20042 D)YangSan 20041

(48)有以下程序
struct STU
;
void f(struct STU *p)
,}, *q=s;
++p ; ++q; *p=*q;
}
main()
,};
f(s);
printf("%s %d %3.0f\n", s[1].name, s[1].num, s[1].TotalScore);
}
程序運行後的輸出結果是
A)SunDan 20044 550 B)Penghua 20045 537
C)LiSiGuo 20042 580 D)SunDan 20041 703
(49)以下程序的功能是進行位運算
main()
{ unsigned char a, b;
a=7^3; b= ~4 & 3;
printf("%d %d\n",a,b);
}
程序運行後的輸出結果是
A)4 3 B)7 3 C)7 0 D)4 0

(50)有以下程序
#include
main()
{ FILE *fp; int i, k, n;
fp=fopen("data.dat", "w+");
for(i=1; i<6; i++)
{ fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp,"\n");
}
rewind(fp);
fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n);
fclose(fp);
}
程序運行後的輸出結果是
A)0 0 B)123 45 C)1 4 D)1 2

二、填空題(每空2分,共40分)
請將每一個空的正確答案寫在答題卡至序號的橫線上,答在試卷上不得分。

(1)數據管理技術發展過程經過人工管理、文件系統和資料庫系統三個階段,其中數據獨立性最高的階段是 。

(2)演算法復雜度主要包括時間復雜度和 復雜度。

(3)在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅動模塊和承接模塊(樁模塊)。其中 的作用是將測試數據傳送給被測試的模塊,並顯示被測試模塊所產生的結果。

(4)一棵二叉樹第六層(根結點為第一層)的結點數最多為 個。

(5)數據結構分為邏輯結構和存儲結構,循環隊列屬於 結構。

(6)以下程序運行後的輸出結果是 。
main()
{ int x=0210; printf("%X\n",x);
}

(7)以下程序運行後的輸出結果是 。
main()
{ int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n",b);
}

(8)已有定義:double *p;,請寫出完整的語句,利用malloc函數使p指向一個雙精度型 的動態存儲單元 。

(9)以下程序運行後的輸出結果是 。
main()
{ char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}

(10)以下程序的功能是計算:s=1+12+123+1234+12345。請填空。
main()
{ int t=0,s=0,i;
for( i=1; i<=5; i++)

printf("s=%d\n",s);
}

(11)已知字母A的ASCII碼為65。以下程序運行後的輸出結果是 。
main()
{ char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
(12)有以下程序
int sub(int n)
main()
{ int x,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若運行時輸入:1234<回車>,程序的輸出結果是 。
(13)以下函數sstrcat()的功能是實現字元串的連接,即將t所指字元串復制到s所指字元串的尾部。例如:s所指字元串為abcd,t所指字元串為efgh,函數調用後s所指字元串為abcdefgh。請填空。
# include
void sstrcat(char *s, char *t)
{ int n;
n= strlen(s);
while (*(s+n)= )
}

(14)以下程序運行後的輸出結果是 。
#include
char *ss(char *s)
{ char *p, t;
p=s+1; t=*s;
while(*p)
*(p-1)=t;
return s;
}
main()
{ char *p, str[10]="abcdefgh";
p = ss(str) ;
printf("%s\n",p);
}

(15)以下程序運行後的輸出結果是 。
int f(int a[], int n)
{ if (n >= 1) return f(a, n-1)+a[n-1];
else return 0;
}
main()
, s;
s=f(aa, 5); printf("%d\n", s);
}

(16)以下程序運行後的輸出結果是 。
struct NODE
{ int num; struct NODE *next;
} ;
main()
,,}, *p, *q, *r;
int sum=0;
s[0].next=s+1; s[1].next=s+2; s[2].next=s;
p=s; q=p->next; r=q->next;
sum+=q->next->num; sum+=r->next->next->num;
printf("%d\n", sum);
}

(17)以下程序的功能是輸出如下形式的方陣:
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4
請填空。
main()
{ int i,j,x;
for(j=4; j ; j--)
{ for(i=1; i<=4; i++)
{ x=(j-1)*4 + ;
printf("M",x);
}
printf("\n");
}
}

(18)以下函數rotate的功能是:將a所指N行N列的二維數組中的最後一行放到b所指二維數組的第0列中,把a所指二維數組中的第0行放到b所指二維數組的最後一列中,b所指二維數組中其他數據不變。
# define N 4
void rotate(int a[][N], int b[][N])
{ int i, j;
for (i=0; i<N; i++)

}
2005年9月全國計算機等級考試二級C筆試答案
2005年下半年C語言筆試參考答案
一、題答案
(1)—(10) CACDC DAABB
(11)—(20)ACBBA CCDAB
(21)—(30)DCABC DDABD
(31)—(40)BCCAA DCCAA
(41)—(50)BCBAC DABAD
二、填空題
(1) 資料庫系統
(2) 空間
(3) 驅動模塊
(4) 32
(5) 存儲結構
(6) 88
(7) 1
(8) p=(double * ) malloc (sizeof(double))
(9) 2 20
(10) t*10
(11) 67 G
(12) 10
(13) *t
(14) bcdefgha
(15) 15
(16) 5
(17) >0
(18) 6
(19) a[0]
(20) b[0]

㈦ 一道簡單C語言指針問題編程題!麻煩高手幫我改的簡單容易理解,英文單詞別很多還難!麻煩了

因為某種原因,本人共考過2次筆試,3次上機。其中筆試在70左右,3次上機均為滿分,
看著大批的同學在為三級發愁不知道如何准備和應考。我想我應該把經驗和學習的方法寫下
來,這些方法保證你能過三級。但是不保證你能獲得高分並學到知識,所以請各位計算機系
與愛好電腦的高手或自認為是高手的同志們就此打住。OK!

以網路技術為例(其他三門的方法相似),我把方法總結為:細看書,做筆記,多復習。
第一階段:看網路技術教材,詳細地做筆記(20天).
第一邊看書你要看得特別仔細,把所有你認為重要的地方全抄到筆記本上,包括重要的
表格和插圖。第一次看不懂的地方可以跳過去等過兩天再回頭看一遍。每天看新的知識之前
都將前兩天看的再復習一遍,強化記憶。
我把全書的重要程度劃分了一下:第一,七,八章 了解(看看做做筆記就行了);
第二,四章 理解(看懂主要的知識點);第三,五,六章 掌握(看懂所有的知識點);
其中又以以下章節為重點:2.2 進程 2.3 存儲管理 2.4 文件管理 2.5 設備管理
(我當時這一節的題都掛了) 3.5 雙絞線 VS 同軸電纜 3.6 OSI VS TCP/IP 4.3 乙太網
4.5 組網技術 4.8 網路互連 5.3 IP協議 6.4 加密技術 其中有些內容必須理解並掌握,
要是不理解,背也要背下來。如:OSI協議和TCP/IP協議的各層的名字,各種傳輸介質和各種
乙太網的參數等。
另外所有教材上沒有的內容不用看,因為考試出的題沒有一道是書本之外的。
===> 要點一:堅持就是勝利,每天堅持看2個小時,至少能看15頁。
===> 要點二:該抄就抄,好記性不如壞筆頭。
===> 要點三:注意課後作業題,那可能就是原題。
這一階段完成後,應該能夠理解大部分的知識點。還要能夠很快的在書中找到某個知識
點的位置。
第二階段:復習重點章節(5天)
這一次復習的重點在那些需要理解和掌握的內容上,如果你看懂了,合上書想一遍,看
不懂就多看兩遍,有些重點一定要記住。而且要把筆記本大聲地讀上兩遍,達到更加熟練。
===> 要點一:看懂不一定會記住,一定要在腦海中形成印象,合上書能寫下來。
===> 要點二:名詞術語要注意。
===> 要點三:縮略語。凡是在書上出現過兩遍的,一定要記下中英文解釋。
例如:CDMA/CD,MFLOPS等。
第三階段:復習不重要的章節和作題(5天)
有人也許要問,既然不重要還復習它干什麼。錯!出題人不能用重點湊成一百分要適當的
加點其他內容。於是只有在這些不重要的章節裡面出了,這些題大概佔20分左右。得分的方法
是將所有不太重要的章節再看一遍,越是你認為不可能出的,越要把它抄下來,記一記。而且
要特別注意數字,如ATM的傳輸速率,單模光纖所使用的光的波長等。(上次最嘔吐的的一道
題是,信號從發送站經過衛星到接收站的傳輸延遲的典型值是多少?我按照同步地球衛星到地
球的距離,光的傳輸速度,算到百毫秒的量級,但是算不出具體的值,於是猜了一個250ms。
答案居然是540ms。暈倒~!)
還有就是模擬題的問題,我認為現在市面上的模擬題都太差了,考的全沒有,不考的全有
了,說實話還不如我出的呢。所以題不用多做,只要把書看好就行,最後幾天可以做幾套,熟
悉一下題型,掌握一下時間就夠了,多做全是浪費。
以上方法我一個同學上次照著我說的做了,結果筆試考分比我還高。所以不管你聰明不聰
明,只要你照我說的做了,一定能通過。
一句話:要是不過你拿我是問。

上機部分現在只有一到c語言編程題,非常簡單。但我認為最重要的是能夠編譯程序和調試
程序,也就是說,一道題你能在紙上寫下來還不夠,一定要能夠在機器上運行出結果才行,因為
編譯系統及機器的不同,有的對的程序也可能產生大量的錯誤。只要你能把錯誤找出來就差不多
能過了。
因此我把方法總結為:多思考,多上機,捉蟲子。(以譚浩強的《c語言設計》第二版為例)
第一階段:看書,做筆記。(15天)
有人說那本書那麼厚,15天能看完嗎?錯!誰說讓你們看完了,你要是只是想過三級。只用
看前140頁就足夠了。也就是,第一章,了解,第二,三章理解,第五,六,七章掌握,第八,
第十章隨便看一下就行了。因為c上機只要求你填一個函數,所以函數那一章不用看太仔細,只
要知道函數是干什麼用的,它們之間是如何調用的就行了。至於指針,所有的考題全都能用數組
做出來,用指針只不過是簡單一點,容易出錯一點而已,我是強烈建議不用指針。第九章和第十
一章以後一概不用看。
===> 要點一:勤記,把所有重要的東西都記在筆記本上。如轉義字元的定義等。
===> 要點二:每天上機調試兩個程序(可以是例題或作業題)
===> 要點三:堅持,再堅持。
第二階段:做課後作業題並上機調試。(10天)
現在書你已看完,練習題也可能做出了一些。現在就是要把前幾章特別是五六七三章的課後
題一定要自己思考一下,做出來後再上機調試,是在做不出來,就看看答案,看懂後,再在機器
上調試一下也行。
重要例題:例 4.10 4.12 5.4 5.5 5.6 5.7 5.8 6.6 6.8 6.10 7.2 7.2 7.8 7.9
重要習題:4.5 4.9 5.5 5.7 5.8 6.1~6.10 7.1~7.14
===> 要點一:做題時使用N-S流程圖。
===> 要點二:每道題不管多麼簡單,一定要調試直到正確為止。如習題2.4(2)我有幾個同
學都是能編出來,但是怎麼都運行不正確。
===> 要點三:每天上機作五道題以上,最好在TC2.0環境下。
第三階段:繼續調試重要程序,看一本書(5天)
繼續調試程序直到熟練,然後看一本書,書名我先不說,可能許多同學都知道。但我不贊成
看這本書,而且我勸你到最後幾天再看,挑出一部分典型的題看一下,自己做做,看是否正確,
熟悉一下題型,不要完全依賴那本書。那樣可能因為一點小錯誤你找不出來就掛了。我們班的女
生們第一次因為這個原因掛的可不是少數。
還是那句話:要是你上機不過找我是問。

········回顧過去的大學生活,計算機等級考試最令人難忘。筆者斗膽在這里賣弄一下過去兩年(准確的說是一年半)里通過全國計算機等級考試二到四級的經歷,以自己的感受泡製一份全國計算機等級考試全攻略,希望對後來的朋友們尤其是剛剛邁入大學校門的師弟師妹們有所幫助。

考證路上,有兩點需要特別注意。一是一次只能報考一個等級(包括筆試和上機)的考試。一個級別中有不同類別,考生只能選擇其中一類。另外,考試單科合格者,成績只保留到下一個考試周期。所以不想找麻煩的話就要認真准備,爭取一次OK,否則會對信心造成打擊。

一級考試

對於一級考試,其實沒什麼好說的,大部分人不必報考這一級別,既浪費金錢又浪費生命。因而筆者強烈建議不要考這一級別。如果你不得不參加這一級別考試的話,筆者在表示同情之餘建議你在熟悉常用軟體之餘研究一下WPS,在以後的全國計算機等級考試(一級)中 ,WPS將成為一門單獨的考試科目。

二級考試

二級考試是大部分人都必須參加的。二級考試的內容包括基礎知識和程序設計兩大部分。 基礎知識主要包括電腦基本知識,DOS基本知識和基本操作,WINDOWS的基本概念與操作。關於這部分知識有點水準的輔導書就會有詳細的介紹,只要把書好好看看就沒什麼問題。DOS中的文件、目錄、路徑的概念及使用是必考部分,要留意。(相關閱讀:如何應付新大綱二級考試的公共基礎知識)

二級考試的重中之重是程序部分。要對語言的基礎知識熟練掌握,尤其要留意基礎概念和基本方法(選擇法、冒泡法等),要能看懂書上給的程序。一般來說,如果能獨立做出大部分課後題就一切OK了。對語言的工夫應該下在平時,多想,多練,多上機。自己考慮作一些小程序會有很大幫助的(別人崇敬的目光就會讓你覺得很有價值)。二級DOS類考試的上機考試包括三個部分的內容,即DOS操作題,程序修改題和程序編制題。如果你的C語言有一定水準的話,較難的部分就是程序修改題了,畢竟了解陌生人的思路是一件比較難的事。因此平時要多讀一些程序,自己編程時注意要盡量符合規范,否則很容易吃虧。當然多上機練習是取得好成績的不二法門。關於輔導書大連理工出版社和南開出版社的都相當不錯。

三級考試

三級是一個比較麻煩的等級。它共有四個類別,可以大致分兩種。 三級PC上機是考匯編程序,其他三個類別考C程序。如果不是對自己特別有信心的話一般不要報考PC技術。畢竟學習匯編語言也是不小的負擔 ,而且對報考四級沒什麼幫助(四級不考匯編!)。對於其他三種主要看自己的興趣了。相對來說資料庫要難一點(對數學系的除外)。三級的四個類別各有側重,比較麻煩的是對於四級來說都太片面了,所以幫助不大。因此基礎比較好的,直考四級也是可以考慮的。(相關閱讀:通過計算機等級考試三級網路的經驗)

筆試部分是三級的難點,所要記憶的內容比二級增加很多。要注意對基本理論和基礎概念的掌握,有利於知識網路的形成,減少記憶負擔。

由於三級剛剛改革不久,各個出版社出版的輔導書都很難貼近考試。這種情況下多看書就成了最好的選擇。從近兩次考試的情況看,出題也很接近課本(尤其是網路技術,有部分教材原話)。三級上機考試難度比二級提高並不大,較復雜的部分如文件讀寫,函數調用等通常題目已給出,因而所考的依然是比較基本和典型的演算法。

四級考試

四級是最後一級,也是知識最復雜的一級。報考四級是需要一點信心和勇氣的,你報考四級後身邊幾乎不可避免的出現一片質疑聲(當我報四級時老師竟然告訴我本校從來沒人通過),這時候一定要相信自己。(相關閱讀:幫你全面了解全國計算級等級考試-四級)

四級通過的人數的確是非常少(相對三級),但要看到四級報考人數也是最少的。四級知識量是巨大的(看看那厚厚的教材就知道了),難點主要是離散數學和計算機英語。對於離散數學,如果有機會旁聽一下計算機專業的核心課程《離散數學》會很有幫助的。要記住一定要作一定數量的習題!僅僅通過識記是無法提高水平的。

計算機英語沒有想像中的困難,常用的單詞只有幾百個,只要把近5、6年的試題中英語題過一遍就差不多了。手頭最好有一本專業詞典,大部分單詞在文曲星上查不到 。相對來說英語題比較簡單,只要單詞認識就OK了。

筆試中比較新鮮的是論述題。建議買一本歷年試題及參考答案(每年國家考試中心都出版),仔細研究一下,掌握答題方法。比較幸運的是論述題通常有四道,可以選擇自己最有把握的。由於四級考試已經舉行多年,各出版社出的輔導書都比較扣題。筆者強烈推薦大連理工出版社出版的《全國計算機等級考試題典(四級)》。這本書貼近考試,解答詳盡,對順利過級會有很大幫助!一定要做歷年試題(5年以內),確實是有一定復現率的!

四級上機考試和三級差不多,只有一道編程題,注意別緊張,一定要存檔,否則會變為0分。當時跟我一個考場的同學就有人因為慌亂忘記存檔,造成下午的考試沒有通過。(相關閱讀:全國計算機四級考試經驗談)

結束語:最後,不管面對任何考試都需要對自己要信心,相信即使只有一個人通過,那個人也一定是自己!這時你就成功一半了。預祝每一位考生能夠在9月的考試中取得理想的成績!

計算機考試備忘錄

首先是報考時間問題。雖說大學有四年,但是如果你要考研究生的話(大部分人都會考的),從大三下學期就該開始准備了,所以留給等級考試的時間其實只有兩年半而已(四次機會)。因此,如果你是大一的新生,應該考慮報考明年四月的考試。因為全國計算機等級考試是面對非專業人士的,所以難度並不太高(當然也不很容易,否則聽我嘮叨什麼)。如果你的學校沒有一級必考之類的變態規定話,就應該堅決跳過一級從二級開考(時間寶貴,不應該為沒意義的事浪費半年時光)。平心而論,二級知識非常基礎,只要認真准備(你有整整一個寒假的時間准備)過關是很容易的(即使你的計算機基礎很差)。

雖然三級證書一樣可以拿到學位證,並且越級考試也是被許可的,但筆者不提倡直接報考三級(即使你的計算機基礎很好)。直接過三級雖然是一件很酷的事,但這要擔相當的風險,一旦失誤(這是很可能的事,畢竟三級是有一定難度的),你就不得不與剛通過二級的同學一起考試。除非你的神經有下水管道那麼粗,不然會有很大壓力,而且對信心的打擊不容忽視。如果你對自己的計算機水平很有自信的話,二級證書到手後跳過三級直考四級倒是可以考慮的,那樣風險和效率比較均衡。

另一個比較重要的問題是計算機語言的選擇問題。筆者強烈推薦學習C語言。C語言不但本身邏輯清楚,實用性強而且擴展性很強,方便以後學習C++,C#等語言。如果你有獅子一樣的雄心,更應該選擇C語言,要注意到四級和高級程序員考試都要求C語言!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@計算機三級考試馬上就要到了,然而很多朋友對計算機上機考試卻仍舊十分茫然,

參加這次考試的人有很大一部分是上次機試沒有通過的朋友,甚至還有一些考了兩次機試都沒有通過的……

這其中不乏一些C語言學的很不錯的高手,大部分人到現在都不明白為什麼自己親手編的程序卻是0分……

究竟是什麼原因呢?不就是那100道題目嗎?翻來覆去的看也沒有發現自己的程序有什麼錯誤啊,看資料,用模擬盤模擬也是滿分啊,可為什麼正式考試就是0分呢?

於是很多人甚至把通過上機考試當成一件*運氣的事了,甚至有的朋友對上機考試感到十分恐懼
然而這其中真正的原因……
大家不妨和我一起看一下考試中心命題組的正確答案~
順便提醒一下大家在考試的時候要注意的問題,希望對大家有所幫助。

第一條:審題要仔細!正式考試的時候會遇到很多面熟的題目,這些題目有的似乎和
平常資料中看到的一樣,然而,千萬不要見到面熟的題目而沾沾自喜,因為有很多的
「陷阱」會使你審題的時候就出錯~!
我們看一道所有人都做過的的 「數字題目」 。
考試中心命題組第23題:
已知在文件in.dat中存有N個實數,(N<200),函數readdat()是讀取這N個實數並存入數組xx中。
請編制函數CalValue(),其功能要求:
1、求出這N個實數的整數部分平均值aver;
2、分別求出這N個實數中其整數部分值小於平均值ever的數的整數部分值之和sumint與小數部分之和sumdec
最後調用函數WriteDat()把所求的結果輸出到文件OUT8.dat中。
這一題看起來很眼熟,然而你仔細看~!
1、aver是整數部分的平均值~!不是普通的哦!
2、整數部分值小於平均值ever的數的整數部分值之和sumint與小數部分之和sumdec!!
呼~,原來這么復雜~!稍不留心就錯了~,結果就想當然的……0分
考試中心命題組第4題
函數ReadDat()實現從文件ENG.IN中讀取一篇英文文章存入到字元
串數組xx中;請編制函數ComWord()分別計算出10個不區分大小寫
的英文單詞的首字母(b,c,f,s,n,r,u,e,o,p)的頻數並依次存入
整型數組yy[0]至yy[9]中,最後調用函數WriteDat( )把結果yy
輸出到文件PS1.OUT中。
這題也很眼熟,然而你仔細看~!
英文單詞的首字母,呵呵,不是平常的字母的個數,是作為單詞的首字母的個數啊,暈~
上面兩道題目並沒有在其他資料上見過,考試的時候也不一定會出,
這里僅僅是給大家提個醒兒,正式考試一定要仔細審題,嚴格按照題目的要求去做,
不要受以前做過的題目的影響。

第二條:一定要考慮除零、溢出、類型轉換、精度等細節問題~!!
雖然我們在平時學C語言的時候老師都提醒過,可是真正到了編程序的時候,
卻沒有幾個人會考慮。這些細節問題似乎並不直接影響題目的輸出結果,
然而,因為溢出和類型轉換錯誤而造成考試得不到滿分的可是大有人在啊!
我們看下面一道最害人的題目~!!,很多朋友考了這道題目都沒有過。
下面來看看你為什麼是0分~!
考試中心命題組64題:
請編制函數encryptChar(),按給定的替代關系對數組xx中的所有字元進行替代,
仍存入數組xx的對應的位置上,最後調用函數WriteDat()把結果xx輸出到文件PS8.DAT中。
替代關系:f(p)=p*11 mod 256 (p是數組中某一個字元的ASCII值,f(p)是計算後新字元的ASCII值),
如果原字元小於等於32或大於130,則該字元不變,否則將f(p)所對應的字元進行替代。
這道題目所有的人都做過,但幾乎就沒有人做對,包括南開無憂在內~!
原因就在於這一句!
無憂:int f; f=(xx[i][k]*11)%256;
南開:char *pf; *pf=*pf*11%256;
表面看來,好象兩個都對,
請你在TC下運行一下下面的代碼,看一下結果你就知道了是怎麼回事了……:
main()
{
char nk='E',*nkp,wuyou='E';
int wy;
nkp=&nk;
*nkp=*nkp*11%256;
wy=wuyou*11%256;
printf("%c %c %c %c\n",nk,*nkp,wuyou,wy);
printf("%d %d %d %d\n",nk,*nkp,wuyou,wy);
}
看到結果了么?是不是很吃驚啊?
≈ ≈ E ≈
-9 -9 69 247
大家看到了,南開的結果是負數,連原來的變數nk都變成了負數,這顯然錯了。
無憂的聰明一點,知道int比char大,定義了個int,對了。
南開錯誤原因就是在TC2.0中char型變數只有一個位元組,根本容納不下'E'*11,
所以產生了溢出,上次考這道題目沒過的同學是不是有所啟發呢?
這里給出考試中心命題組的答案:
void encryptChar(){
int i,k,ch;
for(i=0;i<maxline;i++)
for(k=0;k<strlen(xx[i]);k++){
ch=xx[i][k];
ch=(ch*11)%256;
if(!(ch<=32||ch>=130))xx[i][k]=ch;
}
}
似乎一個例子不能說明什麼,那就把上面的數字題目的答案給大家看看:
考試中心命題組23題答案:
int i;
long val;
float dec;
for(i=0;i<N;i++){
val=(long)xx[i];
aver+=xx[i]-val;
}
aver/=(double)N;
for(i=0;i<N;i++){
val=(long)xx[i];
dec=xx[i]-val;
if(dec>aver){
sumint+=val;
sumdec+=(xx[i]-val);
}
}
看到了吧,首先,val的定義,不是我們習慣的int,而是能容納更大數的 long ,
這樣在求和的時候就不會溢出,無憂和南開的答案沒有吧~
再看,算aver平均值的細節,不是我們平常習慣的aver/=N,更不是無憂的1.0* sum/N,
而是aver/=(double)N,所以大家在考試的時候要時刻注意你的變數類型,特別是在一些求平均值的題目中,千萬要注意,用sum/n的時候,sum的類型一定不要用整形。

第三條:不要使用快捷鍵!!很多人在使用TC的時候習慣於用F9,CTRL+F9或者其他的熱鍵,
首先F9隻是編譯了,並沒有運行程序,考試一定要運行一下你的程序才會有輸出文件,
否則一定是0分。
熱鍵在考試的時候是很危險的,因為UCDOS的熱鍵和TC的沖突,CTRL+F9變成了全形半形轉換,
如果不小心按了,會導致你的程序有中文字元,編譯的時候出錯,而且很難查找排除錯誤~!
所以建議大家在考試的時候使用ALT+紅色字母 來調出菜單進行編譯調試等步驟,建議步驟為:
寫完代碼後用ALT+F,S存檔,然後ALT+C,M編譯,然後ALT+R,R運行,這樣就萬無一失了。

第四條:不要載入任何輸入法
上機考試用的DOS環境內存十分有限,如果你載入了任何一個輸入法,都有可能造成編譯程序的時候出現out of memory 內存不足的情況,到那時就麻煩了。
程序只要寫的對就可以,不要畫蛇添足的加註釋,沒有人看的~!
第五條:不要提前交卷!考場一般使用NOVELL網路,有的時候存在網路狀況不好而連接失敗等問題,
這時,如果你已經提前交卷的話就不太好了。另外也可以防止別人有意無意的改動你的程序。
第六條:考試時候的一些技巧。
1、進入TC以後如果想查看題干要求,不用退出TC,直接用F12就可以顯示出來。
2、用F12顯示題目之後可以通過CTRL+BACKSPACE把題目定在屏幕上。
3、編譯運行之後,可以通過type out.dat或edit out.dat或tc out.dat查看輸出文件。
(千萬不要改動!不然影響考試結果。如果不小心改動,再重新編譯運行一次你的程序就可以了)
4、如果考試的時候不小心改動了代碼的主函數或其他部分,可以進入考生目錄下的warn隱藏目錄,
把里邊的備份文件復制到考生目錄。步驟:
在考生目錄下輸入cd warn
輸入 *.c ..輸入cd ..
就可以了
5、如果調試的時候不小心死循環了,可以通過CTRL+C或CTRL+BREAK來終止,如果連按多次都沒反應,
不要慌,立即找監考老師說明情況,可以重新啟動機器繼續答原題,你的程序還在,時間也是繼續剛才的。
所以這也提醒大家,運行程序之前一定要先存檔。

㈧ 求2011年九月以及以前的計算機二級考試C語言試題及答案、以及考試內容分析和解題技巧。記住只要C的。

(1)下面敘述正確的是________。
A)演算法的執行效率與數據的存儲結構無關
B)演算法的空間復雜度是指演算法程序中指令(或語句)的條數
C)演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
D)演算法的時間復雜度是指執行演算法程序所需要的時間
(1)C
知識點:演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)
評 析:演算法的設計可以避開具體的計算機程序設計語言,但演算法的實現必須藉助程序設計語言中提供的數據類型及其演算法。數據結構和演算法是計算機科學的兩個重要支柱。它們是一個不可分割的整體。演算法在運行過程中需輔助存儲空間的大小稱為演算法的空間復雜度。演算法的有窮性是指一個演算法必須在執行有限的步驟以後結束。演算法的時間復雜度是指執行演算法所需要的計算工作量,即演算法執行過程中所需要的基本運算次數。
(2)以下數據結構屬於非線性數據結構的是________。
A)隊列 B)線性表 C)二叉樹 D)棧
(2)C
知識點:棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算
評 析:線性表、棧和隊列等數據結構所表達和處理的數據以線性結構為組織形式。棧是一種特殊的線性表,這種線性表只能在固定的一端進行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個新元素只能從棧頂一端進入,刪除時,只能刪除棧頂的元素,即剛剛被插入的元素。所以棧又稱後進先出表(Last In First Out)。隊列可看作是插入在一端進行,刪除在另一端進行的線性表,允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,只能刪除隊頭元素,隊列的最後一個元素一定是最新入隊的元素。因此隊列又稱先進先出表(First In First Out)。二叉樹的數據結構是樹型結構,結構中數據元素之間存在著一對多的關系,因此它是一種非線性數據結構。
(3)在一棵二叉樹上第8層的結點數最多是________。
A)8 B)16 C)128 D)256
(3)C
知識點:二叉樹的定義及其存儲結構
評 析:根據二叉樹的性質:二叉樹第i(I>1)層上至多有2i-1個結點。得到第8層的結點數最多是128。
(4)下面描述中,不符合結構化程序設計風格的是________。
A)使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯
B)自頂向下
C)注重提高程序的執行效率
D)限制使用goto語句
(4)C
知識點:結構化程序設計
評 析:結構化程序設計方法的四條原則是:1.自頂向下:2.逐步求精;3.模塊化;4.限制使用goto語句。「自頂向下」是說,程序設計時,應先考慮總體,後考慮細節,先考慮全局目標,後考慮局部目標;「逐步求精』』是說,對復雜問題,應設計一些子目標作過渡,逐步細節化;「模塊化」是說,一個復雜問題肯定是由若干稍簡單的問題構成,解決這個復雜問題的程序,也應對應若干稍簡單的問題,分解成若干稍小的部分。
(5)下面概念中,不屬於面向對象方法的是________。
A)對象、消息 B)繼承、多態 C)類、封裝 D)過程調用
(5)D
知識點:面向對象的程序設計方法、對象、方法、屬性及繼承與多態性
評 析:面向對象方法是一種運用對象、類、封裝、繼承、多態和消息等概念來構造、測試、重構軟體的方法。面向對象方法從對象出發,發展出對象、類、消息、繼承等概念。
(6)在結構化方法中,用數據流程圖(DFD)作為描述工具的軟體開發階段是________。
A)可行性分析 B)需求分析 C)詳細設計 D)程序編碼
(6)B
知識點:結構化設計方法
評 析:軟體開發階段包括需求分析、總體設計、詳細設計、編碼和測試五個階段。其中需求分析階段常用的工具是數據流程圖和數據字典。
(7)軟體生命周期中所花費用最多的階段是________。
A)詳細設計 B)軟體編碼 C)軟體測試 D)軟體維護
(7)D
知識點:軟體工程基本概念,軟體生命周期概念,軟體工具與軟體開發環境
評 析:軟體生命周期分為軟體定義、軟體開發及軟體運行維護3個階段。本題中詳細設計、軟體編碼和軟體測試都屬於軟體開發階段;維護是軟體生命周期的最後一個階段,也是持續時間最長,花費代價最大的一個階段,軟體工程學的一個目的就是提高軟體的可維護性,降低維護的代價。
(8)資料庫系統的核心是________。
A)數據模型 B)DBMS C)軟體工具 D)資料庫
(8)B
知識點:資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統
評 析:資料庫管理系統DBMS是資料庫系統的核心。DBMS是負責資料庫的建立、使用和維護的軟體。DBMS建立在操作系統之上,實施對資料庫的統一管理和控制。用戶使用的各種資料庫命令以及應用程序的執行,最終都必須通過DBMS。另外,DBMS還承擔著資料庫的安全保護工作,按照DBA所規定的要求,保證資料庫的完整性和安全性。
(9)下列敘述中正確的是________。
A)數據處理是將信息轉化為數據的過程
B)資料庫設計是指設計資料庫管理系統
C)如果一個關系中的屬性或屬性組並非該關系的關鍵字,但它是另一個關系的關鍵
字,則稱其為本關系的外關鍵字
D)關系中的每列稱為元組,一個元組就是一個欄位
(9)C
知識點:數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型
評 析:數據處理是指將數據轉換成信息的過程,故選項A敘述錯誤;設計資料庫的目的實質上是設計出滿足實際應用需求的實際關系模型,故選項B敘述錯誤;關系中的行稱為元組,對應存儲文件中的記錄,關系中的列稱為屬性。對應存儲文件中的欄位,故D選項敘述錯誤。
(10)下列模式中,_______是用戶模式。
A)內模式 B)外模式 C)概念模式 D)邏輯模式
(10)B
知識點:資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統
評 析:資料庫管理系統的三級模式結構由外模式、模式和內模式組成。外模式,或稱子模式,或稱用戶模式,是指資料庫用戶所看到的數據結構,是用戶看到的數據視圖。模式,或稱邏輯模式,是資料庫中對全體數據的邏輯結構和特性的描述,是所有用戶所見到的數據視圖的總和。外模式是模式的一部分。內模式,或稱存儲模式,或稱物理模式,是指數據在資料庫系統內的存儲介質上的表示。即對數據的物理結構和存取方式的描述。
36)演算法的時間復雜度是指_______。
A)執行演算法程序所需要的時間
B)演算法程序的長度
C)演算法執行過程中所需要的基本運算次數
D)演算法程序中的指令條數
(36)C
知識點:演算法復雜度的概念和意義(時問復雜度與空間復雜度)
評析:所謂演算法的時間復雜度,是指執行演算法所需要的計算工作量。為了能夠比較客觀地反映出一個演算法的效率,在度量一個演算法的工作量時,不僅應該與所使用的計算機、程序設計語言以及程序編制者無關,而且還應該與演算法實現過程中的許多細節無關。為此,可以用演算法在執行過程中所需基本運算的執行次數來度量演算法的工作量。
(37)下列敘述中正確的是_______。
A)線性表是線性結構 B)棧與隊列是非線性結構
C)線性鏈表是非線性結構 D)二叉樹是線性結構
(37)A
知識點:線性結構與非線性結構的概念
評析:根據數據結構中各數據元素之間相關聯關系的復雜程度,一般將數據結構分為兩大類型:線性結構與非線性結構。如果一個非空的數據結構滿足下列兩個條件: (1)有且只有一個根結點; (2)每一個結點最多有一個前件,也最多有一個後件。則稱該數據結構為線性結構,又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。
(38)下面關於完全二叉樹的敘述中,錯誤的是_______。
A)除了最後一層外,每一層上的結點數均達到最大值
B)可能缺少若干個左右葉子結點
C)完全二叉樹一般不是滿二叉樹
D)具有結點的完全二叉樹的深度為[log2n]+l
(38)B
知識點:二叉樹的定義及其存儲結構
評析:這里考察完全二又樹與滿二叉樹的定義及二叉樹的性質。滿二叉樹指除最後一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最後一層外,每一層上的結點數均達到最大值,在最後一層上只缺少右邊的若乾子結點(葉子結點)的二叉樹。因此選項A是正確的,而選項B是錯誤的。由定義可知,滿二叉樹肯定是完全二又樹,而完全二又樹一般不是滿二叉樹,因此選項c是正確的敘述。選項D即二又樹性質(5),也是正確的。
(39)結構化程序設計主要強調的是_______。
A)程序的規模 B)程序的易讀性
C)程序的執行效率 D)程序的可移植性
(39)B
知識點:結構化程序設計
評析:結構化程序設計主要強調的足結構化程序清晰易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試.以保證程序的正確性。
(40)在軟體生命周期中,能准確地確定軟體系統必須做什麼和必須具備哪些功能的階段是_______。
A)概要設計 B)詳細設計 C)可行性分析 D)需求分析
(40)D
知識點:軟體工程基本概念,軟體生命周期概念,軟體工具與軟體開發環境
評析:通常,將軟體產品從提出、實現、使用維護到停止使用退役的過程稱為軟體生命周期。也就是說,軟體產品從考慮其概念開始,到該軟體產品不能使用為止的整個時期都屬於軟體生命周期。軟體生命周期的主要活動階段為:
① 可行性研究和計劃制定。確定待開發軟體系統的開發目標和總的要求,給出它的功能、性能、可靠性以及介面等方面的可行方案,制定完成開發任務的實施計劃。
②需求分析。對待開發軟體提出的需求進行分析並給出詳細定義,即准確地確定軟體系統的功能。編寫軟體規格說明書及初步的用戶手冊,提交評審。
③軟體設計。系統設計人員和程序設計人員應該在反復理解軟體需求的基礎上,給出軟體的結構、模塊的劃分、功能的分配以及處理流程。
④軟體實現。把軟體設計轉換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。
⑤軟體測試。在設計測試用例的基礎上,檢驗軟體的各個組成部分。編寫測試分析報告。
⑥運行和維護。將已交付的軟體投入運行,並存運行使用中不斷地維護,根據新提出的需求進行必要而且可能的擴充和刪改。
(41)數據流圖用於抽象描述一個軟體的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬於數據流圖合法圖符的是_______。
A)控制流 B)加工 C)數據存儲 D)源和潭
(41)A
知識點:結構化分析方法,數據流圖,數據字典,軟體需求規格說明書
評析:數據流圖從數據傳遞和加工的角度,來刻畫數據流從輸入到輸出的移動變換過程。數據流圖中的主要圖形元素有:加工(轉換)、數據流、存儲文件(數據源)、源和潭。
(42)軟體需求分析一般應確定的是用戶對軟體的_______。
A)功能需求 B)非功能需求 C)性能需求 D)功能需求和非功能需求
(42)D
知識點:結構化設計方法
評析:軟體需求分析中需要構造一個完全的系統邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟體的功能需求和非功能需求。
(43)下述關於資料庫系統的敘述中正確的是_______。
A)資料庫系統減少了數據冗餘
B)資料庫系統避免了一切冗餘
C)資料庫系統中數據的一致性是指數據類型的一致
D)資料庫系統比文件系統能管理更多的數據
(43)A
知識點:資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統
評析:由於數據的集成性使得數據可為多個應JH=j所共享,特別是在網路發達的今天,資料庫與網路的結合擴大了數據關系的應用范圍。數據的共享自身義可極大地減少數據冗餘性,不僅減少了不必要的存儲空間,更為重要的是可以避免數據的不一致性。所謂數據的一致性是指在系統中同一數據的不同出現應保持相同的值,而數據的不一致性指的是同一個數據在系統的不同拷貝處有不同的值。
(44)關系表中的每一橫行稱為一個_______。
A)元組 B)欄位 C)屬性 D)碼
(44)A
知識點:資料庫的基本概念:資料庫.資料庫管理系統,資料庫系統
評析:在關系資料庫中,關系模型採用二維表來表示,簡稱「表」。二維表是由表框架及表元組組成。在表框架中,按行可以存放數據,每行數據稱為元組。
(45)資料庫設計包括兩個方面的設計內容,它們是_______。
A)概念設計和邏輯設計 B)模式設計和內模式設計
C)內模式設計和物理設計 D)結構特性設計和行為特性設計
(45)A
知識點:資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略
評析:資料庫設計可分為概念設計與邏輯設計。資料庫概念設計的目的是分析數據問內存語義關聯,在此基礎上建立一個數據的抽象模型。資料庫邏輯設計的主要工作是將E-R圖轉換為指定的RDBMS中的關系模型。
(61)字元(char)型數據在微機內存中的存儲形式是________。
A)反碼 B)補碼
C)EBCDIC碼 D)ASCII碼
(61)D
知識點:字元數據在內存中的存儲形式
評析:將一個字元常量放到一個字元變數中,實際上並不是把該字元本身放到內存單元中去,而是將該字元的ASCII碼值放到存儲單元中。
71)演算法的空間復雜度是指_______。
A)演算法程序的長度 B)演算法程序中的指令條數
C)演算法程序所佔的存儲空間 D)演算法執行過程中所需要的存儲空間
(71)D
知識點:演算法的復雜度
評析:一個演算法的空間復雜度,一般是指執行這個演算法所需的內存空間。
一個演算法所佔用的存儲空間包括演算法程序所佔的空間、輸入的初始數據所佔的存儲空間以及演算法執行過程中所需要的額外空間。
(72)下列關於棧的敘述中正確的是_______。
A)在棧中只能插入數據 B)在棧中只能刪除數據
C)棧是先進先出的線性表 D)棧是先進後出的線性表
(72)D
知識點:棧的輸入輸出操作
評析:棧是限定在一端進行插入與刪除的線性表。
棧是按照「先進後出」的或「後進先出」的原則組織數據的,因此,棧也被稱為「先進後出」表或「後進先出」表。
(73)在深度為5的滿二叉樹中,葉子結點的個數為_______。
A)32 B)31 C)16 D)15
(73)C
知識點:二叉樹的概念
評析:所謂滿二叉樹是指除最後一層外,每層上的所有結點都有兩個子結點。也就是說,在滿二又樹中,每一層上的結點數都達到最大值,即在滿二叉樹的第K層上有2k-1個結點,且深度為m的滿二叉樹有2m個結點。
在滿二叉樹中,最後一層的結點個數就是葉子結點的個數,本題中深度為5,故葉子結點數為25-1=24==16。
(74)對建立良好的程序設計風格,下面描述正確的是_______。
A)程序應簡單、清晰、可讀性好 B)符號名的命名要符合語法
C)充分考慮程序的執行效率 D)程序的注釋可有可無
(74)A
知識點:程序設計風格
評析:要形成良好的程序設計風格,主要應注重和考慮下述一些因素:符號名的命名應具有一定的實際含義,以便於對程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫應優先考慮清晰性,除非對效率有特殊要求,程序編寫要做到清晰第一,效率第二。
(75)下面對對象概念描述錯誤的是_______。
A)任何對象都必須有繼承性 B)對象是屬性和方法的封裝體
C)對象問的通訊靠消息傳遞 D)操作是對象的動態性屬性
(75)A
知識點:對象的概念
評析:對象是由數據和容許的操作組成的封裝體,與客觀實體有直接的對應關系。對象之間通過傳遞消息互相聯系,以模擬現實世界中不同事物彼此之間的聯系。
(76)下面不屬於軟體工程的3個要素的是_______。
A)工具 B)過程 C)方法 D)環境
(76)D
知識點:軟體:[程的要素
評析:軟體工程包括3個要素,即方法、工具和過程。
(77)程序流程圖(PFD)中的箭頭代表的是_______。
A)數據流 B)控制流 C)調用關系 D)組成關系
(77)B
知識點:軟體設計工具
評析:程序流程圖(PFD)是一種傳統的、應用廣泛的軟體過程設計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。
(78)在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和資料庫系統階段。其中數據獨立性最高的階段是_______。
A)資料庫系統 B)文件系統 C)人工管理 D)數據項管理
(78)A
知識點:數據管理技術的發展
評析:在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和資料庫系統階段。其中數據獨立性最高的階段是資料庫系統。

㈨ C語言筆試或面試一般會問到什麼問題

既然是面試,一定要提前准備,最好准備一套自我介紹,包括對IT行業的看法之類,面試官經常會問這些問題。

由於c語言是程序員工作語種的其中1個,所以對於程序員這個工種,還是有一些具體的注意事項:

第一、基礎很重要,不要生疏了。

不管應聘什麼開發崗位,基礎永遠是最重要的。IT業不停地在炒作新概念,昨天是SOA,今天是雲計算。我們永遠不知道明天流行什麼,但是只要有踏實的基礎,輔以較好的學習能力,要跟上步伐也不會太難。所以絕大多數公司都會特別看重應聘人員的基礎能力,比如編程語言本身的特性、基本的演算法和數據結構、進程間通信等等,畢竟這些具體技術問題有客觀的答案,而且在各具體行業都是相通的。
工作三年以上的人,往往都習慣了「拷貝+修改」式的工作,用不到的基礎知識基本上都忘掉了,一到應聘的時候就難免眼高手低,總是抓不住機會。
而事實上,技術基礎即便是遺忘了,也是可以很快撿起來的。如果求職者確實忘了很多基礎知識,那麼參加面試的前夜,花點時間把大學里的課本再翻出來看看吧。似乎很土的方法,但確實是有效的。

第二、要關注技術前沿。

不管做任何工作,如果只顧著低頭做事,而不曉得抬頭看天。那麼不管做多久,自身的水平總是停留在畢業時的水平;如果基礎又忘記了太多,那還不如畢業生。
關注技術前沿,並不是要求跟進每一個新技術,而只需關注目前主流媒體經常宣傳的一些新技術、新思想。關注這些技術前沿的動向,並能與自己從事的工作聯系起來作一些深入思考,那麼這是向面試官宣揚求職者的學習能力的一種好辦法。

第三、小公司比較看重知識的廣度,大公司更看重知識的深度。

如果求職業想去一些小公司工作,那麼由於他們人少,分工沒那麼細,所以用人單位大多喜歡知識面廣的應聘者——求職者會聽到更多的「怎麼做」。對於應聘這樣的公司,求職者可以著重培養知識的廣度,比如做網站後台開發,最好也能js、css、apache、mysql都懂一些,能獨自搭建一套完整的網站,這樣去很多小公司難度都不太大。但是由於個人的精力總是有限的,所以要注意不要鋪得太開,重點還是在後台開發本身。
而大公司由於分工比較明細,所以往往更喜歡考量重點知識面的深度——求職者會聽到更多的「為什麼」。所以平常解決問題時,不要光搜索一把解決了就完了,還需要仔細研究各種問題的來龍去脈,並能分析總結,將這些收獲系統化、理論化。
當然,廣度和深度的需求不是絕對的,一個優秀的開發人員應該對至少一到兩個專業領域有著深入的了解,並熟悉其他相關領域,也就是所謂的一專多能。

第四、良好的簡歷設計可以為你的應聘加分。

社會應聘的簡歷往往比校園應聘的簡歷寫得隨意,因為有工作經驗的人往往認為面試官會更看重他的工作經驗,而不是簡歷格式。其實不然。
大多數簡歷只會出現在面試官面前10秒到1分鍾不等。這個短短的時間內,如何讓求職者脫穎而出?這個方面有很多的攻略,我只說重點建議,不解釋原因。
一是簡歷要突出優勢,而不是描述經歷。比如出身名校、就職過名企、參與過著名項目、拿過大獎,這些比較客觀的優勢要重點突出。如果求職者沒有UI的功底,那麼簡單地放大加粗也可以達到效果。當然有些公司只接受文本型簡歷,那就設法加一些特殊符號吧。
二是技術簡歷減少模糊化的語句,最好能數字化。例如項目代碼量,維護的數據量,網站的訪問量,請求平均耗時等等。
三是簡歷要能結合應聘崗位做一些匹配的修改。撇開招聘網站通用的簡歷不談,如果求職者明確對一個特定公司的特定崗位投出簡歷,那麼求職者有必要把跟對應崗位無關的內容弱化,並強化跟其業務相關的內容。如果實在行業差別太大,那麼表達幾句對其行業的見解和興趣也是可以的。

第五、要有積極的溝通意識。

優秀的面試官會激勵應聘者講他原先工作的內容,並從而評估出應聘者的能力水平。但隔行如隔山,絕大多數面試官會慢慢將問題引向自己熟悉的領域——這往往又是應聘者不太熟悉的領域。這就要求應聘者能積極分析面試官的興趣點,並將自己相近的特長表現出來。
如果跟面試官有了意見沖突,也盡量不要再同一個問題上糾纏。那也許是故意製造的陷阱——看看求職者的團隊意識。應聘者需要明白的是,在面試場合中不要妄圖「戰勝」面試官,即便是碰上一個期望「戰勝」應聘者的面試官。

第六、要有良好的表達能力。

沒有哪個面試官喜歡啰啰嗦嗦說了半天還是沒說到點子上的應聘者,所以要盡量簡明扼要地回答問題,除非面試官確實表現出對具體細節的興趣。 回答問題時注意麵試官的情緒變化,一旦他表現出任何想打斷的意願,立即一句話結束這個話題。有些比較復雜的問題,可以先思考十到二十秒鍾,因為一旦開口就沒有思考的時間,話多的人不容易收住話題。
跟學校考試不一樣,大多數主觀性問題並不要求應聘者一二三四說得滴水不漏,能說到大部分關鍵點就是可以的了。另外注意,各種技術術語不要搞混了。搞不清楚的理論概念,不如不說。免得面試官聽到個術語就拉出來窮追猛打,把自己問掛。

第七、自信。

大多數做技術的,平時都信心滿滿,一到應聘的時候卻總覺得自己不懂的東西還太多。回答問題時聲音太小,或者畏畏縮縮用很多「可能」「也許」「大概」。這個不一定影響求職者的錄用,但是不自信的表現無疑會影響在跟HR談薪水時候的議價能力。所以,無論如何,應聘的時候表現得輕松鎮定一些,還是很有好處的。
當然,自信和自大之間往往只有一線之差。千萬小心,不要過度地表現自信搞成了自大,因為HR往往對這一點非常敏感。如果求職者只是要謹慎地表現自信的話,只要回答問題時面帶微笑就夠了。
最後需要特別提醒的是,以上種種其實只不過是應聘時的技巧和注意點而已。職業規劃需要有長遠的眼光和堅持不懈的學習。台上一分鍾,台下十年功。真正的實力還是要在平時工作和學習中進行積累。

㈩ 程序員考試都考哪些內容

程序員要考 計算機基礎,操作系統,資料庫,多媒體,網路基礎,程序設計基礎,軟體工程基礎,數據結構與演算法,標准化和知識產權,安全基礎知識,C語言,以及從VB、C++、JAVA三種語言選一種。
考試形式分為上午考試和下午考試(各75分,150分鍾,一共150分,300分鍾)
上午考試內容:計算機基礎,操作系統,資料庫,多媒體,網路基礎,程序設計基礎,軟體工程基礎,數據結構與演算法,標准化和知識產權,安全基礎知識,計算機英語(其中硬體基礎,網路基礎,程序設計基礎,軟體工程占的比重更大)。
下午考試內容:C語言,數組,數據結構及常用演算法,以及從VB、C++、JAVA三種語言選一種。(二維數組,數據結構中的堆棧及排序等考得比較多。)

閱讀全文

與c語言程序員筆試題相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163