當前位置:首頁 » 編程語言 » c語言雲課堂考試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言雲課堂考試

發布時間: 2022-04-30 17:29:14

1. 網易雲課堂c語言提交通不過

時間溢出了,使用輾轉相除法就能過

2. C語言考試要考什麼

主要是筆試和上機:

理論先行
雖是上機考試,仍需以理論知識為基礎,所以必須將C語言教材從頭到尾學習一遍(應選擇權威教材),如譚浩強的C程序設計(沒有的可以到 http://www.labkt.com/books/html/booklist_1_1.html下載),對C語言的基本概況做到心中有數。

學完教材後,選取一些有代表性的編程範例,如經典百例或南開百題( http://www.labkt.com/c/jc.html),將其語句逐條理解透徹。同時還須注意一點,看的懂未必等於自己就會編寫,應當自己嘗試默寫,從而找出知識薄弱點、思維盲點。

要養成一些良好習慣,比如,代碼書寫格式使用規范的鋸齒形,盡量使用完整表達。如果採用簡化方式,雖然不一定影響運算結果,但有的考試評分標準是按答題要點給分,所以還是不省為妙。

以下是學習C語言過程中容易出現的問題:

1.函數、變數使用前未定義。

2.混淆「=」和「= =」。

3.語句後或預定義的函數名後漏掉分號。

4.將else拼寫成esle、continue拼寫成contiune。

5.括弧搭配錯誤。

6.首地址理解為1。

7. p++與++p區別不清。

8. break、continue運用不當。

9.誤將單引號用於字元串常量,將雙引號用於字元常量。

10. else分句中嵌套條件語句時,漏掉了「if」。

上機實踐

雖然考點、培訓點一般都提供模擬上機,但畢竟時間、地點受到限制,不能保證充分的練習時間,因此很多考生都希望能在自家電腦上進行操作實踐,下面具體談談如何實現在個人電腦上進行練習的方法。

一、簡易環境練習

系統要求:Windows系統

需用軟體:Turbo C 2.0 ( http://www.labkt.com/c/tc2.html)

TC軟體雖然不是標準的Windows程序,但在Windows環境下依然可以使用。為使軟體處於理想運行狀態,運行tc.exe後需要做一些設置:

1.按「漢」按鈕,否則會出現部分亂碼。

2.點擊屬性按鈕,在程序選項卡的「工作目錄」欄中根據上一命令行填入程序所在目錄,「運行」欄選擇最大化,選擇「退出時關閉」。

設置好後即可依照練習冊輸入習題,進行編譯調試。編程中用到的處理數據一般需自建。為了提高效率,可從網上下載習題。這里應留意一些下載習題中的問題,比如遺漏字元、錄入錯誤等,還有一些不易發現的情況,像雙引號的字體不標准、文件擴展名前的句號成了逗號、甚至一些看似無內容的空行中包含著某些ASCII碼,都會影響編程結果。

二、全真環境練習

系統要求:DOS系統

需用軟體:Turbo C 2.0、UCDOS、上機模擬軟體

經過基礎階段學習後,再來進行針對等級考試的練習,這就需要用到模擬軟體了。市面上模擬軟體很容易買到,其操作界面與正式考試完全一樣,還往往匯集了豐富的題庫和答案、源程序、輸入數據,並可進行自我評分。有的還提供筆試題知識點查詢,介紹考試技巧等。

使用模擬軟體前,應先安裝UCDOS(這與真實考試要求一樣,須選5.0以上版本,而且最好採用正式版,否則可能影響軟體使用)。通常情況下在Windows環境下是無法使用模擬軟體的,經過一些專業設置後雖可實現,但僅限於Windows 9X操作系統,而且設置不當易使系統崩潰,所以筆者建議還是在純DOS環境下使用為妥。

3. 求C語言基礎知識試題~急!!!

◆ 基本要求

1.熟悉 Visual C++ 6.0 集成開發環境。

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

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

4.在 Visual C++ 6.0 集成環境下,能夠編寫簡單的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函數的應用)。

◆ 考試方式

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

2.上機:90分鍾,滿分100分

3、上機操作包括:

(1)填空。

(2)改錯。

(3)編程
推薦復習教材《C程序設計》譚浩強主編

4. c語言考試,求答案,急!!急!!

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

(1) 在32位計算機中,一個字長所佔的位元組數為( )。
A) 1
B) 2
C) 4
D) 8

