廈門理工學院2019-2020學年C語言程序設計試卷_第1頁
廈門理工學院2019-2020學年C語言程序設計試卷_第2頁
廈門理工學院2019-2020學年C語言程序設計試卷_第3頁
廈門理工學院2019-2020學年C語言程序設計試卷_第4頁
廈門理工學院2019-2020學年C語言程序設計試卷_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

PAGE第3頁共8頁考生信息欄系專業2012級班級姓名學號裝訂線廈門理工學院試卷2019-2020學年第1學期課程名稱C語言程序設計試卷卷別A■B□專業2019級班級考試方式閉卷■開卷□本試卷共三大題(8頁),滿分100分,考試時間120分鐘。請在答題紙上作答,在試卷上作答無效。一、選擇題(共20題,每題2分,共40分)1、一個C程序可以包含任意多個不同名的函數,但有且僅有一個D,一個C程序總是從開始執行。A)過程 B)include C)函數D)主函數 2、以下敘述中正確的是C。A)C程序的基本組成單位是語句B)C程序中的每一行只能寫一條語句C)簡單C語句必須以分號結束D)C語句必須在一行內寫完3、設d為char型(字符)變量,下列表達式不正確的是B。A)d=97 B)d=”a” C)d=’a’ D)d=’g’4、已知有聲明“inta=3,b=4,c;”,則執行語句“c=1/2*(a+b);”后,c的值為D。A)4B)3.5C)7D)05、根據定義和數據的輸入方式,輸入語句的正確形式為:CA。已有定義:floata1,a2;數據的輸入方式:4.5233.52A)scanf(“%f%f”,&a1,&a2);B)scanf(“%f,%f”,a1,a2);C)scanf(“%4.3f,%3.2f”,&a1,&a2);D)scanf(“%4.3f%3.2f”,a1,a2);6、判斷字符型變量ch為小寫字母的表達式是。A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)7、已知inta=1,b=2,c=3;以下語句執行后a,b,c的值是A。if(a>b)c=a;a=b;b=c;A)a=1,b=2,c=3B)a=2,b=3,c=3C)a=2,b=3,c=1D)a=2,b=3,c=28、為了表示關系x>=y>=z,應使用C語言表達式B。A)(x>=y)AND(y>=z) B)(x>=y)&&(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)9、若x=3,y=z=4,則下列表達式中,x的值分別為C。(1)x=(z>=x)?8:6;(2)x*=y;A)3,24B)4,8C)8,12D)6,1210、下面有關for循環的正確描述是D。A)for循環只能用于循環次數已經確定的情況B)for循環是先執行循環體語句,后判定表達式C)在for循環中,不能用break語句跳出循環體D)for循環體語句中,循環體可以包含多條語句,但要用花括號括起來11、程序段如下intk=0;while(k++<=2)printf("%d\n",k);則執行結果是A。A)1B)2C)0D)不能運行23134212、設有程序段intk=10;while(k=3)k=k-1;則下面描述中正確的是D。A)while循環10次 B)循環是無限循環C)循環體執行3次 D)循環體只執行一次 13、以下對一維整型數組a的說明正確的是D。A)inta(10);B)intn=10,a[n];C)intn;scanf(“%d”,&n);inta[n];D)inta[10];14、若有以下定義:inta[5]={5,4,,3,2,1};charb=‘a’,c,d,e;則下面表達式中數值為2的是A。A)a[3]B)a[e–c]C)a[d-b]D)a[e-b]15、若有如下定義:inta[3][3]={1,2,3,4,5,6,7,8,9},i;則下列語句的輸出結果是:C。for(i=0;i<=2;i++)printf(“%d”,a[i][2-i]);A)159B)369C)357D)14716、以下程序的運行結果是:A。fun(inta,intb){return(a+b);}voidmain(){inta=3,b=4;printf("%4d",fun(a,a+b));}A)10B)9C)8D)717、若有下列定義,則對a數組元素地址的引用或使用正確的是。inta[5],*p=a;A)&aB)p+2C)a++D)&a[5]18、執行以下程序后,a的值為。int*p,a=10,b=1;p=&a;a=(*p)*b;A)12B)編譯出錯C)1D)1019、設voidf1(int*p,longn);inta;longb;則以下調用合法的是。A)f1(a,b);B)f1(&a,&b);C)f1(a,&b);D)f1(&a,b);20、有如下定義:structworklist{charname[20];charsex;}person;對結構體變量person的成員變量進行賦值時,下面正確的賦值語句是。A)person.name="ZhangFei"B)birthday.name='ZhangFei'C)person.sex='M'D)person.sex=F;

