2017年吉林藝術(shù)學(xué)院C語(yǔ)言模擬(十二套試卷)及答案_第1頁(yè)
2017年吉林藝術(shù)學(xué)院C語(yǔ)言模擬(十二套試卷)及答案_第2頁(yè)
2017年吉林藝術(shù)學(xué)院C語(yǔ)言模擬(十二套試卷)及答案_第3頁(yè)
2017年吉林藝術(shù)學(xué)院C語(yǔ)言模擬(十二套試卷)及答案_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余179頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

吉林藝術(shù)學(xué)院2017年C語(yǔ)言模擬(一)考試方式:【閉卷】 考試時(shí)間:【90分鐘】總分:【100分】 出題人:【I題號(hào)—'二三總分閱卷入分值402040100得分>題目包括三大部分,單項(xiàng)選擇題,判斷題,編程題,請(qǐng)按要求在規(guī)定時(shí)間內(nèi)作答。>考試中途不能無(wú)端離場(chǎng),否則視為放棄。考試過(guò)程中如遇問(wèn)題請(qǐng)及時(shí)向監(jiān)考老師反饋。ー、單項(xiàng)選擇題(每小題2分,共40分)1、在c語(yǔ)言中,數(shù)字029是一個(gè)()A、ハ進(jìn)制數(shù)B、十進(jìn)制數(shù)C、十六進(jìn)制數(shù)D、非法數(shù)2、若有定義inta=12,n=5,則表達(dá)式a%=(n%2)運(yùn)算后,a的值:A、0B、!C、12D、63、以下程序的輸出結(jié)果是main()inta=0,i;for(i=;i<5;i++)(switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;))printf("%d\n",a);)A、31B、13C、10D、204、有以下程序#include<stdio.h>main()(inta=7;while(a-);pfintf("%d'n”,a);)程序運(yùn)行后的輸出結(jié)果是 0A、-1B、0C、1D、75、有以下程序#include<stdio.h>voidfun(int*a,int*b)(int*c;c=a;a二b;b=c;)main()(intx=3,y=5,*p=&x,*q=&y;fun(p,q);printfC%d,%d,〃,*p,*q);fun(&x,&y);printf("%d,%d\n”,*p,*q);)程序運(yùn)行后輸出的結(jié)果是〇A、3,5,5,3B、3,5,3,5C、5,3,3,5D、5,3,5,36、若有定義"floata=25,b,*p=&b;",則下列對(duì)賦值語(yǔ)句"*p=a;"和"p=&a;"的正確解釋為()〇A、兩個(gè)語(yǔ)句都是將變量a的值賦予變量PB、?P=a是使P指向變量a,而p=&a是將變量的值賦予變量指針PC、?p=a是將變量a的值賦予變量b,而&a是使P指向變量aD、兩個(gè)語(yǔ)句都是使P指向變量a7、若二維數(shù)組a有m行n歹リ,則下面能夠正確引用元素a[i][j]的為。A、*(a+j*n+i)B、*(a+i*n+j)C、?(*(a+i)+j)D、?(*a+i)+j8、在c語(yǔ)言的變量類(lèi)型說(shuō)明中,int,char,float等類(lèi)型的長(zhǎng)度是 〇A、固定的B、由用戶自己定義的C、任意的D、與機(jī)器字長(zhǎng)有關(guān)的9、下列選項(xiàng)中,能夠滿足"若字符串si等于字符串s2,則執(zhí)行st”要求的是if(strcmp(s2,si)==0)ST;if(sl==s2)ST;C、if(strcpy(s1,s2)==1)ST;D、if(sl-s2==0)ST;10、下面關(guān)于數(shù)組的初始化正確的是0A、chara[]=,a',,b',,c,B、chara[2]=,a',,b',,c,C、chara[2][3]='a','b','e','d','e','f'D、chara[]=/za","b","c11、ー個(gè)C語(yǔ)言程序總是從開(kāi)始執(zhí)行。A、主過(guò)程B、主函數(shù)C、子程序D、主程序12、漢字國(guó)標(biāo)碼規(guī)定的漢字編碼每個(gè)漢字用個(gè)字節(jié)表示。A、1B、2C、3D、413、已知英文字母a的十進(jìn)制ascii碼值為65?那么a的十進(jìn)制ascii碼值為A、98B、100C、89D、9714、定義共用體的關(guān)鍵字是unionenumstructD、typedef15、有以下程序#defineP3voidF(intx)(return(P*x*x);)main(){printfC%d\n*,F(3+5));}程序運(yùn)行后的輸出結(jié)果是A、192B、29C、25D、編譯出錯(cuò)16、執(zhí)行以下循環(huán)語(yǔ)句時(shí),下列說(shuō)法正確的是 〇x=-1;do(X=X*X;)while(x==0);A、循環(huán)體將執(zhí)行一次B、循環(huán)體將執(zhí)行兩次C、循環(huán)體將執(zhí)行無(wú)限次D、系統(tǒng)將提示有語(yǔ)法錯(cuò)誤17、下列選項(xiàng)中不屬于c語(yǔ)言的數(shù)據(jù)類(lèi)型是 〇A、復(fù)數(shù)型B、邏輯型C、雙精度型D、集合型18、下面程序段運(yùn)行時(shí)輸出結(jié)果是 ochars[12]="abook";printf("%d\n",strlen(s));A、12B、8C、7D、619、對(duì)于定好的數(shù)組,系統(tǒng)會(huì)自動(dòng)為該數(shù)組分配內(nèi)存空間,charc[20]={"helloworld"}對(duì)于c對(duì)應(yīng)的內(nèi)存中的地址編號(hào)是2000,則c[4]對(duì)應(yīng)的內(nèi)存地址的編號(hào)為〇2004200A2010200820、定義結(jié)構(gòu)體的關(guān)鍵字是 〇unionenumstructtypedef二、判斷題(每小題2分,共20分)()1、當(dāng)變量的存儲(chǔ)類(lèi)型定義缺省時(shí),系統(tǒng)默認(rèn)為變量的存儲(chǔ)類(lèi)型為auto類(lèi)型,分配在靜態(tài)區(qū)。()2、保存在內(nèi)存單元中的數(shù)據(jù)就是變量的值。()()3、c程序函數(shù)體是由左右方括號(hào)[]括起來(lái)的部分。()4、break語(yǔ)句可用于循環(huán)體內(nèi),它將退出該重循環(huán)。()5、用strcat(字符串1,字符串2)連接兩個(gè)字符串函數(shù)時(shí),字符串1的存儲(chǔ)空間必須足夠大。()6、在c語(yǔ)言程序中,函數(shù)名和圓括號(hào)可以省略。()7、用字符串常量給數(shù)組賦初值時(shí),如果提供的字符個(gè)數(shù)小于數(shù)組的長(zhǎng)度,則在最后一個(gè)字符后加’'0’作為字符串結(jié)束標(biāo)志。()8、c語(yǔ)言中函數(shù)可以遞歸調(diào)用,也允許嵌套定義。()9、在對(duì)數(shù)組全部元素賦初值時(shí),不可以省略行數(shù),但能省略列數(shù)()10、全局靜態(tài)變量的作用域限制在定義它的源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用。三、編程題(每小題分,共40分)1、編寫(xiě)程序:打印出楊輝三角形(要求打印出10行)。111TOC\o"1-5"\h\z1 2 113 3 11 4 6 4 1 (本題10分)2、編寫(xiě)程序:計(jì)算并輸出ー維數(shù)組a[10]中的最大值。(本題14分)3、有以下職エ信息,使用結(jié)構(gòu)體數(shù)組存儲(chǔ)這些信息,從鍵盤(pán)輸入5條記錄,之后在屏幕上依次輸出職エ信息。structstuff{intstuffID;〃職エ編號(hào)floatbonusJ〃エ資);【輸入形式】5條職エ信息,分行輸入,數(shù)據(jù)間空格隔開(kāi)【輸出形式】分行輸出5條職エ信息和最低工資,每行數(shù)據(jù)均使用1個(gè)空格分隔【輸入樣例】10018540.5910026345.4510033500.6510044898.8610055345.80【輸出樣例】每行數(shù)據(jù)均使用ー個(gè)空格分割,分五行輸出10018540.5910026345.4510033500.6510044898.8610055345.80minBonus=3500.65(本題16分)參考答案ー、單項(xiàng)選擇題1、D2、A3、A4、A【解析】在while語(yǔ)句中,先判斷while后面的表達(dá)式是否為〇,如果為〇,則退出循環(huán),否則執(zhí)行循環(huán)體。在本題中,當(dāng)變量a的值經(jīng)過(guò)幾次循環(huán)后,其值等于〇時(shí),退出while循環(huán)語(yǔ)句,變量a再執(zhí)行自減運(yùn)算,所以其值等于T。5、B6、C7、C8、D9、A10、D【解析】"‘’是字符串符號(hào),而不是字符符號(hào)。11、B12、B【解析】漢字國(guó)標(biāo)碼規(guī)定的漢字編碼每個(gè)漢字用2個(gè)字節(jié)表示。13、D【解析】在ASCII碼表中,大、小寫(xiě)英文字母是分組排序安排在不同位置的,并且小寫(xiě)英文字母的碼值比對(duì)應(yīng)的大寫(xiě)英文字母的碼值大32。所以,當(dāng)知道A的ASCH碼值是65后,字符a的碼值為65+32=97〇14、A15、D16、A17、A【解析】在C語(yǔ)言中,數(shù)據(jù)類(lèi)型可分為基本數(shù)據(jù)類(lèi)型、構(gòu)造數(shù)據(jù)類(lèi)型、指針類(lèi)型、空類(lèi)型4大類(lèi),其中基本類(lèi)型;字符型、整型、實(shí)型(單精度型和雙精度型)、枚舉類(lèi)型。構(gòu)造類(lèi)型:數(shù)組、結(jié)構(gòu)體、公用體。選項(xiàng)B中的邏輯型和C中雙精度類(lèi)型都屬于基本數(shù)據(jù)類(lèi)型,選項(xiàng)D集合類(lèi)型屬于構(gòu)造類(lèi)型;而選項(xiàng)A復(fù)數(shù)型不是C語(yǔ)言的數(shù)據(jù)類(lèi)型。18、D19、A20、C二、判斷題falsetruefalsetruetruefalsetruefalsefalsetrue二、編程題1、#include<stdio.h>intmain()(inti,j;inta[10][10];printf("\n");for(i=0;i<10;i++){a[i][0]=l;a[i][i]=l;}for(i=2;i<10;i++)for(j=l;j<i;j++)a[i][j]=a[i-l][j-l]+a[i-l][j];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");})2、#include<stdio.h>main()inta[10],i,max=0;for(i=0;i<=9;i++)scanfa[i]);if(max<a[i])max=a[i];)printf(〃%d〃,max);getchO;)3、ttinclude<stdio.h>structstuff(intstuffID;floatbonus;不⑸;intmainO{inti;floatmin;for(i=0;i<5;i++)scanf(〃%d%f”,&a[i].stuffID,&a[i].bonus);min=a[0].bonus;for(i=1;i<5;i++)(if(min>=a[i].bonus)min=a[i].bonus;)for(i=0;i<5;i++)printf("%d%.2f\n〃,a[i].stuffID,a[i].bonus);printf(,zminBonus=%.2f”,min);吉林藝術(shù)學(xué)院2017年C語(yǔ)言模擬(二)考試方式:【閉卷】 考試時(shí)間:【90分鐘】總分:【100分】 出題人:【I題號(hào)—'二三總分閱卷入分值402040100得分>題目包括三大部分,單項(xiàng)選擇題,判斷題,編程題,請(qǐng)按要求在規(guī)定時(shí)間內(nèi)作答。>考試中途不能無(wú)端離場(chǎng),否則視為放棄??荚囘^(guò)程中如遇問(wèn)題請(qǐng)及時(shí)向監(jiān)考老師反饋。ー、單項(xiàng)選擇題(每小題2分,共40分)1、當(dāng)c的值不為〇時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是A、c=b=a;B、(a=c)II(b=c);(a=c)&&(b=c);a=c=b;2、字符‘a(chǎn)'的ascii碼為65,若定義charx二'a',那么printf(〃%d〃,x)的輸入結(jié)果為〇A、AB、aC、65D、不確定3、以下if語(yǔ)句書(shū)寫(xiě)正確的是 〇A、if(x=0;)printfC%r,x);elseprintf-x);B、if(x>0)x=x+l;printf("%f”,x);elseprintf-x);C、if(x>0);x=x+l;printfC%r,x);elseprintf-x);D、if(x>0)x=x+l;printfx)elseprintf-x);4、下面不屬于算法的控制結(jié)構(gòu)的是〇A、順序結(jié)構(gòu)B、歸納結(jié)構(gòu)C、循環(huán)結(jié)構(gòu)D、選擇結(jié)構(gòu)5、以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是A、inta[2][]={{(1,0,1},{5,2,3)};B、inta[][3]={{1,2,3},{4,5,6)};C、inta[2][4]={{1,2,3},{4,5},{6}};D、inta[][3]={{1,0,1},{},{1,1});6、若給定條件表達(dá)式(m)?(a++):(a—)則下列選項(xiàng)中和表達(dá)式m等價(jià)的是(M==0)(M==l)(M!=0)(M!=l)7、要定義整型數(shù)組x,使之包括初值為〇的三個(gè)元素,下列語(yǔ)句中錯(cuò)誤的是A、intx[3]=0,0,0;B、intx[]=0;C、staticintx[3]=0;D、intx[]=8、以下敘述中錯(cuò)誤的是 〇A、C程序中的#include和#define行均不是C語(yǔ)句B、除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低C、C程序中,j++;是賦值語(yǔ)句D、C程序中,+、ー、?、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算9、下列字符串是標(biāo)識(shí)符的是:。A、_HJ9_studentlongLINE110、以下數(shù)組定義中不正確的是.inta[2][3];B、intb[][3]={0,1,2,3};C、intc[100][100]={〇};D、inta[3][]={{1,2},{1,2,3},{1,2,3,4});11、以下敘述中不正確的是〇A、ー個(gè)變量的作用域完全取決于變量定義語(yǔ)句的位置B、全局變量可以在函數(shù)以外的任何部位進(jìn)行定義C、局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不可能將局部變量的運(yùn)算結(jié)果保存至下一次調(diào)用D、ー個(gè)變量說(shuō)明為static存儲(chǔ)類(lèi)別是為于限制其它編譯單位的引用12、若想通過(guò)a&b來(lái)使a的二進(jìn)制碼中的首尾兩位為原來(lái)的值,而其余為0,則b應(yīng)為:(設(shè)變量a,b均占ー個(gè)字節(jié))A、0111111010000001C、視a值而定D、無(wú)法辦到13、以下正確的函數(shù)定義形式是 .doublefun(intx,inty)doublefun(intx;inty)C、doublefun(intx,inty);D、doublefun(intx,y);14、以下程序的輸出結(jié)果是#include<stdio.h>structst(intx;int*y;)*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[〇],60,&dt[〇],60,&dt[〇],60,&dt[〇],};main()(p=aa;printf(*%d\n*,++(p->x));)A、10B、11C、51D、6015、以下程序的輸出結(jié)果是main()intx=10,y=ll;printf("%d%d\n”,x—I-y);)A、1010B、99C、910D、10916、若a、b為int型變量,則執(zhí)行以下語(yǔ)句后a的值為()a=l;b=10;do{b-=a;a++;}while(b->0);A、1B、3C、4D、517、設(shè)有以下說(shuō)明語(yǔ)句typedefstruct(intn;charch[8];}per;則下面敘述中正確的是〇A、PER是結(jié)構(gòu)體變量名B、PER是結(jié)構(gòu)體類(lèi)型名C、typedefstruct是結(jié)構(gòu)體類(lèi)型D.struct是結(jié)構(gòu)體類(lèi)型名18、運(yùn)行下列程序的輸出是#include<stdio.h>intmain()(intk=l;{intk=2;printf("刎",k);)printf("%d",k);return0;)A、12B、21C、11D、2219、下面是有關(guān)c語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是A、不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串B、可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組C、字符數(shù)組中的內(nèi)容不一定是字符串D、字符數(shù)組只能存放字符串20、有以下結(jié)構(gòu)體說(shuō)明、變量定義和賦值語(yǔ)句structstdcharname[10];intage;charsex;)s[5],*ps;ps=&s[0];則以下scanf函數(shù)調(diào)用語(yǔ)句中錯(cuò)誤引用結(jié)構(gòu)體變量成員的是 〇A、scanf("%S",S[〇].name);B、scanf("%d",&s[〇].age);C、scanf("%C”,&(ps->sex));D、scanf("%d”,ps->age);二、判斷題(每小題2分,共20分)()1、共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。()2、按照c語(yǔ)言的規(guī)定,在參數(shù)傳遞過(guò)程中,既可以將實(shí)參的值傳遞給形參,也可以將形參的值傳遞給實(shí)參,這種參數(shù)傳遞是雙向的。()3、字符數(shù)組定義后,可以用賦值語(yǔ)句將一字符串常量或字符數(shù)組直接賦給ー個(gè)字符數(shù)組。()4、continue語(yǔ)句只能用于三個(gè)循環(huán)語(yǔ)句中。()()5、在標(biāo)準(zhǔn)c語(yǔ)言中,字符串是以’0,結(jié)束的,故字符串的長(zhǎng)度也包括,〇,。()6、tc中函數(shù)調(diào)用時(shí),函數(shù)參數(shù)求值順序是從右到左的。()7、函數(shù)調(diào)用時(shí),如果把數(shù)組名作實(shí)參,則形參數(shù)組元素的值發(fā)生變化時(shí),實(shí)參數(shù)組元素的值同時(shí)發(fā)生變化。()8、在c程序中,不同函數(shù)中所定義的變量允許同名()9、局部靜態(tài)變量在函數(shù)內(nèi)定義,但它的生存期為整個(gè)程序的運(yùn)行期間。()10、編寫(xiě)c語(yǔ)言程序的流程是:新建項(xiàng)目、添加源文件、編寫(xiě)代碼、運(yùn)行程序。()三、編程題(每小題分,共40分)1、編寫(xiě)程序:鍵盤(pán)輸入ー個(gè)ハ進(jìn)制數(shù)字,用程序轉(zhuǎn)換為十進(jìn)制(本題10分)2、編程計(jì)算1-2+3-4+5-6+……-10000(本題!4分)3、有以下學(xué)生信息,使用結(jié)構(gòu)體數(shù)組存儲(chǔ)這些信息structstudent{intnum;〃學(xué)號(hào)intcomputerJ〃計(jì)算機(jī)成績(jī)}s[5]={{101,75},{103,80},{104,85},{106,90}};再輸入一條新記錄,插入到結(jié)構(gòu)體數(shù)組中,讓5條記錄按計(jì)算機(jī)成績(jī)升序有序?!据斎胄问健?個(gè)數(shù)據(jù)都使用空格分隔【輸出形式】分五行輸出數(shù)據(jù),每行數(shù)據(jù)均使用空格分隔【輸入樣例】10288【輸出樣例】每行數(shù)據(jù)均使用ー個(gè)空格分隔,分五行輸出1017510380104851028810690(本題16分)參考答案ー、單項(xiàng)選擇題1、c2、C3、B4、B【解析】順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)是算法的基本結(jié)構(gòu)。5、B【解析】本題考查對(duì)二維數(shù)組初始化知識(shí)點(diǎn)的掌握。[解題要點(diǎn)]在初始化語(yǔ)句時(shí),需要注意下面幾點(diǎn):①所賦初值個(gè)數(shù)與數(shù)組元素的個(gè)數(shù)相同;②每行所賦初值個(gè)數(shù)與數(shù)組元素的個(gè)數(shù)不同時(shí),系統(tǒng)將自動(dòng)給該行其余的元素補(bǔ)初值。;③所賦初值行數(shù)少于數(shù)組行數(shù)時(shí),系統(tǒng)將自動(dòng)給后面各行的元素補(bǔ)初值。;④賦初值時(shí)省略行花括號(hào)對(duì)。在給ニ維數(shù)組賦初值時(shí)可以不用行花括號(hào)對(duì)。[錯(cuò)解分析]選項(xiàng)A中省略了第二維的大小,所以是錯(cuò)誤的;選項(xiàng)C超出了數(shù)組的定義范圍,所以是錯(cuò)誤的;選項(xiàng)D在初始化賦值的時(shí)候出現(xiàn)了錯(cuò)誤。[考點(diǎn)鏈接]無(wú)論是幾維的數(shù)組,下標(biāo)都是從零開(kāi)始的。6、C【解析】三目運(yùn)算符的判斷條件要求返回值是邏輯值。該題中M的返回值是邏輯值真,而在C語(yǔ)言中非〇值都能表示邏輯值真。7、D【解析】選項(xiàng)D中整型數(shù)組x的第一個(gè)元素是NULL不是〇,故選D?!窘馕觥俊矮E’是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。9、A10、D11、C12、B13、C14、C【解析】考查結(jié)構(gòu)體成員數(shù)據(jù)的引用方法[解題要點(diǎn)]通過(guò)指針來(lái)引用結(jié)構(gòu)體成員的方法是(指針變量)一〉結(jié)構(gòu)體成員名。[考點(diǎn)鏈接]結(jié)構(gòu)體變量中的數(shù)據(jù)引用。15、A16、D【解析】當(dāng)?shù)谝淮芜M(jìn)入循環(huán)時(shí)a=l,先執(zhí)行"b-=a;a++「’此時(shí)b=9,a=2;然后判定b是否小于〇。如果b小于0I斷續(xù)執(zhí)行循環(huán)體;如果b不小于0I循環(huán)終止。完成判定后b自減1。如此循環(huán)體被執(zhí)行四次,最終因b=-3<0而終止。循環(huán)終止時(shí)a=5、b=-4o17、B18、B19、D【解析】在scanf函數(shù)中,第二個(gè)參數(shù)應(yīng)該表示為地址變量,而選項(xiàng)D)只是ー個(gè)具體的值,而并不是ー個(gè)地址值。二、判斷題truefalsefalsetruefalsefalsetrue8、truetruetrue三、編程題1、#include<stdio.h>ttinclude<stdlib.h>intmain()(intn=0,i=0;chars[20];printf(〃請(qǐng)輸入一個(gè)8進(jìn)制數(shù):'n〃);gets(s);while(s[i]!=‘、〇'){n二n*8+s[i]-'0';i++;)printf("剛輸入的8進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制為ゝn刎、n”,n);return0;)2、ttinclude<stdio.h>voidmainO{ints=0,i,p=l;for(i=l;i<=10000;i++){ s+=i*p;p=-p;)printf(〃結(jié)果為:%d\n",s);)#include<stdio.h>ttinclude<stdlib.h>structstudent(intnum;〃學(xué)號(hào)intcomputer;〃計(jì)算機(jī)成績(jī)}s[5]={{101,75},{103,80},{104,85},{106,90}},tamp;intmain(){inti,j;scanf(〃%d%d”,&s[4].num,&s[4].computer);for(i=1;i<5;i++){for(j=0;j<5-i;j++)if(s[j].computer>s[j+1].computer)tamp=s[j];s[j]=s[j+l];s[j+l]=tamp;for(j=0;j<5;j++)printf(w%d%d\n”,s[j].num,s[j].computer);吉林藝術(shù)學(xué)院2017年C語(yǔ)言模擬(三)考試方式:【閉卷】 考試時(shí)間:【90分鐘】總分:【100分】 出題人:【I題號(hào)—'二三總分閱卷入分值402040100得分>題目包括三大部分,單項(xiàng)選擇題,判斷題,編程題,請(qǐng)按要求在規(guī)定時(shí)間內(nèi)作答。>考試中途不能無(wú)端離場(chǎng),否則視為放棄??荚囘^(guò)程中如遇問(wèn)題請(qǐng)及時(shí)向監(jiān)考老師反饋。ー、單項(xiàng)選擇題(每小題2分,共40分)1、有一個(gè)數(shù)值152I它與十六進(jìn)制數(shù)6a相等,那么該數(shù)值是 〇A、二進(jìn)制數(shù)B、八進(jìn)制C、十進(jìn)制數(shù)D、四進(jìn)制數(shù)2、設(shè)有定義:"inta;floatb;",執(zhí)行"scanf("%2d%f",&a,&b);”語(yǔ)句時(shí),若從鍵盤(pán)輸入876543.0V回車(chē)〉,a和b的值分別是〇876和543.00000087和6.00000087和543.000000D、76和543.0000003、當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是 〇A、k%2k%2==lCs(k%2)!=0Ds!k%2==l4、設(shè)有聲明語(yǔ)句:inta=l,b=O;則執(zhí)行以下語(yǔ)句后輸出()switch(a)(case1:switch(b)(case0:printf("”**0**"");break;printf[**1**);break;)printf("”**2**"");break;)**0****o****2****o****i****2**D、有語(yǔ)法錯(cuò)誤5、若要用下面的程序片段使指針變量P指向一個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元int*pp=malloc(sizeof(int)):則應(yīng)填入ー 0A、intB、int*(*int)(int*)6、以下程序運(yùn)行后的輸出結(jié)果是main(){charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf("%d%f\n”,n,x);)A、220.000000B、!00,20.000000240.00000010040.0000007、已知有數(shù)組定義chara[3][4]:下列表達(dá)式中錯(cuò)誤的是—A、a[2]=*WIN*B、strcpy(a[2],"WIN")C、a[2][3]='W'D.a[0][l]=a[0][l]8、條件語(yǔ)句〇A、不可以嵌套使用B、可以嵌套使用C、在一條件下可以嵌套使用D、嵌套語(yǔ)句中不能使用else子句9、下面程序段輸出兩個(gè)字符串中對(duì)應(yīng)相等的字符。請(qǐng)分析程序填空。charx[]="programming”;charyロ="fortran”;inti=0;while(x[i]!='\0'!=‘、〇')if(x[i]=y[i])printf(飛c”,);elsei++;x[i++]y[++i]C、x[i]D、y[i]10、下面的C程序完成的功能是 。#defineSIZE5voidfunc(intdata[SIZE]);main(){inti,buf[SIZE];printf(Pleaseinput%dnumbers:,SIZE);for(i=0;idataLj+1]){d=data[j];data[j]=data[j+1];data[j+l]=d;})A、對(duì)ー維數(shù)組降序排序B、對(duì)ー維數(shù)組升序排序C、對(duì)ー維數(shù)組逆向排序D、對(duì)ー維數(shù)組順序排序11、數(shù)組名作為實(shí)參數(shù)傳遞給函數(shù)時(shí),數(shù)組名被處理為ー 〇A、該數(shù)組的長(zhǎng)度B、該數(shù)組的元素個(gè)數(shù)C、該數(shù)組的首地址D、該數(shù)組中各元素的值12、表達(dá)式8>6>3值是 0A、0B、1C、3D、表達(dá)式語(yǔ)法錯(cuò)13、以下敘述中錯(cuò)誤的是 〇A、在一個(gè)程序中,每個(gè)模塊均可以獨(dú)立編譯運(yùn)行B、程序“模塊化”有利于任務(wù)的分解簡(jiǎn)化C、允許對(duì)函數(shù)單獨(dú)進(jìn)行編譯,是C語(yǔ)言實(shí)現(xiàn)“模塊化”的基礎(chǔ)D、采用模塊化結(jié)構(gòu),可以提高編程效率14、設(shè)有如下說(shuō)明:typedefstruct{intn;charc;doublex;std;則以下選項(xiàng):能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是A、STDtt[2]={{1,,A',62},{2,'B',75}};B、STDtt[2]={l,*A*,62,2,"B”,75};C、struettt[2]={{1,'A'},{2,'B'}};D、structtt[2]={{l,"A",62.5},{2,"B”,75.0}};15、有以下程序:voidswap(char*x,char*y)(chart;t=*x;*x=*y;*y=t;}main()(chartsl=,,abe/z,*s2=〃123”;swap(si,s2);printf("%s,%s\n",si,s2);)程序執(zhí)行后的輸出結(jié)果是 〇123,abeabc.123lbc,a23321,cba16、以下程序中,while循環(huán)的循環(huán)次數(shù)是〇main()(inti=0;while(i<10)if(i<1)continue;if(i==5)break;i++;))A、1B、10C、6D、死循環(huán)17、若有下面的說(shuō)明和定義,則sizeof(structaa)的值是0structaa(intrl;doubler2;floatr3;)maya;A、20B、18C、14D、1618、若有以下定義和語(yǔ)句,則輸出結(jié)果是〇int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printfC,%d\nA,,*p,**pp);A、10,20B、10,10C、20,10D、20,2019、下面程序的運(yùn)行結(jié)果是#include<stdio.h>main()(charaロ="morning”,t;inti,j=0;for(i=l;i<7;i++){if(a[j]<a[i]){j=i;t=a[j];a[j]=a[7];a[7]=a[j];)}printf("版“,a);)A、mrgninrB、mmoringmorning20、以下關(guān)于c語(yǔ)言數(shù)據(jù)類(lèi)型的敘述中正確的是〇A、C基本數(shù)據(jù)類(lèi)型包括:分為整型、實(shí)型、浮點(diǎn)型、字符型四種B、實(shí)型常量的表達(dá)方式包括十進(jìn)制形式、十六進(jìn)制形式、二進(jìn)制形式、ハ進(jìn)制形式、指數(shù)形式C、若要處理如“人員信息”等含有不同類(lèi)型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類(lèi)型D、若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類(lèi)型二、判斷題(每小題2分,共20分)()1、一元運(yùn)算符''?〃和"&”的運(yùn)算優(yōu)先級(jí)低于自增自減預(yù)算。()2、增1減1運(yùn)算符的前綴運(yùn)算和后綴運(yùn)算的表達(dá)式值是相同的。()3、宏定義在行末不加分號(hào)。()4、d〇…while循環(huán)語(yǔ)句中的循環(huán)體至少會(huì)執(zhí)行一次。()5、字符個(gè)數(shù)多的字符串比字符個(gè)數(shù)的字符串大()6、在標(biāo)準(zhǔn)c語(yǔ)言中,使用函數(shù)strcpy時(shí)可以將’〇’一起復(fù)制到目標(biāo)串中()7、c程序中如果對(duì)一維數(shù)組的全部元素都賦初值,則定義數(shù)組時(shí)必須指定數(shù)組長(zhǎng)度。()8、在標(biāo)準(zhǔn)c語(yǔ)言中,函數(shù)的返回值是通過(guò)return語(yǔ)句獲取的,故若在函數(shù)中沒(méi)有return就不會(huì)傳回值。()9、return語(yǔ)句作為函數(shù)的出口,在一^函數(shù)體內(nèi)只能有一個(gè)()10、如果在同一個(gè)源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量依然起作用。三、編程題(每小題分,共40分)1、打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指ー個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?53=1的三次方+5的三次方+3的三次方。(本題10分)2、編寫(xiě)程序:有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入ー個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。(本題14分)3、計(jì)算n名學(xué)生成績(jī)的平均分并通過(guò)函數(shù)返回。要求:結(jié)構(gòu)體代碼如下:structStudentScore{doublescore;);(本題16分)參考答案ー、單項(xiàng)選擇題1、B2、B3、D4、B5、D【解析】不論P(yáng)是指向什么類(lèi)型的指針變量,都可以通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換的方法使之類(lèi)型一致,強(qiáng)制類(lèi)型轉(zhuǎn)換的格式為(數(shù)據(jù)類(lèi)型?)。6、A【解析】對(duì)于C語(yǔ)言中的賦值運(yùn)算符,必須遵循以下規(guī)則:賦值運(yùn)算符的優(yōu)先級(jí)別只高于逗號(hào)運(yùn)算符,比其他任何運(yùn)算符的優(yōu)先級(jí)都低,并且具有自右向左的結(jié)合性。因此先得到變量c的值為50,變量n經(jīng)過(guò)計(jì)算結(jié)果為2,最后通過(guò)變量f的值10和n的值2相乘得到變量x的值,為20.000000。因此選項(xiàng)A)正確。7、A【解析】本題考查數(shù)組的基本知識(shí),B、C、D在C語(yǔ)言中都是允許的.A選項(xiàng)的賦值是非法的。8、B9、A10、B11、C12、A13、A【解析】在程序設(shè)計(jì)時(shí),用ー個(gè)個(gè)小模塊來(lái)實(shí)現(xiàn)不同的功能,個(gè)程序設(shè)計(jì)人員分別完成一個(gè)或多個(gè)小模塊,稱這樣的程序設(shè)計(jì)方法為“模塊化”由一個(gè)個(gè)功能模塊構(gòu)成的程序結(jié)構(gòu)稱為模塊化結(jié)構(gòu),使用模塊化結(jié)構(gòu)程序設(shè)計(jì),有利于任務(wù)的分解簡(jiǎn)化,選項(xiàng)B正確;C語(yǔ)言允許對(duì)函數(shù)單獨(dú)進(jìn)行編譯,從而可以實(shí)現(xiàn)模塊化,選項(xiàng)C正確;采用模塊化結(jié)構(gòu),可以使不同模塊的程序員分別編寫(xiě)和調(diào)試,大大提高了編程效率,選項(xiàng)D正確;在語(yǔ)言程序中,每個(gè)模塊并不一定能夠單獨(dú)編譯運(yùn)行,選項(xiàng)A錯(cuò)誤,本題答案A14、A【解析】本題定義了一個(gè)結(jié)構(gòu)體類(lèi)型并白定義類(lèi)型名為STD,用戶自定義類(lèi)型后,就可以利用它進(jìn)行變量與數(shù)組的定義。定義的方法,與C語(yǔ)言中其它類(lèi)型的定義完全ー樣,定義結(jié)構(gòu)型數(shù)組并賦初值時(shí),每個(gè)元素用ー對(duì)“{”和“廠括起來(lái),字符型元素用…”括起來(lái),選項(xiàng)A、B、C、D中只有選項(xiàng)A符合條件。所以,A選項(xiàng)為所選。15、C16、D17、D18、D19、B【解析】本題考查了一維數(shù)組元素的引用方法。題中數(shù)組a為一字符串?dāng)?shù)組,通過(guò)數(shù)組首地址和下標(biāo)可以引用數(shù)組中的每個(gè)元素。因?yàn)樽址麛?shù)組相當(dāng)于字符串20、C【解析】C基本數(shù)據(jù)類(lèi)型包括:分為整型、實(shí)型、枚舉型、字符型四種,實(shí)型就是浮點(diǎn)型,實(shí)型數(shù)據(jù)只有十進(jìn)制,沒(méi)有2,8,16進(jìn)制表達(dá),在C語(yǔ)言中沒(méi)有定義邏輯類(lèi)型,而是一般用。代表假,用非零代表真。二、判斷題falsefalsetruetruefalsetruefalsefalsefalsefalse三、編程題1、程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。main()inti,j,k,n;printf(zz,waterflower*numberis:〃);for(n=100;n<1000;n++){i=n/100;/?分解出百位?/j=n/10%10;/?分解出十位?/k=n%10;/?分解出個(gè)位?/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf(zz%-5dz,,n);))printf(zz\n,z);)2、ttinclude<stdio.h>intmain()inta[ll]={l,4,6,9,13,16,19,28,40,100);inttempi,temp2,number,end,i,j;printf("原始數(shù)組是:'n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n插入一個(gè)新的數(shù)字:〃);scanf(,z%dzz,&number);end=a[9];if(number>end)a[10]=number;elsefor(i=0;i<10;i++)if(a[i]>number)templ=a[i];a[i]=number;for(j=i+l;j<11;j++)temp2=a[j];a[j]=templ;templ=temp2;)break;)))for(i=0;i<11;i++)printf(〃%4d”,a[i]);printf('\n");return0;)【解析】首先判斷此數(shù)是否大于最后ー個(gè)數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移ー個(gè)位置。3、doubleFun(structStudentScore*a,intn){inti;doublesum=0.0;for(i=0;i<n;i++){sum+=a[i].score;)returnsum/n;)intmain()structStudentScorea[100];intn;〃學(xué)生數(shù)量inti;printf("請(qǐng)輸入學(xué)生數(shù)量:“);scanf&n);for(i=0;i<n;i++)(printf("請(qǐng)輸入第%d個(gè)學(xué)生的成績(jī):",i+1);scanf(//%lf//,&a[i].score);}printfFun(a,n));return0;)請(qǐng)輸入學(xué)生數(shù)量:3請(qǐng)輸入第1個(gè)學(xué)生的成績(jī):90請(qǐng)輸入第2個(gè)學(xué)生的成績(jī):100.0請(qǐng)輸入第3個(gè)學(xué)生的成績(jī):8090.000000吉林藝術(shù)學(xué)院2017年C語(yǔ)言模擬(四)考試方式:【閉卷】 考試時(shí)間:【90分鐘】總分:【100分】 出題人:【I題號(hào)—'二三總分閱卷入分值402040100得分>題目包括三大部分,單項(xiàng)選擇題,判斷題,編程題,請(qǐng)按要求在規(guī)定時(shí)間內(nèi)作答。>考試中途不能無(wú)端離場(chǎng),否則視為放棄。考試過(guò)程中如遇問(wèn)題請(qǐng)及時(shí)向監(jiān)考老師反饋。ー、單項(xiàng)選擇題(每小題2分,共40分)1、以下敘述中正確的是 〇A、轉(zhuǎn)義字符要用雙引號(hào)括起來(lái),以便與普通的字符常量區(qū)分開(kāi)B、字符常量在內(nèi)存中占2個(gè)字節(jié)C、字符常量需要用單引號(hào)括起來(lái)D、字符常量是不能進(jìn)行關(guān)系運(yùn)算的2、在c語(yǔ)言中,只有在使用時(shí)オ占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是 〇auto和staticextern和registerauto和registerstatic和register3、設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句:if(a<b)if(c==d)y=0;elsey=l:該語(yǔ)句所表示的含義是 〇y=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論