(2) 與十進制數511等值的十六進制數為( )。
A) 1FF
B) 2FF
C) 1FE
D) 2FE

(3) 能將高級語言編寫的源程序轉換成目標程序的是( )。
A) 編程程序
B) 編譯程序
C) 解釋程序
D) 鏈接程序

(4) 在計算機系統中,存儲一個漢字的國標碼所需要的位元組數為( )。
A) 1
B) 2
C) 3
D) 4

(5) 下列帶有通配符的文件名中,能表示文件ABC.TXT的是( )。
A) *BC.?
B) A?.*
C) ?BC.*
D) ?.?

(6) 在多媒體計算機系統中,不能用以存儲多媒體信息的是( )。
A) 光纜
B) 軟盤
C) 硬碟
D) 光碟

(7) DOS命令「COPY/?」的功能是( )。
A) 將當前盤當前目錄中的所有文件復制到當前盤的根目錄下
B) 將當前盤當前目錄中所有以單個字元命名的文件復制到當前盤的根目錄下
C) 以提示方式復制文件
D) 顯示COPY命令的幫助信息

(8) 在Windows環境下,若要將當前活動窗口存入剪貼板,則可以按( )。
A) Ctrl+PrintScreen鍵
B) Ctrl+PrintScreen鍵
C) Shift+PrintScreen鍵
D) PrintScreen鍵

(9) 在Windows環境下,單擊當前應用程序窗口中的「關閉」按鈕,其功能是( )。
A) 將當前應用程序轉為後台運行
B) 退出Windows後再關機
C) 退出Windows後重新啟動計算機
D) 終止當前應用程序的運行

(10) 在Windows環境中,粘貼按鈕是( )。
A) ctrl+A
B) ctrl+C
C) ctrl+X
D) ctrl+V

(11) 以下敘述中正確的是( )。
A) 構成C程序的基本單位是函數
B) 可以在一個函數中定義另一個函數
C) main()函數必須放在其它函數之前
D) 所有被調用的函數一定要在調用之前進行定義

(12) 以下選項中合法的實型常數是( )。
A) 5E2.0
B) E-3
C) .2E0
D) 1.3E

(13) 以下選項中合法的用戶標識符是( )。
A) long
B) _2Test
C) 3Dmax
D) A.dat

(14) 已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進製表示的字元常量『\101』是( )。
A) 字元A
B)字元a
C)字元e
D)非法的常量

(15) 以下非法的賦值語句是( )。
A) n=(i=2,++i);
B)j++;
C) ++(i+1);
D)x=j>0;

(16) 設a和b均為double型變數,且a=5.5、b=2.5,則表達式(int)a+b/b的值是( )。
A)6.500000
B)6
C) 5.500000
D) 6.000000

(17) 已知i、j、k為int型變數,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是( )。
A) scanf(「%2d%2d%2d」,&i,&j,&k);
B) scanf(「%d %d %d」,&i,&j,&k);
C) scanf(「%d,%d,%d」,&i,&j,&k);
D) scanf(「i=%d,j=%d,k=%d」,&i,&j,&k);

(18) 與數學式子 對應的C語言表達式是( )。
A) 3*x^n(2*x-1)
B) 3*x**n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1))
D) 3*pow(n,x)/(2*x-1)

(19) 設有定義:long x=-123456L;,則以下能夠正確輸出變數x值的語句是( )。
A)printf(「x=%d\n」,x);
B) printf(「x=%1d\n」,x);
C)printf(「x=%8dL\n」,x);
D)printf(「x=%LD\n」,x);

(20) 若有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k);printf(「%d,%d\n」,m,i);
}
執行後的輸出結果是( )。
A) 8,6
B) 8,3
C) 6,4
D) 7,4

(21) 已有定義:int x=3,y=4,z=5;,則表達式!(x+y)+z-1 && y+z/2的值是( )。
A) 6
B) 0
C) 2
D) 1

