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

大專c語言考試試卷格式

發布時間: 2023-04-08 19:32:02

⑴ 計算機二級c語言題型及分值分布

C語言程序設計題型分值分布如下:

1. 單選題總共40道,每道題一分,其中基礎知識共10道,總計40分;

2. 程序填空題一般2到4道,看難度給分,總計18分;

3. 程序改錯題一般2到4道,看難度給分,總計18分;

4. 程序設計題1道,根據答出步驟給分,答出越多分越高直至滿分,總計24分。

⑵ 大一C語言期末考試的試題大概是什麼樣子的主要考什麼

主要考程序閱讀題,重點在c語言函數、指針、數組應用幾個方面,要掌握基礎的編程方法,比如排序基本演算法,後面要編程序的

⑶ c語言,程序設計題,如圖

c 語言程序設計練習題 c 語言程序設計練習題 篇一:c 語言程序設計基礎單元總結與練習題及答案 答案 單元一程序設計宏觀認識 單元總結提升 本...

⑷ 試題題目(編程要求): c語言題

第五屆全國ITAT教育工程就業技能大賽復賽試題 C語言程序設計B卷

請考生仔細閱讀並嚴格遵守題目中關於文件保存和命名的要求。

請務必按照試卷要求為文件命名。

考生答題完畢後,首先創建以「准考證號」命名的文件夾(形式如:433034683),並將考試結果嚴格按題目上的命名要求進行命名並直接保存在該文件夾下。

注意:考生不得在該文件夾下創建任何子文件夾,所有考試結果均直接保存在該文件夾根目錄下。

然後選中整個文件夾,用Winrar壓縮工具打包後存放在本考場指定的考試結果存放地址,經監考老師確認上傳無誤後方可離開考場。

注意:在提交答案時,請務必選中上述存放作品的文件夾(如前面創建的433034683文件夾,而不是文件夾下的全部文件)進行壓縮,在完成答案提交後,請確保上述壓縮包仍保存在本地計算機中。

請務必按照試卷要求提交指定的文件,不得包含非題目要求的過程文件和臨時文件,不得包含本試題文件和試題素材。

注意:凡違反上述規定的考生,其成績一律按零分處理。

題目命名要求:請將編寫好的源程序以題號命名,例如第1題的源程序保存為「1.C」 )。

重要提示:由於時間有限,請考生首先保證編寫的程序在Wintc環境下可以編譯通過並執行,並在此基礎上保證完成考題要求的全部功能,以免因編譯不通過影響考生的考試成績。

1、 編程解決如下問題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞, 問雞翁,雞母,雞雛各幾何?(20分)

2、 編程實現:有二維數組a[3][3]=,,},將數組a的每一行元素均除以該行上絕對值最大的元素,按行輸出新數組。(20分)

3、 編程:設x、y取值為區間[1,10]的整數, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定義函數實現f(x,y)功能。(20分)

4、 編寫函數fun,其功能是:在字元串中所有數字字元前加一個「*」字元,要求通過指針實現。(20分)

5、 編程:已知學生記錄由學號和學習成績構成,N名學生的記錄已存入結構體數組中,找出成績最低的學生,並輸出這個學生的信息,已知學生信息如下。(20分)

A01,81;A02,89;A03,66;A04,87;A05,77

A06,90;A07,79;A08,61;A09,80;A10,71

6、 附加題:編寫一個函數InverseByWord(char *sentence),實現一個英文句子按單詞逆序存放的功能,並給出測試程序。(50分)

如:This is an interesting programme.

逆序後變為:.programme interesting an is This

第五屆全國ITAT教育工程就業技能大賽復賽試題
C語言程序設計(A卷)

請考生仔細閱讀並嚴格遵守題目中關於文件保存和命名的要求。請務必按照試卷要求為文件命名。 考生答題完畢後,首先創建以「准考證號」命名的文件夾(形式如:433034683),並將考試結果嚴格按題目上的命名要求進行命名並直接保存在該文件夾下。

注意:考生不得在該文件夾下創建任何子文件夾,所有考試結果均直接保存在該文件夾根目錄下。

然後選中整個文件夾,用Winrar壓縮工具打包後存放在本考場指定的考試結果存放地址,經監考老師確認上傳無誤後方可離開考場。

