上海電機學院計算機C語言專升本題庫及答案_第1頁
上海電機學院計算機C語言專升本題庫及答案_第2頁
上海電機學院計算機C語言專升本題庫及答案_第3頁
上海電機學院計算機C語言專升本題庫及答案_第4頁
上海電機學院計算機C語言專升本題庫及答案_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

計算機C語言專升本題庫(總分100分,考試時長90分鐘)一、單項選擇題(每小題2分,共40分)1、下列字符中,ascii碼值最小的是________。 A、a B、A C、x D、Y2、若變量已正確說明為float型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦予10,0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是________。 A、10<回車>22<回車>33<回車> B、10.0,22.0,33.0<回車> C、10.0<回車>22.033.0<回車> D、1022<回車>33<回車>3、當把以下四個表達式用作if語句的控制表達式時,有一個選項與其它三個選項含義不同,這個選項是________。 A、k%2 B、k%2==1 C、(k%2)!=0 D、!k%2==14、執行以下循環語句時,下列說法正確的是________。x=-1;

do

{

x=x*x;

}

while(x==0); A、循環體將執行一次 B、循環體將執行兩次 C、循環體將執行無限次 D、系統將提示有語法錯誤5、二維數組a的每個元素是由6個字符組成的串,其行下標i=0,1,…,8,列下標j=1,2,…,10。若a按行先存儲,元素a[8,5]的起始地址與當a按列先存儲時的元素()的起始地址相同。設每個字符占一個字節。 A、A[8,5] B、A[3,10] C、A[5,8] D、A[0,9]6、以下選項中,不能作為合法常量的是________。 A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e07、設有如下程序段chars[20]="bejing",*p;p=s;則執行p=s;語句后,以下敘述正確的是________。 A、可以用*p表示s[0] B、s數組中元素的個數和p所指字符串長度相等 C、s和p都是指針變量 D、數組s中的內容和指針變量p中的內容相等8、在c語言中,要求運算數必須是整數的運算符是________。 A、< B、% C、/ D、>9、以下關于字符串的敘述中正確的是________。 A、c語言中有字符串類型的常量和變量 B、兩個字符串中的字符個數相同時才能進行字符串大小的比較 C、可以用關系運算符對字符串的大小進行比較 D、空串一定比空格打頭的字符串小10、若有以下定義和語句:intw[2][3],(*pw)[3];pw=w;則對w數組元素非法引用是______。 A、*(w[0]+2) B、*(pw+1)[2] C、pw[0][0] D、*(pw[1]+2)11、在以下敘述中,不正確的選項是__________。 A、C語言程序總是從main()函數開始執行 B、在C語言程序中,被調用的函數必須在main()函數中定義 C、C程序是函數的集合,在這個函數集中包括標準函數和用戶自定義函數 D、在C語言程序中,函數的定義不能嵌套,但函數的調用可以嵌套12、以下選項中合法的字符常量是______。 A、"B" B、'\010' C、68 D、D13、下面描述正確的是________。 A、兩個字符串包含的字符個數相同時,才能比較字符串 B、字符個數多的字符串比字符個數少的字符串大 C、字符串"STOP"與"STOP■"相等 D、字符串"That"小于字符串"The"14、以下對枚舉類型名的定義中正確的是______。 A、enuma={one,two,three}; B、enuma{one=9,two=-1,three}; C、enuma={"one","two","three"}; D、enuma{"one","two","three"};15、下面程序的輸出結果是________。

main()

{

intnum=0;

while(num<=2){

num++;

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

}

} A、1

2

3

4 B、1

2

3 C、1

2 D、116、下列while循環,將執行

inti=4;

while(--i)printf("%d",i); A、3次 B、4次 C、0次 D、無限次17、若有以下說明語句:

structstudent

{

intnum;

charname[];

floatscore;

}stu;

則下面的敘述不正確的是:() A、struct是結構體類型的關鍵字 B、structstudent是用戶定義的結構體類型 C、num,score都是結構體成員名 D、stu是用戶定義的結構體類型名18、下列程序的輸出結果是______。intfun(intx,inty,int*cp,int*dp)

{

*cp=x+y;

*dp=x-y;

}

main()

{

inta,b,c,d;

a=30;

b=50;

fun(a,b,&c,&d);

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

} A、50,30 B、30,50 C、80,-20 D、80,2019、若二維數組a有m行n列,則下面能夠正確引用元素a[i][j]的為______。 A、*(a+j*n+i) B、*(a+i*n+j) C、*(*(a+i)+j) D、*(*a+i)+j20、若有下列說明和語句,則對結構體變量st中成員i的引用方式不正確的是________。