(22) 有一函數, ,以下程序段中不能根據x值正確計算出y值的是( )。
A) if(x>0) y=1; B) y=0;
else if(x==0) y=0; if(x>0) y=1;
else y=-1; else if(x<0) y=-1;
C)y=0; D)if(x>=0)
if(x>=0); if(x>0) y=1;
if(x>0) y=1 ; else y=0;
else y=-1; else y=-1;

(23) 以下選項中,與k=n++完全等價的表達式是( )。
A) k=n,n=n+1
B) n=n+1,k=n
C) k=++n
D) k+=n+1

(24) 以下程序的功能是:按順序讀入10名學生4門課程的成績,計算出每位學生的平均分並輸出,程序如下:
main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(「%f」,&score); sum+=score;}
ave=sum/4.0;
printf(「NO%d:%f\n」,n,ave);
}
}
上述程序運行後結果不正確,調試中發現有一條語句出現在程序中的位置不正確。這條語句是( )。
A) sum=0.0;
B) sum+=score;
C) ave=sun/4.0;
D) printf(「NO%d:%f\n」,n,ave);

(25) 有以下程序段
int n=0,p;
do{scanf(「%d」,&p);n++;}while(p!=12345 &&n<3);
此處do—while循環的結束條件是( )。
A) P的值不等於12345並且n的值小於3
B) P的值等於12345並且n的值大於等於3
C) P的值不等於12345或者n的值小於3
D) P的值等於12345或者n的值大於等於3

(26) 有以下程序
main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(「%d\n」,m);
}
程序運行後的輸出結果是( )。
A) 1
B) 2
C) 3
D) 4

(27) C語言中,函數值類型的定義可以預設,此時函數值的隱含類型是( )。
A) void
B) int
C) float
D) double

(28) 若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是( )。
A) p=q;
B) *p=*q;
C) n=*q;
D) p=n;

(29) 有以下程序
float fun(int x,int y)
{ return(x+y); }
main()
{ int a=2,b=5,c=8;
printf(「%3.0f\n」,fun(int)fun(a+c,b),a-c));
}
程序運行後的輸出結果是( )。
A) 編譯出錯
B) 9
C) 21
D) 9.0

(30) 有以下程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(「%c,%c,」,*c,d);
}
main()
{ char a=』A』,b=』a』;
fun(&b,a); printf(「%c,%c\n」,a,b);
}
程序運行後的輸出結果是( )。
A)B,a,B,a
B) a,B,a,B
C) A,b,A,b
D) b,B,A,b

(31) 以下程序中函數sort的功能是對a所指數組中的數據進行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i
for(j=i+1,j
if(a[i]
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=o;i<10;i++) print(「%d,」,aa[i]);
printf(『\n」);
}
程序運行後的輸出結果是( )。
A)1,2,3,4,5,6,7,8,9,10
B) 10,9,8,7,6,5,4,3,2,1,
C) 1,2,3,8,7.6.5.4.9,10
D) 1,2,10,9,8,7,6,5,4,3

(32) 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf(「%d\n」,j);
}
程序運行後的輸出結果是( )。
A) 4
B) 3
C) 2
D) 1

(33) 有以下程序
main()
{ char a[ ]={『a』,『b』,『c』,『d』, 『e』, 『f』, 『g』,『h』,『\0』}; int i,j;
i=sizeof(a); j=strlen(a);
printf(「%d,%d\b」i,j);
}
程序運行後的輸出結果是( )。
A)9,9
B)8,9
C)1,8
D)9,8

(34) 以下程序中函數reverse的功能是將a所指數組中的內容進行逆置。
void reverse(int a[ ],int n)
{ int i,t;
for(i=0;i{ t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf(「%d\n」,s);
}
程序運行後的輸出結果是( )。
A) 22
B) 10
C) 34
D) 30

(35) 有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0
for(i=0;i<4;i++) s+=aa[i][1];
printf(「%d\n」,s);
}
程序運行後的輸出結果是( )。
A) 11
B) 19
C) 13
D) 20