注意:在提交答案時,請務必選中上述存放作品的文件夾(如前面創建的433034683文件夾,而不是文件夾下的全部文件)進行壓縮,在完成答案提交後,請確保上述壓縮包仍保存在本地計算機中。

請務必按照試卷要求提交指定的文件,不得包含非題目要求的過程文件和臨時文件,不得包含本試題文件和試題素材。

注意:凡違反上述規定的考生,其成績一律按零分處理。

題目命名要求:請將編寫好的源程序以題號命名,例如第1題的源程序保存為「1.C」 。

重要提示:由於時間有限,請考生首先保證編寫的程序在Wintc環境下可以編譯通過並執行,並在此基礎上完成考題要求的全部功能,以免因編譯不通過影響考生的考試成績。

1、編程解決如下數學問題:有12升水,怎樣利用一個8升和一個5升的容器將水分為兩個6升?要求以如下格式列印出分水步驟。(20分)

a12 b8 c5

12 0 0

* * * ( 「*」表示當前狀態下每個容器的盛水量)

......

0 6 6

2、編程實現:有二維數組a[3][3]=,,},將數組a的每一行元素均除以該行上的主對角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行輸出新數組。(20分)

3、編程:設x取值為區間[1,20]的整數,求函數f(x)=x-sin(x)- cos(x)的最大值,要求使用自定義函數實現f(x)功能。(20分)

4、編寫函數fun,通過指針實現將一個字元串反向。要求主函數輸入字元串,通過調用函數fun實現輸入字元串反向。(20分)

5、已知學生三門課程基本信息如下。請使用結構體編程,計算學生三門課程平均成績後,列表輸出學生的姓名、數學、英語、計算機、平均分信息,並按平均分排序。(20分)

姓名 數學 英語 計算機

Mary 93 100 88

Jone 82 90 90

Peter 91 76 71

Rose 100 80 92

6、附加題:編程實現輸入一串英文,統計其中各單詞出現的個數(不區分大小寫字母),以「000」作為字元串輸入結束標志,例如:

Twinkle twinkle little star 000(回車)

twinkle little star

2 1 1 (50分)

⑸ 求一份大一c語言考試試卷,加答案

附件上傳失敗...

C語言期末考試題及答案(1)

