C語言程序設(shè)計試題A_第1頁
C語言程序設(shè)計試題A_第2頁
C語言程序設(shè)計試題A_第3頁
C語言程序設(shè)計試題A_第4頁
C語言程序設(shè)計試題A_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 班 級: 姓 名: 學(xué) 號: 密 封 線 四川職業(yè)技術(shù)學(xué)院20052006學(xué)年第 1 學(xué)期期末考試 C語言程序設(shè)計 (A)(供04電氣、04機電班使用)考試時間:120分鐘 滿分:100分 命題人:陳 科題號 一 二三總 分總 分 人分?jǐn)?shù)一、單項選擇題,答案不寫入答題欄的一律不得分?。款}1.5分,共52.5分)1、結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu)是         。A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)   B)分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu) D)順序結(jié)構(gòu)、選擇

2、結(jié)構(gòu)、循環(huán)結(jié)構(gòu)2、以下敘述中正確的是         。A)C語言比其他語言高級     B)C語言可以不用編譯就能被計算機識別執(zhí)行C)C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá) 形式 D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點3、C語言中最簡單的數(shù)據(jù)類型包括         。A)整型、實型、邏輯型      B)整型、實型、字符型

3、C)整型、字符型、邏輯型    D)字符型、實型、邏輯型4、若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是 。A)a:=b+1    B)a=b=c+2   C)int 18.5%3   D)a=a+7=c+b5、若變量a,i已正確定義,且i已正確賦值,合法的語句是         。A)a= =1        B)+i;  &#

4、160;    C)a=a+=5;     D)a=int(i);6、已知:int t=0;while(t=1).則以下敘述正確的是         。A)循環(huán)控制表達(dá)式的值為0   B)循環(huán)控制表達(dá)式的值為1C)循環(huán)控制表達(dá)式不合法    D)以上說法都不對7、若變量已正確說明為float型,要通過語句scanf(%f%f%f,&a,&b,&c);給a賦予10.0,b賦予

5、22.0,c賦予33.0,下列不正確的輸入形式是         。A)10<回車>22<回車>33<回車>    B)10.0,22.0,33.0<回車>C)10.0<回車>22.033.0<回車>    D)10  22<回車>33<回車>8、有如下程序:main() int x=1,a=0,b=0;switch(x)case 0: b+;case

6、 1: a+;case 2: a+;b+;printf("a=%d,b=%dn",a,b);該程序的輸出結(jié)果是A)a=2,b=1        B)a=1,b=1      C)a=1,b=0      D)a=2,b=29、有以下程序main()int i=1,j=1,k=2;if(j+|k+)&&i+)printf("%d,%d,%dn",i,j,k);執(zhí)行后輸出結(jié)果

7、是         。A)1,1,2       B)2,2,1        C)2,2,2       D)2,2,310、有如下程序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("%fn"

8、;,y);該程序的輸出結(jié)果是         。A)0.000000        B)0.250000     C)0.500000        D)1.00000011、有如下程序:main()int n=9;while(n>6)n-; printf("%d",n);該程序的輸出結(jié)果是  

9、;       。A)987     B)876     C)8765     D)987612、在下列選項中,沒有構(gòu)成死循環(huán)的是         。A)int i=100;while(1)i=i%100+1;if(i>100)break;  B)for(;);C)int k=10000;dok+;while(k>1

10、0000);D)int s=36;while(s)- -s;13、設(shè)int x=1,y=1;表達(dá)式(!x|y-)的值是         。A)0       B)1        C)2        D)-114、有以下程序float fun(int x,int y)return(x+y);main()int a=2

11、,b=5,c=8;printf("%3.0fn",fun(int)fun(a+c,b),a-c);程序運行后的輸出結(jié)果是         。A)編譯出錯    B)9    C)21   D)9.015、若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是         。A)函數(shù)調(diào)用可以作為獨立的語句存在  

12、0; B)函數(shù)調(diào)用可以作為一個函數(shù)的實參C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中      D)函數(shù)調(diào)用可以作為一個函數(shù)的形參 16、若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是         。main() int a50,n;fun(n, &a9);A)void fun(int m, int x) B)void fun(int s, int h41)C)void fun(int p, int *s)   D)void fun(in

13、t n, int a)解析把數(shù)組a中9號元素的地址傳遞給fun的函數(shù)參數(shù),本題的考點是用什么來做函數(shù)的形參。A選項用不定長度的數(shù)組x作形參;B選項用長度小于50的數(shù)組h作形參;C用指針變量*s作形參;顯然D中形參變量a只是普通的整形變量,不能接收來自于實參9號元素的地址。 17、fseek函數(shù)的正確調(diào)用形式是         。A)fseek(文件指針,起始點,位移量) B)fseek(文件指針,位移量,起始點)C)fseek(位移量,起始點,文件指針) D)fseek(起始點,位移量,文件指針)