(36) 有以下程序
#include
main()
{ char *p=「abcde\Ofghjik\0」;
printf(「%d\n」,strlen(p));
}
程序運行後的輸出結果是( )。
A) 12
B) 15
C) 6
D) 5

(37) 程序中頭文件typel.h 的內容是:
#define N 5
#define M1 N*3
程序如下:
#define 「type1.h」
#define M2 N*2
main()
{ int i;
i=M1+M2; printf(「%d\n」,i);
}
程序編譯後運行的輸出結果是:( )。
A) 10
B) 20
C) 25
D) 30

(38) 有以下程序
#include
main()
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen(「d1.dat」「w」);
fprintf(fp,「%d\n」,i);fprintf(fp,「%d\n」j);
fclose(fp);
fp=fopen(「d1.dat」, 「r」);
fp=fscanf(fp,「%d%d」,&k,&n); printf(「%d%d\n」,k,n);
fclose(fp);
}
程序運行後的輸出結果是( )。
A) 20 30
B) 20 50
C) 30 50
D) 30 20

(39) 以下敘述中錯誤的是( )。
A) 二進制文件打開後可以先讀文件的末尾,而順序文件不可以
B) 在程序結束時,應當用fclose函數關閉已打開的文件
C) 在利用fread函數從二進制文件中讀數據時,可以用數組名給數組中所有元素讀入數據
D) 不可以用FILE定義指向二進制文件的文件指針

(40) 有以下程序
#include
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;iprintf(「%d\n」,len);
}
程序編譯連接後生成的可執行文件是ex1.exe,若運行時輸入帶參數的命令行是:
ex1 abcd efg 10<回車>
則運行的結果是:( )。
A) 22
B) 17
C) 12
D) 9

(41) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(「%d\n」,i);
}
程序運行後的輸出結果是( )。
A) -4
B) 1
C) 4
D) 8

(42) 有以下程序
int a=3;
main()
{ int s=0;
{ int a=5; s+=a++; }
s+=a++;printf(「%d\n」,s);
}
程序運行後的輸出結果是( )。
A) 8
B) 10
C) 7
D) 11

(43) 有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t) *s=t-『a』+』A』;
s++;
}
}
main()
{ char str1[100]=「abcddfefdbd」,c=』d』;
ss(str1,c); printf(「%s\n」,str1);
}
程序運行後的輸出結果是( )。
A) ABCDDEFEDBD
B) abcDDfefDbD
C) abcAAfefAbA
D) Abcddfefdbd

(44) 有以下程序
struct STU
{ char num[10]; float score[3]; };
main()
{ struct stu s[3]={{「20021」,90,95,85},
{「20022」,95,80,75},
{「20023」,100,95,90}},*p=s;
int i; float sum=0;
for(i=0;i<3,i++)
sum=sum+p->score[i];
printf(「%6.2f\n」,sum);
}
程序運行後的輸出結果是( )。
A) 260.00
B) 270.00
C) 280.00
D) 285.00

(45) 設有如下定義:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正確的賦值語句是( )。
A) p=&a;
B) p=data.a;
C) p=&data.a;
D) *p=data.a;

(46) 有以下程序
#include
struct NODE
{ int num; struct NODE *next; };
main()
{ struct NODE *p,*Q,*R;
p=(struct NODE*)malloc(sizeof(struct NODE));
q=(struct NODE*)malloc(sizeof(struct NODE));
r=(struct NODE*)malloc(sizeof(struct NODE));
p->num=10; q->num=20; r->num=30;
p->next=q;q->next=r;
printf(「%d\n」,p->num+q->next->num);
}
程序運行後的輸出結果是( )。
A) 10
B) 20
C) 30
D) 40

(47) 若有以下說明和定義
typedef int *INTEGER;
INTEGER p,*q;
以下敘述正確的是( )。
A) P是int型變數
B) p是基類型為int的指針變數
C) q是基類型為int的指針變數
D) 程序中可用INTEGER代替int類型名

(48) 有以下程序
main()
{ unsigned char a,b,c;
a=0x3; b=a|0x8; c=b<<1;
printf(「%d%d\n」,b,c);
}
程序運行後的輸出結果是( )。
A) –11 12
B) –6 –13
C) 12 24
D) 11 22

