2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)_第1頁
2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)_第2頁
2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)_第3頁
2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)_第4頁
2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年重慶工程學(xué)院公共課《C語言》科目期末試卷B(有答案)

一、填空題

1、假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。

請(qǐng)?zhí)羁铡?/p>

a+=_______;b=a-_______;a-=_______;

2、C語言源程序的基本單位是________

3、C語言的源程序必須通過【】和【】后,才能被計(jì)算機(jī)執(zhí)行。

4、表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類型為_______。

5、若x和n均是int型變量,且x的初值為12,n的初值為5,則執(zhí)行表達(dá)式x%=

(n%=2)后x的值為_______。

6、把int類型變量low中的低字節(jié)及變量high中的高字節(jié)放入變量s中的表達(dá)式是

_______。

7、雞兔共有30只,腳共有90只,下面程序段是計(jì)算雞兔各有多少只。請(qǐng)?zhí)羁铡?/p>

for(x=0;x<=30;x++)

{y=30一x;

if(_______)printf("%d,%d\n",x,y);

}

8、下面程序段的運(yùn)行結(jié)果是_______。

charch[]="600";inta,s=0;

for(a=0;ch[a]>='0'&&ch[a]<='9';a++)

s=10*s+ch[a]-'o';

printf("%d",s);

9、設(shè)有宏定義如下:

#defineMIN(x,y)(x)>(y)?(x):(y)

#defineT(x,y,r)x*r*y/4則執(zhí)行以下語句后,s1的值為_______,s2的值

為_______。

inta=1,b=3,c=5,s1,s2;

s1=MIN(a=b,b-a);

s2=T(a++,a*++b,a+b+c);

10、下面程序段的運(yùn)行結(jié)果是_______。

chara[]="12345",*p;

ints=0;

for(p=a;*p!=\0';p++)

s=10*s+*p-'o';

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

二、選擇題

11、下面4個(gè)選項(xiàng)中,是合法整型常量的選項(xiàng)是()。

A.160B.-0xcdfC.-01D.-0x48a

-0xffff01a9860122e5

0110xe06680x

12、下面4個(gè)選項(xiàng)中,是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。

A.AB.floatC.b-aD._123

P_01a0gototemp

DoAintINT

13、一個(gè)C語言程序由()。

A.一個(gè)主程序和若干子程序組成B.函數(shù)組成

C.若干過程組成D.若干子程序組成

14、C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置()

A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

C.可以任意D.必須在最后

15、若有說明:inta[10];,則對(duì)a數(shù)組元素的正確引用是()。

A.a[10]B.a[3.5]C.a(5)D.a[10-10]

16、閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<回車>,程序的輸出結(jié)果

#include<stdio.h>

intmain()

{intx,y,z;

scanf("%d%d%d”,8.x.&y,&z);

printf("x+y+z=%d\n",x+y+z);

return0;

}

A.x+y+z=48B.x+y+z=35C.x+z=35D.不確定值

17、已有定義int(*p)();指針p可以()。

A.代表函數(shù)的返回值B.指向函數(shù)的入口地址

C.表示函數(shù)的類型D.表示函數(shù)返回值的類型

18、在一個(gè)C源程序文件中,若要定義一個(gè)只允許本源文件中所有函數(shù)使用的全局

變量,則該變量需要使用的存儲(chǔ)類別是()

A.externB.registerC.autoD.static

19、設(shè)有以下程序段:

intx=0,s=0;

while(!x!=0)s+=++x;

printf("%d”,s);則()

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1

C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次

20、在下面的程序段中()。

Intt,x;

for(t=1;t<=100;t++)

{scanf("%d”,&x);

if(x<0)continue;

printf("%3d",t);

}

A.當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束B.x≥0時(shí)什么也不輸出

C.printf函數(shù)永遠(yuǎn)也不執(zhí)行D.最多允許輸出100個(gè)非負(fù)整數(shù)

21、以下程序的運(yùn)行結(jié)果是()。

#include<stdio.h>

intmain()

{inta,b,d=241;

a=d/100%9;

b=(-1)8&.8&(-1);

printf("%d,%d",a,B.;

return0;

}

A.6,1B.2,1C.6,0D.2,0

22、下面程序段的運(yùn)行結(jié)果是()。

inta[6][6],i,j;

for(i=1;i<6;i++)

for(j=1:j<6;j++)

a[i][j]=(i/j)*(j/i);

for(i=1;i<6;i++)

{for(j=1;j<6;j++)

printf("%2d",a[i][j]);

printf("\n")

}

A)11111B)00001C)10000D)10001

11111000100100001010

11111001000010000100

11111010000001001010

11111100000000110001

23、當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入:

aabb<回車>

ccdd<回車>

則下面程序的運(yùn)行結(jié)果是()。

#include<stdio.h>

intmain()

{charal[5],a2[5],a3[5],a4[5];

scanf("%s%s",al,a2);

gets(a3);gets(a4);

puts(a1);puts(a2);

puts(a3);puts(a4);

return0;

}

A)aaB)aaC)aaD)aabb

