2009年C語言考試試題A_第1頁
2009年C語言考試試題A_第2頁
2009年C語言考試試題A_第3頁
2009年C語言考試試題A_第4頁
2009年C語言考試試題A_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學 號: 姓 名: 所屬學院: 年 級: 專 業(yè): 裝訂密封線考生答題不得出現(xiàn)紅色字跡,除畫圖外,不能使用鉛筆答題;答題留空不足時,可寫到試卷背面;請注意保持試卷完整。廣西師范大學全日制普通本科課程考核試卷(2008 2009 學年第 二 學期)課程名稱:c語言 課程序號:zb233132 開課學院:電子工程學院 任課教師:歐啟標 殷嚴剛 年級、專業(yè):08級通信工程、電子信息工程、應電 試卷序號:a卷 考試時間:120分鐘 考核方式:閉卷 r 開卷 題號一二三總分統(tǒng)分人簽字滿分453025100得分得 分評卷人一、基礎知識選擇題(本大題共30小題,每小題1.5分,共45分,每個選擇題只有一個正

2、確答案)1、以下敘述中正確的是( )a、c語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行b、可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行c、c語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結束d、main可作為用戶標識符,用以命名任意一個函數(shù)作為主函數(shù)2、可在c程序中用作用戶標識符的一組標識符是( )a、   and       b、   date       c、   hi &#

3、160;     d、   case    _2007        y-m-d       dr.tom       big13、以下選項中,合法的一組c語言數(shù)值常量是( )a、   028       b、   12.

4、0;      c、   .177       d、   0x8a    .5e-3       0xa23       4e1.5       10,000    -0xf   

5、      4.5e0        0abc         3.e54、算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴格的規(guī)定,這屬于算法的( )a、正當性  b、可行性    c、確定性    d、有窮性5、若在定義語句:int a,b,c,*p=&c; 之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是( )a、sca

6、nf( " %d " ,a,b,c);         b、scanf( " %d%d%d " ,a,b,c);  c、scanf( " %d " ,p);           d、scanf( " %d " ,&p);6、以下關于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是( )a、均占4

7、個字節(jié)           b、根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)c、由用戶自己定義        d、由c語言編譯系統(tǒng)決定7、若變量均已正確定義并賦值,以下合法的c語言賦值語句是( )a、x=y5;      b、x=n%2.5;     c、x+n=i ;     d、x=5=4+1;8、有以下程序段&

8、#160;    int j; float y; char name50;     scanf("%2d %f%s", &j, &y, name);當執(zhí)行上述程序段,從鍵盤上輸入55566 7777abc 后,y 的值為( )a、55566.0     b、566.0       c、7777.0     d、5

9、66777.09、若變量已正確定義,有以下程序段    i=0;    do printf( "%d," ,i); while( i+ );    printf( " %dn " ,i);其輸出結果是( )a、0,0       b、0,1       c、1,1       d、程序進入

10、無限循環(huán)10、有以下計算公式 若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是( )a、   if(x>=0) y=sqrt(x);         b、   y=sqrt(x);    else y=sqrt(-x);             if(x<0) y=sqrt(-x);c、&

11、#160;  if(x>=0) y=sqrt(x);          d、   y=sqrt(x>=0?x :-x);    if (x<0) y=sqrt(-x);11、設有條件表達式:(exp)? i+ :j- ,則以下表達式中與(exp)完全等價的是( )a、(exp0)     b、(exp!=0)     c、(exp1)  &

12、#160;   d、(exp!=1)12、有以下程序#include  <stdio.h>main()    int   y=9 ;      for(  y>0 ; y-)           if(y%3=0 )   printf("%d" , -y) ;

13、程序的運行結果是( )a、 741       b、963       c、852       d、87542113、已有定義:char c; ,程序前面已在命令行中包含ctype.h文件。不能用于判斷c中的字符是否為大寫字母的表達式是( )a、 isupper(c)             b、

14、'a' <=c<= ' z 'c、 'a' <=c && c <= ' z '         d、c <=( ' z '- 32)&&( ' a '- 32)<= c14、有以下程序#include  <stdio.h>main() int i,j, m=55;   &#

15、160;   for(i=1;i<=3;i+)         for(j=3; j<=i; j+)    m=m%j;       printf("%d n ", m); 程序的運行結果是( )a、0       b、1       c、2

16、60;       d、315、若函數(shù)調(diào)用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是( )a、函數(shù)的實參和其對應的形參共占同一存儲單元b、形參只是形式上的存在,不占用具體存儲單元c、同名的實參和形參占同一存儲單元d、函數(shù)的形參和實參分別占用不同的存儲單元16、已知字符 'a ' 的ascii代碼值是65,字符變量c1的值是 ' a ' ,c2的值是 ' d ' 。執(zhí)行語句 printf("%d , %d" , c1 , c2-2 ) ; 后,輸

