福建省歷年c程序設(shè)計(jì)試題及題解_第1頁(yè)
福建省歷年c程序設(shè)計(jì)試題及題解_第2頁(yè)
福建省歷年c程序設(shè)計(jì)試題及題解_第3頁(yè)
福建省歷年c程序設(shè)計(jì)試題及題解_第4頁(yè)
已閱讀5頁(yè),還剩142頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

(感謝唐藹明老師辛勤整理)目錄TOC\o"1-5"\h\z\o"CurrentDocument"一.選擇題 1.C語(yǔ)言概述 1.數(shù)據(jù)類型,運(yùn)算符與表達(dá)式 2.選擇結(jié)構(gòu)程序設(shè)計(jì) 5.循環(huán)控制 6.數(shù)組 9.函數(shù) 11.預(yù)處理命令 14.指針 16.結(jié)構(gòu)體與共用體 18.位運(yùn)算 25.文件 25\o"CurrentDocument"二.改錯(cuò)題 29.統(tǒng)計(jì)輸入字符串中大小寫字母的個(gè)數(shù) 29.逆序輸出 29.計(jì)算大于10的最小n個(gè)能被3整除的正整數(shù)之和 30.輸入兩個(gè)整數(shù)及一個(gè)運(yùn)算符進(jìn)行運(yùn)算 30.輸出201~300之間的所有素?cái)?shù),統(tǒng)計(jì)總個(gè)數(shù) 31.統(tǒng)計(jì)輸入字符串中大寫類英文字母的個(gè)數(shù) 31.輸入M個(gè)整數(shù),輸出其中所有的偶數(shù) 32.輸出三角形 32.百元買百雞 33.輸入字符串‘0~8'的數(shù)字字符變成比它大1的數(shù)字字符將'9'變?yōu)?0' 34.連接字符串 34.取出ASCII碼值為偶數(shù)且下標(biāo)為偶數(shù)的字符 35.求三角形面積 35.百馬百擔(dān)問(wèn)題 36.求一堆零件的總數(shù)(100至200之間) 37.交換兩個(gè)變量的值 37.計(jì)算1至100之間的奇數(shù)之和,偶數(shù)之和 38.求滿足給定等式的未知數(shù)的值 38.數(shù)字矩陣(定義錯(cuò)誤) 39.數(shù)字矩陣(語(yǔ)法錯(cuò)誤) 40.數(shù)字矩陣(遺漏錯(cuò)誤) 40.統(tǒng)計(jì)元音字母 41.打印表格 42.計(jì)算公式的值(定義錯(cuò)誤) 43.計(jì)算公式的值(語(yǔ)法錯(cuò)誤) 44.求小于9的階乘的數(shù)列 44.判斷素?cái)?shù) 45.表達(dá)式求值 46.求分?jǐn)?shù)序列前N項(xiàng)之和 47.統(tǒng)計(jì)特定字符結(jié)尾的字符串個(gè)數(shù) 48.統(tǒng)計(jì)高于平均分的學(xué)生人數(shù) 48.求對(duì)角線元素之和 49.輸入單詞的第一個(gè)字母變大寫 50.計(jì)算整數(shù)n的階乘 51.交換兩個(gè)變量值 51.將每個(gè)單詞的最后一個(gè)字母變?yōu)榇髮?52.將十進(jìn)制數(shù)轉(zhuǎn)換成任何進(jìn)制數(shù) 53.計(jì)算已知公式的值(語(yǔ)法錯(cuò)誤) 54.計(jì)算已知公式的值(邏輯錯(cuò)誤) 54.小寫改大寫 55.將字符串的所有字符遞減排序 56.字母方陣 57.計(jì)算給定的表達(dá)式(定義錯(cuò)誤) 57.計(jì)算給定的表達(dá)式(文件打開有誤) 58.計(jì)算給定的表達(dá)式(語(yǔ)法錯(cuò)誤) 58.計(jì)算給定的表達(dá)式(文件未定義) 59.對(duì)數(shù)組按升序排列 59.計(jì)算表達(dá)式的值 60.將輸入的字符串轉(zhuǎn)換成密文 60\o"CurrentDocument"三.填空題 62.計(jì)算給定的公式 62.計(jì)算圓周率 62.從10個(gè)數(shù)中找出最大值和最小值 62.計(jì)算滿足一定條件的一位整數(shù)的值 63.輸入若干個(gè)整數(shù),統(tǒng)計(jì)其中大于0和小于0的個(gè)數(shù) 63.歌德巴赫猜想 64.牛頓迭代法求方程的根 64.大寫變小寫,小寫變大寫 65.計(jì)算平均值 65.輸入姓名,輸出信息 66.冒泡排序法 66.判斷三角形是否為直角三角形 67.輸入一個(gè)整數(shù),輸出該數(shù)的平方 68.選擇排序法 68.用所給公式計(jì)算三角形面積 69.輸入一個(gè)4X4階矩陣,并計(jì)算第1列元素之和 69.二分法查找元素 70.判斷點(diǎn)是否在已知的圓內(nèi) 71.求函數(shù)值 71.計(jì)算已知公式的值 72.求數(shù)組中的最大元素 73.計(jì)算前m個(gè)整數(shù)的和 73.字符串反向存儲(chǔ) 74.將學(xué)生信息按其學(xué)號(hào)的升序排列 74.輸入一個(gè)3行3列的整型數(shù)組,求其最大值和最小值 7526、計(jì)算給定的公式的值 7627、輸出Fibonacci數(shù)列的前15項(xiàng) 77.編寫一個(gè)分段函數(shù)和一個(gè)給定的分式 77.編寫一個(gè)分段函數(shù)和一個(gè)正弦函數(shù) 79.編寫一個(gè)分段函數(shù)和一個(gè)余弦函數(shù) 80.編寫一個(gè)分段函數(shù)和一個(gè)含正弦函數(shù)的表達(dá)式 82.編寫一個(gè)分段函數(shù)和一個(gè)含余弦函數(shù)的表達(dá)式 84.按要求填空 85.按要求填空 88.編寫一個(gè)含正弦函數(shù)的表達(dá)式和一個(gè)求和函數(shù) 91.編寫一個(gè)含余弦函數(shù)的表達(dá)式和一個(gè)求和函數(shù) 92.按要求編寫一個(gè)表達(dá)式和一個(gè)求和函數(shù) 93.階乘的計(jì)算 95.迭代法求算術(shù)平方根 95.求最小值和次最小值 96.計(jì)算學(xué)生總成績(jī)和平均成績(jī) 96.字符串反向存儲(chǔ) 97.相除得商和商的第二位小數(shù) 97.輸入三個(gè)數(shù)輸出最大值 98.字符低四位取反 98.計(jì)算一個(gè)字符串中子串出現(xiàn)的次數(shù) 99\o"CurrentDocument"四.編程題 100.輸入數(shù)字,求已知公式的值 100.統(tǒng)計(jì)輸入字符串中空格的個(gè)數(shù) 101.函數(shù)求值 101.求已知函數(shù)的值 102.將三個(gè)字符串從小到大排序后輸出 102.求已知函數(shù)f()的值 103.四則運(yùn)算 104.判斷一個(gè)矩陣是否為對(duì)稱矩陣 105.打印出Fibonacci,數(shù)列的前20個(gè)數(shù) 106.計(jì)算fun()函數(shù)值 107.按要求實(shí)現(xiàn)函數(shù)功能 108.函數(shù)funl()求值 109.輸入的一個(gè)月工資數(shù)額,求應(yīng)交稅款 110.按要求處理一個(gè)4階矩陣 111.求已知f(x)函數(shù)的值 112.將以指針數(shù)組形式存放的n個(gè)字符串升序排序 113.求方程中的較大的根 114.判別兩個(gè)字符串的大小 114.按要求編寫求和函數(shù)、求平均值函數(shù)和將元素與定點(diǎn)距離升序排列的函數(shù) 115.按要求編寫求和函數(shù)、求平均值函數(shù)和將元素與定點(diǎn)距離降序排列的函數(shù) 118.按要求編寫求和函數(shù)、求平均值函數(shù)和將元素?fù)Q成圓面積升序排列的函數(shù) 121.求字符串長(zhǎng)度 123.逆轉(zhuǎn)字符串 124.大寫改小寫,小寫改大寫 125.回文 125.求100之內(nèi)能被7或11整除的整數(shù) 126.求100以內(nèi)能整除特定整數(shù)的所有整數(shù) 127.統(tǒng)計(jì)數(shù)組中1、2、3的個(gè)數(shù) 127.統(tǒng)計(jì)各分?jǐn)?shù)段的人數(shù) 128.在有序數(shù)組中插入一個(gè)數(shù),數(shù)組仍然有序 129.從數(shù)組中刪除第一個(gè)遇到的與已知數(shù)值相同的元素 130.矩陣轉(zhuǎn)置 131.確定20個(gè)隨機(jī)數(shù)的最小值 132.刪除一個(gè)字符串中指定的字符 133.求出小于指定數(shù)的所有素?cái)?shù) 134.對(duì)長(zhǎng)度為7的字符串,除頭尾的字符降序排列 135.找出長(zhǎng)度最大的字符串 136.統(tǒng)計(jì)一個(gè)子字符串在另一個(gè)字符串中出現(xiàn)的次數(shù) 137.刪除字符串中的所有空格 138.求指定范圍內(nèi)的非素?cái)?shù) 139.將字符串中下標(biāo)為奇數(shù)的字母轉(zhuǎn)換為大寫 140.按要求對(duì)數(shù)組進(jìn)行排序 141.求函數(shù)f(x)值及其值的小數(shù)部分 141.完成其中的函數(shù)使程序?qū)崿F(xiàn)統(tǒng)計(jì)101-200之間的所有素?cái)?shù)總數(shù) 142.計(jì)算條件函數(shù) 143.計(jì)算給定條件的函數(shù) 144.華氏溫度轉(zhuǎn)攝氏溫度 144附:題型結(jié)構(gòu)(滿分100分)1,選擇題(20道)40分2、改錯(cuò)題(3道)24分3,填空題(2道)16分4,編程題(2道)20分

