版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言模擬考試及答案
作者:
日期:
個(gè)人收集整理,勿做商業(yè)用途
模擬試題
模擬試卷一
一、選擇題
1.邏輯運(yùn)算符兩惻運(yùn)算對(duì)象的數(shù)據(jù)
A.只能是?;?B.只能是?;蚍?。正數(shù)
C.只能是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù)
2.下面程序段的輸出結(jié)果是
inta=023;
printf(*%d\nM,-a);
A.23B.17C.18D.24
3.若有定義:inta[3][4];下面不能表示數(shù)組a[l][1]的是.。
A.*(a[l]+l)B.C.(*(a+l))[l]D.*(a+5)
,
4.設(shè)有語句:charstrl[]=*string"?str2[8]r*str3,*str4=*string*;ML_不是對(duì)原函數(shù)strcpy的正確調(diào)用。
A.strcpy(strl,*HELL01*);B.strcpy(str2,"HELL02"):
C.strcpy(str3,*HELL03*");D.strcpy(str4,*HELL.O4*);
5.設(shè)有定義:inta[4][3]=”,2,3,4,5,6,7,8,9,10,11,12}:
int(*prt)[3]=a,*p=a[0];
則下列能夠正確表示數(shù)組元素a[l][2]的表達(dá)式是。
A.*((*prt+l)[2])B.*(*(p+5))C.(*prt+l)+2D.*(*(a+l)+2)
6.有以卜程序
structabc
{inta,b,c;};
mainO
{structabcs[2]={(1,2,3},{4,5,6)}:intt;
t=s[0].a+s[l],b:
printf(*%d\n*tt);
}
程序運(yùn)行后輸出結(jié)果是一O
A.5B.6C.7D.8
7.有以下程序:
#include<stdio.h>
unionpw
{inti;charch[2]:}a;
mainO
個(gè)人收集整理,勿做商業(yè)用途
{a.ch[0]=13:a.chH1=0:printf(*%d\n*.a.i):)
程序的輸出結(jié)果是——。
A.13B.14C.208D.209
8.已知字符0的ASCH碼為十六進(jìn)制的30,若有以卜程序
main。
{union{unsignedcharc;unsignedinti[4]:}z;
z.i[0]=0x38;
z.i[l]=0x36;
printf(*%c\n*,z.c);)
輸出結(jié)果為一。
A.6B.8C.0D.3
9.若有定義chara=l,b=2,c=3;,則表達(dá)式a|b&'c的值為一。
A.0B.1C.2D.3
10.以下程序的輸出結(jié)果是。
main()
{charx=020:
printf(飛o'n",x?2):
}
A.100B.80C.64D.32
11.下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是___。
A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件
B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件
C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
0.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
12.若要打開D盤上lest子目錄下名為abc.lxt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是
A.fopen(*D:\\test\\abc.txt*,*r*)B.fopen(*D:\\test\\abc.txt*,*r+*)
C.fopenCD:\\test\\abc.txt*,*rb*)D.fopen(*D:\\test\\abc.txt*,*w*)
13.若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是一。
A.EOFB.1C.非零值D.NULL
14.用fopen函數(shù)打開文件時(shí),若文件使用方式參數(shù)為“r+”,則該文件.
A.只能讀,不能寫B(tài),可以讀、寫,但文件必須存在
C.只能寫,不能讀D.可以讀、寫,若文件不存在則創(chuàng)建新文件
15.在打開的文件中,要獲得文件位置指針的當(dāng)前位置,應(yīng)調(diào)用的庫函數(shù)是_o
A.fseckB.frcadC.ftel1D.rewind
個(gè)人收集整理,勿做商業(yè)用途
二、填空題
1.C源程序的基木單位是O
2.一個(gè)C語句中至少應(yīng)包含一個(gè)。
3.在C語言中,輸入操作可以由庫函數(shù)完成,輸出操作可以由庫函數(shù)___完成。
4.若x是int型變量,且x=6,則表達(dá)式x%2+(x+l)%2的值為。
5.若a、b、c均是ini型變量,則執(zhí)行表達(dá)式c=(a=5)-(b=2)+a后,c的值為0
6.若有定義:inty=7;floatx=2.5,z=4.7;,則表達(dá)式x+(int)(y/3*Gnt)(x+z)/2)%4的值為_。
7.以下程序的功能是:輸入三個(gè)整數(shù)nl、n2、n3,按從大到小的順序進(jìn)行輸出。請(qǐng)雄空。
raain()
{intnl,n2,n3,temp:
scanf(*%d%d%d*.&nl.&n2,&n3);
if()
(temp=n2;n2=n3:n3=temp;}
if()
(temp=nl;nl=n2;n2=temp;}
printfC%d,%d,%d\n*?nl,n2,n3);
)
8.輸入一個(gè)字符,如果它是一個(gè)大寫字母,則把它變成小寫字母:如果它是一個(gè)小寫字母,則把它變成大寫字母:其它字符不變。請(qǐng)?zhí)羁铡?/p>
main()
{charch1;
scanf("/c",chi):
if()
chl=chl+32;
elseif(chl>=,a*&&chl<=,z)
printfch!);
9.程序運(yùn)行后的輸出結(jié)果是一。
mainO
{inta=l,b=3,c=5;
if(c==a+b)printf(*ycs\n*);
elseprinif:
)
10.以下程序運(yùn)行后的輸出結(jié)果是
個(gè)人收集整理,勿做商業(yè)用途
mainO
{intx=10,y=20,t=0:
if(x—y)t=x;x=y;y=t;
printf(*%d,%d\n*,x,y):
}
11.以下程序運(yùn)行后的輸出結(jié)果是一。
mainO
{intx=10,y=20,t=0:
if(x=y)
{t=x;x=y;y=l;}
printf(*%d,%d\n*,x,y):
}
12.以下程序運(yùn)行后的輸出結(jié)果是__0
mainO
{inti,n?=0,n=O,k=0;
for(i=9:i<=ll:i++)
switch(i/10)
{case0:m++;n++;break;
case1:n++;break:
default:k++;n++;
)
printf(*%d%d%d\n*,m,n,k);
)
三、程序設(shè)計(jì)
1.請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中、指定字符的個(gè)數(shù),并返回此值。
2.寫程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)苴(即行列互換)。
#include<stdio.h>
voidfun(intarray[3][3])
}
mainO
{inti,j;
intarray[3][3]={{100,200,300},(400,500,600},(700,800,900)):
個(gè)人收集整理,勿做商業(yè)用途
for(i=0;i<3;i堪
{for(j=0:j<3;j++)
printf(飛7d”,array[i][j]);
printf("\n");
}
fun(array):
printf(^Convertedarray:\n*);
for(i=0;i<3;i++)
{for(j=0;j<3;j*+)
prinlf(飛7d",array[i][j]):
printfr\n*l;
個(gè)人收集整理,勿做商業(yè)用途
模擬試卷一參考答案
一、選擇題
I.【答案】D
【解析】本題考查邏輯值的表示,在C語言中,非零就表示真,零表示假。
2.【答案】C
【解析】本題考查整數(shù)的表示形式和自減運(yùn)算符.023是八進(jìn)制,轉(zhuǎn)化為十進(jìn)制是19,所以一a的值是18.
3.【答案】D
【解析】本題考查二維數(shù)組元素的表示方法,D答案表示的是第5行第0列的地址,而不是數(shù)組元素。
4.【答案】C
【解析】strcpy函數(shù)的第一個(gè)參數(shù)必須是數(shù)組名或者是一個(gè)指向確定字符串的指針。不能是沒有經(jīng)過賦值的指針。
5.【答案】D
【解析】本題考查使用二維數(shù)組名和指向數(shù)組的指針變量表示二維數(shù)組元素的方法。注意行指針和列指針的表示方法,而通過行指針
是無法訪問數(shù)組元素的,只能通過列指針訪問,這樣就筋要通過、”把行指針變成列指針。
6.【答案】B
【解析】本題考查結(jié)構(gòu)體數(shù)組的概念,s[0].a的值為1,s[l].b的值為5。
7.【答案】A
【解析】本題考查共用體,共用體成員使用的是相同的存儲(chǔ)區(qū)域,大小為最大的成員所占內(nèi)存的大小,本題中的2個(gè)字節(jié)的存儲(chǔ)區(qū)域,
低1字節(jié)存放13,高】字節(jié)存放0,所以輸出這兩個(gè)字節(jié)組成的值時(shí)輸出13。
8.【答案】B
【解析】同上題.z.i[0]的值為十進(jìn)制的56,輸出z.c就是輸出最低字節(jié)的值,而且以猊的形式輸出,所以輸出ascii碼值為56的
字符8。
9.【答案】B
【解析】本題考查位運(yùn)算的概念,把a(bǔ),b,c轉(zhuǎn)換成一.進(jìn)制,按照優(yōu)先級(jí)先算?,再算&,最后,即可。
10.【答案】A
【解析】注意x被賦值為八進(jìn)制的020,十進(jìn)制為16,再左移2位,即乘以4,轉(zhuǎn)換成八進(jìn)制輸出100.
11.【答案】D
【解析】本題考查C語言中的文件,C系統(tǒng)在處理文件時(shí),并不區(qū)分?jǐn)?shù)據(jù)的類型,都看成是字符流,按字節(jié)進(jìn)行處理輸入輸出
字符流的開始和結(jié)束只由程序控制而不受物理符號(hào)(如回東符)的控制。因此也把這種文件稱作“流式文件”。按數(shù)據(jù)的存放形式
分為二進(jìn)制文件和文本文件。
12.【答案】B
【解析】C語言中使用fopen函數(shù)打開文件,由于路徑使用飛“分隔,而飛”是轉(zhuǎn)移符號(hào)的的引導(dǎo)符故使用表示
13.【答案】B
【解析】判斷文件是否處于文件結(jié)束位踐,如文件結(jié)束,則返回值為】,否則為0。
14.【答案】B
個(gè)人收集整理,勿做商業(yè)用途
【解析】對(duì)于文件使用方式有以‘下幾點(diǎn)說明:
1.文件施用方式由十六個(gè)字符拼成,各字符的含義是:
r(read):讀
w(write):寫
a(append):追加
t(text):文本文件,可省略不寫
b(banary):二進(jìn)制文件
+:讀和寫
2.凡用“r”打開一個(gè)文件時(shí),該文件必須已經(jīng)存在,且只能從該文件讀出。
3.用“w”打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件?,若打開的文件已經(jīng)存在,則將該文
件刪去,重建一個(gè)新文件.
4.若要向?個(gè)已存在的文件追加新的信息,只能用“a”方式打開文件。但此時(shí)該文件必須是存在的,否則將會(huì)出錯(cuò)。
5.在打開一個(gè)文件時(shí),如果出錯(cuò),fopen將返回一個(gè)空指針值NULL在程序中可以用這一信息來判別是否完成打開文件的工作,并作相應(yīng)的
處理。因此常用以下程序段打開文件:
if((fp=fopen(*c:\\hzkl6*,*rb*)—NIILL)
{
printf("\nerroronopenc:\\hzkl6file!*):
getchO;
exit(1);
}
6.把一個(gè)文本文件讀入內(nèi)存時(shí),要將ASCII碼轉(zhuǎn)換成二進(jìn)制碼,而把文件以文本方式寫入磁盤時(shí),也要把二進(jìn)制碼轉(zhuǎn)換成ASCII碼,因此文
本文件的讀寫要花贄較多的轉(zhuǎn)換時(shí)間。對(duì)二進(jìn)制文件的讀寫不存在這種轉(zhuǎn)換。
7.標(biāo)準(zhǔn)輸入文件(鍵盤),標(biāo)準(zhǔn)輸出文件(顯示疑),標(biāo)準(zhǔn)出錯(cuò)輸出(出錯(cuò)信息)是由系統(tǒng)打開的,可直接使用。
15.【答案】C
【解析】「seek函數(shù)用來移動(dòng)文件內(nèi)部位置指針。
數(shù)據(jù)塊讀寫函數(shù)(freadO和「write。)。
fseek函數(shù)(一般用于二進(jìn)制文件)改變文件的位置指針.
ftell函數(shù)作用:得到流式文件中的當(dāng)前位置,用相對(duì)于文件開頭的位移量來表示。返回值:返回當(dāng)前位置,出錯(cuò)時(shí)返回TL
二、填空題
1.函數(shù)
2.主函數(shù)或者main函數(shù)
3.scanf0printf0
4.1
5.8
個(gè)人收集整理,勿做商業(yè)用途
6.5.5
7.n2<n3nl<n2
8.chl〉='A'&&chl<='11chl=chl-32或者chl-=32
9.no
10.20,0
11.20,10
12.130
三、程序設(shè)計(jì)
1.參考答案:
#include<conio.h>
#include<stdio.h>
/defineM81
intfun(char*ss,charc)
{
}
mainO
{chara[M],ch:
clrscrO;
printf(*\nPleaseenterastrint:*);gets(a);
printf(w\nPleaseenterachar:*);ch=getchar();
printf(*\nThenumberofthecharis:%d\n*,fun(a,ch)):
I
2.參考答案
/*這題的關(guān)鍵在于進(jìn)行行列卜標(biāo)轉(zhuǎn)換的算法,由矩陣的對(duì)稱性可以看出在進(jìn)行行列互換時(shí)a[j]在好是與互換,因而只要讓程
序走完矩陣的左上角即可(用for(i=0;i<2;i++)再套for(j=i+l;j〈3;j++)來完成左上角的走動(dòng)。*/
intfun(intarray[3][3])
{inti,j,t;
for(i=0:i<2;i++)
for(j=i+l;j<3;j++)
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;)
個(gè)人收集整理,勿做商業(yè)用途
模擬試卷二
一、選擇題
I.下列敘述中正確的是
A.(:語言編譯時(shí)不檢杳語法B.C語番的子程序有過程和函數(shù)兩種
C.C語言的函數(shù)可以嵌套定義D.C語言所有函數(shù)默認(rèn)都是外部函數(shù)
以下關(guān)于C程序的說法中錯(cuò)誤的是一
A.必須有?個(gè)且只能有?個(gè)主函數(shù)B.可以有任意多個(gè)不同名的函數(shù)
C.必須用main作為主函|數(shù)名D.主函數(shù)必須放在其他函數(shù)之前
3.以下選項(xiàng)中含有不合法注釋的是一。
A.ini/?aisNo.*/a,b;B.inta,/*aisNo.*/b;
C.inta,b/*aisNo.*/;D.inta,b;/*/?aisNo.*/*/
4.關(guān)于C程序語句的說法錯(cuò)誤的是—o
A.定義語句和執(zhí)行語句均必須以分號(hào)結(jié)束B.一行中可以有多條語句
C.程序中的最后一條語句可以省略分號(hào)D.一條語句可以分寫在多行
5.C語言源程序經(jīng)編譯后生成的目標(biāo)文件擴(kuò)展名為
A..cB..objC..exeD..h
6.C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是
A.DoubleB.shortC.integerD.Char
在C語言中,不正確的int類型的常數(shù)是一。
A.32768B.0C.037D.OxAF
8.在C語言中,合法的字符常量是一
A.''084'B.'\x43'D.'0'
9.設(shè)有intx=ll:則表達(dá)式(x++*1/3)的值是一
A.3B.4C.11D.12
10.能正確表示邏輯關(guān)系:或aWO”的C語言表達(dá)式是—。
A.a>=I0ora<=0B.a>=0|a<=10
C.a>=10&&a<=0D.a>=10IIa<=0
11.x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是
A.INPUTx、y、z:B.scanf(飛湍d*d,,&x,&y,&z);
C.scanf(*%d%d%d*,x,y,z):D.rcad(*%d%d%d*?&x,&y,&z);
12.有以下說明和語句,且則對(duì)數(shù)組元素地址的正確表示是o
inta[]={l,2,3,4,5,6,7,8,9,0},*p,i:p=a:
A.&(a+l)B.a++C.&pD.ap[i]
13.typedeflongintBG;的作用是
個(gè)人收集整理,勿做商業(yè)用途
A.建立一種新的數(shù)據(jù)類名/B.第1個(gè)整型變量
C.定義一個(gè)長(zhǎng)整型變量D.定義一個(gè)新的數(shù)據(jù)類型標(biāo)識(shí)符
14.定義變量:chars[5],c;registerintb;則正確的調(diào)用語句是。
A.scanf(*%s%c*,s,c):B.scanf&b,&c);
C.scanf(*%D%c*,b,&c):D.scanf(*%s%c*,s,&c);
15.設(shè)有如下說明
typedefstruct
{intn;charc;doublex;}STD;
則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語句是一。
A.STDtt[2]={U,'A',62),{2,'B',75});
B.STDtt[2]=(l,*A*,62,2,*\75);
C.struct={{1,'A'),[2,'B')};
D.structtt[2]={{1,62.5},(2,*B*.75.OH:
二、填空題
1.若k、m為int整型變量,k被賦值11,有11>=1<++,則m值為,k的值為.
2.有以下程序段
intm=0,n=0:charc=,a*:
scanf(飛d%c%d”,&m,&c,&n):
printf%c,%d\n*?m,c,n);
若從鍵盤上輸入:IOA1O<回車>,則輸出結(jié)果是—(,
3.有以下程序
main()
(inti=10,j=l:
printf(*%d,$d\n",i—,++j);
執(zhí)行后輸出結(jié)果是?
4.以下程序段的輸出結(jié)果是
charstr[]-"ABCD”,*p=str;
printf(4,%d\n",*(p+4)):
5.設(shè)有語句inta=3;則執(zhí)行了語句a+=a-=a*a;后,變量a的值是_
6.以下程序求a數(shù)組中的所有?素?cái)?shù)的和,函數(shù)isprimc用來判斷自變量是否為素?cái)?shù)。素?cái)?shù)是只能被1和本身整除且大于1的自然數(shù)。
^include<stdio.h>
mainO
(inti,a[10],*p=a,sum=0;
printf("Enter10num:\n*);
個(gè)人收集整理,勿做商業(yè)用途
for(i=0;i<10;i++
scanf(*%d*,&a[i]);
for(i=0;i<10;i++)
if(isprime(*(p+________))==1)
{printfCM*,*(a+i)):sum+=*(a+i):
}
printf(*\nlhesum=%d\n”,sum);
)
isprime(x)
inix;
{inti;
for(i=2;i<=x/2;i++)
if(x%i==O)return(0);
|
7.以下程序的輸出結(jié)果是一
inta=3;
mainO
{int.s=0;
{inta=5:
s+=a++:
}s+=a++;
printf("%d\n",s);}
8.以卜程序運(yùn)行后的輸出結(jié)果是—
mainO
{chars[]=“9876”,*p;
for(p=s;p;p++)printf(0%s\nM,p);
}
9.下面程序段的運(yùn)行結(jié)果是一
i=l,s=3:
do
{s+=i++:
if(s%7==0)
continue;
個(gè)人收集整理,勿做商業(yè)用途
\else
++i;
}while(s<15);
printfi):
10.以下程序的運(yùn)行結(jié)果是__
voidmain(void)
(
inta=l,k;
for(k=0;k<3:k++)
prinlf(飛4d",fl(a));
)
intfl(intx)
(staticintz=3,y=0:
y++;
z++;
return(x+y+z):
}
11.以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請(qǐng)選擇填空。
#include<stdio,h>
#include〈math.h>
floatfunl(float,float);
voidmain(void)
(
floatx,y,z,sum;
scanf&x,&y,&z);
sum=funl(______)+funl();
printf(*sum-%f\n*,sum);
)
floatfunl(floata,floatb)
{
floatnum;
num=a/b:
returnnum;
個(gè)人收集整理,勿做商業(yè)用途
12.若有以下定義和語句:
inta[4]={0,1,2.3),*p;
p=&a[2];
則*—P的值是_____。
三.程序設(shè)計(jì)題
1.設(shè)計(jì)程序從鍵盤上輸入兩個(gè)整數(shù),然后交換這兩個(gè)數(shù),再輸出交換后的這兩個(gè)數(shù)。
2.從鍵盤輸入一個(gè)正整數(shù),判斷該數(shù)是否為索數(shù)若是,輸出yes,否則輸出no。
個(gè)人收集整理,勿做商業(yè)用途
模擬試卷二參考答案
一、選擇題
1.【答案】D
【解析】C語言編譯時(shí)要進(jìn)行語法檢查,有語法錯(cuò)誤的程序是不會(huì)執(zhí)行的。C語言的基本單位是函數(shù),沒有其它概念如子過程、子程
序之類的概念。C語言的函數(shù)允許嵌套調(diào)用,但是不允許嵌套定義。為了使函數(shù)能夠被其它文件的函數(shù)調(diào)用,函數(shù)默認(rèn)都是外部函數(shù)。
2.【答案】D
【解析】C程序中只能有?個(gè)main函數(shù),而且位置任意,不同的函數(shù),函數(shù)名不同。
3.【答案】D
【解析】C語言的注釋是/*……*/.可以出現(xiàn)在分隔符(空格、tab、回車)出現(xiàn)的位置,但不能嵌套。
4.【答案】C
【解析】C語言的語句必須有分號(hào),分號(hào)是語句的組成部分,?行可以寫?個(gè)或多個(gè)語句。?個(gè)語句也可以寫在多行上,區(qū)分語句是
否結(jié)束只要看有沒有遇到分號(hào)。
5.【答案】B
【解析】C語言中的源文件擴(kuò)展名為.c,編譯后生成.obj目標(biāo)文件,經(jīng)過鏈接生成可執(zhí)行文件.exe。
6.【答案】B
【解析】C語言是區(qū)分大小寫的,整型用ini表示而不是integer,
7.【答案】A
【解析】基本整型的范國(guó)是一32768?+32767.在這個(gè)范圍內(nèi)的都用int表示.其次可以用0開頭的八進(jìn)制數(shù)表示,和Ox開頭表示
的十六進(jìn)制。
8.【答案】B
【解析】字符常量只能是單引號(hào)括起來的單個(gè)字符,或是'引導(dǎo)的轉(zhuǎn)移符,若用八進(jìn)制表示則是'\ddd',l到3位的八進(jìn)制數(shù),十六進(jìn)
制‘\xhh'.1到2為的十六進(jìn)制數(shù)。
9.【答案】A
【解析】x++,先取x的值和1相乘再和3整除,注意/兩邊都是整型數(shù)據(jù),所以是整除.
10.【答案】D
【解析】C語言中兩個(gè)條件同時(shí)成立用&&連接,多個(gè)條件成立一個(gè)即可,使用H連接。
II.【答案】B
【解析】使用scanf輸入數(shù)據(jù)格式:scanf("格式控制符",變量的地址)
12.【答案】D
【解析】數(shù)組名a是常量,不能自增自減,可以通過指針加下標(biāo)的形式訪問數(shù)組元素如p[i].
】3.【答案】D
【解析】不能使用typedef產(chǎn)生新的數(shù)據(jù)類型,但可以根據(jù)定義已有的數(shù)據(jù)類型的別名。
14.【答案】D
【解析】b是寄存器變量,不能對(duì)寄存器變量取地址,使用%s輸入字符串時(shí),只需給出數(shù)組名即可,因?yàn)閿?shù)組名就是地址了.
個(gè)人收集整理,勿做商業(yè)用途
15.【答案】A
【解析】注意有沒有typedef,有則是定義一個(gè)結(jié)構(gòu)體類型的別名STD,若沒有則是定義一個(gè)結(jié)構(gòu)體類型的同時(shí),定義結(jié)構(gòu)體變量。
二、填空題
1.1112
2.10,A,10
3.10,2
4.0
5.-12
6.ireturn1
7.8
8.9876
876
76
6
9.8
10.6810
11.x+y,x-yz+y,z-y
12.1
三.程序設(shè)計(jì)題
1.參考答案:
include<stdio.h>
voidmain()
(intx,y,t:
scanf&x,&y);
printf(*x=%d,y=%d\n",x,y);
t=x;
x=y;
y=t;
printf("x=$d,y=%d\n*,x,y);
}
2.參考答案:
#include<stdio.h>
#include<math.h>
voidmain()
個(gè)人收集整理,勿做商業(yè)用途
{intm,i,k;
scanf;
k=(int)sqrt(m);
for(i=2:i<=k:i++)
if(m%i=O)
break:
if(i<m)
printf(*no\n*);
else
prinlf(*yes\n*);
個(gè)人收集整理,勿做商業(yè)用途
模擬試卷三
一、選擇題
L要把高級(jí)語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用O
A.編輯程序B.驅(qū)動(dòng)程序C.診斷程序D.編譯程序
2.以下敘述中正確的是—。
A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B.花括號(hào)“{”和“}”只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)是C語句之間的分隔符,不是語句的一部分
3.設(shè)有以下說明語句
typedefstruct
{intn;charch[6]:)TYP;
則下面敘述中正確的是—。
A.TYP是結(jié)構(gòu)體變量名B.TYP是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型D.struct是結(jié)構(gòu)體類型名
4.以下說法中正確的是一°
A.^define和printf都是C語句B.^define是C語句,而prinlf不是
C.printf1是C語句,但#define不是D.#define和printf都不是C語句
5.設(shè)有以卜說明語句
structex
{inta;floatb;charc:}example:
則下面的敘述中錯(cuò)誤的是—O
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字B.example是結(jié)構(gòu)體類型名
C.a、b、c都是結(jié)構(gòu)體成員名D.structex是結(jié)構(gòu)體類型
6.C語言中的數(shù)據(jù)類型包括基本類型和_
A.構(gòu)造類型、指針類型、空類型B.構(gòu)造類型、指針類型、邏輯類型
C.指針類型、集合類型、邏輯類型D.口期類型、構(gòu)造類型、指針類型
7.以下敘述正確的是——o
A.可以把include和else定義為用戶標(biāo)識(shí)符
B.可以把include定義為用戶標(biāo)以符,但不能把else定義為用戶標(biāo)識(shí)符
C.可以把else定義為用戶標(biāo)識(shí)符,但不能把include定義為用戶標(biāo)識(shí)符
D.include和else都不能定義為用戶標(biāo)識(shí)符
8.若變量a、i已正確定義,且i已正確賦值,合法的語句是——o
A.a—1B.++i;C.a=a++=5;D.a=int(i);
個(gè)人收集整理,勿做商業(yè)用途
9.有如下程序
inainO
{intx=l,a=0,b=0:
switch(x)
(case0:b++:
case1:a++;
case2:+a+;b++;
)
prinlf(Ha=%d,b=%d\nM,a,b);
1
該程序的輸出結(jié)果是
A.a=2,b=lB.a=l,b=lC.a=l,b=OD.a=2,b=2
10.有以下程序
main()
{inti=l,j=l,k=2;
lk++)&&i++)
printf(*%d,%d,%d\n*?i,j,k):
)
執(zhí)行后輸出結(jié)果是
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
11.語句while(!E):中的條件!E等價(jià)于一。
A.E==0B.E!=1C.E!=0D.~E
12.函數(shù)調(diào)用語句中含有一個(gè)實(shí)參。
Fun(《al,a2)?(a3?a4,a5)?a6);
A.3B.4C.5D,6
13.在C語言中,只有?在使用時(shí)才占用存儲(chǔ)空間的變量存儲(chǔ)類型為0
A.static和autoB.register和auto
C.static和registerD.register和extern
14.以下程序的輸出結(jié)果是^——.
/defineM(x,y,z)x*y+z
main()
{inta=l,b=2,c=3;
print!’("%d'n”,M(a+b,b+c,c+a));}
A.B.17C.15D.12
個(gè)人收集整理,勿做商業(yè)用途
15.設(shè)有以下語句,其中OWigO,則_不是對(duì)a數(shù)組元素的正確引用。
inta[10]=9,1,2,3,4,5,6,7,8,9),*p=a:
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
二、判斷題
1.程序的執(zhí)行總是從主函數(shù)開始,主函數(shù)執(zhí)行完時(shí),則程序執(zhí)行結(jié)束。()
2.控制臺(tái)標(biāo)準(zhǔn)輸入設(shè)備一般是指鍵盤。()
3.do-while語句的循環(huán)體至少執(zhí)行?次。
4.循環(huán)體中continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行。()
5.C語言規(guī)定,else子句總是與它上面的最近的if配對(duì)。()
6.數(shù)組的長(zhǎng)度是固定的。
7.若有說明:inta[3][4];則a[l+l][0]是對(duì)a數(shù)組元素的正確引用。()
8.chara口=@1,2,3,4,5,6};不是正確的數(shù)組說明語句。()
9.字符串"This"大于字符串"that"。()
10.在用數(shù)組名作為函數(shù)實(shí)參時(shí),傳遞的是數(shù)組的起始地址,所以就不允許使用形參數(shù)組的形式。()
11.如果在同一個(gè)源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量被“屏蔽”,即它不起作用。()
12.預(yù)處理命令不是C語言本身的組成部分,不能直接對(duì)它們進(jìn)行編譯。()
13.全局變量可以被任何一個(gè)函數(shù)中的任何一個(gè)表達(dá)式使用。()
14.表達(dá)式i++與在任何場(chǎng)合功能完全相同.()
15.在賦值表達(dá)式中,隙值號(hào)左邊的變量和右邊的表達(dá)式之值的數(shù)據(jù)類型可以不相同。()
三、程序運(yùn)行結(jié)果題
1.#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
tiinclude<string.h>
voidmain(void)
{charsi[101],s2[51];
intIL12,i;
printfC請(qǐng)輸入字符串1:*):
gets(sl);
printf("請(qǐng)輸入字符串2:");
gets(s2);
ll=strlen(sl):
12=strlen(s2);
for(i=0:i<12+l:i++)si[1l+i]=s2[i];
個(gè)人收集整理,勿做商業(yè)用途
*printf(si):
1
假設(shè)運(yùn)行上述程序時(shí),輸入的2個(gè)字符串分別為ABCDEF,1234,則運(yùn)行結(jié)果為()。
2.當(dāng)運(yùn)行以下程序時(shí),從鍵盤鍵入right?,則卜面程序的運(yùn)行結(jié)果是()。
^include<stdio.h>
voidmain(void)
{
charc:
while((c=gelchar())!='?')pulchar(++c);
}
3.如果運(yùn)行以卜.程序段輸入字符為“t”,則程序段的運(yùn)行結(jié)果是()。
voidmain(void)
(
charc1;
scanf&cl);
cl=(cl>=A'&&cl<=Z,)?(cl+32):cl:
cl=(cl>-a'&&cl<=,z')?(cl-32):cl;
printf(*%c*,cl);
}
4.以卜程序的運(yùn)行結(jié)果是(
-include<string.h>
voidmain()
{printfstrlen("school");)
5.以下程序的運(yùn)行結(jié)果是()。
^defineA4
UdcfineB(x)A*x/2
voidmainO
(
floatc,a=4.5;
c=B(a);
printf(*%.lf\n*,c);
)
四、程序設(shè)計(jì)
l.輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=5(F-32”9,輸出要求有文字說明,取位2小數(shù),
個(gè)人收集整理,勿做商業(yè)用途
2.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。
個(gè)人收集整理,勿做商業(yè)用途
模擬試卷三參考答案
一、選擇題
I.【答案】D
【解析】高級(jí)語言編寫的源程序必須經(jīng)過編譯程序的編譯,產(chǎn)生目標(biāo)程序。源程序到目標(biāo)程序有兩種方式:編譯方式和解釋方式。
2.【答案】A
【解析】{}不僅是函數(shù)體的定界符還是第合語句的定界符。函數(shù)可以分為系統(tǒng)函數(shù)和用戶自定函數(shù).
3.【答案】B
【解析】使用lypedef定義了TYP結(jié)構(gòu)體類型
4.【答案】D
【解析】編譯預(yù)處理命令不是C語句,所以卷一個(gè)預(yù)處理命令后是沒有分號(hào)的,printf是預(yù)定義函數(shù)名。
5.【答案】B
【解析】struct是定義結(jié)構(gòu)體的關(guān)鍵字,structex是結(jié)構(gòu)體類型,example是結(jié)構(gòu)體變量名。
6.【答案】A
【解析】本題考查的是數(shù)據(jù)類型包含基本類型、構(gòu)造類型、指針、空類型。C語言中沒有邏輯類型、日期類型。
7.【答案】B
【解析】C語言關(guān)鍵字不能定義為用戶自定義標(biāo)識(shí)符,系統(tǒng)預(yù)定義標(biāo)識(shí)符可以定義為用戶自定義標(biāo)識(shí)符,但改變了原來的意義,如irn
prinlf:
8.【答案】B
【解析】合法的語句,既然是語句就必須有分號(hào),賦值號(hào)左邊不能是表達(dá)式,強(qiáng)制類型轉(zhuǎn)換時(shí)類型要用括號(hào)括起來。
9.【答案】A
【解析】switch語句中的caso語句如果沒有break語句時(shí),是要順次往下執(zhí)行的.
10.【答案】C
【解析】C語言對(duì)邏輯運(yùn)算符I和&&運(yùn)算符優(yōu)化,即運(yùn)算符左邊為真時(shí)右邊是沒有被執(zhí)行運(yùn)算的。&&運(yùn)算符左邊為假(0)時(shí),右
邊也不用計(jì)算。
11?【答案】A
【解析】條件可以這樣理解:當(dāng)E等于。時(shí)成立。
12.【答案】A
【解析】注意函數(shù)的參數(shù)里邊有兩個(gè)逗號(hào)表達(dá)式,函數(shù)參數(shù)是表達(dá)式要先計(jì)算表達(dá)式的值,再進(jìn)行參數(shù)傳遞.
13.【答案】B
【
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年飛行試驗(yàn)地面設(shè)備項(xiàng)目發(fā)展計(jì)劃
- 2024年家具清洗用品:洗衣皂項(xiàng)目建議書
- 2023年能源大數(shù)據(jù)項(xiàng)目分析評(píng)估報(bào)告
- 2023年防靜電超凈技術(shù)產(chǎn)品項(xiàng)目評(píng)估分析報(bào)告
- 網(wǎng)店運(yùn)營(yíng)實(shí)務(wù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年羥丙基甲基纖維素項(xiàng)目發(fā)展計(jì)劃
- 2024年微型核反應(yīng)堆及配套產(chǎn)品項(xiàng)目發(fā)展計(jì)劃
- 2024年高分子合成材料項(xiàng)目合作計(jì)劃書
- 2024年超高分子量聚乙烯項(xiàng)目合作計(jì)劃書
- 2024年碳纖維針刺預(yù)制件項(xiàng)目建議書
- “葫蘆絲進(jìn)初中音樂課堂的策略研究”課題結(jié)題報(bào)告
- GB/T 33974-2017熱軋花紋鋼板及鋼帶
- GB/T 30789.9-2014色漆和清漆涂層老化的評(píng)價(jià)缺陷的數(shù)量和大小以及外觀均勻變化程度的標(biāo)識(shí)第9部分:絲狀腐蝕等級(jí)的評(píng)定
- 公司生產(chǎn)PFMEA檢查清單(定)
- 房屋建筑工程施工管理人員數(shù)量配備標(biāo)準(zhǔn)
- 小學(xué)美術(shù)人教三年級(jí)上冊(cè)前前后后 前前后后 省賽獲獎(jiǎng)
- 山東建筑工程監(jiān)理資料全套表格
- 內(nèi)科診斷臨床思維課件
- 腹股溝疝和股 疝課件
- 愛我安徽 學(xué)科信息:綜合實(shí)踐活動(dòng)-安徽大學(xué)版-六年級(jí)上
- 高風(fēng)險(xiǎn)技術(shù)操作考評(píng)及復(fù)評(píng)標(biāo)準(zhǔn) - 副本
評(píng)論
0/150
提交評(píng)論