17、出結果是( )a、a,b        b、a,68        c、65,66       d、65,6817、以下敘述中錯誤的是( )a、改變函數(shù)形參的值,不會改變對應實參的值b、函數(shù)可以返回地址值c、可以給指針變量賦一個整數(shù)作為地址值d、當在程序的開頭包含頭文件stdio.h時,可以給指針變量賦null18、以下正確的字符串常量是( )a、 " "   

18、60;   b、 ' abc '       c、olympic games   d、 ""19、設有定義:char   p=' 1 ', '2', '3',*q=p; ,以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是( )a、 sizeof( p )     b、 sizeof( char )   c、 sizeof( * q

19、)       d、 sizeof( p0 )20、有以下函數(shù)int aaa(char  *s )  char *t=s ;     while(*t+) ;     t-;     return(t-s) ; 以下關于 aaa 函數(shù)的功能的敘述正確的是( )a、 求字符串s的長度      

20、60;  b、 比較兩個串的大小c、 將串 s 復制到串 t         d、 求字符串s所占字節(jié)數(shù)21、若有定義語句:int a36; ,按在內(nèi)存中的存放順序,a數(shù)組的第10個元素是( )a、a04     b、a13     c、a03     d、a1422、有以下程序#include  <stdio.h>void  fun(

21、char  *p) +p; printf("%sn",*p); main() char  *a="morning", "afternoon", "evening","night"     fun( a ); 程序的運行結果是( )a、afternoon     b、fternoon     c、morning 

22、;    d、orning23、若有定義語句: int  a23,*p3; ,則以下語句中正確的是( )a、 p=a;       b、 p0=a;     c、 p0=&a12;    d、 p1= &a;24、當用戶要求輸入的字符串中含有空格時,應使用的輸入函數(shù)是( )a、scanf()     b、getchar()   &#

23、160; c、gets()       d、getc()25、以下關于字符串的敘述中正確的是( )a、c語言中有字符串類型的常量和變量b、兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較c、可以用關系運算符對字符串的大小進行比較d、空串一定比空格打頭的字符串小26、在一個c源程序文件中所定義的全局變量,其作用域為( )a、所在文件的全部范圍       b、所在程序的全部范圍c、所在函數(shù)的全部范圍      d、由具體定義

24、位置和extern說明來決定范圍27、若程序中有宏定義行:#define n 100 則以下敘述中正確的是( )a、宏定義行中定義了標識符n的值為整數(shù)100b、在編譯程序?qū)源程序進行預處理時用100替換標識符nc、對c源程序進行編譯時用100替換標識符nd、在運行時用100替換標識符n28、以下關于typedef的敘述錯誤的是( )a、用typedef可以增加新類型b、typedef只是將已存在的類型用一個新的名字來代表c、用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名d、用typedef為類型說明一個新名,通常可以增加程序的可讀性29、設有以下定義uni

25、on data int   d1; float d2; demo;則下面敘述中錯誤的是( )a、變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同b、變量demo中各成員的地址相同c、變量demo和各成員的地址相同d、若給demo.d1賦99后,demo.d2中的值是99.030、有以下程序#include  <stdio.h>main()  int  a=1,b=2 ,c=3, x ;      x= ( ab )&c; print

26、f("%dn",x);程序的運行結果是( )a、0       b、1       c、2       d、3得 分評卷人二、簡單程序分析題(共10小題,每小題3分,共30分,每個選擇題只有一個正確答案)1、有以下程序#include  <stdio.h>void  fun(int  *a, int  n)

27、 /* fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序 */ int t,i,j;  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  c10=1,2,3,4,5,6,7,8,9,0,i;     fun(c+4, 6);     for(i

28、=0; i<10; i+) printf("%d,", ci);     printf("n");程序的運行結果是( )a、1,2,3,4,5,6,7,8,9,0,         b、0,9,8,7,6,5,1,2,3,4,c、0,9,8,7,6,5,4,3,2,1,         d、1,2,3,4,9,8,7,6,5,0,2、有以下程序#inc

29、lude <stdio.h>int fun( char s) int n=0;  while(*s <= ' 9 ' && *s >= ' 0 ') n=10*n+*s -' 0 ' s+;   return (n); main() char s10= ' 6 ', ' 1 ', '*', ' 4 ', '*', ' 9 ', '*', ' 0 &#

30、39;, '*'  printf( " %dn " ,fun(s); 程序的運行結果是( )a、9       b、61490     c、61       d、53、有以下程序#include  <stdio.h>void fun(char *t , char *s) while(*t!=0)  t+;  while(

31、 (*t+ = *s+ )!=0 ) ; main() char  ss10="acc",aa10="bbxxyy"  fun(ss, aa); printf("%s,%sn", ss,aa); 程序的運行結果是( )a、accxyy, bbxxyy           b、acc, bbxxyyc、accxxyy , bbxxyy    

32、0;    d、accbbxxyy , bbxxyy4、有以下程序#include  <stdio.h>#include  <string.h>void  fun(char s10, int n) char  t; int  i,j;  for(i=0; i<n-1; i+)    for(j=i+1; j<n; j+)   /* 比較字符串的首字符大