bbbbbbcc

ccccdddd

ccddddee

24、以下程序的運(yùn)行結(jié)果是()。

#include<stdio.h>

voidfun(intx)

{if(x/2>0)fun(x/2-2);

printf("%d”,x);

}

intmain()

{fun(20);

printf("\n");

return(0);

}

A.2082-1B.2820C.8D.-12820

25、若運(yùn)行以下程序時(shí),從鍵盤輸入2473<回車>,則下面程序的運(yùn)行結(jié)果()

#include<stdio.h>

intmain()

{intc;

while((c=getchar())!='\n')

switch(c-'2')

{case0:

case1;putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default;putchar(c+2);break;

}

return0;

}

A.668977B.668966C.66778777D.6688766

三、讀程序填空

26、以下程序的輸出結(jié)果是_______。

#include<stdio.h>

intmain()

{inta=252;

printf("a=%oa=%#o\n",a,a);

printf("a=%xa=%#x\n",a,a);

return0;

}

27、以下程序的運(yùn)行結(jié)果是_______。

#include<stdio.h>

intmain()

{intn=100;

charc;

floatf=10.0;

doublex;

x=f*=n/=(c=48);

printf("%d%d%3.1f%3.1f\n",n,c,f,x);

return0;

}

28、以下函數(shù)fun的功能是:將輸入的大寫字母,先轉(zhuǎn)換為與其對(duì)應(yīng)的小寫字母,

然后再轉(zhuǎn)換成該小寫字母后的第3個(gè)字母,返回后輸出。例如,若輸入的字母為E,

輸出的字母則為h;若輸入的字母為Y,輸出的字母則為b。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

charfun(charc)

{!c=_______:

if(c>=1a1&&c<='w')c=c+3;

elseif(c>='x'/&&c<='z')_______:

returnc;

}

intmain()

{charc;

c=getchar();

c=fun(e);

putchar(c);

return(0);

}

29、若輸入一個(gè)整數(shù)10,則以下程序的運(yùn)行結(jié)果是_______。

#include<stdio.h>

intsub(inta);

intmain()

{inta,e[10],c,i=0;

printf(”輸入一整數(shù)\n");

scanf("%d",&.a);

while(a!=0)

{c=sub(a);

a=a/2;

e[i]=c;

i++;

for(;i>0;i--)printf("%d",e[i-1]);

return(0);

}

intsub(inta)

{intc;

c=a%2;

returnc;

}

30、下面程序的功能是用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公約數(shù)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{intr,m,n;

scanf("%d%d",&m,&n);

if(m<n){_______};

r=m%n;

while(r){m=n;n=r;r=_______;}

printf("%d\n",n);

return0;

}

31、下面程序的功能是檢查一個(gè)二維數(shù)組是否對(duì)稱(即對(duì)所有i、j都有a[i][j]=

a[j][i])。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};

inti,j,found=0;

for(j=0;j<4;j++)

for(_______;i<4;i++)

if(a[j][i]!=a[i][j])

{_______;break;)

if(found==1)printf("No");

elseprintf("Yes");

return0;

}

32、以下程序的功能是判斷輸入的某個(gè)年份是否是閏年。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inty,f;

scanf("%d",&y);

if(y%400==0)f=1;

elseif(_______)f=1;

else_______;

if(f)printf("%dis",y);

elseprintf("%disnot",y);

printf("aleapyear\n");

return0;

}

33、以下程序把x插到a數(shù)組中的下標(biāo)為k的元素中。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inta[51],k,x,i,n;

printf("Entern(n<50):");

scanf("%d",&n);

printf("Enter%2dintegers:\n",n);

for(i=1;i<=n;i++)scanf("%d",a+i);

printf("Enteralocationvalueforinsertednumber:\n");

scanf("%d”,&k);

printf("Enterainsertednumber:\n");

scanf("%d”,8.x);

if((k>0)&&(k<=n+1))

{for(_______)*(a+i+1)=*(a+i);

*(_______)=x;

_______;

}

for(i=1;i<=n;i++)printf("%4d",*(a+i));

printf("\n");

return(0);

}

四、編程題

34、下面findmax函數(shù)將計(jì)算數(shù)組中的最大元素及其下標(biāo)值和地址值,請(qǐng)編寫

*findmax()函數(shù)。

#include<stdio.h>

int*findmax(int*s,intt,int*k)

{

}

intmain()

{inta[10]={12,23,34,45,56,67,78,89,11,22},k,*add;

add=findmax(a,10,&.k);

printf("%d,%d,%o\n",a[k],k,add);

return(0);

}

35、通過循環(huán)按行順序?yàn)橐粋€(gè)5×5的二維數(shù)組a賦1~25的自然數(shù),然后輸出該數(shù)

組的左下三角。試編程。

參考答案

一、填空題

1、【1】b【2】b【3】b

2、函數(shù)

3、【1】編譯【2】連接

4、整型(或int型)

5、

溫馨提示

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

評(píng)論

0/150

提交評(píng)論