c語言期末考試試題及答案文檔良心出品_第1頁
c語言期末考試試題及答案文檔良心出品_第2頁
c語言期末考試試題及答案文檔良心出品_第3頁
c語言期末考試試題及答案文檔良心出品_第4頁
c語言期末考試試題及答案文檔良心出品_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 一個C程序的組成局部可以是().A) 一個主函數(shù)和一至假設干個其他函數(shù)B) 一至假設干個主函數(shù)C) 一個主程序和一至假設干個其他函數(shù)D) 一個主程序和一至假設干個子程序2. 一個C程序的執(zhí)行是從().(A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束(B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束(C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束(D)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束3. C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符().A) 必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母、數(shù)字和下劃線

2、中任一種字符4.設有定義:intm=1,n=-1;那么執(zhí)行語句 printf("%dn",(m-&+n);后的輸出結(jié)果是().A) - 1 B) 0C) 1 D) 25 .表達式11&10的結(jié)果用二進制表示為().A)11B)3C)1D)106 .設有語句int a=3;那么執(zhí)行語句a+=a-=a*a后,變量a的值是().(A)3(B) 0(C) 9(D) -127 .在以下選項中,不的賦值語句是().A)t/=5;B)n1=(n2=(n3=0) ;C)k=i= =j;D)a=b+c=1;8 .以下()表達式不滿足:當 x的值為偶數(shù)時值為"真&qu

3、ot;,為奇數(shù)時值"假".A)X%2=0C)(x/2* 2-x)= =0D)9.假設有定義:int a=8, b= 5, c;A)1.4 B) 1 C) 2.0D)2B) ! x%2 !=0 !(x%2)執(zhí)行語句c=a/b+0.4后c的值為()10 .假設a=3,b=4,c=5,那么邏輯表達式:!(a+b)+c-1&&b+c/2 的值是().A)trueB)falseC)0D) 111 .假設 int a=3,b=4;那么執(zhí)行 c=a+>2|b->=4 之后, b 變量的值為().A)3B)0C)4D)212 .以下哪個表達式的值為4 ()D)(

4、int)(11.0/3+0.5)13 .假設變量a, i已經(jīng)正確定義,且i已經(jīng)正確賦值,合法的語句是()A) a=1 B) +i C) a=a+=5 D)a=int (i)14 .以下程序的輸出結(jié)果是()int a=1234 ;printf ("%2d",a);A) 12 B) 34C)1234 D)提示錯誤,無結(jié)果15 .設x,y分別為單精度和雙精度類型變量,那么以下選項()可將表達式x+y的運算結(jié)果強制轉(zhuǎn)換為整型數(shù)據(jù).A) (int)x+yB) int(x)+y C) int(x+y)D) (int)(x+y)16 .當a=3,b=2,c=1時,表達式f=a>b&

5、gt;c執(zhí)行完后f的值是()A)1B)0C)3D)217 .假設x=2,y=1 ,那么表達式x>y?1:1.5的值為()A)1B)1.5C)1.0D)218 .在位運算中,操作數(shù)每左移一位,其結(jié)果相當于()A)操作數(shù)乘以2B)操作數(shù)除以2C)操作數(shù)乘以4D)操作數(shù)除以419 .在位運算中,某操作數(shù)右移3位淇結(jié)果相當于()A)操作數(shù)乘以6 B)操作數(shù)除以6C)操作數(shù)乘以8D)操作數(shù)除以820 .在C語言中,假設以下變量均為int型,那么下面程序段的輸出結(jié)果是().s=6, u=6; u=s+;u+;printf("%d",u);A)7B)6C)5D)421 .假設有定義

6、:int x,y; char a,b,c;并有以下輸入數(shù)據(jù):x=1 2 A B C<CR>,那么能給x賦整數(shù)1,給賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的程序段是A) scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B) scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C) scanf("x=%d%d%c%c%c,7x,&y,&a,&b,&c)

7、;D) scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c);22 .如下程序:#include <STDIO.H>void main() int m,n,k;m=(n=4)+(k=10-7);printf( "m=%dn ,m);)運行后m的值為(A)4(B)323 .結(jié)構(gòu)化程序的三種根本結(jié)構(gòu)是( (A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(C)嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)、順序結(jié)構(gòu)24 .有如下程序main( ) float x=4.0,y;if(x<0.0)y=0