1、構成C語言的基本單位是___B____。
過程?
函數?
語句?
命令?
2、設x為整型變數,不能正確表達數學關系:5<x<10的c語言表達式是__B___。
5
x>5&&x<10?
x==6||x==7||x==8||x==9?
!(x<=5)&&(x<10)?
3、在C語言中,邏輯運算符的優先順序從高到低的排列順序為__D___。
&&、||、!?
||、&&、!?
&&、!、||?
!、&&、||?
4、下面語句中,正確的是__D___。
printf("%c\n","student");?
printf("%c\n","c");?
printf("%s\n",&a);?
printf("%s\n","hello");?
5、對於for(表達式1;;表達式3)可以理解為__B___。
for(表達式1;0;表達式3)?
for(表達式1;1;表達式3)?
for(表達式1;表達式1;表達式3)?
for(表達式1;表達式3;表達式3)?
6、執行下面程序段的結果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
7、執行下面程序段的結果是__D___。 int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
8、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___。 If(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
9、如果一個函數被說明為static,那麼__B___。
該函數只能被main函數調用?
該函數能被當前文件的函數調用,但不能被其他文件的函數調用?
該函數不能被當前文件的函數調用,可以被其他文件的函數調用?
任何文件的函數都可以調用該函數?
10、下面關於局部變數的描述中,錯誤的是__D___。
函數的局部變數的有效范圍只能在本函數?
函數的形式參數也是局部變數?
局部變數的名稱不能和函數同名稱?
不同的函數中不能定義相同名稱的局部變數?
11、下列初始化字元數組的語句中,錯誤的是__A___。
char str[5]="hello";?
char str[]={'h','e','l','l','o','\0'};?
char str[5]={"hi"};?
char str[100]="";?
12、引用數組元素時,數組下標可以是__D___。
整型常量?
整型變數?
整型表達式?
以上均可?
13、 已知:char str[10],*p=str; 下面的語句中正確的是__B___。
str="ABC";?
p="ABC";?
*str="ABC";?
*p="ABC";?
14、下面語句中,錯誤的是___D__。
int i;int *p;p=&i;?
int i,*p;p=&a;?
int i,*p=&a;?
int i,*p;*p=i;?
15、下面對於結構體類型的描述正確的是__A___。
結構體類型的大小為各成員變數所佔內存的總和?
結構體類型變數與簡單數據類型變數的引用規則一致。?
結構體類型的大小為其成員中所佔內存空間最大的變數的大小?
結構體類型的大小為其最後一個成員中所佔內存空間的大小?
16、C語言規定:在一個源程序中,main函數的位置____C____。
必須在最開始?
必須在系統調用的庫函數的後面?
可以任意?
必須在最後?
17、表達式18/4*sqrt(4.0)/8值的數據類型是 ___C____。
int?
float?
double?
不確定?
18、在c語言中,char型數據在內存中的存儲形式是 ___D___。
補碼?
反碼?
原碼?
ASCII碼?
19、閱讀以下程序,當輸入的數據形式為:25,13,10<CR>時,正確的輸出結果為___D___。 main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }
x+y+z=48?
x+y+z=35?
x+z=35?
不能確定?
20、有如下程序 void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(「%f\n」,y); } 該程序的輸出結果是( C )。
0.000000?
0.250000?
0.500000?
1.000000?
21、判斷char型變數s是否為小寫字母的正確表達式是__C____。
'a'<=s<='z'?
(s>='a')&(s<='z')?
(s>='a')&&(s<='z')?
('a'<=s)and('z'>=s)?
22、執行以下語句後,y 的值為___A___。 int x,y,z; x=y=z=0; ++x || ++y && ++z;
0?
1?
2?
不確定值?
23、有如下程序段: int number=0; while(number++<=3) printf(「%d\n」,number++); 則正確的執行結果是___C___。
2 3 4?
0 1 2?
1 3?
2 4?
24、有如下程序 void main() { int n=9; while(n>6) { n--; printf(「%d」,n); } } 該程序段的輸出結果是__B___。
987?
876?
8765?
9876?
25、要使以下程序段輸出10個整數,請在空格中填入一個整數。 for(i=0;i<=___B___;printf("%d\n",i+=2));
15?
18?
20?
10?
26、設函數fun的定義形式為: fun(char ch,float x){…} 則以下對函數fun的調用語句中正確的是___B___。
fun(「abc」,3)?
t=fun(『D』,5)?
fun(『ab』,3)?
fun(『78』,1)?
27、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 Main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n;return s;?
s=s+i;return s;?
return s;?
return s+=I;?
28、設函數fun的定義形式為 int fun(int a[],int n) { int s=0,i=0; for(i=0;i<n;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5}; printf("sum=%d", fun(&a[2],2)); } 則程序的運行結果為___C___。
3?
5?
7?
9?
29、若有說明:int a[10];則對數組元素的正確引用是___D____。
a[10]?
a[3,5]?
a(5)?
a[10-10]?
30、以下不正確的定義語句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};?
int y[5]={0,1,3,5,7,9};?
char c1[]={'1','2','3','4','5'};?
char c2[]={'\x10','\xa','\x8'};?
31、下面程序的運行結果是___B____。 #include "stdio.h" main() { char str[]="SWLIA",c; int k; for(k=0;(c=str[k])!='\0';k++) { switch(c) { case 'I':++k;break; c
SWA?
SW*?
SW*A?
SW?
32、以下能正確進行字元串賦值操作的是___D___。
char s[5]={"12345"};?
char s[5]={'1','2','3','4','5',『6』};?
char *s;*s="12345";?
char *s="12345";?
33、以下程序段的運行結果是___C___。 Char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
PROgram?
PROGRAM?
PRO?
proGRAM?
34、若有說明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,則以下敘述正確的是__C____。
*pc[0]代表的是字元串"aaa"的首地址?
*pc[0]代表的是字元'a'的首地址?
pc[0]代表的是字元串"aaa"的首地址?
pc[0]代表的是字元'a'的首地址?
35、下列程序的運行結果是___B___。 #include <stdio.h> #include <string.h> void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) { a=*q1++; *q1=*q2--; *q2=a;} } main() { char b[]="ABCDEFG"; f(b, s
GAGGAGA?
AGAAGAG?
GFEDCBA?
AGADAGA?
36、定義如下的結構體描述同學信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假設此同學的序號為1002,姓名為黎明,班級為冶金3班,則描述正確的為___C__。
id=1002; name=黎明; class=冶金3班;?
id=1002; name=」黎明」; class=」冶金3班」;?
s.id=1002; s.name=」黎明」; s.class=」冶金3班」;?
s.id=1002; s.name=黎明; s.class=冶金3班;?
37、用來描述C程序中注釋的是__C___。
//?
?
**?
38、下列變數中合法的定義是__A___。
short _a=2-1?
long if=0xabcL?
double 1_d=1.5e2?
float a=1.5e2.7?
39、當c的值不為0時,能夠將c的值賦給變數a和b的是__C___
c=b=a?
(a=c)||(b=c)?
(a=c)&&(b=c)?
a=c=b?
40、設有以下程序段,執行後的輸出結果是___B__ int x=100,y=200; printf("%d",(x,y));
100?
200?
100,200?
編譯出錯
C語言期末考試題及答案(2)