(49) 有以下程序
#include
main()
{ char *p,*q;
p=(char*)malloc(sizeof(char)*20); q=p;
scanf(「%s%s」,p,q); printf(「%s%s\n」,p,q);
}
若從鍵盤輸入:abc def<回車>,則輸出結果是:( )。
A) def def
B) abc def
C) abc d
D) d d

(50) 以下程序中函數f的功能是將n個字元串按由大到小的順序進行排序。
#include
void f(char p[][10],int n)
{ char t[20]; int i,j;
for(i=0;ifor(j=i+1;jif(strcmp(p[i],p[j])<0)
{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}
}
main()
{ char p[][10]={「abc」,「aabdfg」,「abbd」,「dcdbe」,「cd」};int i;
f(p,5); printf(「%d\n」,strlen(p[0]));
}
程序運行後的輸出結果是( )。
A) 6
B) 4
C) 5
D) 3

二、填空題(每空2分,共40分)
請將答案分別寫在答題卡中序號為【1】至【20】的橫線上,答在試卷上不得分。

1、計算機軟體分為系統軟體和應用軟體,操作系統屬於 [1] 。

2、在DOS環境下,代表鍵盤和顯示器的設備文件名為 [2] 。

3、支持Internet基本服務的協議是 [3] 。

4、從Windows環境進入MS-DOS方式後,返回Windows環境的DOS命令為 [4] 。

5、某微型機的運算速度為2MIPS,則該微型機每秒執行 [5] 條指令。

6、設有定義:int n,*k=&n;以下語句將利用指針變數k讀寫變數n中的內容,請將語句補充完整。
scanf(「%d, 」 [6] );
printf(「%d\n」, [7] 。);

7、以下程序運行後的輸出結果是 [8] 。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(「%d,%d \n」,x,y);
}

8、以下程序運行後的輸出結果是 [9] 。
main()
{ int x=15;
while(x>10 && x<50)
{ x++;
if(x/3){x++;break;}
else continue;
}
printf(「%d\n」,x);
}


9、有以下程序:
#include
main()
{ char c;
while((c=getchar( ))!=』?』) putchar(--c);
}
程序運行時,如果從鍵盤輸入:Y?N?<回車>,則輸出結果為 [10] 。

10、以下程序運行後的輸出結果是 [11] 。
void fun(int x,int y)
{ x=x+y;y=x-y;x=x-y;
printf(「%d,%d,」,x,y); }
main()
{ int x=2,y=3;
fun(x,y);
printf(「%d,%d\n」,x,y);
}

11、以下函數的功能是計算s=1+ + +……+ ,請填空。
double fun(int n)
{ double s=0.0,fac=1.0; int i;
for(i=1,i<=n;i++)
{ fac=fac [12] ;
s=s+fac;
}
return s;
}