14、0;18、若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp)的返回值是         。A)EOF       B)-1     C)1       D)NULL 19、若有說明語句:char c='72' 則變量c         。

15、A)包含1個字符        B)包含2個字符      C)包含3個字符  D)說明不合法,c的值不確定 20、若有說明 int a34;則a數(shù)組元素的非法引用是         。A)a02*1     B)a13  C)a4-20     D)a04 21、設(shè)有以下說明語

16、句struct stuint a;float b; stutype;則下面的敘述不正確的是         。A)struct是結(jié)構(gòu)體類型的關(guān)鍵字          B)struct stu是用戶定義的結(jié)構(gòu)體類型C)stutype是用戶定義的結(jié)構(gòu)體類型名          D)a和b都是結(jié)構(gòu)體成員名 22、在C語言中,引用數(shù)組元

17、素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是         。A)整型常量  B)整型表達(dá)式 C)整型常量或整型表達(dá)式   D)任何類型的表達(dá)式 23、若運行時給變量x輸入12,則以下程序的運行結(jié)果是         。main()int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%dn",y); A)0&#

18、160;       B)22         C)12       D)10 24、以下說法正確的是         。A)C語言程序總是從第一個的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義C)C語言程序總是從main()函數(shù)開始執(zhí)行D)C語言程序中的main()函數(shù)必須放在程序

19、的開始部分 25、表達(dá)式0x130x17的值是         。A)0x04     B)0x13       C)0xE8     D)0x17 26、有以下程序 #define F(X,Y)(X)*(Y)main()int a=3, b=4; printf("%dn", F(a+, b+); 程序運行后的輸出結(jié)果是 

20、60;       。A)12         B)15             C)16             D)20 27、下列程序執(zhí)行后的輸出結(jié)果是    &#

21、160;    。void func(int *a,int b) b0=*a+6; main()int a,b5;a=0; b0=3;func(&a,b); printf("%dn",b0);A)6           B)7              C)8    &#

22、160;         D)9解析func(&a,b)中兩個參數(shù)分別把整形變量a的地址傳遞給指針變量*a、把數(shù)組b(即數(shù)組名作實參)首元素的地址傳遞給形參數(shù)組b。因此在func()函數(shù)中,b0=*a+6=0+6=6。 28、若有下面的程序段:char s="china"char *p; p=s;則下列敘述正確的是         。A)s和p完全相同    

23、 B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C)s數(shù)組長度和p所指向的字符串長度相等      D)*p與s0相等 29、有以下程序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(ai<aj)t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i<10;i+)printf("%d,",aai);pr

24、intf("n");程序運行后的輸出結(jié)果是         。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,解析sort(&aa3,5)的作用是把數(shù)組aa的第3號元素及其后續(xù)4個元素(一共5個元素)由大到小排列,其他元素原樣輸出。 30、以下程序的運行結(jié)果是 

25、;        。#include "stdio.h"main()struct dateint year,month,day;today;printf("%dn",sizeof(struct date);A)6        B)8          C)10     

26、0;     D)12 31、若有語句int *point, a=4;和 point=&a;下面均代表地址的一組選項是         。A)a,point,*&a   B)&*a,&a,*point  C)*&point,*point,&a   D)&a,&*point,point 32、已定義以下函數(shù) fun(char *p2, char

27、*p1) while(*p2=*p1)!='0')p1+;p2+; 函數(shù)的功能是         。A)將p1所指字符串復(fù)制到p2所指內(nèi)存空間   B)將p1所指字符串的地址賦給指針p2 C)對p1和p2兩個指針?biāo)缸址M(jìn)行比較 D)檢查p1和p2兩個指針?biāo)缸址惺欠裼?#39;0' 33、若執(zhí)行下述程序時,若從鍵盤輸入6和8時,結(jié)果為         。main()int a,b,s;

28、scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);A)36        B)64         C)48           D)以上都不對 34、下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是  

