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

下載本文檔

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

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論