一、選擇題(I)C語(yǔ)言概述1、C程序中main函數(shù)的位置(C)A、必須在最開始B、必須在系統(tǒng)庫(kù)函數(shù)后面C、可以在自定義函數(shù)后面D、必須在最后2、下面關(guān)于C語(yǔ)言用戶標(biāo)識(shí)符的描述,正確的是(D)A、不能區(qū)分大小寫 B、用戶標(biāo)識(shí)符不能描述常量C、類型名也是用戶標(biāo)識(shí) D、用戶標(biāo)識(shí)符可以作為變量名.關(guān)于C語(yǔ)言的敘述中,不正確的是(D)C程序可由一個(gè)或多個(gè)函數(shù)組成C程序必須包含一個(gè)main()函數(shù)C程序的基本組成單位是函數(shù)D.注釋說(shuō)明只能位于一條語(yǔ)句的后面.若有說(shuō)明語(yǔ)句:charC='\95';則變量C包含(D)個(gè)字符A.1 B.2C.3 D.語(yǔ)法錯(cuò)誤.結(jié)構(gòu)化程序設(shè)計(jì)不包括(A)D結(jié)構(gòu)化編碼A.最優(yōu)化B自頂而下,逐步細(xì)化CD結(jié)構(gòu)化編碼.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本語(yǔ)句是(C)判斷結(jié)構(gòu)平行結(jié)構(gòu)循環(huán)結(jié)構(gòu)嵌套結(jié)構(gòu)正確的是(C)B.數(shù)組不是構(gòu)造類型判斷結(jié)構(gòu)平行結(jié)構(gòu)循環(huán)結(jié)構(gòu)嵌套結(jié)構(gòu)正確的是(C)B.數(shù)組不是構(gòu)造類型D.不允許使用空類型.關(guān)于C語(yǔ)言數(shù)據(jù)類型的敘述,A.枚舉類型不是基本類型C.變量必須先定義后使用.關(guān)于C語(yǔ)言的源程序的敘述中,錯(cuò)誤的是(0A.C語(yǔ)言的源程序由函數(shù)構(gòu)成B.main函數(shù)可以書寫在自定義函數(shù)之后C.必須包含有輸入語(yǔ)句 D.一行可以書寫多個(gè)語(yǔ)句.下面敘述中,(A)不是結(jié)構(gòu)化程序設(shè)計(jì)中的三種基本結(jié)構(gòu)之一A.數(shù)據(jù)結(jié)構(gòu).B.選擇結(jié)構(gòu) C.循環(huán)結(jié)構(gòu) D.順序結(jié)構(gòu).char型變量存放的是(A)A.ASCH碼值 B.字符本身 .C十進(jìn)制代碼值.D十六進(jìn)制代碼值.已有如下定義和輸入語(yǔ)句inta;charcl,c2;scanf(u%d,%c,%cff,&a,&cl,&c2);若要求a、cl、c2的值分別為10、A和B,正確的數(shù)據(jù)輸入是(B)A.10ABB.10,A,BC.10ABD.10AB.以下敘述不正確的是(D)A、C程序的執(zhí)行總是從main函數(shù)開始B、一個(gè)C源程序必須包含一個(gè)main函數(shù)C、C語(yǔ)言程序的基本組成單位是函數(shù)D、在編譯C程序源程序時(shí),可發(fā)現(xiàn)注釋中的拼寫.已知如下定義和輸入語(yǔ)句:inta,b;scanf("%d,%d",&a,&b);若要求a、b的值分別為10和20,正確的數(shù)據(jù)輸入是(B)A、1020B,10,20C、a=10,b=20D、10;2014、在C語(yǔ)言源程序中,以下敘述正確的是(C)A、main函數(shù)必須位于文件的開頭B、每行只能寫一條語(yǔ)句C、程序中的每一語(yǔ)句可以寫成多行D、每個(gè)語(yǔ)句的最后必須有點(diǎn)號(hào).對(duì)于C語(yǔ)言源程序,以下敘述錯(cuò)誤的是(C)A.可以有空語(yǔ)句B.函數(shù)之間是平等的,在一個(gè)函數(shù)內(nèi)部不能定義其它函數(shù)C.程序調(diào)試時(shí)如果沒(méi)有提示錯(cuò)誤,就能得到正確結(jié)果D.注釋可以出現(xiàn)在在語(yǔ)句的前面.下面敘述中,(A)不是結(jié)構(gòu)化程序設(shè)計(jì)三種基本結(jié)構(gòu)的共同特點(diǎn)A.先判斷后執(zhí)行 B.單入口,單出口,C.程序中沒(méi)有執(zhí)行不到的語(yǔ)句 D.無(wú)死循環(huán).若有定義:intx=1234,y=123,z=12;則語(yǔ)句printf("%4d+%3d+%2d",x,y,z);運(yùn)行后的輸出結(jié)果為(D)A.123412312 B.12341234123412341231231231212C.1234+1234+1234D.1234+123+12.已知doublea;使用scanf()函數(shù)輸入一個(gè)值,給變量a正確的函數(shù)調(diào)用是(D)A、scanf(“機(jī)d”,&a); B、scanf(“%d”,&a);C、scanf("%7.2f”,&a); D、scanf(“%lf”,&a);.C語(yǔ)言的基本數(shù)據(jù)類型包括(A)A、整型,實(shí)型,字符型 B、整型,實(shí)型,字符型C、整型,字符型,邏輯型 D、整型,實(shí)型,邏輯型.下列關(guān)于數(shù)組的敘述中,正確的是(A)A、數(shù)組必須要定義,然后使用 B、定義數(shù)組時(shí),可不加類型說(shuō)明符C、定義數(shù)組后,可通過(guò)賦值運(yùn)算符“=”對(duì)該數(shù)組名直接賦值D、在數(shù)據(jù)類型中,數(shù)組屬基模型——構(gòu)造類型.下列敘述,錯(cuò)誤的是(A)A、C語(yǔ)言基本的算術(shù)運(yùn)算符不包含模運(yùn)算符“%”B、算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符C、自加和自減運(yùn)算符的結(jié)合方向是“自右至左”D、C語(yǔ)言規(guī)定在表達(dá)式求值時(shí),按其中運(yùn)算符的優(yōu)先級(jí)先高后低的次序進(jìn)行.下面關(guān)于C語(yǔ)言變量的敘述中,錯(cuò)誤的是(A)A、可以用const關(guān)鍵字定義變量 B、在C程序中,SUM和sum是不同的變量C、變量名必須由字母或下劃線開頭 D、變量的類型確定了變量的取值范圍.C語(yǔ)言中,復(fù)合語(yǔ)句的構(gòu)成是將一系列語(yǔ)句置于(C)A、begin與end之間B、對(duì)圓括號(hào)()之間C、(}之間 D、口之間(2)數(shù)據(jù)類型,運(yùn)算符和表達(dá)式1、若定義:intx=2;y=3;floati;則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是(B)A、x=x*3=2B、x=(y==1)C、i=float(x)D、i%(-3)2、若有定義:inta=5,b=2,c=l;則表達(dá)式a-b〈cllb==c的值是(A)A、0B、1C、2D、-13、若有定義:floatx=3.5;intz=8;則表達(dá)式x+z%3/4的值是(B)A、3.75B、3.5C、3D、4.若有定義:inta=l,b-2,c=3;語(yǔ)句++a||++b&&++a運(yùn)行后b的值為(C)A.1B.0C.2D.3.設(shè)單精度型變量f,g的值均為2.0,使f為4.0的表達(dá)式為(A)A.f+=gB.f-=g+2C.f*=g-6D.f/=g*109.對(duì)于整型變量x,下述計(jì)語(yǔ)句(B)與賦值句:x=x%2==0?1:0;不等價(jià)A.if(x%2!=0)x=0;elsex=l;Bif(x%2)x=l;elsex=0;C.if(x%2-=0)x=l;elsex=0: D.if(x%2==l)x=0;elsex=l;.下面語(yǔ)句正確的是(BC)Aint*P;*P=20; Bchar*s="abcdef":printf("%s\n",s);Ccharstr[]="abcdf";printfC*%s”,str);Dcharstr[]={H,bjc'};printf("%s”,str);.若有定義:inta=2;則正確的賦值表達(dá)式是(A)A.a-=(a*3)B.double(-a)C.a*D.a*4=3.若有定義:intm=5,n=3則表達(dá)式(m+1,n+1,(--m)+(n—))的值是(B)A.6B.7C.8D.9.對(duì)于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是(C)A.<B.=C.+D.-.若有定義:inta;則語(yǔ)句a=(3*4)+2%3;運(yùn)行后a的值為(B)A.12B.14C.11D.17.下面敘述中,錯(cuò)誤的是(A)A.其算術(shù)運(yùn)算對(duì)象不包含函數(shù) B.%(模擬運(yùn)算符)的運(yùn)算對(duì)象只能為整型量C.算術(shù)運(yùn)算的結(jié)合方向是“自左向右”D.自加和自減運(yùn)算符的結(jié)合方向是“自右向左”18.已知inta='R';則正確的表達(dá)式是(A)A.a%10 B.a=int(3e2) C.2*a=a++D.a=a+a=a+3.已知doublea=5.2;則正確的賦值表達(dá)式是(A)A.a+=a-=(a=4)*(a=3)Ba=a*3=2Ca%3Da=double(-3).以下的計(jì)語(yǔ)句中,x的值一定被重新賦值的是(B)A.if(x==y)x+=y; Bif(x>y&&x!=y);x+=y;C.if(x!=y)scanf("%d",&x)elsescanf("%d",&y);D.if(x<y){x++;y++}21.設(shè)有double型變量a,b,c,e均有值,對(duì)代數(shù)式(3ae)/(be),不正確的語(yǔ)言表達(dá)式是(C)A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*cD.a*e/c/b*3.以下運(yùn)算符中優(yōu)先級(jí)最高的是(D)A.> B.|| C.&& D.+.若有自定義:inta,b;doublex.,則以下不符合C語(yǔ)言的表達(dá)是(A)A.x%(-3) B.a+=-2 C.a=b=2 D.x=a+b.若有定義:inta[3][3];則表達(dá)式&a[2][l]-a的值為(A)A.7B.8 C.6 D.9.以下(D)是正確的變量名A.a.beeB.-PHC.intD.P_ll.若有定義:inta=l,b=2,c=3,d=4,x=5,y=6則表達(dá)式(x=a>b)&&(y=c>b)的值為(A)A.0 B.1 C.5 D.6.以下(D)是正確變量名A.5f B.if C.f.5 D._f5.若有定義:intx=3,y=4,z=5則值為0的表達(dá)式是(D)A.'x'&&'y'B.xV=yC.xIIy-z&&y-zD.!((x<y)&&!z|11).若有定義:intx,a;則語(yǔ)句x=(a=3,a+1);運(yùn)行后x、a的值依次為(C)A.3,3B.4,4 C.4,3D.3,4.若有定義:inta,b;則表達(dá)式(a=2,b=5,a*2,b++,a+b)的值是(B)A.7B.8C.9D.10.若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值是(A)A.3.5B.3.0C.2.5D.2.0.以下(B)是錯(cuò)誤的整型常量A、-OxcdfB、018C、OxeD、Oil.語(yǔ)句a=(3/4)+3%2;運(yùn)行后,a的值為(B)Ax0B、1C、2D、3.設(shè)整形變量a為5,使b不為2的表達(dá)式是(C)A、b=(++a)/3B、b=6-(―a) C、b=a%2D、b=a/235、已知chara='R';則正確的賦值表達(dá)式是(A);A、a=(a++)%4B、a+2=3C,ca+=256—D、a='\078'36.下面敘述正確的是(B)A、2/3與2.0/3.0等價(jià)B、(int)2.0/3與2/3等價(jià)C、++5與6等價(jià)D、,A'與“A”等價(jià)37、getchar()函數(shù)的功能是從終端輸入(D)A、一個(gè)整型量值B、一個(gè)實(shí)型變量值 C、多個(gè)字符 D、一個(gè)字符38、若有定義:inti=7,j=8;則表達(dá)式i>j||i〈j的值為(A)A、1B、變量i的值C、0D、變量j的值39、若有定義:inti,j:則表達(dá)式(i=2,j=5,i++,i+j++)的值是(B)A、7B、8C、9D、10.若希望當(dāng)a的值為奇數(shù)時(shí),表達(dá)式的值為“真”,a的值為偶數(shù)時(shí),表達(dá)式的值為“假”.則不能滿足要求的表達(dá)式是(C)A.a%2==lB.!(a%2==0)C.!(a%2)D.a%2.下面敘述正確的是(A)A.強(qiáng)制類型轉(zhuǎn)換運(yùn)算的優(yōu)先級(jí)高于算術(shù)運(yùn)算B.若a和b是整型變量,(a+b)++是合法的'A'*'B'是不合法的"A"+"B"是合法的.以下程序段運(yùn)行后變量a的值為(D)intx=6,y=5;inta;a=(-x==y++)?x:y+l;A.0B.1C.6D.5.下面程序段的運(yùn)行結(jié)果是(D)inta=5b=6;printf("%d”,a/b);A.5B.6C.7D.0.以下程序的運(yùn)行結(jié)果是(D)voidmain(){inta=65;charc='A';printf(w%x,%dw,a,c);)A.65,aB.41,aC.65,65 D.41,65.語(yǔ)句x=(a=3,b=++a)運(yùn)行后,x,a,b的值依次是(C)A、3,3,4B、4,4,3C、4,4,4D、3,4,3.若有定義:intk,i=2,j=4;則表達(dá)式k=(++i)*(j一)的值是(B)A、8B、12C、6D、9.若有定義inta=3,b=15,c;則語(yǔ)句c=a>b;運(yùn)行后c的值為(B)A、1 B、0 C、t D、f.若有定義:ima=-36,b=-30,c;則語(yǔ)句c=avb;運(yùn)行后c的值為(A)A>1 B、t C>0 D>f.以下(C)是正確的字符常量A、“c” B、《 C、W D、”\32a”.若已定義:floatm;從鍵盤輸入135.78這一數(shù)據(jù),給變量m,則應(yīng)選用的語(yǔ)句是(D)A、scanf(t4%5.2f\&m); B、scanf(44%3.2f\&m);C、scanf(4t%6.2f\&m); D、scanf(t4%6f;&m);.C語(yǔ)言中,能正確表示條件10vxv20的邏輯表達(dá)式是(D)A、10<x<20B、x>10llx<20C、x>10&&<20D、(x>10)&&(x<20)(3)選擇結(jié)構(gòu)程序設(shè)計(jì).C語(yǔ)言對(duì)于計(jì)嵌套語(yǔ)句的規(guī)定:else總是與(B)配對(duì)A.第一個(gè)if B.之前最近且尚未配對(duì)C.縮進(jìn)位置相同的if D.之前最近的if.以下的語(yǔ)句中,無(wú)內(nèi)嵌的if語(yǔ)句是(D)A.if(x==y)x+=y; B.if(x>y&&x!=y)x+=y;if(x!=y)scanf("%d”,&x);elsescanf &y);if(x<y) {x++;y++}3、以下程序運(yùn)行結(jié)果是(D)voidmain(){intn=5;if(n++=6)printf("%d\n”,n);elseprintf("%d\n”,++n);A、4B、5C、6D、74.以下程序段運(yùn)行后x的值為(B)inta[]={l,2,3},b[]={4,2,5};int*p,*q;inti,x;p=a;q=b;for(i=0;i<3;i++)if(*(p+i)=*(q+i))x=*(p+i)*2;A.2B.4C.6D.不確定5.若有定義:inta=l,b=2,c=3;則執(zhí)行以下程序后a,b,c的值分別為(if(a<b){c=a,a=b,b=c;}A.a=lb=2,c=3B.a=2b=3c=l6.以下程序的運(yùn)行結(jié)果是(C)voidmain(){intn='e';switch(n ){default:printf("error");case'a':case,b':printf(“good");break;case(c9:printf("pass");case,d':printf("warn");}A、errorB、goodC、errorgood7.以下程序的運(yùn)行結(jié)果是(B)voidmain(){intx,y=l,z;z=-l;if(z==0)C.a=2b=3c=3D)D.a=2,b=l,c=lD、warnz=-z;elsex=y>0?3:5;printf(4t%d\n,,,x);}A、-1 B、3C、1D、5(4)循環(huán)控制L對(duì)于整型變量x,與while(!x)等價(jià)的是(B)A.while(x!=0)B.while(x==0)C.while(x!=1)2.以下程序運(yùn)行后,循環(huán)體運(yùn)行的次數(shù)為(B)inti=10,x;for(;i<10;i++)x=x+i;D.while(?x)A.10B.0C.1D.無(wú)限3,設(shè)有整型變量x,下述語(yǔ)句(B)不會(huì)出現(xiàn)死循環(huán)A、for(;;x+=l);B、for(;(x=gether())!=Tn';);C、while(1){x++;}D、for(x=10;;x―);4、在C語(yǔ)言中while循環(huán)和do—while循環(huán)的主要區(qū)別是(B)A、do―while循環(huán)體內(nèi)可以使用break語(yǔ)句,while循環(huán)體內(nèi)不能使用break語(yǔ)句B、do—while的循環(huán)至少無(wú)條件執(zhí)行一次,while的循環(huán)體不是C、do—while循環(huán)體內(nèi)可以使用continue語(yǔ)句,while循環(huán)體內(nèi)不能使用continue語(yǔ)句D、while的循環(huán)體至少無(wú)條件執(zhí)行一次,do—while的循環(huán)體不是5、對(duì)于整型變量x和y,語(yǔ)句for(x=0,y=0;(y!=123)&&(x<4);x++)y++;中的“y++;”被執(zhí)行(A)A、4次B、0次C、123次D、3次.以下程序段運(yùn)行后變量n的值為(D)inti=l,n=l;for(;i<3;i++)(continue;n=n+i;}A.4B.3C.2D.1.設(shè)有如下程序段:inta[3][3]={1,0,2,1,0,2,1,0,1),i,j,s=0;for(i=0;i<3;i++)for(j=0;j<i;j++)s=s+a[i][j];則執(zhí)行該程序段后,s的值是(C)A.0B.1C.2D.3.以下程序運(yùn)行結(jié)果(C)voidmain()(intsum=0,item=0;while(item<5)(item++;sum+=item;if(sum>=6)break;}printf(M%d\nw,sum);}A.10 B.15 C.6 D.7.下面程序運(yùn)行結(jié)果是(A)inti=0,a[]={1,2,3,4,5};do{a[i]+=10;}while(a[++i]>2);for(i=0;i<5;i++)printf( ,a[i]);A.112345B.12345C.1112131415D.1112345.若有定義:inti=0,x=0;inta[3][3]={1,2,3,4,5,6,7,8,9)則以下程序段運(yùn)行后x的值為(C)for(;i<3;i++)x+=a[i][2-i];A.0B.12C.15D.18IL以下程序的運(yùn)行結(jié)果是(B)voidmain()|intsum=0,item=0;while(item<5)(item++;sum+=item;if(sum=5)break;)printf(a%d\n>>,sum);}A.10B.15C.5D.612.下面程序段的運(yùn)行結(jié)果是(D)inti=0,a[]={3,4,5,4,3);do{a[i]++;}while(a[++i]<5);for(i=0;i<5;i++)printf(w%dw,a[i]);A.45654B.34543C.45554D.4554313,下面程序段的運(yùn)行結(jié)果是(C)inti=0,a[]={7,5,7,3,8,3);do{a[i]+=2;}while(a[++i]>5);for(i=0;i<6;i++)printf(a%d",a[i]);A.9795105B.9593103C.957383D.757383.以下程序段運(yùn)行后s的值是(A)inta[3][3]={1,2,3A5,1,2,3,4);inti,j,s=l;for(i=0;i<3;i++)for(j=i+l;j<3;j++)s*=a[i][j];A、6 B、120 C、24 D、480.在循環(huán)語(yǔ)句的循環(huán)體中,break語(yǔ)句的作用是(D)A、暫停程序的運(yùn)行 B、結(jié)束本次循環(huán)C、繼續(xù)執(zhí)行break語(yǔ)句之后的循環(huán)體各語(yǔ)句D、提前結(jié)束循環(huán),接著執(zhí)行該循環(huán)后續(xù)的語(yǔ)句.循環(huán)體中的“count+=2”語(yǔ)句運(yùn)行的次數(shù)為(B)inti,j,count=0;for(i=l;i<=4;i++){for(j=l;j<=i;j++){count+=2;printf("%d”,count);}}A、8次 B、10次C、16次D、20次.下面關(guān)于switch語(yǔ)句的敘述中,錯(cuò)誤的是(A)A、case后面的表達(dá)式可以是關(guān)系表達(dá)式 B、switch語(yǔ)句是多分支選擇語(yǔ)句C、每一個(gè)case后面的值必須互不相同,否則會(huì)出現(xiàn)互相矛盾D、在執(zhí)行?個(gè)case分支后,可用,個(gè)break語(yǔ)句使流程(循環(huán))結(jié)束.以下程序段運(yùn)行后s的值是(B)inta[3][3]={1,2,34,2,3,1,2,3};inti,j,s=l;for(i=0;i<3;i++)for(j=i;j<3;j++)s*=a[i][j];A、18 B、108 C、2 D、12(5)數(shù)組1、有如下定義inta[][3]={1,2,3,4,5,6,7,8,};則數(shù)組a的行數(shù)(B)A、2B、3C、4D、無(wú)法確定.以下數(shù)組定義中,正確的是(B)inta[2][3]={1,2,3,4,5,6,7};inta[][]={{1,2,3},{4,5,6},{7,8,9}};inta[2][]={1,2,3,4,5,6};inta口[4]={6};.若有定義:inta=6,b=2;charCl='a',C2='b';則表達(dá)式a+b%5+C2-Cl的值是(C)A.7B.8 C.9 D表達(dá)式錯(cuò)誤.若有定義:charstr[6]="abcdm",*ps,*str2="abcdef";正確的是(B)A.stycpy(strl,str2);B.表達(dá)式strcmp(strl,str2)的值>0C.strl=str2; D.表達(dá)式strlen(strl)的值為6.以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是(D)A.inta[5]=(0,0,0,0,0,) B.inta[5]=[0]C.inta[5]={l,2,3,4,5,6,7}D.inta[]={0}.以下(A)是不正確的字符串常量A.'abc'B."12'12"C.“0”D“”.設(shè)有如下定義:charstr[8]={"Fujian”};則分配給數(shù)組str的存儲(chǔ)空間是(C)字節(jié)A.6 B.7 C.8 D.9.下列數(shù)組定義中,正確的是(A)A.inta[10] B.intn=10a[n]; C.intN=10;inta[N];D.intn;scant( ,&n);inta[n].若有定義inta[2][3];則對(duì)數(shù)組元素的非法引用是(D)A.a[0][1/2]B.a[l][l]C.a[4-4][0]D.a[0][3].若有inta=2則a=strcmp("miss","miss")運(yùn)行后a的值為(B)A.1B.OC.-l.D.2.以下程序結(jié)束后屏幕輸出(B)charstr[]="ab\\cd";printf("%d",strlen(str));A.4.B.5C.6 D.7.已知inta[10];則對(duì)a數(shù)組元素引用不正確的是(A)A.a[10]B.a[3+5]C.a[10-10]D.a[5].設(shè)有以下變量定義:charstrl[]=Mstring”,str2[8],*str3,*str4=Mstring**;則(A)是正確的A.strcpy(strl,nchina"); B.str2="china";C.strcpy(*str3,nchina"); D.strcpy(str4[0],nchina");14、以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是(D)A、inta[5]=(0, 0, 0, 0, 0); B、inta[s]=[0];C、inta[5]={l, 2, 3, 4, 5,6, 7};D、inta[]={0};15.若有定義inta[][3]={1,2,3,4,5,6,7,8,9};則表達(dá)式sizeof(a)/sizeof(a[0])的值為(A)A、3B、4C、5D、916、下列數(shù)組定義中,正確的是(A)A.inta[5]={0};B、inta[]={012}:C、inta[5]=0D、inta[]17、以下數(shù)組定義中,正確的是(B)A、inta[2][3]={1,2,3,4,5,6,7}:B、inta[][]={{1,2,3},{4,5,6},{7,8,9}};C、inta[2][]={1,2,3,4,5,6};D、inta[][4]={6}.若有定義:inta[3][4]={{l,2},{0},{1,2,3}};則2[1][1]的值為(A)A.0.B.{1,2}C.1D.3.若有定義:inta[3]={0,1,2};則a[l]的值為(B)A.0B.1C.2D.3.若有定義:inta[5]={l,2,3,4,5};則語(yǔ)句a[l]=a[3]+a[2+2]-a[3-l];運(yùn)行后a[l]的值為(A)A.6B.5C.1D.2.有如下定義:charstr[6]={'a','b''\0','d','e','f'};則語(yǔ)句printf("%s",str);的輸出結(jié)果是(D)A.ab\ B.abdefC.ab\0 D.ab.定義chara[]="abcdef";charb[]="xyz";以下程序運(yùn)行后輸出(B)strcpy(a,b);printf("%C”,a[2]);A.cB.zC.\0D.d23、以下程序段運(yùn)行后屏幕輸出為(A)charstr[80];strcpy(str,"hello");printf( ,strlen(str));A、5B、6C、7D、80.以下程序段運(yùn)行后屏幕輸出為(C)chara口二"abc\0misw;printf(w%dw,srelen(a));A.5B.8C.3D.4.有以下定義:charstr[3][2]={匕','b','c','\0','e','f'};則語(yǔ)句:printf(w%sw,str[0]);則輸出結(jié)果是(D)A、abB、abcefC、abc\0D、abc.已有定義charstrl[15]={^universityM},str2[15];以下語(yǔ)句中正確的是(D)A、str2=strl; B、str2="college”;C、scanf(a%sw,&str2); D、printf("%s”,strl);.下列數(shù)組定義中,正確的是(C)A>inta[2][]={1,2,3,4,5); B、inta[][2]={{0},{}};C.inta[2][2]={{l,2},{3}}; D.inta[][]={1,2,34}.C語(yǔ)言中數(shù)組元素下標(biāo)的數(shù)據(jù)類型是(B)A、實(shí)型常量 B、整型常量或整型表達(dá)式C、任何類型的表達(dá)式D、字符型常量.若有定義:inta[13];則不能正確引用a數(shù)組元素的是(C)A、a[01 B、a[10]C、a[10+3] D、a[13-5](6)函數(shù)1.關(guān)于C語(yǔ)言函數(shù)的描述中,正確的是(B)A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套2.已知chara;使用scanf()函數(shù)輸入一個(gè)字符給變量a,不正確的函數(shù)調(diào)用是(B)A.scanf("%d",&a); B.scanf("%lf",&a);C.scanf("%c,&a); D.scanf("%u",&a);3.putchar()函數(shù)的功能是向終端輸出(B)A.多個(gè)字符 B.一個(gè)字符 C.一個(gè)實(shí)型變量值D.一個(gè)整型變量表達(dá)式4、已知inta;使用scanf()函數(shù)輸入一個(gè)整數(shù)給變量a,正確的函數(shù)調(diào)用是(B)A、scanf,a);B、scanf,&a);C、scanf("A",&a);D、scanf("%df",&a);.C語(yǔ)言的函數(shù)體由(B)括起來(lái)A.()B.{}C.[]D./**/.如下fun函數(shù)的類型是(C)fun(floatx){doubley;intz;y=x*x;z=(int)y;return(z);}A.voidB.doubleC.intD.float.設(shè)有如下函數(shù)定義:intfun(char*str){char*p;if(p!='\0')p++;return(p-str);)則以下語(yǔ)句執(zhí)行后的輸出結(jié)果是(A)printf("%d\n”,fun("student"));D.10A.7 B.8 C.9D.10.以下程序的屏幕輸出為(B)#include<stdio.h>voidf(inti)(inta=2;a=i++;printf("%d",a);)main()(inta=l,c=3;f(c);a=c++;printf a);}C.4,5D.3,5A.4,3 B.3,3C.4,5D.3,5.若有以下函數(shù)定義:intfun(){staticintk=0;return++k;以下程序段運(yùn)行后屏幕輸出為(D)inti;for(i=l;i<=5i++)fun();printf(u%d",fun());A.0B.1C.5D.6.以下程序運(yùn)行的結(jié)果是(A)intfun(intarray[4][4]){intj;for(j=0;j<4;j++)printf(w%2dw,array[2][j]);printf(a\n");)main(){inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};fun(a);)A.2005B.1004C.0120D.0450.以下程序運(yùn)行后屏幕輸出為(D)#include(stdio.h)inta=2,b=3;intmax(inta,intb)(intc;c=a>b?a:b;return(c);}main()(inta=4;printfmax(a,b));)A.2,3B.2C.3D.4.以下程序運(yùn)行后屏幕輸出為(B)#include<stdio.h>intf(intx,inty)(return(x+y);}main()inta=2,b=3,c;c=f(a,b);printf("%d+%d=%d\n”,a,b,c);)A.0B.2+3=5C.2+3=0D.3+2=513、下面程序的輸出結(jié)果是(D)#include<stdio.h>intglobal=lOO;fun()(intglobal=5;return++global:}voidmain()(printf("%d\n”,fun())}A、100B,101C、5D、614.以下程序運(yùn)行后,屏幕輸出為(C)#defineMIN(a,b)((a<b)?(a):(b))mainO{intx=2,y=3,z;z=2*MIN(x,y);printfz); }A、2B、3C、4D、6(7)預(yù)處理命令.若有定義:#definePI3,則表達(dá)式PI*2*2的值為(A)A.12B.4 C.3D.不確定.設(shè)有如下定義typedefint*INTEGER;INTEGERP,*q;則(C)是正確的表述A.P是int型變量 B.q是基類型為int的指針變量C.P是基類型為int的指針變量 D.程序中可用INTEGER代替int類型名。3、以下敘述中,正確的是(A)A、宏展開不占用運(yùn)行時(shí)間,只占用編譯時(shí)間B、預(yù)編譯處理命令行必須以分號(hào)結(jié)束C、一個(gè)源程序只能有一個(gè)預(yù)編譯處理命令行D、使用帶參數(shù)的宏定義時(shí),應(yīng)該說(shuō)明每個(gè)參數(shù)的數(shù)據(jù)類型4、以下的敘述中不正確的是(C)A、宏展開不占用運(yùn)行時(shí)間,只占用編譯時(shí)間B、宏名無(wú)類型C、宏名必須用大寫字母表示D、預(yù)處理命令行都必須以#號(hào)開始.以下敘述中,正確的是(B)A."ttdefinePRICE=30"定義了30等價(jià)的符號(hào)常量PRICEB.預(yù)編譯處理命令行都必須以"#"開頭C.宏名只能是含大寫字母和數(shù)字字符D.在程序的一行上可以書寫幾個(gè)有效的宏定義.下面程序的輸出結(jié)果是(C)^include<stdio.h)#defineONE1ftdefineTWOONE+1#defineTHREETWO+1voidmain(){printf(“刎,THREE-ONE);)A.產(chǎn)生錯(cuò)誤, B.1C,2D.3.以下程序執(zhí)行時(shí),輸入12345<回車〉輸出為(A)#include<stdio.h>#defineN5voidmain(){inta[N];int*p=a;while(p<a+N)scanf( ,p++);while(p>a)prinf(a%dw,*(-p));)D.43215A.54321B.12345C.23451D.43215.若有以下定義#defineMOD(x,y)x%y則執(zhí)行以下程序段后,z的值是(I))intz,a=15,b=100;z=M0D(b,a);A.100,B.15C.11D.109、下面程序的輸出結(jié)果是(A)#include<stdio.h>#defineSQR(x)(x*x)voidmain()(inta,b=3;a=SQR(b+2);printf("\n%d",a);}A.11B.25C.不定值D.產(chǎn)生錯(cuò)誤10.以下程序的運(yùn)行結(jié)果是(B)#defineADD(x)x+xmain(){intm=l,n=2,k;k=ADD(m+n)*3;printf("%d”,k);getch();)C、12D、18A、9 BC、12D、18.若函數(shù)fun的函數(shù)頭為:intfun(inti,intj)且函數(shù)指針變量P定義如下:int(*P)(inti,intj);則要使指針P指向函數(shù)fun的賦值語(yǔ)句是(B)A.P=*funB.P=fun;C.P=fun(i,j)D.P=&fun.設(shè)有以下語(yǔ)句,則(D)是對(duì)。數(shù)組元素的不正確引用,其中0Wi<10.inta[10]={0,1,2,3,4,5,6,7,8,9},*p=aA.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))3、在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30),*p=&a;當(dāng)執(zhí)行p++;后下列敘述錯(cuò)誤的是(A)A、p向高地址移了一個(gè)字節(jié)B、p與a+1等價(jià)C、語(yǔ)句printf("%d",*p);輸出20D、p指向數(shù)組元素a[l]4、以下程序段運(yùn)行后*(++p)的值為(C)chara[6]="work";char*p;p=a;A、'w'B、存放'w'的地址C、'O'D、存放的‘O'地址.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;當(dāng)執(zhí)行p++;后下列敘述錯(cuò)誤的是(A)A.p向高地址移了一個(gè)字節(jié) B.p與a+1等價(jià)C.語(yǔ)句printf("%d",*p);輸出20;D.p指向數(shù)組元素a[l].以下程序運(yùn)行后*(P+3)的值為(A)chara[]="good";char*P;P=a;A.‘d'B.''0'C.存放d的地址.D.'O'.以下程序段運(yùn)行后的值是(C)inta[9]={1,2,3,4,5,6,3,83};int*p,*q;inti,x;p=&a[O];q=&a[8];for(i=0;i<3;i++)if(*(p+i)==*(q-i))x=*(p+i)*2;A、2 B、4 C、6 D、不確定.以下程序運(yùn)行段運(yùn)行后x的值為(D)inta[]={l,2,3,4,5,6,7,8);inti,x*p;X=1;p=&a[2];for(i=0,i<3,i++)x*=(*p+i);A.不確定B.24C.120D.609、下面程序的輸出結(jié)果是(A)#include<stdio.h>voidmain(){inti;char*s="abc”;for(i=0;printfi<3;(“%i++)s\n",s+i);abccabc abcBbeCc Dabcabcbe ab10.執(zhí)行以下程序段的輸出結(jié)果是(B)inta=10,*p=&a;printf(,++*p);A.10B.11C.變量a的地址D.變量a的地址加1.若有以下程序段,0<=i<4,0<=j<3則不能正確指向a數(shù)組元素的是(D)inti,j,(*p)[3];inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12);P=a;for(i=0;i<4;i++){ for(j=0;j<3;j++)printf("%d",);printf(“\n”); }A、*(*(a+i)+j) B、p[i][j] C、(*(p+i))[j] D、p[i]+j.下面程序的輸出結(jié)果是(A)#include<stdio.h>voidmain(){char*str="12345",*ps=str+4;printf(a%c\nw,ps[-4]); }A、1 B、2 C、3 D、錯(cuò)誤.設(shè)有下列語(yǔ)句,則(D)是對(duì)a數(shù)組元素的不正確引用其中0<=i<70,inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i)).若有定義ima⑵[3],*p=a;則以卜不能表示數(shù)組元素a[l]⑵的是(B)A、*(a[l]+2) B、*(p[l]+2) C、p[5] D、*(p+5).設(shè)有如下變量定義charchar(*p)[3]=aa;

則經(jīng)過(guò)以下程序,運(yùn)行結(jié)果為(D)p++; prinlf("%c”,**p);A、a b C、c D、d.若有定義:int*p,a=4;p=&a;則以下均代表地址的是(B)A、a,p B、&a,p C、&a,*pD、a,*p(9)結(jié)構(gòu)體與共用體.設(shè)有以下定義語(yǔ)句:structstudent{intnum;charname[10];floatscore;}wang,zhang;的變量wang所占的內(nèi)存字節(jié)是(B)A.14B.16. C.18D.9.設(shè)有以下定義語(yǔ)句:structstudent{intnum;charname[10];floatscore;}wang,zhang;則不正確的敘述是(C)A.struct是結(jié)構(gòu)體類型的關(guān)鍵字B.zhang是結(jié)構(gòu)體變量名C.wang是結(jié)構(gòu)體類型名 D.num,name,score都是結(jié)構(gòu)體類型student的成員名.若structteacher{intnum;charname[10];charsex;intage;floatscore;)teacher1;則變量teacherl所占用的內(nèi)存字節(jié)是(C)A.5B.14C.19.D.20.、假定已有如下落不明變量說(shuō)明和枚舉定義:charch;intj,k;enumday{sum,mon,tue,wed,thu,fri,sat);inta[sat];判定下列語(yǔ)句是否符合語(yǔ)法規(guī)則,結(jié)果是(C)chara;j+kchara;j+k=j;if(a[mon]>0)j++;A.語(yǔ)句2錯(cuò)誤,其它正確C.語(yǔ)句3正確,其它錯(cuò)誤/*語(yǔ)句1*//*語(yǔ)句2*//*語(yǔ)句3*/B.語(yǔ)句1正確,其它錯(cuò)誤D.語(yǔ)句錯(cuò)誤,其它正確5、以下C語(yǔ)言共用體類型數(shù)據(jù)的描述中,不正確的是(D)A、共用體變量占的內(nèi)存大小等于所需內(nèi)在最大的成員所占的內(nèi)存B、共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中C、在定義共用體變量的同時(shí)允許對(duì)另一個(gè)成員的值進(jìn)行初始化D、同一共用體中各成員的首地址不相同6、若有以下類型說(shuō)明,敘述正確的是(C)typedefsturct{intnum;char*name;intscore;}STU,*PSTUA、STU是變量名B、PSTU是變量名C、PSTU是指向結(jié)構(gòu)體類型STU的指針類型名D、類型說(shuō)明語(yǔ)句有錯(cuò)誤7、設(shè)有如下定義語(yǔ)句:unionu-type{inti;doublex;floatf;);structstr-type{charstr[100];unionu_typeu[2];};則語(yǔ)句"printf("%d”,sizeof(structstr-type));”的輸出結(jié)果是(B)A、100B、116C、120D、2008.下列對(duì)結(jié)構(gòu)體類型變量定義不正確的是(C)A.structteacher{intnum;intage;}teacherl;.struct{intnum;intage;}teacherl,teacher2;.struct{intnum;intage;}teacher;Structteacherteacherl;structteacherlintnum;intage;);Structteacherteacherl;若有定義structnode{intdate;structnode*next;}函數(shù):voidfun(structnode*head)(structnode*p=head;while(p){structnode*q=p->next;free(p);P=q;})則該函數(shù)的功能是(A)A.刪除整個(gè)單向鏈表 B.刪除單向鏈表中的一個(gè)結(jié)點(diǎn)C.顯示單向鏈表中的所有數(shù)據(jù) D.創(chuàng)建單向鏈表.對(duì)枚舉類型進(jìn)行定義,不正確的是(A)enumb(l,2,3};enuma(A,B,C};enumc{D=3,E,F};enumd{x=0,y=5,z=9);.下面程序的輸出結(jié)果為(B)#include<studio,h>voidmain()(enumWeekday{sum=7,mon=l,tue,wed,thu,fri,sat);enumWeekdayday=sat;print(w%d\n,,,day);)A.7 B.6 C.5 D.4.以下程序的運(yùn)行結(jié)果(D)#include<stdio.h>unionutype(inti;floatf}U[2];voidmain()

printf(asizeof(u):%d\nw,sizeof(u));}A.2 B.4 C.6 D.8.若有以定義structlink{intdata;structlink*next;}*head,*p;并已建立如下圖示所示的鏈表結(jié)構(gòu) PXhead—>iatanextdatanext-->???—?datanull則能保留鏈表其它結(jié)點(diǎn),而刪除P所指向結(jié)點(diǎn)的程序段是(A)head->next=p->next;free(p);head->next=p;p->next=head->next;free(p);C.free(p);head->next=p;p->next=head->next;D.free(p);head->next=p->next;14.若有定義structnode(intdata;structnode*next;);及函數(shù):voidfun(structnode*head){structnode*p=head;while(p){printf("%d”,p->data);p=p->next;break;}}則函數(shù)fun()的功能是(C)A.刪除單向鏈表 B.顯示單向鏈表中的所有數(shù)據(jù)C.顯示單向鏈表中的第一個(gè)數(shù)據(jù) D.創(chuàng)建單向鏈表15..若有如下定義,函數(shù)fun的功能是(B),其中head指向鏈表著結(jié)點(diǎn)整個(gè)鏈表結(jié)構(gòu)如下圖:headdate,,,datanulldataheaddate,,,datanulldatastructnode{intdata;structnode*next;);

intfun(structnode*head)intn=0;structnode*t=head;while(t!=NULL){n++;t=t->next;)returnn;)A.刪除鏈表head中的所有結(jié)點(diǎn) B.計(jì)算鏈表head中的結(jié)點(diǎn)個(gè)數(shù)C.插入一個(gè)元素到鏈表head中 D.創(chuàng)建一個(gè)鏈表head16、若有以下定義:struct1ink{intdate;structlink*next;}*head,*p;head-?dataInextdatalNULL并已建立如下圖所示的鏈表結(jié)投datahead-?dataInextdatalNULL指針,指向如下傳]:P-dataInext則能夠把p所指結(jié)點(diǎn)插入到鏈表中成為鏈表第2個(gè)結(jié)點(diǎn)的程序段是(A)A、p—?next=head―>next;head—?next=pB、head~~?next=p;p—?next=head—?next;p.next=head.next;head.Next=p(*head).next=p;(*p).next=(*head).next;17.若有定義如下:函數(shù)fun的功能是(A)其中head指向鏈表首結(jié)點(diǎn)鏈表為下:head >datastructnode{intdata;structnode*head;head >datastructnode{intdata;structnode*head;voidfun(structnode*head)(structnode*t=head;while(t!=NULL){if(t->data%2==0)printf(w%dw,t->data);t=t->next;} }A、遍歷鏈表head,輸出表中值為偶數(shù)的元素

B、建立一個(gè)只有表頭結(jié)點(diǎn)的鏈表headC、刪除鏈表head中的第?個(gè)結(jié)點(diǎn)D、插入一個(gè)元素到鏈表head中18.若有以下定義structlink{intdata;structlink*next;}a,b,c,*head,*p;其中指針head』鏈表結(jié)構(gòu)如下:head >旨向變adatanext量a,p指向變星b ?|dataNULLc,a.next指向變量bcp—?[datanext則能夠把c插入到a和b之間并形成新的鏈表的程序段是(D)A、next=c;c.next=b; B、head.next=p;p.next=head.nextC、head->next=&c;p->next=head->next;D、(*head).next=p;(*p).next=&b;19.若有以下程序段structstudent{intnum;intage;};structstudentstu[3]={{101,18},{102,21},{103,19}};structstudent*p=stu;則下面值為102的是(D)(p++)->num;(p++)->age;C、(p++)->num;(p++)->age;C、(*p).ageD、(*++p).num20.假定已有如下變量說(shuō)明和枚舉定義:charch;intj,k;enumday{sun,mon,tue,wed,thu,fri,sat};inta[sat];判斷下列語(yǔ)句是否符合語(yǔ)法規(guī)則,結(jié)果是(A)sun=0;j=mon+thu;sun=0;j=mon+thu;if(a[mon]>0)j++;A、語(yǔ)句1錯(cuò)誤,語(yǔ)句2、C、語(yǔ)句3正確,語(yǔ)句1、21.設(shè)有如下定義語(yǔ)句:unionu_type{inti;doublex;floatf;/*語(yǔ)句1*//*語(yǔ)句2*//*語(yǔ)句3*/3正確2錯(cuò)誤B、語(yǔ)句2正確,D、語(yǔ)句1正確,語(yǔ)句1、3錯(cuò)誤語(yǔ)句2、3錯(cuò)誤);structstr_type{charstr[100];unionu_typeu[2J;};則語(yǔ)句aprintf(t4%d,,,sizeof(structstr_type));w的輸出結(jié)果是(B)A、100 B、116 C、120 D、200.若有以下類型說(shuō)明,則(B)是正確的敘述typedefunion{charstr[2];inti;}sp;A、sp是一個(gè)共用體 B、sp是一個(gè)共用體類型名C、unioonsp是共用體類型名 D、lypedefunion是共用體類型名.以下程序運(yùn)行結(jié)果是(D)#include<stdio.h>unionUtype{inti;floatf;};struct{charch[2];inti;unionUtypeU;}a;voidmain(){printf("sizeof(a):%d\n”,sizeof(a));}A、5 B、6 C、7 D、8.以下程序段的運(yùn)行結(jié)果是(B)union{intnum;charstr⑵;}s;s.num=20;s.str[0]='A';s.str[l]=\O,;printf("%d”,s.num);A、20 B、65 C、0 D、A.下面程序的輸出結(jié)果(A)#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*next;}Node;Nodelist[3J={{l,&list[l]},{2,&list[2]},{3,0}};voidprint(Node*head){Node*t=head;while(t!=null){printfC4%dM,t->data);t=t->next;}}voidmain(){print(list);}A、123 B、012 C、013 D、230(10)位運(yùn)算.在對(duì)于無(wú)符號(hào)數(shù)的位運(yùn)算中,操作數(shù)右移一位相當(dāng)于(A)A.操作數(shù)除于2 B.操作數(shù)乘以2C.操作數(shù)除于4D.操作數(shù)乘以4.若有定義:inta=20,b=28,C;則執(zhí)行語(yǔ)句C=(a&b)>>2;后C的值為(A)A.5B.7C.80D.112.若有定義,intx=3,y=4;則表達(dá)式!xIIy的值為(A)A,1B,0C、3D,4.下列程序段的運(yùn)行結(jié)果是(C)inta=5,b=6;printf("%d”,aIb);A、5 B、6 C、7 D,8.若有定義:inta=20,b=28,c;則執(zhí)行語(yǔ)句c=(a~b)?2后的值為(C)A,2B、5C、32D、92(11)文件1、以下敘述正確的是(D)A、C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)B、打開一個(gè)已存在的文件進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋C、在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第一個(gè)數(shù)據(jù)D、當(dāng)對(duì)文件的寫操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失2、標(biāo)準(zhǔn)函數(shù)fgets(s,n,f)的功能是(D)A、從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存:B、從文件f中讀取長(zhǎng)度不超過(guò)n-1的字符串存入指針s所指的內(nèi)存C、從文件f中讀取幾個(gè)字符存入指針s所指的內(nèi)存D、從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存3.以下程序運(yùn)行后,屏幕顯示writeok!,下列說(shuō)法正確的是(D)#include<stdio.h>main()(FILE*fp:fp=fopen("data,txt","wt");if(fp!=NULL){fprintf(fp,"%s\n","Filewritesuccessed!\n");fclose(fp);printf("writeok!\nn);})A.當(dāng)前工作目錄下存在data,txt文件,其中內(nèi)容是"writeok!"B.fclose(fp);語(yǔ)句的功能是打開文件C.當(dāng)前工作目錄下一定不存在data,txt文件D.當(dāng)前工作目錄下一定存在data.txt文件4.以下程序的功能是(B)#include<stdio,h>mainO{FILE*fp;longintn;fp=fopen(Wwj.txt",“rb”);fseek(fp,0,SEEK_END);n=ftell(fp);fclose(fp);printf(w%ldw,n);}A.計(jì)算文件wj.txt的起始地址B.計(jì)算文件wj.txt的終止地址C.計(jì)算文件wj.txt內(nèi)容的字節(jié)數(shù)D.將文件指針定位到文件末尾.以下程序執(zhí)行文件名是file,exemain(intargc,char*argv[])(inti;for(i=l;i<argc;i++)printf(a%s%cw,argv[i],(i<argc-l?>':9\nf));}在DOS命令輸入:fileMyCLanguageandProgramming<回車〉,其輸出結(jié)果是(B)CLanguageandProgrammingMyCLanguageandProgrammingMyCLanguageandfileMyCLanguageandProgramming.對(duì)下面程序正確的描述是(C)#include<stdio.h>voidmainO(FILE*in,*out;if((in=fopen("infile,txt","r"))二二NULL){printf(acannotopeninfile\n,,);exit(0);}if((out=fopen(^outfile.txtw,Mw"))==NULL)(printf(acannotopenoutfile\nw);exit(0);while(!feof(in))fputc(fget(in).out);fclose(in);fclose(out);)A.程序?qū)崿F(xiàn)在屏幕上顯示磁盤文件infile.txt的內(nèi)容B.程序?qū)崿F(xiàn)將兩個(gè)磁盤文件infile,txt和outfile.txt的內(nèi)容合二為一C.程序?qū)崿F(xiàn)將磁盤文件intfile.txt復(fù)制到磁盤文件outfile.txtD.程序?qū)崿F(xiàn)將兩個(gè)磁盤文件合并在屏幕上輸出.以卜程序的可執(zhí)行文件名為tt.exe,若程序運(yùn)行后屏幕顯示:weare,則在DOS提示符下輸入的行名是(C)voidmain(intargc,char*argv[])|inti;printf(u%dr,,argc);for(i=l;i<argc;i++)printf(a%s",argv[i]);}A.ttB.ttweC.ttweareD.ttwearehappy!8.以下程序的可執(zhí)行文件名為cmdline.exe#include<stdio.h>#include<stdlib.h>voidmain(intargc,char*argv[]){if(argc!=2){printf("youareforgettotypeyournameoryoutypedmoreparameters"");exit(1);}printf(aHello,%s\nw,argv[l]);}9.在命令行輸入:cmdlineharry則輸出是(B)A、youareforgettotypeyournameoryoutypedmoreparametersB、Hello,harryHelloandlineHello10.以下程序運(yùn)行后,屏顯Fileopenerror!則可能的原因是(C)#include<stdio.

溫馨提示

  • 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)論