1、若執行下面的程序時從鍵盤輸入10,則輸出是__B__ main( ) { int a; scanf(「%d」,&a); if(a++>10) printf(「%d\n」,++a); else printf("%d\n",a--); }
12?
11?
10?
9?
2、執行下面程序段的結果是__D___ int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
3、執行與句:for(n=0;n++<4; ); 後,變數n的值是__C__。
3?
4?
5?
不定?
4、以下關於循環的描述中,錯誤的是__D___。
可以用for語句實現的循環一定可以用while語句實現?
可以用while語句實現的循環一定可以用for語句實現?
可以用do…while語句實現的循環一定可以用while語句實現?
do…while語句與while語句的區別僅僅是關鍵字while的位置不同?
5、下面的描述錯誤的是__C__。
函數可以有多個形式參數?
函數可以沒有返回值?
函數內可以嵌套定義函數?
函數可以被其他函數調用?
6、函數返回值的類型是由__A__決定的。
定義函數時指定的返回類型?
函數中return語句的表達式類型?
主調函數的實際參數類型?
主調函數的返回值類型?
7、定義了一維int型數組a[10]後,下面錯誤的引用是__B__。
a[0]=1;?
a[10]=2;?
a[0]=5*2;?
a[1]=a[2]*a[0];?
8、定義了int型二維數組a[6][7]後,數組元素a[3][4]前的數組元素個數為__B__。
24?
25?
18?
17?
9、下面語句中,錯誤的是__D__。
int i; int *p; p=&i;?
int i,*p; p=&a;?
int i,*p=&a;?
int i,*p; *p=i;?
10、 已知int型二維數組a[3][4],數組元素a[1][2]的地址不能表達為__C__。
&a[1][2]?
a[1]+2?
*a[1]+2?
*(a+1)+2?
11、C語言中,5種基本數據類型的存儲空間長度的排列順序為___A___。
char
char=int
char
char=int=long int<=float
12、假設所有變數均為整型,則表達式(a=2,b=5,b++,a+b)的值是 ___B___。
7?
8?
6?
2?
13、若有說明語句:char c='\72';則變數c ___A___。
包含1個字元?
包含2個字元?
包含3個字元?
說明不合法,c的值不確定?
14、若x,y均定義為整型,z定義為double型,以下不合法的scanf函數調用語句是___C___。
scanf("%d%lx,%le",&x,&y,&z);?
scanf("%2d * %d%lf",&x,&y,&z);?
scanf("%x%*d%o",&x,&y,&z);?
scanf("%x%o%6.2f",&x,&y,&z);?
15、若輸入字元串:abcde<回車>,則以下while循環體將執行___A___次。 while((ch=getchar())=='e') printf("*");
1次?
死循環?
0次?
5次?
16、執行下面的程序段後,k的值是___C___。 k=1;n=263; do{k*=n%10;n/=10;}while(n);
3?
63?
36?
2?
17、下面程序段中循環的執行次數是___B___。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0);
10?
3?
5?
4?
18、下面程序段的運行結果是__D____。 x=2; do{printf("*");x--;}while(!x==0);
*?
***?
沒有輸出?
**?
19、下面程序段的運行結果是___B___。 i=1;s=1;a=0; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("%d",a);
2?
-2?
3?
0?
20、有如下程序 void main() { int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++; printf("%d\n",c); } 該程序的輸出結果是___A___。
0?
1?
2?
3?
21、程序中對fun函數有如下說明 void fun(); 下面說明是錯誤的是___B___。
fun函數無返回值?
fun函數的返回值可以是任意的數據類型?
fun函數沒有形式參數?
void 可以省略?
22、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n; return s;?
s=s+i; return s;?
return s;?
return s+=i;?
23、 有以下程序 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf()__A___
4,3,7?
3,4,7?
5,2,7?
2,5,7?
24、若有說明:int a[][3]={1,2,3,4,5,6,7};則數組a第一維的大小是___B___。
2?
3?
4?
無確定值?
25、判斷字元串s1是否大於字元串s2,應當使用___D____。
if(s1>s2)?
if(strcmp(s1,s2))?
if(strcmp(s2,s1)>0)?
if(strcmp(s1,s2)>0)?
26、當運行以下程序時,從鍵盤輸入:AhaMA Aha<CR> <CR>表示回車,則下面程序的運行結果是___A____。 #include "stdio.h" main() { char s[80],c='a'; int i=0; scanf("%s",s); while(s[i]!='\0') { if(s[i]==c)
ahAMa?
AhAMa?
AhAMa ahA?
ahAMa ahA?
27、以下程序執行後a的值為___C____。main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf("%d\n",a); }
-1?
0?
1?
2?
28、以下能正確讀入字元串的程序段是____C___。
char *p;scanf("%s", p);?
char str[10];scanf("%s", &str);?
char str[10], *p;p=str; scanf("%s", p);?
char str[10], *p=str;scanf("%s", p[1]);?
29、若有定義:int i, x[3][4];,則不能將x[1][1]的值賦給變數i的語句是___B___。
i=x[1][1] ?
i=*(*(x+1))?
i=*(*(x+1)+1)?
i=*(x[1]+1)?
30、下面程序的運行結果是____A___。 # include <stdio.h> # include <string.h> fun(char *s) { char t,*a,*z; a=s; z=s+strlen(s)-1; while(a++<z--) { t=*a++; *a=*z--; *z=t;} } main() { char *p; p="a
abdddfg?
afcdebg?
gbedcfa?
gfedcba?
31、用來描述C程序中注釋的是__C___
/ /?
?
* *?
32、對於"xy\n\102\\\'"字元串的長度是__B___
7?
6?
12?
13?
33、已知:int x=10;執行語句x-=x+x;後x的值是__A___
-10?
10?
-20?
20?
34、下列描述中,正確的是__A___
所有的輸入/輸出都是通過調用庫函數處理的?
所有的輸入/輸出都是通過輸入/輸出語句實現的?
getchar和putchar可以省略#include?
在輸入/輸出格式中的*表示跳過數據的含義?
35、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___ if(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
36、執行下面程序段的結果是__D___ int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
37、以下關於switch語句和break語句的描述正確的是__D___
在switch語句中必須使用break語句?
break語句只能用於switch語句體中?
break語句只能用於循環語句中?
在switch語句中可以使用break語句?
38、與語句while(!x)等價的語句是__A___
while(x==0)?
while(x!=0)?
while(x!=1)?
while(~x)?
39、下面的描述錯誤的是__C___
?函數可以有多個形式參數?
?函數可以沒有返回值?
?函數內可以嵌套定義函數?
?函數可以被其他函數調用?
40、 下面關於局部變數的描述中,錯誤的是__D___
?函數的局部變數的有效范圍只能在本函數?
?函數的形式參數也是局部變數?
?局部變數的名稱不能和函數同名稱?
?不同的函數中不能定義相同名稱的局部變

⑹ 河北專升本c語言分值

河北專升本c語言含激分值,單項選擇題40分,程序閱讀題30分,程序填空題35分,編程題45分。根據查詢相關資料信息顯示,c語言考試採用閉卷、筆試形式,全卷滿分為150分,考試時間為75分鍾。試卷包括選擇題、程序閱讀題、程序填空題和編談賀襪程題。選擇題是四選一型的單項選擇題。程序閱讀題、程序填空題只要求直接填寫結果。編程題應寫出完整的程序代碼,要求符合C語言的語法規范。選擇題和程序閱讀題拍滑分值合計為70分。程序填空題和編程題分值合計為80分。

⑺ C語言程序設計F卷-

考試試卷(F卷)

——標 准 答 案

計算機程序設計 課程 56 學時 3.5 學分 考試形式: 閉 卷

一、選擇題(15小題,每小題2分,共計30分)

1.下面不正確的字元串常量是 A 。

A)'abc' B)"12཈" C)"0" D)" "

