浙江財經大學往年C語言程序設計專升本復習題及答案_第1頁
浙江財經大學往年C語言程序設計專升本復習題及答案_第2頁
浙江財經大學往年C語言程序設計專升本復習題及答案_第3頁
浙江財經大學往年C語言程序設計專升本復習題及答案_第4頁
浙江財經大學往年C語言程序設計專升本復習題及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2/2C語言程序設計專升本復習題(總分100分,考試時長90分鐘)一、單項選擇題(每小題2分,共40分)1、以下不合法的用戶自定義標識符是________。 A、max B、3_min C、al D、_1102、若變量c定義為float型變量,能給變量c正確賦值的語句是________。 A、scanf("%f",c) B、scanf("%8.4f",&c) C、scanf("%d",&c) D、scanf("%f",&c)3、數值型數據包括()兩種。 A、整型和長整型 B、整型和浮點型 C、單精度型和雙精度型 D、整型實型和貨幣型4、if語句的基本形式是:if(表達式)語句,以下關于"表達式"值的敘述中正確的是________。 A、必須是邏輯值 B、必須是整數值 C、必須是正數 D、可以是任意合法的數值5、若變量已正確定義,對以下while循環(huán)結束條件的準確描述是________。 A、item的絕對值小于0.0001 B、item的絕對值大于0.0001 C、item的絕對值等于0.0001 D、item的絕對值不等于0.00016、下面正確的字符串常量是________。 A、'a' B、'376' C、"\n" D、3767、語句while(!e);中的條件!e等價于________。 A、e==0 B、e!=1 C、e!=0 D、~e8、下列二維數組的說明中,不正確的是________。 A、floata[][4]=0,1,8,5,9; B、inta[3][4] C、#defineN5

floata[N][3] D、inta[2][9.5];9、c語言中,double類型數據占________。 A、1個字節(jié) B、2個字節(jié) C、4個字節(jié) D、8個字節(jié)10、若有定義:charstr1[10]="aaaaaaa";

charstr2[10]="bbbbb";

將字符串str2連接到str1,則下列描述中正確的是________。 A、strcat(str1,str2)可以將字符串str2連接到str1中 B、strncat(str1,str2,strlen(str2))可以將字符串str2連接到str1中 C、strncat(str1,str2,2)可以將字符串str2的前兩個字符連接到str1中 D、strncat(str1,str2,4)可以將字符串str2的前四個字符連接到str1中11、下列數組的定義中,錯誤的是________。 A、charca1[]='c','m','n'; B、charca2[6]="name"; C、charca3[4]="your"; D、intarray[]=1,2,3,4;12、下列敘述中錯誤的是________。 A、在C語言中,函數中的自動變量可以賦初值,每調用一次賦一次初值 B、在C語言中,在調用函數時,實參和對應形參在類型上只需賦值兼容 C、在C語言中,外部變量的隱含類型是自動存儲類別 D、在C語言中,函數形參的存儲類型是自動(auto)類型的變量13、執(zhí)行下面程序段,給x?y賦值時,不能作為數據分隔符的是________?intx,y;scanf("%d%d",&x,&y); A、空格 B、Tab鍵 C、回車 D、逗號14、下列敘述中,錯誤的是________。 A、一個函數中可以有多條return語句 B、調用函數必須在一條獨立的語句中完成 C、函數可通過return語句返回其函數值 D、主函數名main()也可以帶形參15、有如下程序

main()

{

inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;

for(i=0;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j]];

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

}

該程序的輸出結果是______。 A、18 B、19 C、36 D、2616、以下for循環(huán)是________。for(x=0,y=0;(y!=123)&&(x<4);x++) A、無限循環(huán) B、循環(huán)次數不定 C、執(zhí)行4次 D、執(zhí)行3次17、有以下程序

structstu

{

charname[10];

intnum;

intscore;

}

;

main()

{

structstus[5]={{"yangsan",20041,703},{"lisiguo",20042,580,{"wangyin",20043,680},{"sundan",20044,550},{"penghua",20045,537}},*p[5],*t;

inti,j;

for(i=0;i<5;i++)p[i]=&s[i];

for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->score>p[j]->score)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

printf("5d%d\n",s[1].score,p[1]->score);

}

執(zhí)行后輸出結果是________。 A、550550 B、680680 C、580550 D、58068018、以下程序段的輸出結果是________。