8、.0;else if(x<10.0)y=1.0/x;else y=1.0;printf( " %fn " ,y);)該程序的輸出結(jié)果是()A) 0.0 B) 0.25 C) 0.5)o(C)7(D)14)o(B)遞歸結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)(D)循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)、順序結(jié)構(gòu)D) 1.025 .設int a=0,b=5,c=2;選擇可執(zhí)行x+的語句是().(A) if(a) x+(B) if(a=b) x+;(C) if(a=<b) x+;(D) if(!(b-c)x+;26.以下程序段運行后,x的值是().int a,b,c,x;a=b=c=0;x=35;if(

9、!a)x-;else if(b);if(c) x=3;else x=4;A) 3 B) 4C) 34 D) 3527.假設要求在if后一對圓括號中表示 a不等于0的關系,那么能表示這一關系的表達式為A)a<>0B)!aC)a=0D)a28.假設N為整型變量,那么for(N=10;N=0;N-);循環(huán)里的循環(huán)體被().A)無限循環(huán)B)執(zhí)行10次 C)執(zhí)行一次D) 一次也不執(zhí)行29.以下程序段運行后i的值是().int i=10switch(i+1)case 10:i+;break;case 11:+i;case 12: +i;break;default:i=i+1;A) 11 B)

10、13C) 12 D) 1430.以下程序的輸出結(jié)果為().#include <stdio.h>main() int i;for (i=0;i<10;i+);printf("%d",i);(A) 0(B)123456789(C) 0123456789(D) 1031. C語句for(;)是指().(A)無意義(B)無限循環(huán)(C)循環(huán)執(zhí)行1次 (D)循環(huán)執(zhí)行0次32.有如下程序main( ) int x=1,a=0,b=0;switch(x)case0:b+;case1: a+;case2: a+;b+;printf( "a=%d,b=%dn ,a,

11、b);該程序的輸出結(jié)果是()A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=233.如果程序中有 #include "文件名"那么意味著.A將"文件名所指的該文件的全部內(nèi)容,復制插入到此命令行處.B指定標準輸入輸出C宏定義一個函數(shù)D條件編譯說明34.要將一個整數(shù)12000分別以ASCII碼文件和二進制文件形式存放,各自所占的存儲空間 數(shù)分別是()字節(jié).A) 5 和 2B)2 和 5 C) 2 和 2 D) 5 和 535.在下面關于一維數(shù)組的定義中,其中()有語法錯0.A)intx= 1,2,3,4,5; B)intx5= 0;C)i

12、ntx;D)intx5;).(C) scanf("%s",a);(D) gets("a");36.設有字符數(shù)組a,那么的輸入語句是(A)gets(a");(B) scanf("%c",a);(A)將字符串stn復制到字符串 (B)將字符串stn連接到字符串 (C)將字符串str2復制到字符串 (D)將字符串str2連接到字符串37.函數(shù)調(diào)用“strcat(strcpy(st1str2),str3)的功能是().str2后再連接到字符串str3之后str2后再復制到字符串str3之后str1后再將字符串str3連接到str1之

13、后str1后再將str1復制到字符串str3中38.定義如下變量和數(shù)組:int i;int x33=1,2,3,4,5,6,7,8,9;那么下面語句的輸出結(jié)果是().for(i=0;i<3;i+) printf("%d ",xi2-i);A)15 9B)1 4 7C)3 5 7D)3 6 939. C語言中,以下表達中錯誤的選項是().A)主函數(shù)中定義的變量是全局變量B)同一程序中,全局變量和局部變量可以同名C)全局變量的作用域從定義處開始到根源程序文件結(jié)束D)局部變量的作用域被限定在其所定義的局部范圍中40. C語言中,函數(shù)調(diào)用時假設實參是數(shù)組名,那么被調(diào)函數(shù)對應形

14、參().A)可以是相應類型簡單變量 B)必須是相應類型數(shù)組名C)可以是相應類型數(shù)組名D)必須是相應類型的指針變量41. 在下面C語言的函數(shù)說明語句中,的是().A)int fun(int, int); B) int fun(int x,y);C) int fun(x,y);D)int fun(int x; inty);42.假設要用fopen函數(shù)翻開一個新的二進制文件,該文件要既能讀也能寫,那么文件讀寫方 式字符串應是().A)" a+" B)" r+"C)"wb+" D)“ab43. C語言中規(guī)定,簡單變量做實參時,它和對應形參之間