29、60;      。A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件 B)文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件 C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件 D)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件 35、有以下程序void ss(char *s,char t)while(*s)if(*s= =t)*s=t - 'a'+ 'A's+;main()char str1100="abcddfefdbd",c='

30、;d'ss(str1,c); printf("%sn",str1);程序運行后的輸出結(jié)果是         。A)ABCDDEFEDBD   B)abcDDfefDbD      C)abcAAfefAbA      D)Abcddfefdbd解析把字符串中的小寫字符d轉(zhuǎn)換為大寫字符D。字符指針*s是指向該串的首字符(即字符a),隨著s+不斷向后續(xù)字符移動。t - &#

31、39;a'+ 'A'是英文字符小寫轉(zhuǎn)大寫的公式,這里不再贅述。 二、填空題,答案不寫入答題欄的一律不得分?。靠?分,共30分)36、以下程序段的輸出結(jié)果是   28    。main()int a=2,b3,c=4;a*=16+(b+)-(+c);printf("%d",a); 3738、若變量n中的值為24,則print()函數(shù)共輸出 5 行,最后一行有 4 個數(shù)。void print (int n,int aa)int i;for (i=1; i<n+1; i+)pri

32、ntf ("%6d", aai);if(!(i%5) printf ("n");printf ("n"); 39、調(diào)用C語標(biāo)準(zhǔn)庫函數(shù)時要求用 include 命令。 40、stract函數(shù)的作用是連接兩個字符數(shù)組中的字符串。 41、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以  /* */  作為開始和結(jié)束。 42、設(shè)二進(jìn)制數(shù)A是00101101,若想通過異或運算AB使A的高4位取反,低4位不變,則二進(jìn)制數(shù)B應(yīng)是1111 0000。 43、若已知a=10,

33、b=20,則表達(dá)式!a<b的值為    1    。 44、設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為   10    。for(i=0, j=10; i<=j; i+, j-)k=i+j; 4546、下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。rando

34、mize()是初始化隨機數(shù)生成器函數(shù),rand()返回一個隨機數(shù)函數(shù)。請?zhí)羁铡?include<stdlib.h>#include<stdio.h>void fun(int a,int n, int *max, int *d) int i;*max=a0;*d=0;for(i=0; i<n ;i+)if(*max< ai )*max=ai;*d=i;main() int i, x20, max,  index, n=10;randomize();for(i=0;i<n;i+)xi=rand()%50; printf("%4d&quo

35、t;,xi);printf("n");fun(x,n,&max,&index);printf("Max=%5d,Index=%4dn", max, index); 47、以下程序的輸出結(jié)果是   246   。void fun() static int a=0;a+=2; printf("%d",a);main() int cc;for(cc=1;cc<4;cc+)fun();printf("n");解析第一次調(diào)用fun(),輸出a為2;第二次

36、調(diào)用fun(),輸出a為4(局部靜態(tài)變量,不重新賦初值);則第三次調(diào)用輸出為6。 48、以下程序的輸出結(jié)果是    7    。#define MAX(x,y)(x)>(y)?(x):(y)main() int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%dn",t); 49、下列y的值是    8    。int y; y=sizeof(2.25*4); 50、mystrl

37、en函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁?。int mystrlen(char *str) int i;for(i=0; *(str+i)或者寫成stri != 0;i+);return(i); 三、程序設(shè)計題。要求程序結(jié)構(gòu)清晰,沒有邏輯錯誤,書寫工整,無需寫出運行結(jié)果。請寫在背面并標(biāo)明題號(第51題7.5分、第52題10分,共17.5分,按關(guān)鍵步驟評分)51、輸入一個33的整數(shù)矩陣,求其對角線元素之差。#include <stdio.h>void main()int a33,minus;int i,j;printf("enter da

38、ta:n");for (i=0;i<3;i+)for (j=0;j<3;j+)scanf("%d",&aij);minus=a00;for (i=1;i<3;i+)minus=minus-aii;printf("minus=%6dn",minus);52、有10個學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號(stu_num,6個字符,如s00101)、姓名(name,8個字符)、三門課程的成績(score3,實型)及其平均分(avr,實型,初始時不賦值,)。首先輸入這10個學(xué)生的數(shù)據(jù),然后再計算每個學(xué)生3門課程的平均分,存回avr中,并輸出第

溫馨提示

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

評論

0/150

提交評論