c語言程序設計期末試題A_第1頁
c語言程序設計期末試題A_第2頁
c語言程序設計期末試題A_第3頁
c語言程序設計期末試題A_第4頁
全文預覽已結(jié)束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上c語言程序設計期末試題A(含答案)一、單項選擇題(選擇一個最佳答案,每題2分,共20分)1.       一個C程序的執(zhí)行是從( )。A) 本程序的main函數(shù)開始,到main函數(shù)結(jié)束B) 本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C) 本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D) 本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束2.       下列選項中,不能用作標識符的是( )。A) _1234_ B) _1

2、_2 C) int_2_ D) 2_int_3.       以下定義語句中正確的是( )。A) char a='A'b='B'  B) float a=b=10.0;C) int a=10,*b=&a;  D) float *a,b=&a; 4.       設有以下定義:#define d 2int a=0; double b=1.25; char c=A;則下面語句中錯誤的是( )。

3、A) a+; B) b+ C) c+; D) d+;5.     以下4個選項中,不能作為一條C語句的是( )。A) ; B) a=0,b=0,c=0; C) if(a>0); D) if(b=0) m=1;n=2;6.  有以下定義語句 double a,b; int w; long c;若各變量已正確賦值,則下列選項中正確的表達式是( )。A) a=a+b=b+ B) w%(int)a+b) C) (c+w)%(int)a D) w=a=b; 7.     

4、0; 設有定義:int n=0,*p=&n,*q=&p;則以下選項中,正確的賦值語句是( )。A) p=1; B) *q=2; C) q=p; D) *p=5;8.       設有定義:int a,*pa=&a; 以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是( )。A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.       若有

5、說明:char *language=”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”;則表達式*language1>*language2比較的是()。A)字符B和字符P B) 字符串FORTRAN和字符串BASICC)字符F和字符B D) 字符串BASIC和字符串PASCAL10.      執(zhí)行語句for(i=1;i+<4;);后變量i的值是( )。 A) 3 B)4 C) 5 D) 不定一、填空題(每空2分,共18分)1.       若有定義:int

6、a=7;float x=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值為 。2.       有程序段:int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b; b=p5; 則b中的值是 。3.       函數(shù)swap(int x,int y)實現(xiàn)對x和y值的交換。則執(zhí)行語句int a2=1,2; swap(a0,a1);后,a0= ,a1= 。4.      

7、 設有以下宏定義:#define f(z) z*z,執(zhí)行賦值語句k=f(44)/f(22);(k為int型變量)后,k的值是 。5.       書寫語句求a, b兩個數(shù)的最大值max。 ? : ;6.       若x為int型變量,則執(zhí)行x=7; x=x=xx; 語句后,x的值是 。二、讀程序?qū)懡Y(jié)果(每題6分,共24分)1.       有以下程序int f(int a) int b=0;static c=3;b

8、=b+1;c=c+1;return(a+b+c); void main() int a=2,i; for(i=0;i<3;i+) printf(“%2d”,f(a);執(zhí)行后輸出的結(jié)果是 。 2.       有以下程序void f(int y,int *x) y=y+*x; *x=*x+y;void main( ) int x=2,y=4; f(y,&x); printf(“x=%d,y=%dn”,x,y);執(zhí)行后輸出的結(jié)果是 。 3.     

9、60; 有以下程序#define LETTER 1 #include <stdio.h>void main() char str20="C Language", c; int i=0; while(c=stri)!='0') i+; #ifdef LETTER if(c>='a' &&c<'z') c=c+1; else if(c='z') c=c-25; #else if(c>='B'&&c<='Z') c=c

10、-1; else if(c='A') c=c+25;#endif printf("%c",c); 執(zhí)行后輸出的結(jié)果是 。4.       有以下程序 void fun(int *a,int i,int j) int t;   if(i<j)   t=ai;ai=aj;aj=t;i+; j-;for(i=0;i<4;i+) printf("%2d",ai);fun(a,i,j);  void main() int x=2

11、,6,1,8,i;   fun(x,0,3);   for(i=0;i<4;i+) printf("%2d",xi);printf("n");執(zhí)行后輸出的結(jié)果是 。四、程序填空(每空1分,共8分)下面程序的功能是:計算從命令行中輸入的第2個參數(shù)開始的所有參數(shù)中是回文字符串的參數(shù)個數(shù)。(順讀和倒讀都一樣的字符串稱為“回文”,如“l(fā)evel”就是回文)請?zhí)羁铡?include <stdio.h> 【1】 int sumhw( char *p,int n);char jughw(char *str);v

12、oid main(int argc,char *argv) int s; if (argc<2) printf("請輸入有效參數(shù)"); else s=sumhw( 【2】 ,argc-1); printf("共有%d個回文串n",s); int sumhw(char *p,int n) char flag; int i,sum=0; for(i=0;i<n;i+) flag=jughw( 【3】 ); if ( 【4】 ) sum+; return sum; char jughw(char *str) char *p1,*p2; int n;

13、 n=strlen(str);p1=str;p2= 【5】 ;while( 【6】 ) if(*p1!=*p2) break; else p1+; 【7】 ;if( 【8】 ) return('N');else return('Y'); 五、編程題(30分)1.       用指針和數(shù)組兩種方法實現(xiàn)如下功能:將一個字符串按逆序存放。(18分)要求(1)主函數(shù)中完成輸入和輸出字符串。(2)逆序存放功能用子函數(shù)完成。2.       一個整型數(shù)組有

14、10個元素,編寫程序刪除所有值為n的元素。(12分)要求(1)主函數(shù)完成n的輸入,數(shù)組元素輸入以及刪除后數(shù)組元素的輸出。(2)刪除功能用子函數(shù)完成。 C語言模擬試卷一參考答案一、單項選擇題(選擇一個最佳答案,每題2分,共20分)1、A2、D3、C4、B5、D6、C7、D8、A9、A10、C二、填空題(每空2分,共18分)1、2.2、93、1 24、285、(a>b) max=a max=b6、14三、讀程序?qū)懡Y(jié)果(每題6分,共24分)1、 7 8 9 2、 x=8,y=4 3、 C Lbohvbhf 4、 8 6 1 2 8 6 1 2 四、程序填空(每空1分,共8分)【1】#

15、include<string.h>【2】argv+1【3】*(p+i)【4】flag= =Y【5】str+n-1【6】p1<p2【7】p2【8】p1<p2五、編程題(共30分)1. (1)數(shù)組法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char str,int n);void main()char strN; gets(str); inv(str,strlen(str); puts(str);void inv(char str,int n)int i,j,temp;

16、 for(i=0,j=n-1;i<=j;i+,j-) temp=stri; stri=strj; strj=temp;(2)指針法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char *str,int n);void main()char strN; gets(str); inv(str,strlen(str); puts(str);void inv(char *str,int n)char *i,*j,temp; for(i=str,j=str+n-1;i<=j;i+,j-) temp=*i; *i=*j; *j=temp;2.(12分)#include <stdio.h>int m;void del_element(int num,int n);void main()int num10; int i,n; m=10; for(i=0;i<10;i+) scanf("%d",&n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論