二、程序填空題(共15空,每空2分,共30分)1、以下程序的功能是:輸入1個大于2的整數,判斷其是否為2個大于1的整數的乘積。#include<stdio.h>(1)voidmain(){intm,i;while(!scanf(“%d”,&m)&&m>2);for(i=2;i<=sqrt(m);i++)if((2)){printf("%d*%d=%d\n",i,m/i,m);break;}if((3))printf("不可分解\n");}2、

以下程序的功能是:從鍵盤輸入20個整數存入數組,統計輸入非負數的個數,并計算輸入的非負整數之和。#include<stdio.h>main(){inti,a[20],s,n;/*s為非負整數之和,n為非負整數的個數*/

s=n=0;

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

(4);

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

if(a[i]>0)

{(5);

(6);}

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

}3、

以下程序的功能是:從鍵盤輸入字符串,以回車鍵結束輸入,然后

輸入字符串中的‘A’和‘B’轉換為字符‘#’輸出,其它字符輸出為‘*’。

#include<stdio.h>voidmain(){charc;

while((c=getchar())!=(7))

{switch(c)

{case'A':

case'B':putchar('#');

(8);

default:putchar('*');

}

}}線訂裝考生信息欄系專業2012級班級姓名學號裝訂線4、以下程序功能是:通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是將形參a所指的結構體變量中的數據賦給函數中的結構體變量b,并修改b中的學號和姓名,最后輸出修改后的數據。例如:a所指變量中的學號、姓名、和三門課的成績依次為:10001、“ZhangSan”、95、80、88,則修改后輸出b中的數據應為:10002、“LiSi”、95、80、88。#include<stdio.h>#include<string.h>structstudent{longsno;charname[10];floatscore[3];};voidfun(structstudent*p){inti;p->sno=10002;strcpy(p->name,"LiSi");printf("\nThedataaftermodified:\n");printf("\nNo:%ldName:%s\nScores:",p->sno,p->name);for(i=0;i<3;i++)printf("%6.2f",(9));printf("\n");}voidmain(){structstudents={10001,"ZhangSan",95,80,88};….inti;printf("\n\nTheoriginaldata:\n");printf("\nNo:%ldName:%s\nScores:",s.sno,);for(i=0;i<3;i++) printf("%6.2f",(10));printf("\n");(11);}5以下程序的功能是:判斷一個字符串是否回文。若是回文函數返回1;否則返回0。回文就是順讀和倒讀都一樣的字符串。#include<stdio.h>#include<string.h>#defineM100(12)fun((13)){ char*p,*q; intflag; p=s; (14); while(*q!='\0')q++; q--; while(p<=q) { flag=0; if(*p==*q) {p++; (15); flag=1; } elsebreak; } if(flag==1)return1; elsereturn0;}main(){ chars[M],k; printf("請輸入一個字符串:\n"); gets(s);//輸入字符串 puts(s);//顯示輸入的字符串 k=fun(s);//判斷是不是回文的函數 if(k==1)printf("是回文\n"); if(k==0)printf("不是回文\n");} 三、程序閱讀題(共6小題,每題5分,共30分)4、請給出輸出結果。#include<stdio.h>4、請給出輸出結果。#include<stdio.h>voidmain(){ intm=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d\n",*p,*q);}5、請給出輸出結果。#include<stdio.h>#include<string.h>voidmain(){charstr[][20]={"OneWorld","OneDream!","Welcome","To","China!"},*p=*(str+2); printf("%d,",strlen(p)); printf("%s\n",p);}請給輸出結果。#include<stdio.h>voidmain(){inta[5]={1,3,5,7,9};inti,sum=0;for(i=0;i<5;i++){ sum+=a[i]/(i+1); printf("%d,",sum);}}2、請給出輸出結果。#include<stdio.h>intfun(intx){ staticintt=0;return(t+=x);}voidmain(){ints,i;for(i=1;i<=5;i++) { s=fun(i); printf("%d,",s);} }3、請給出輸出結果。#include<stdio.h>voidmain(){ ints=0,n; for(n=0;n<5;n++) {switch(n) { case0:break; case1:s+=1;break; case2:s+=3;brea

溫馨提示

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

評論

0/150

提交評論