2.以下正確的敘述是 D

A)在C程序中,每行中只能寫一條語句

B)若a是實型變數,C程序中允許賦值a=10,因此實型變數中允許存放整型數

C)在C程序中,無論是整數還是實數,都能被准確無誤(精確)地表示

D)在C程序中,%是只能用於整數運算的運算符

3.已知字母A的ASCII碼為十進制數65,且c2為字元型,則執行語句c2='A'十ƌ'一Ɖ'後,c2中的值為 A

A)D B)68 C)不確定的值 D)C

4.sizeof(float)是 B :

A)一個雙精度型表達式 B)一個整型表達式

C)一種函數調用 D)一個不合法的表達式

5.以下說法正確的是 D :

A)輸入項可以為一實型常量,如scanf("%f",3.5);

B)只有格式控制,沒有輸入項,也能進行正確輸入,如scanf("a=%d,b=%d");

C)當輸入一個實型數據時,格式控制部分應規定小數點後的位數,如scanf("%4.2f",&f);

D)當輸入數據時,必須指明變數的地址,如scanf("%f",&f);

6.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A,B,當從第一列開始輸入數據時,正確的數據輸入方式是 D (註: 表示回車)。

int a1,a2; char c1,c2;

scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);

A) 1020AB B)10 20 AB