15、的數(shù)據(jù)傳遞方式是.A地址傳遞B單向值傳遞 C有實參傳給形參,再由形參傳回給實參D由用戶指定傳遞方式44.:int *p; 使用"p = malloc(sizeof(int);語句動態(tài)申請int型的存儲單元,應當使用().A) int B) int*C) (*int) D) (int*)45.在C函數(shù)中,局部變量的隱含存儲類型是.A autoB staticC register(D) extern46.有定義:int x,*p;,能使指針變量p指向變量x的語句是A) *p=&x;B) p=&x;C) *p=x;D)°p=*&x;47.有定義:int x

16、,y=10,*p=&y;,那么能使得x的值也等于10的語句是(A) x=p;B) x=&p;C) x=&y;D) x=*p;48.有定義:int *p1,*p2;,那么的賦值語句為().A) p1=p2;B) p1/=p2;C) p1+=p2;D) p1*=p2;49.在C語言中,關于文件存取方式,.A、只能順序存取 B、只能隨機存取也稱直接存取C、可以順序存取,也可以隨機存取D、只能從文件開頭存取50.有定義:int a尸1,3,5,7,9,*p=a;,那么值為5的表達式是().A) p+=2, *p+ B) p+=2, *+p C) p+=2, (*p)+ D) a

17、+=2, *a填空1.將百分制成績轉(zhuǎn)化為A-E這5個等級,90以上為A ; 80-89為B ; 70-79為C; 60-69為D,60以下為EVoid main()(Int score;printf("輸入一個介于 0-100之間的數(shù));scanf( " _1 , &score);2(score/10)(case 10:printf( n?break;case 9:printf( n乍 break;case 8:printf( n" ")B break;case 7:printf( n" ") break;case 6:pri

18、ntf( n" "口 break;3:printf(n""E,scor); break;)2.輸入三角形三條邊長度a, b, c,判斷能不能組成三角形.如果可以輸出 YES ,如果不能輸出NOmain()(4_ a, b, c;scanf( " f%f%f",&a,&b,&c);if(a+b>c)&&(a+c>b)&&(b+c>a)printf("YES');_5_printf(" NO');)3計算1-100的和 main

19、()(int i,sum;sum=0;i=6;dosum=sum+i; i+while(i<=7); printf("%dn",sum);4、*計算每個學生成績的平均分,并把結(jié)果保存在數(shù)組bb中.例如,當 scoreNM =83.5,82,86,65,67 , 80, 91.5, 84,99,95, 90.5,95,86,95,97時,三個學生的平均分為76.7,89.9,92.7.#include <stdio.h>#define N 3#define M 5void _8(int x,int y,float cc口,float aa5)int i,j;

20、for(i=0;i<x;i+)for(j=0;j<y;j+)cci+=aaij;cci/=y;void main()int i;static float scoreNM=83.5,82,86,65,67,80,91.5,84,99,95,90.5,95,86,95,97;float _9N;for(i=0;i<N;i+)bbi=0;Fun(N,M,bb,score);for(i=0;i<N;i+)printf("nstudent%dtaverage=%5.1f",i+1,bbi);printf("n");5 .判斷某個大于2的證書

21、是否是素數(shù)main()int n, i, flag;scanf("%d", _10);for(i=2;i<n;i+)if(n%i=0)(flag =0;11_)if(flag!=0) printf("yes");elseprintf("no");)6 .輸出程序的運行結(jié)果main ()int a, b;int *p_1, *p_2;a=100;b=10;p_1=&a;p_2=&b;printf("%d%d",*p_1,*p_2);運行結(jié)果 12 ,137 .打印9*9乘法表,輸出格式要求為:1

22、*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9main()(int m,n ;for(m=1; m<=9;m+)(for(n=1;n 14 m;n+)printf("%d*%d=%2d,m,m,m*n);printf("15");編程1. *編寫程序:* 計算20到30的每個整數(shù)立方根之和(保存小數(shù)點后兩位) 參考答案:#include <stdio.h>#include <math.h>int main() int i;double s=0;for(i=20; i<=30; i+)s=s+pow(i,1.0/3);如果

溫馨提示

  • 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

提交評論