12 fun函數的功能是:首先對a所指的N行N列的矩陣,找出各行中的最大的數,再求這N個最大值中的最小的那個數作為函數值返回。請填空。
#include
#define N 100
int fun(int(*a)[N])
{ int row,col,max,min;
for(row=0;row{ for(max=a[row][0],col=1;colif( [13] )max=a[row][col];
if( row==0)min=max;
else if( [14] )min=max;
}
return min;
}

13、函數sstrcmp()的功能是對兩個字元串進行比較。當s所指字元串和t所指字元串相等時,返回值為0;當s所指字元串大於t所指字元串時,返回值大於0;當s所指字元串小於t所指字元串時,返回值小於0(功能等同於庫函數strcmp())。請填空。
#include
int sstrcmp(char *s,char *t)
{ while(*s&&*t&& *s== [15] )
{ s++;t++;}
return [16] ;
}

14、下面程序的運行結果是 [17] 。
#define N 10
#define s(x) x*x
#define f(x) (x*x)
main()
{ int i1,i2;
i1=1000/s(N); i2=1000/f(N);
printf(「%d %d\n」,i1,i2);
}

15、下面程序的運行結果是: [18] 。
void swap(int *a,int *b)
{ int *t;
t=a; a=b; b=t;
}
main()
{ int x=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf(「%d%d\n」,*p,*q);
}

16、下面程序的運行結果是: [19] 。
typedef union student
{ char name[10];
long sno;
char sex;
float score[4];
}STU;
main()
{ STU a[5];
printf(「%d\n」,sizeof(a));
}

(17) 函數sstrcmp()的功能是對兩個字元串進行比較。當s 所指字元串和t所指字元相等時,返回值為0;當s所指字元串大於t所指字元串時,返回值大於0;當s所指字元串小於t所指字元串時,返回值小於0(功能等同於庫函數strcmp())。請填空。
#include <stdio.h>
int sstrcmp(char *s,char *t)
{while(*s&&*t&&*s==【19】)
{s++;t++; }
return 【20】;
}

5. c語言考試流程

計算機二級C語言考試的流程:
1. 筆試:90分鍾,滿分100分,其中含公共基礎知識部分的30分。
2. 上機操作:90分鍾,滿分100分。
上機操作包括:
(1) 基本操作。
(2) 簡單應用。
(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函數的應用)。

6. C語言考試卷。。。請教各位大仙!!

16 A 17 D 19 C 20 C
22 B 23 D 24 C 25 A
27 B 28 B 29 C

35 題:
#include"stdio.h"
main()
{ int year,mon;
scanf("%d%d",&year,&mon);
switch(mon)
{ case 1:case 3: case 5: case 7:case 8: case 10: case 12: printf("%d",31);break;
case 4:case 6: case 9: case 11: printf("%d",30);break;
case 2:
if(year%4==0 && year%100!=0 || year%400==0) printf("%d",29);
else printf("%d",28);
}
}

36 題:

#include "stdio.h"
#include "conio.h"
main()
{
long g,s,q,w,x;
scanf("%ld",&x);
w=x/10000;
q=x%10000/1000;
s=x%100/10;
g=x%10;
if(g==w&&s==q)/*個位等於萬位並且十位等於千位*/
printf("它是迴文數\n");
else
printf("它不是迴文數\n");
getch();
}

7. C語言考試題

//word編輯,大小寫可能有問題
一、填空題
1、一個C語言程序的語句至少應包含一個__函數____。
2、C語言源程序文件的擴展名是__ .C ____,經過編譯、連接後,生成文件的擴展名是__編譯後為.obj 連接後為.exe ____。
3、結構化程序由 順序 、___選擇___和___循環___三種基本結構組成。
4、C語言的執行是從__main()函數____開始執行的。
5、C源程序的語句分隔符是___;___。
6、在C語言中,用關鍵字__float____定義單精度實型變數。
7、表達式S=12應當讀做「__把12賦值給變數S____」。
8、C語言源程序的基本單位是___函數___。
9、設int x=9,y=8;表達式x-=y+1的結果是___0___。
10、若a為整型變數,a=12,則表達式:a * =2+3的值___60___。
11、調用C語言對輸入輸出處理的庫函數時,在# include命令行中應包含的頭文件是__stdio.h___。
12、表達式9%5的結果是_4____。
13、若a為整型變數,a=12,則表達式:a+=4的值___16___。
14、在C語言中,要求運算數必須是整型的運算符是___%___。
15、在C語言中,用___非0___表示邏輯「真」值。
16、表達式10/3的結果是__3____。
17、通常一個位元組包含___8___個二進制位。
18、 假設所有變數均為整型,a=2,b=5,b++則表達式a+b的值是___8___。
19、在C語言中,最基本的數據類型只有四種,它們分別是:___int___、___char___、___float___和double。
20、一個C程序有且僅有一個__main()____函數。
21、若a為整型變數,a=12,則表達式:a-=2的值__10____。
22、在C語言中,有三種邏輯運算符,它們分別是:___!___、___&&___、___||___。
23、在C語言中,字元輸入函數和字元輸出函數分別是:__getchar()____和___putchar()___。
24、C程序開發的四個步驟是___編輯___、___編譯___、___鏈接___和執行。
25、C程序的結構分別是:順序結構、__選擇結構____、__循環結構____。
26、if語句中的表達式可以是關系表達式、__邏輯表達式____、___條件表達式___。
27、__?:____是C語言中惟一一個三元運算符。
28、C語言提供的預處理命令主要包括如下三種:宏定義、__文件包含____、___條件編譯___。

二、閱讀程序,寫出下列程序運行結果。
1、2

2、K
3、a 97
4、無結果
三、編寫程序
1、編寫一個C程序,輸入a、b、c 3個數,輸出其中最大的數。
#include<stdio.h>
Void main()
{
Int a,b,c;
Printf("請輸入三個數");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的數:%d",a);
}

求1—50的之和。
#include<stdio.h>
Void mian()
{
Int sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和為:%d",sum);
}
從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。
#include<stdio.h>
Void mian()
{
Char c;
Printf("請輸入一個字母");
Scanf("%c".&c);
Printf("它的小寫字母為%c",c+32);
}

利用while語句,計算1+1/2+1/4+…+1/100的值,並顯示出來。
#include<stdio.h>
Void mian()
{
Float sum=0,temp;
Int i =1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("結果為%d",sum);
}

輸入兩個整數,輸出其中的大數。
#include<stdio.h>
Void mian()
{
Int a,b;
Printf("請輸入兩個數");
Scanf("%d%d".&a,&b);
Printf("大數是:%d"a>b?a:b);
}

6、利用while語句,計算1+1/3+1/5+…+1/99的值,並顯示出來。
#include<stdio.h>
Void mian()
{
Int i =1;
Float sum=0,temp=0;
While(i<=99)
{
Temp =1/i;
Sum+=temp;
I=i+2;
}
Printf("結果為: %f",sum),
}

8. C語言課設題--考試系統(有高手幫幫看看)

1)建立考題庫
分別用兩個模塊實現考題的錄入功能,如圖1,要求用密碼確定進入本模塊
選擇題庫用"file1.dat"文件中存放選擇題,包括:題號 題目 abc選項內容 正確答案;
在判選擇題卷時,把答案結果與file1.dat文件中的正確答案比較,一致給10分 否則給0分
(2)考試答題
其主要功能是考試進入考試題庫,開始考試
主要內容包括
確定考生身份,考升首先輸入學號和姓名,然後 檢查該考生的學號是否已經在文件"num_name.dat"中,如果已經在該文件中,則說明該學生已考過一次,不允許再考.如果考升沒有記錄,則該考生的學號和姓名存放在num_name.dat中,作為已考過的學生記錄
驗證考生身份後,開始考試,要求選擇題10道,通過調整用文件file1.dat題庫,抽取考題,考生答一道,確認一次是否繼續,如果繼續則再抽去一道題由考生答
最多隻能打10道題,系統就推出考試答題
做完題又顯示主菜單,但這時不允許再選擇考試答踢
選擇"顯示考試結果"彩單時,要求修改某題目的答案
選擇"顯示本人分數並推出"菜單時,要求顯示學生的分數,然後推出本系統
(3)統計分析
統計分析是為管理者設計的,系統首先確定管理者身份後才能進入本模塊,如果密碼不正確,程序不能進入本模塊,返回到主菜單.主要包括:顯示所有考生分數,考生信息查詢
顯示所有考生分數,分屏幕顯示所有已考試學生的學號 姓名 分數
考生信息查詢,可以按學號查詢某考生,並顯示該考生的學號 姓名 分數 各題目 正確答案和考生答案,如果是選擇題 還顯示abcd選項內容
(4)選擇0.退出系統
以下是3個有關的圖 請高手幫忙啊
|-----------------------------------|
| 請輸入選項編號(0--3) |
|-----------------------------------|
| 1---建立試題庫 |
| 2---考試答題 |
| 3---統計分析 |
| 0---退出 |
|-----------------------------------|

|----------------------------------|
| 請輸入選項編號(0-4) |
|----------------------------------|
| 1---開始作題 |
| 2---顯示作題結果 |
| 3---修改答案 |
| 4---顯示本人分數並退出 |
| 0---退出 |

9. C語言考試

1、一個C語言程序的語句至少應包含一個___main函數___。
2、C語言源程序文件的擴展名是__
.C
____,經過編譯、連接後,生成文件的擴展名是__
.h
____。
3、結構化程序由順序結構、___選擇___和___循環___三種基本結構組成。
4、C語言的執行是從____main函數__開始執行的。
5、C源程序的語句分隔符是___分號___。
6、在C語言中,用關鍵字_____float_定義單精度實型變數。
7、表達式S=12應當讀做「___把12賦值給S___」。
8、C語言源程序的基本單位是___函數___。
9、設int
x=9,y=8;表達式x-=y+1的結果是___0___。
10、若a為整型變數,a=12,則表達式:a
*
=2+3的值___60__。
11、調用C語言對輸入輸出處理的庫函數時,在#
include命令行中應包含的頭文件是___stdio.h___。
12、表達式9%5的結果是__4____。
13、若a為整型變數,a=12,則表達式:a+=4的值_16_____。
14、
在C語言中,要求運算數必須是整型的運算符是__%____。
15、在C語言中,用____非零整數__表示邏輯「真」值。
16、表達式10/3的結果是__3____。
17、通常一個位元組包含__8____個二進制位。
18、
假設所有變數均為整型,a=2,b=5,b++則表達式a+b的值是_8_____。
19、在C語言中,最基本的數據類型只有四種,它們分別是:_int_____、___float___、__char____和double。
20、一個C程序有且僅有一個____main__函數。
21、若a為整型變數,a=12,則表達式:a-=2的值_10____。
22、在C語言中,有三種邏輯運算符,它們分別是:__與____、___或___、__非____。
23、在C語言中,字元輸入函數和字元輸出函數分別是:__getchar____和___putchar___。
24、C程序開發的四個步驟是___輸入與編輯源程序___、__編譯____、__連接____和執行。
25、C程序的結構分別是:順序結構、__選擇結構____、__循環結構____。
26、if語句中的表達式可以是關系表達式、__算術表達式____、__賦值表達式____。
27、__x>y_?x:y___是C語言中惟一一個三元運算符。
28、C語言提供的預處理命令主要包括如下三種:宏定義、__文件包含____、___條件編譯___。
二、閱讀程序,寫出下列程序運行結果。
1、2
2、K
3、a
97
4、無結果
三、編寫程序
1、編寫一個C程序,輸入a、b、c
3個數,輸出其中最大的數。
#include<stdio.h>
Void
main()
{
Int
a,b,c;
Printf("請輸入三個數");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的數:%d",a);
}
求1—50的之和。
#include<stdio.h>
Void
mian()
{
Int
sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和為:%d",sum);
}
從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。
#include<stdio.h>
Void
mian()
{
Char
c;
Printf("請輸入一個字母");
Scanf("%c".&c);
Printf("它的小寫字母為%c",c+32);
}
利用while語句,計算1+1/2+1/4+…+1/100的值,並顯示出來。
#include<stdio.h>
Void
mian()
{
Float
sum=0,temp;
Int
i
=1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("結果為%d",sum);
}
輸入兩個整數,輸出其中的大數。
#include<stdio.h>
Void
mian()
{
Int
a,b;
Printf("請輸入兩個數");
Scanf("%d%d".&a,&b);
Printf("大數是:%d"a>b?a:b);
}
6、利用while語句,計算1+1/3+1/5+…+1/99的值,並顯示出來。
#include<stdio.h>
Void
mian()
{
Int
i
=1;
Float
sum=0,temp=0;
While(i<=99)
{
Temp
=1/i;
Sum+=temp;
I=i+2;
}
Printf("結果為:
%f",sum),
}

10. c語言編程考試

#include<stdio.h>
#include<math.h>

intisPrime(intn){
inti,flag=1;
if(n<2)return0;
for(i=2;i<=sqrt(n)&&flag;++i)
if(n%i==0)flag=0;
returnflag;
}

intmain(){
intn;
FILE*fin=fopen("data.in","rt");
if(fin==NULL){
printf("不能打開文件。 ");
return1;
}
while(!feof(fin)){
if(fscanf(fin,"%d",&n)!=1){
printf(" ");
return2;
}
if(n%2==0)++n;
if(isPrime(n))printf("%d ",n);
}
printf(" ");
fclose(fin);
return0;
}