intmain(

void)

{

intnum=0,s=0;

while(num<=2)

{

num++;

s+=num;

}

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

return0;

} A、10 B、6 C、3 D、119、若有以下定義和語句,且0≤i<10則對數組元素的錯誤引用是______。inta[10]={1,2,3,4,5,6,7,8,9,10},*p,i;p=a; A、*(a+i) B、a[p-a] C、p+i D、*(&a[i])20、結構體類型的定義允許嵌套是指()。 A、成員是已經或正在定義的結構體型 B、成員可以重名 C、結構體型可以派生 D、定義多個結構體型二、判斷題(每小題2分,共20分)()1、模運算符%,僅用于整型變量或整型常量。()2、c語言中的注釋有兩種類型:單行注釋和多行注釋。()3、在標準c中,沒有邏輯型數據,故不能使用邏輯表達式。()4、break語句只能用在循環(huán)語句中。()5、符號"a"和’a’的區(qū)別是

"a"是字符串常量,占2個字節(jié);而’a’是字符常量,占1個字節(jié)。()6、c程序函數體是由左右方括號[]括起來的部分。()7、一個c源程序可由一個或多個函數組成?()()8、在調用一個函數的過程中又出現(xiàn)直接或間接地調用該函數本身,這稱為函數的嵌套調用()9、在c程序中,函數既可以嵌套定義,也可以嵌套調用。()()10、隨機操作只適用于二進制文件。三、編程題(每小題分,共40分)1、編寫程序:求元素個數為10的一維數組元素中的最大值和最小值?(本題10分)2、編寫一個函數,從傳人的m個字符中找出最長的一個字符串,并通過形參指針max傳回該串地址(用****作為結束輸入的標志)。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。試題程序:

char*proc(char(*a)[81],intnum)

{

}

voidmain()

{

charss[l0][81],*max;

intn,i=0;

printf("輸入若干個字符串:");

gets(ss[i]);

puts(ss[i]);

while(!strcmp(ss[i],"****")==0)

{

i++;

gets(ssei]);

puts(ss[i]);

}

n=i;

max=proe(ss,n);

printf("\nmax=%s\n",max);

}(本題14分)3、編寫程序:編寫input()和output()函數輸入,輸出5個學生的數據記錄。(本題16分)

參考答案一、單項選擇題1、B2、D3、B4、D5、A6、C7、A8、D【解析】C語言規(guī)定,對于二維數組,只可以省略第一個方括號中的常量表達式,而不能省略第二個方括號中的常量表達式:二維數組的一般定義格式是:類型說明符數組名[常量表達式][常量表達式]。9、D10、C【解析】連接字符串要考慮內存溢出問題11、C【解析】本題主要考查的知識點為數組。

[要點透析]字符數組不能超過數組長度,雙引號括起來的字符串,最后有一個結束標志'\0',也占一個字符空間,所以C選項錯誤。12、A13、D14、B【解析】本題考核函數的基本知識點。當函數有返回值時,調用函數可以作為一個表達式的子表達式,而不是作為一條獨立的語句存在。故選項B的說法是錯誤的。15、D16、C17、C18、B19、C20、A二、判斷題1、正確2、正確3、錯誤4、錯誤5、正確6、錯誤7、正確8、錯誤9、錯誤10、錯誤三、編程題1、#include"stdio.h"

main()

{

intterm[10];

inti,max,min;

printf("請輸入10個整數:");

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

{

scanf("%d",&term[i]);

max=term[0];

min=term[0];

}

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

{

if(term[i]<min)min=term[i];

if(term[i]>max)max=term[i];

}

printf("max=%d,min=%d",max,min);

}2、char*proc(char(*a)[81],intm)

{

char*max;

inti=0:max=a[0]:for(i=0;i<m;i++)if(strlen(max)<strlen(a[i]))//找出最長的字符串max=a[i];

returnmax;

//返回最長字符串的地址

}3、#include<stdio.h>

#include<stdlib.h>

typedefstruct{

charname[20];

charsex[5];

intage;

}Stu;

voidinput(Stu*stu);

voidoutput(Stu*stu);

intmain()

{

Stustu[5];

printf("請輸入5個學生的信息:姓名性別年齡:\n");

input(stu);

printf("5個學生的信息如下:\n姓名性別年齡\n");

output(stu);

system("pause")

溫馨提示

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

評論

0/150

提交評論