C)10 20 AB D)10 20AB

7.請閱讀以下程序:

void main()

{int a=5,b=0,c=0;

if(a=b+c) printf("*** ");

e1se printf("$$ ");

以上程序 D :

A)有語法錯不能通過編譯 B)可以通過編譯但不能通過連接

C)輸出*** D)輸出$$

8.下面程序段的運行結果是 C 。

x=y=0;

while(x<15) {y++;x+=++y;}

printf("%d,%d",x,y);

A)20,7 B)6,12 C)20,8 D)8,20

9.若有說明:int a[3]={0};則下面正確的敘述是 D。

A) 只有元素a[0]可得到初值0

B) 此說明語句不正確

C) 數組a中各元素都可得到初值,但其值不一定為0

D) 數組a中每個元素均可得到初值0

10.在c語言中,引用數組元素時,其數組下標的數據類型允許是_ C _。

A)整型常量 B)整型表達式

C)整型常量或整型表達式 D)任何類型的表達式

11.下面程序段的運行結果是 _ B _。

char c[5]={'a','b','','c',''};

printf("%s",c);}

A)』a』』b』 B)ab C)ab c D)a b

12.以下敘述正確的是 C 。

A) 在C程序中,main函數必須位於程序的最前面

B) C程序的每行中只能寫一條語句

C) C語言本身沒有輸入輸出語句

D) 在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

13.簡單變數做實參時,實參與其對應的形參之間的數據傳遞方式是 C 。

A)雙向值傳遞方式 B)地址傳遞方式

C)單向值傳遞方式 D)用戶指定傳遞方式

14.編輯程序的功能是 A 。

A)修改並建立源程序 B)將源程序翻譯成目標程序

C)調試程序 D)命令計算機執行指定的程序

15.在C語言中,5種基本數據類型的存儲空間長度排列順序為 C。

A)char<int<1ong int<="float<double </int

C)char<int<=1ong d)char="int=1ong" int<="float<double </int

二、計算表達式(每小題1.5分,共計15分):

設 int x=25,y=-20;float a=102.56,b=50.87;(注意:各式結果不影響後續的題目!)

1.(++y)+(x--) ( 6 )

2.y*=y+=25 ( 25 )

3.x+y>=0?(x-2*y):(x+2*y) ( 65 )

4.(x+y)/2+(int)(a-b)%(int)b ( 3 )

5.x/2+(a-b)/2 ( 37.845 )

6.!(x=a)&&(y=b)&&1 ( 0 )