33、小,并交換字符串的首字符 */      if (si0 > sj0) t = si0; si0 = sj0; sj0 = t;main() char  ss510="bcc", "bbcc", "xy", "aaaacc", "aabcc"  fun(ss, 5); printf("%s,%sn", ss0,ss4);程序的運行結果是( )a、 xy

34、,aaaacc     b、 aaaacc ,xy     c、xcc,aabcc     d、 acc,xabcc5、有以下程序#include  <stdio.h>int  a=1;int  f(int  c) static  int  a=2;  c = c+1;  return  (a+)

35、 + c;main() int  i, k=0;  for(i=0;i<2;i+)  int  a=3; k += f(a);   k+=a;  printf("%dn",k);程序的運行結果是( )a、14       b、15       c、16       d、17

36、6、有以下程序#include <stdio.h>void   fun(int n, int *p)  int  f1,f2;   if(n=1|n=2)    *p=1;   else    fun(n-1,&f1);  fun(n-2,&f2);     *p=f1+f2;   main() in

37、t  s;  fun( 3 ,&s); printf("%dn", s );程序的運行結果是( )a、2       b、3       c、4       d、57、有以下程序#include <stdio.h>struct  tt   int  x; st

38、ruct  tt *y; *p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main() int  i;  p=a;  for(i=1; i<= 2; i+) printf("%d,", p->x ); p=p->y; 程序的運行結果是( )a、20,30,     b、30,17,       c、15,30, &

39、#160;   d、20,15,8、有以下程序#include  <stdio.h>#include  <string.h>typedef  struct  char name9; char sex; float score2;  stu;stu  f(stu  a) stu  b="zhao", 'm', 85.0, 90.0; int 

40、;    i;  strcpy(, );  a.sex = b.sex;  for (i=0; i<2; i+)  a.scorei = b.scorei;  return   a;main() stu  c="qian", 'f', 95.0, 92.0,d ;  d=f(c); printf("%s,%c,%2.0f,%2.0f

41、n",,d.sex,d.score0, d.score1);程序的運行結果是( )a、qian,f,95,92   b、qian,m,85,90    c、 zhao,m,85,90    d、 zhao, f ,95,9 29、以下程序main(int  argc,char  *argv)   int  n=0,i;for(i=1;i<argc;i+)   n=n*10+*argvi-0;printf(“%dn”,n

42、);編譯連接后生成可執(zhí)行文件tt.exe,若運行時輸入以下命令行tt  12  345  678程序運行后的輸出結果是( )a、12     b、12345   c、12345678    d、13610、以下程序的輸出結果是( )#include <stdio.h>main()file  *fp; int i,a6=1,2,3,4,5,6;fp=fopen(“d3.dat”,”wb+”);fwrite(a,sizeof(int),6

43、,fp);fseek(fp,sizeof(int)*3,seek_set);/*該語句使讀文件的位置指針從文件頭向后移動3個int型數(shù)據(jù)*/fread(a,sizeof(int),3,fp);   fclose(fp);for(i=0;i<6;i+)  printf(“%d,”,ai);a、4,5,6,4,5,6         b、1,2,3,4,5,6c、4,5,6,1,2,3         d

44、、6,5,4,3,2,1得 分評卷人三、填空題(本大題共10小題,每小題2.5分,共25分,請各題的橫線上填寫正確答案)1、執(zhí)行以下程序時輸入1234567<cr>,則輸出結果是 。#include  <stdio.h>main()  int  a=1,b;     scanf("%2d%2d",&a,&b); printf("%d  %dn",a,b);2、以下程序的功能是:

45、輸出a、b、c三個變量中的最小值。請?zhí)羁铡?include <stdio.h>main( )  int a,b,c,t1,t2;      scanf("%d%d%d",&a,&b,&c);       t1= a<b  ?  ;       t2= c<t1 ?  ;&

46、#160;       printf("%dn", t2 );3、以下程序的輸出結果是 。#include  <stdio.h>main()  int  n=12345, d;     while(n!=0) d=n%10; printf("%d", d); n/=10; 4、有以下程序段,且變量已正確定義和賦值    for(s=1.0 , k=1;&#

47、160;k<=n; k+)  s=s+1.0/(k*(k+1);    printf("s=%fnn", s);請?zhí)羁?,使下面程序段的功能與之完全相同    s=1.0;   k=1;    while( )    s=s+1.0/(k*(k+1);  ;   printf("s=%fnn", s);5、以下程序中函數(shù)f的功能是在數(shù)

48、組x的n個數(shù)(假定n個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。請?zhí)羁铡?include  <stdio.h>void   f(int  x, int  n) int p0, p1, i, j, t, m;     i=j=x0; p0=p1=0;     for(m=0;m<n;m+)      

49、60;  if( xm>i )  i=xm; p0=m;          else  if( xm<j ) j=xm; p1=m;            t=xp0;  xp0=xn-1; xn-1 =t;    t= xp1; xp1= ;  =t;main() int  a10, u;     for(u=0;u<10;u+) scanf("%d", &au);     f(a, 10);     for(

溫馨提示

  • 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

提交評論