structstu{

inti;

intname;

}st,*p;p=&st; A、st.i B、*p.i C、(*p).i D、p->i二、填空題(每小題2分,共20分)1、若i為整型變量,且i%2==0的值為1,則變量i為________數?2、%d怎么實現(兩位數)左右對齊3、&&0||2的值為________?4、C語言源程序經過編譯后,生成文件的后綴名是___。5、下列程序段是從鍵盤輸入的字符中統計數字字符的個數,用換行符結束循環。intn=0,ch;

ch=getchar();

while(________)

{

if(________)n++;

c=getchar();

}6、寫出下列程序的運行結果。

#include"stdio.h"

main()

{

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

intm,n,*p;

p=&a[0];

m=*(p+1);

n=*(p+4);

printf("%d%d%d",*p,m,n);

}7、在scanf函數中,用符號______表示變量的地址。8、若有"inta[3][2]={{1,2},{3},{4,5}};",則a[1][1]的值是________。9、下列程序段的運行結果是_____。

chars1[20]="abcdef",s2[5]="abc";

strcpy(s1,s2);

printf("%c",s1[5]);10、下列程序段的運行結果是________。

chars1[20]="abcdef",s2[5]="abc";

strcpy(s1,s2);

printf("%c",s1[2]);三、編程題(每小題分,共40分)1、編寫程序:計算并輸出一維數組a[10]中的最大值。(本題10分)2、任意輸入兩行字符串,把第二行字符串連接到第一行字符串末尾(不用strcat函數)。(本題14分)3、通過函數調?實現:講結構體數組中的三個元素按num成員進?升序排列。要求:

①數組元素依次賦初值為:{12,"sunny",89.1}、{8,"henry",73.5}、{21,"lucy",91.7}。

②結構體定義如下:structs{intnum;charname[30];floatscore;};(本題16分)

參考答案一、單項選擇題1、B【解析】a、A、x、Y對應的ASCII碼值分別是0001110、0001100、1000111、1001101,故正確答案為B。2、B【解析】在C語言中,當一次輸入多個數據的時候,數據之間要用間隔符,合法的間隔符可以是空格、制表符和回車符。逗號不是合法的間隔符。3、D4、A5、B【解析】二維數組A[0:8,1:10],設起始地址為0,數組元素A[i,j]按行存儲公式為:Loc(A[i,j])=L1+(i-1)×U2×d+(j-1)×d,數組元素A[i,j]按列存儲公式為:Loc(A[i,j])=L1+(j-1)×U2×d+(i-1)×d,可得i=3,j=10。6、B【解析】C語言的語法規定,字母e(E)之前必須有數字,且e(E)后面的指數必須是整數,而選項B)中,e(E)后面的指數是小數,所以不合法。7、A8、B9、D10、B11、B12、B13、D14、B15、C16、D17、D18、C19、C20、B【解析】本題主要考查結構指針:p=&st,訪問結構體的成員,可以通過結構變量訪問,即st.i,也可以用等價的指針形式即(*p).i和p->i。二、填空題1、偶2、%2d和%-2d|3、['1(或真)']4、.c5、['ch!=’\\n’ch>=0’0’','&&ch<=’9’']6、1257、&8、09、f10、c三、編程題1、#include<stdio.h>

main()

{

inta[10],i,max=0;

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

{

scanf("%d",a[i]);

if(max<a[i])max=a[i];

}

printf("%d",max);

getch();

}2、#include<stdio.h>

#include<string.h>

intmain()

{

chars1[80],s2[80];

inti,l1,l2,j;

gets(s1);

gets(s2);

l1=strlen(s1);

l2=strlen(s2);

for(i=l1,j=0;j<l2;i++,j++){

s1[i]=s2[j];

}

puts(s1);

return0;

}3、寫法1:在函數外部定義結構體變量并且賦值,參數值為空。

charname[30];

floatscore;

}a[3]={{12,"sunny",89.1},{8,"henry",73.5},{21,"lucy",91.7}};

voidfun()

{

inti,j;

structst;

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

{

for(j=0;j<2-i;j++)

{

if(a[j].num>a[j+1].num)

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

}

intmain()

{

inti;

fun();

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

{

printf("%d,%s,%f\n",a[i].num,a[i].name,a[i].score);

}

return0;

}

8,henry,73.500000

12,sunny,89.099998

21,lucy,91.699997

寫法2:在主函數中定義變量,通過參數傳遞變量值

charname[30];

floatscore;

};

voidfun(structs*a,intn)

{

inti,j;

structst;

for(i=0;i<n-1;i++)

{

for(j=0;j<n-1-i;j++)

{

if(a[j].num>a[j+1].num)

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

}

溫馨提示

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

評論

0/150

提交評論