7.!(a+b-1)||y+x/2 ( 1 )

8.計算(y>=0)&&(++y)後y的值為: ( -20 )

9.printf(「%d」,』102』);結果為 ( 66 )

10.已知』a』的ASCII碼為97,則:printf(「%c」,』d』);結果為( d )

三、寫出下列程序的的執行結果(每小題5分,共計20分,注意輸出格式)

1.#include

Int main()

{ int a=23389,b=45;float x=647.3586,y=13643.5538;

char c1=』A』,c2[]="Hello";

printf("a=%4d,b=%4d ",a,b);

printf("%-9.2f,%9.2f ",x,y);

printf("%o,%x,%u ",b,b,b);

printf("%d,%c ",c1,c1);

printf("%s,%6.4s ",c2,c2);

return 0;

}

2.#include

#define N 10

int main( )

{ int a=1,b=0, i;

for (i=0; i<n span="" i++)

{ printf("%6d%6d",a,b);

printf(" ");

a=b+a;

b=a+b;}

return 0;}

3.#include

int main()

{ int i,j,k=0;

for(i=1;i<31;i++)

{ for(j=2;j<=i-1;j++)

if(i%j==0) break;

if(j==i)

{ printf("%7d",i) ;

k++;

if(k%2==0) printf(" ");

}

}

Return 0;

}

4.#include

int main()

{ int i=16,j,x=6,y,z;static char c[]=」I am a student」;

j=i+++1; printf(「%5d 」,j);

x*=i=j; printf(「%5d 」,x);

x=1,y=2,z=3;

x+=y+=z;

printf(「%5d 」,(z+=x)>y? z++:y++);

x=y=z=-1;

++x||++y||z++;

printf(「%5d,%5d,%5d 」,x,y,z);

printf(「%s,%5.4s 」,c,c);

return 0;

}

四、程序填空(每空1.5分,共計15分)

1.下面程序的功能是:將字元數組s2中的全部字元拷貝到字元數組s1中,不用strcpy函數。

#include

main()

{ char s1[80], s2[80];

int i;

printf("input s2:");

gets(s2) ;

for(i=0;s2[i]!=』』; i++ )

s1[i]=s2[i] ;

s1[i]=』』;

printf("s1: %s ",s1);

return 0;

}

2.輸入20個整數,找出其中的最大數及最小數,並求其和值。

#include

int main()

{ int a[20],i,max,min,sum;

printf("input a[0]-a[19]:");

for(i=0;i<20;i++)

scanf(「%d」, &a[i] );

max=a[0]; min=a[0]; sum= a[0] ;

for(i=1; i<20 ;i++)

{ if(a[i]>max) max=a[i];

if(a[i]<min) span="" min=a[i] ;

sum+=a[i];

}

printf(%d,%d,%d ",max,min,sum);

return 0;

}

3.輸入一行字元到字元數組中,將其中的小寫字母轉化成大寫字母,大寫字母轉化成小寫字母,然後輸出。

#include

#include

main()

{ char c,str[80];

int i;

gets(str);

for(i=0;(c=str[i])!= 』』 ;i++)

{ if( c>=』A』&&c<=』Z』 ) c=c+32;

else if(c>=』a』&&c<=』z』) c=c-32;

str[i]=c; }

puts( str );

return 0;

}

五、編寫程序(每小題10分,共計20分)

(注意:可做在試卷反面)

1.輸出100到300之間能被5整除卻不能被3整除的所有數之和。

#include

int main()

{ int n,sum=0;

for(n=100; n<=300; n++)

if(n%5==0 && n%3!=0) sum += n;

printf(「%d 」, sum);

return 0;

}

2.編寫main函數及一個求x階乘(x!)的用戶自定義函數fun( ),並在主函數中調用該函數求組合數c的值

添加圖片注釋,不超過 140 字(可選)

#include

int main()

{ long int fun(long int x);

long res, res1, res2, res3,m, n;

scanf(「%ld,%ld」,&m,&n);

res1=fun(m); res2=fun(n); res3=fun(m-n);

res=res1/(res2*res3);

printf(「%ld 」,res);

return 0;

}

long int fun(long int x);

{ long int i, res=1;

for(i=2; i<=x; i++)

res *= i;

return(res);

}