- 譚浩強(qiáng)《C程序設(shè)計》(第4版)配套題庫【考研真題精選+章節(jié)題庫】
- 圣才電子書
- 10字
- 2021-06-24 18:09:50
第一部分 考研真題精選
一、選擇題
1以下均是合法變量名的是( )。[武漢科技大學(xué)2019研]
A.#name total
B.node value_max
C._var long
D.stu-code a+b
【答案】B
【解析】C語言中變量名只能包含數(shù)字,字母和下劃線,且只能以字母和下劃線開始。A項含非法字符#,錯誤;C中l(wèi)ong為關(guān)鍵字,變量不能以關(guān)鍵字命名;D中含非法字符-和+。
2以下選項中不屬于C語言類型的是( )。[武漢科技大學(xué)2019研]
A.short int
B.unsigned long int
C.char
D.bool
【答案】D
【解析】C語言中沒有bool型,只有C++才有boolean型,也稱bool。C語言中一般用“0”表示“假”,用“1”表示“真”。
3若有聲明語句:int x; char y[20]; double z; 則正確的輸入語句是( )。[武漢科技大學(xué)2019研]
A.scanf("%d%c%le\n",&x,&y,&z);
B.scanf("%2d%s%lf",&x,&y,&z);
C.scanf("%d%s%lf",&x,y,&z);
D.scanf("%x%s%3.2f",&x,y,&z);
【答案】C
【解析】y為一維數(shù)組名,指向數(shù)組首元素的地址,因此不需要再使用取地址運算符&,AB錯誤;D中%3.2f表示長度為3,小數(shù)為2位,但是小數(shù)點也占一位,因此D錯誤,答案選C。
4若a、b和t都為int變量,則下面不能交換變量a和b值的是( )。[武漢科技大學(xué)2019研]
A.t=a; a=b; b=t;
B.a(chǎn)=t; t=b; b=a;
C.t=b; b=a; a=t;
D.a(chǎn)=a+b; b=a-b; a=a-b;
【答案】B
【解析】B中首先把t的值賦值給了a,則a的值已經(jīng)被取代了,后面執(zhí)行b=a,則ab的值都等于t的值。
5若有定義:int a=1,b=2; float x=3,w; 則合法的switch語句是( )。[武漢科技大學(xué)2019研]
A.
switch(a)
{
case 1:w=a/b; break;
case 2: w=a%b; break;
}
B.
switch(b)
{
case 1:z=a%b;
case 2: z=a/b; break;
}
C.
switch(x)
{
case 2:w=a%b; break;
case 1:w=a/b; break;
}
D.
switch(a+b);
{
case 3:
case 2:w=a%b; break;
}
【答案】A
【解析】B中,變量z未定義;C中x為浮點型,switch后面的表達(dá)式不能是浮點型,只能是整型和字符型;D中swith表達(dá)式后面不能加分號,答案選A。
6對下述程序段的描述正確的是( )。[武漢科技大學(xué)2019研]
scanf("%d,%d",&a,&b);
if(a>b)
a=b;b=a;
else
a++; b++;
printf("a=%d,b=%d",a,b);
A.若輸入4,5則輸出a=5,b=6
B.若輸入5,4則輸出a=4,b=5
C.若輸入5,4則輸出a=5,b=5
D.有語法錯誤,不能通過編譯
【答案】D
【解析】if(表達(dá)式)后面如果沒有用花括號括起來,那么if的子語句只包括第一條語句,即在程序中只有a=b是屬于if語句塊的,if和else中間隔了一條語句b=a,編譯無法通過。
7以下正確的描述是( )。[武漢科技大學(xué)2019研]
A.從多層循環(huán)嵌套中退出時,只能使用break語句
B.在循環(huán)體內(nèi)使用continue和break語句,作用相同
C.只能在循環(huán)體內(nèi)和switch體內(nèi)使用break語句
D.continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行
【答案】C
【解析】從多層嵌套中退出不是只能使用break語句,也可以使用return或者程序自己執(zhí)行完,A錯誤;在循環(huán)體內(nèi)continue代表不執(zhí)行該次循環(huán)中的剩余未執(zhí)行語句,break代表直接跳出本層循環(huán),BD錯誤,答案選C。
8如果有定義:int x=0,s=0; 則下面程序段的執(zhí)行結(jié)果是( )。[武漢科技大學(xué)2019研]
while(!x!= 0)
s+=x++;
printf(“%d”,s);
A.1
B.0
C.無限循環(huán)
D.控制表達(dá)式非法,無法編譯
【答案】B
【解析】while后面的表達(dá)式中,首先執(zhí)行!運算符,然后再執(zhí)行!=運算符,第一次判斷中,x=0則!x!=0滿足條件,進(jìn)入循環(huán)中,執(zhí)行s+=x++,x++是先運算,再自加,執(zhí)行完后s=0,x=1,再回到while的判斷條件,判斷為false,跳出循環(huán),輸出s的值為0,答案選B。
9下面各語句中,能正確進(jìn)行字符串操作的語句是( )。[武漢科技大學(xué)2019研]
A.char a[10]={'A','B','C','D','\0'};
B.char a[10]; a="ABCDE";
C.char *p; *p="ABCDE";
D.char *s; scanf("%s", s);
【答案】A
【解析】B項中,字符數(shù)組的數(shù)組名指向數(shù)組的首元素地址,初始化后不可再被更改;CD兩項中的字符指針在定義時均沒有進(jìn)行初始化,對其賦值是非法的,答案選A。
10以下能對數(shù)組value進(jìn)行正確初始化的語句是( )。[武漢科技大學(xué)2019研]
A.int value[2][]={{1,1},{2,2}};
B.int value[][3]={{1,,3},{4,5,6}};
C.int value[2][3]={1,2,3,4,5,6};
D.int value[][3]={{1},{4,6,}};
【答案】C
【解析】二維數(shù)組的定義必須指定列數(shù),可以不用指定行數(shù),A錯誤;數(shù)組value為int型數(shù)組,不能給數(shù)組里面的元素賦空值,BD錯誤,答案選C。
11函數(shù)fun和實參數(shù)組的聲明形式為:void fun(char ch,float x[]); float a[5];
以下對函數(shù)的調(diào)用語句中,正確的是( )。[武漢科技大學(xué)2019研]
A.fun("a",a[]);
B.t=fun('D',a);
C.fun('65',2.8);
D.fun(32,a[5]);
【答案】B
【解析】調(diào)用函數(shù)fun需要傳入兩個實參,第一個實參的類型是char字符型,第二個實參的類型是float數(shù)組型,只有選項B滿足條件。其中C項'65'本身有語法錯誤,D項在傳遞數(shù)組時只需要數(shù)組名即可。
12設(shè)有定義int a[3][3];和函數(shù)調(diào)用語句sort(a,3); 則正確的函數(shù)聲明是( )。[武漢科技大學(xué)2019研]
A.void sort(int a,n);
B.void sort(int a[][],int n);
C.void sort(int a[][3],int n);
D.void sort(int a[][3],n);
【答案】C
【解析】根據(jù)函數(shù)調(diào)用語句可以知道sort函數(shù)有兩個參數(shù),第一個參數(shù)的類型是一個二維int型數(shù)組,第二個參數(shù)是一個int型數(shù)據(jù),所以A錯誤;B中因為二維數(shù)組一定要指定列數(shù),B錯誤;D中形參n沒有指定數(shù)據(jù)類型,錯誤;答案選C。
13有函數(shù)定義:int func(int *p),x和y是int型變量,則正確的調(diào)用是( )。[武漢科技大學(xué)2019研]
A.y=func(x);
B.func(x);
C.func()=x;
D.y=func(&x);
【答案】D
【解析】根據(jù)func函數(shù)的定義可以知道調(diào)用func函數(shù)需要傳入一個指針,且該指針的指向類型是int型,只有D傳入的是指向int型數(shù)據(jù)的指針,答案選D。
14已知書籍結(jié)構(gòu)定義如下,則對結(jié)構(gòu)變量bk的正確賦值是( )。[武漢科技大學(xué)2019研]
struct BOOK
{
struct
{
int year,month,day;
}publish;
}bk;
A.bk.year=1998; bk.month=11; bk.day=11;
B.publish.year=1998; publish.month=11; publish.day=11;
C.year=1998; month=11; day=11;
D.bk.publish.year=1998; bk.publish.month=11; bk.publish.day=11;
【答案】D
【解析】變量bk是結(jié)構(gòu)體BOOK的一個結(jié)構(gòu)體變量,該變量含有一個成員變量publish,publish也是一個結(jié)構(gòu)體變量,該結(jié)構(gòu)變量含三個成員變量,分別是year、month、day,結(jié)構(gòu)體變量中的成員變量不可直接訪問,必須以結(jié)構(gòu)體變量名.成員變量名形式訪問,所以只能通過bk.publish.year形式訪問到最內(nèi)層的變量并為其賦值,答案選D。
15對于以下定義,能打印出字母h的語句是( )。[武漢科技大學(xué)2019研]
struct person{ char title[20]; int code;};
struct person book[5]={"Physics",17,"Math",18,"English",20,"History",18};
A.printf("%c",book[0].title[1]);
B.printf("%c",book[1].title[4]);
C.printf("%c",book[2].title[7]);
D.printf("%c",book[3].title[6]);
【答案】A
【解析】person是一個自定義結(jié)構(gòu)體類型,該結(jié)構(gòu)體含有兩個成員變量,分別是一個字符數(shù)組和一個int數(shù)據(jù),BC選項打印出來的是'\0';D選項打印出來的是y,只有A打印出來的是h,答案選A。
16與十進(jìn)制1100等值的十六進(jìn)制數(shù)是( )。[華南理工大學(xué)2018研]
A.44A
B.44C
C.54A
D.54C
【答案】B
【解析】1100轉(zhuǎn)換成二進(jìn)制為0100 0100 1100,因此轉(zhuǎn)換為十六進(jìn)制為44C。
17設(shè)int a=3;,下列哪一個表達(dá)式的值等于0( )。[華南理工大學(xué)2018研]
A.a(chǎn)&&(a>0)
B.!a||a
C.a(chǎn)%=a
D.a(chǎn)>=a
【答案】C
【解析】A中a!=0且a>0所以表達(dá)式的值為1;B中||表示或,所以值也為1;D中表達(dá)式值也為1;答案選C。
18在C語言中,當(dāng)函數(shù)的返回值缺省時,表示該函數(shù)返回值的類型是( )。[華南理工大學(xué)2018研]
A.char
B.float
C.long
D.int
【答案】D
【解析】在C語言中,當(dāng)函數(shù)的返回值缺省時,函數(shù)返回值的類型默認(rèn)為int型。
19十六進(jìn)制形式輸出整數(shù)的格式說明符是( )。[華南理工大學(xué)2018研]
A.%u
B.%ld
C.%x
D.%o
【答案】C
【解析】A表示輸出的是無符號整型;B表示輸出的是有符號長整型;D表示輸出的是八進(jìn)制。
20若有說明:int *p,m=5,n;,以下正確的程序段是( )。[華南理工大學(xué)2018研]
A.
p=&n;
scanf("%d",n);
B.
p=&n;
scanf("%d",*p);
C.
scanf("%d",&n);
p=n
D.
p=&n;
*p=n;
【答案】D
【解析】scanf語句中第二個參數(shù)應(yīng)該是變量的地址,AB錯誤;C中p為指針變量,不可以直接把一個int型變量賦值給指針型,C錯誤;答案選D。
21兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出的結(jié)果是( )。[華南理工大學(xué)2018研]
void main(void)
{
int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
A.7和5
B.6和3
C.7和4
D.6和4
【答案】A
【解析】當(dāng)輸入6時,判斷x++>5為真,進(jìn)入if語句塊,此時x=7,輸出7;當(dāng)輸入4時,進(jìn)入else語句塊,此時x=5,然后因為--是先運算后自減,所以先輸出5,后x的值為4,答案選A。
22以下敘述中不正確的是( )。[華南理工大學(xué)2018研]
A.在不同的函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個函數(shù)內(nèi)定義的變量只能在本函數(shù)范圍內(nèi)有效
D.在一個函數(shù)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
【答案】D
【解析】在一個函數(shù)的復(fù)合語句中定義的變量只在該復(fù)合語句中有效。
23設(shè)有下列程序
ff( )
{
int c=9;
static int a=1, b=4;
if (b == 4)
{a+=c; b++;}
else
{a+= c; b-- ;}
printf (“a=%d,b=%d\n”, a, b);
}
main ( )
{ ff( ); ff( ); }
則該程序執(zhí)行后,顯示的結(jié)果為( )。[華南理工大學(xué)2018研]
A.a(chǎn)=10,b=5
a=19,b=5
B.a(chǎn)=10,b=4
a=19,b=5
C.a(chǎn)=10,b=4
a=19,b=4
D.a(chǎn)=10,b=5
a=19,b=4
【答案】D
【解析】第一次調(diào)用ff()時,c=9,a=1,b=4,程序進(jìn)入if語句塊,執(zhí)行完后a=10,b=5;第二次調(diào)用ff(),因為a、b是靜態(tài)變量,所以a、b的值不會重新初始化,所以進(jìn)入else語句塊,執(zhí)行完后a=19,b=4,答案選D。
24以下數(shù)組定義中不正確的是( )。[華南理工大學(xué)2018研]
A.int a[2][3];
B.int b[][3] = {0};
C.int c[100][100] = {0};
D.int d[3][] = {{1}, {1, 2, 3},{1}};
【答案】D
【解析】定義二維數(shù)組時一定要指定數(shù)組的列數(shù),可以不指定數(shù)組的行數(shù),D錯誤。
25若有定義:int *p,*s,c;,且各變量已正確賦值,則非法的賦值表達(dá)式是( )。[華南理工大學(xué)2018研]
A.p = s
B.c = *s
C.*s = &p
D.p = &c
【答案】C
【解析】C中p為指針變量,則&p表示的是指針的地址,若要賦值,則左邊變量應(yīng)該是一個二級指針,而*s代表的是s所指向地址的變量值,這個變量是一個int型,顯然不正確。
26若有以下說明:
int w[3][4]={{0,1},{2,4},{5,8}};
int (*p)[4]=w;
則數(shù)值為4的表達(dá)式是( )。[華南理工大學(xué)2018研]
A.*w[1]+1
B.p++,*(p+1)
C.w[2][2]
D.p[1][1]
【答案】D
【解析】A中*w[1]表示的的是數(shù)值2,則表達(dá)式的值為3,錯誤;B中p+1表示指向二位數(shù)組第二行的首元素地址,而*(p+1)代表的是第三行首元素值,B錯誤;C中表示的是數(shù)值0,答案選D。
27下列函數(shù)的功能是( )。[華南理工大學(xué)2018研]
int fun1(char *x)
{
char *y=x;
while(* y++);
return (y-x-1);
}
A.求字符串的長度
B.比較兩個字符串的大小
C.將字符串X復(fù)制到字符串Y
D.將字符串X連接到字符串Y后
【答案】A
【解析】while后面的表達(dá)式是指針依次遍歷直到碰到\0,此時y指向字符串最后一個元素的后一個位置,但是由于y++,因此y會繼續(xù)后移一位,而x指向字符串的頭部,后面的y-x-1顯然是用于計算字符串的長度。
28feof函數(shù)用來判斷文件是否結(jié)束,如果文件沒有結(jié)束,則返回值是( )。[華南理工大學(xué)2018研]
A.-1
B.0
C.1
D.EOF
【答案】B
【解析】此題考查feof函數(shù)的定義與作用。
29設(shè)有說明:FILE *fp; char *filename ="paper";
對于fp=fopen(filename,"rb+");語句,下面說法正確的是( )。[華南理工大學(xué)2018研]
A.打開名為filename的文件讀寫
B.打開名為paper的文件讀寫
C.打開名為filename的文件只讀
D.打開名為paper的文件只讀
【答案】B
【解析】filename只是一個字符指針變量的名字,不是文件的名字AC錯誤;rb+表示打開二進(jìn)制文件,且該文件可以讀寫,答案選B。
30若變量a,b,c的取值分別是1,2,3,則表達(dá)式“!((b+c)>(a+4))”的值是( )。[北京航空航天大學(xué)2018研]
A.0
B.1
C.2
D.3
【答案】B
【解析】首先b+c等于5,a+4也等于5,因此(b+c)>(a+4)為“假”,即0,對0取非結(jié)果為1,因此答案為B。
31以下關(guān)于循環(huán)語句的敘述中,正確的是( )。[北京航空航天大學(xué)2018研]
A.for循環(huán)語句的三個部分必須都要有表達(dá)式
B.while循環(huán)語句的循環(huán)體內(nèi)至少要有一條語句
C.do…while循環(huán)語句的循環(huán)體至少會被執(zhí)行一次
D.continue語句可以退出包含它的整個循環(huán)體
【答案】C
【解析】for循環(huán)的三個表達(dá)式都可以省略,但是之間的分號不能省略,同時要有退出循環(huán)的機(jī)制,因此A項錯誤;while循環(huán)語句的循環(huán)體內(nèi)可以為空,并不違反相應(yīng)語法,只不過循環(huán)什么也不執(zhí)行,因此B項錯誤;continue語句只是不執(zhí)行本次循環(huán)的剩余語句,而并非退出整個循環(huán),因此D項錯誤,答案選C。
32對于下列代碼:
switch(option)
{
case 'H':printf("Hello ");
case 'W':printf("Welcome ");
case 'B':printf("Bye");
break;
}
若option的取值為'W',則該代碼段的輸出結(jié)果是( )。[北京航空航天大學(xué)2018研]
A.Welcome
B.Welcome Bye
C.Hello Welcome Bye
D.以上結(jié)果都不對
【答案】B
【解析】由于option為'W',所以首先應(yīng)該輸出Welcome,但是由于該語句后面沒有break語句來終止選擇語句switch,因此會繼續(xù)執(zhí)行下面的語句,直到遇上break,所以最后輸出Welcome Bye,答案為B。
33若有以下變量的聲明語句:
int i=1,a[]={0,2,4},*b;
b=&i;
則下列選項中,其結(jié)果與表達(dá)式“*(a+1)”相等的是( )。[北京航空航天大學(xué)2018研]
A.a(chǎn)[0]
B.*a+i
C.*(a+b)
D.*(a+*b)
【答案】D
【解析】a指向數(shù)組的首元素,因此*(a+1)表示取數(shù)組第二個元素的值,為2。A項,a[0]=0,不相等;B項,*a為數(shù)組第一個元素的值為0,再加上i=1,因此結(jié)果為1,不相等;C項,a和b都是指針,相加沒有意義,錯誤;D項,*b的值i的值,即1,*(a+1)表示取數(shù)組第二個元素的值為2,相等,因此答案選D。
34若已知有如下宏定義
#define CANBERRA(x,y) ((x-y)/(x+y))
則以下表達(dá)式中,返回結(jié)果值最大的是( )。[北京航空航天大學(xué)2018研]
A.CANBERRA(3.0,2.0);
B.CANBERRA(4.0,1.0);
C.CANBERRA(1.0+2.0,0.0+2.0);
D.CANBERRA(1.0+2.0,1.0+1.0);
【答案】C
【解析】A項中為1.0/5.0,結(jié)果為0.2;B項中為3.0/5.0,結(jié)果為0.6;C項中的宏替換后為(1.0+2.0-0.0+2.0)/(1.0+2.0+0+2.0)=1.0;D項中宏替換后為(1.0+2.0-1.0+1.0)/(1.0+2.0+1.0+1.0)=0.6,因此最后答案為C。
35對于以下C程序,其正確的是( )。[北京航空航天大學(xué)2018研]
#include<stdio.h>
int main()
{
char str1[]="Hello";
char str2[]="Hello";
if(str1==str2)
printf("Equal\n");
else
printf("Unequal\n");
return 0;
}
A.Unequal
B.Equal
C.該程序無法通過編譯
D.該程序運行時出錯
【答案】A
【解析】首先該程序符合語法規(guī)則,因此不會編譯時產(chǎn)生錯誤,其次字符數(shù)組str1和str2都為指針常量,將他們直接用關(guān)系運算符進(jìn)行比較肯定是不相等的,但是它們所指的字符串是相等的,因此最后輸出Unequal。
36已知有以下sample.c程序的定義:
/*sample.c*/
#include<stdio.h>
int main(int argc,char *argv[])
{
printf("%c",*++argv[2]);
return 0;
}
將該程序編譯成可執(zhí)行文件sample后,若在命令行下輸入如下命令:
sample January February March
則該命令正確的輸出是( )。[北京航空航天大學(xué)2018研]
A.J
B.a(chǎn)
C.F
D.e
【答案】D
【解析】根據(jù)命令行的輸入可知,四個字符串賦給相應(yīng)的指針數(shù)組,所以argv[2]表示第三個字符串February,再進(jìn)行++操作,指針指向字符串的第二個字符e,最后進(jìn)行取值操作,結(jié)果為e,答案為D。
37以下程序運行后的輸出結(jié)果是( )。[中央財經(jīng)大學(xué)2018研]
int main()
{
double d;
float f;
long l;
int i;
i=f=l=d=20/3;
printf("%d %ld %.1f %.1f\n",i,l,f,d);
return 0;
}
A.6 6 6.0 6.0
B.6 6 6.7 6.7
C.6 6 6.0 6.7
D.6 6 6.7 6.0
【答案】C
【解析】賦值運算符是自右向左結(jié)合的,所以首先執(zhí)行d=20/3=6,同時i、l、f也全為6,在進(jìn)行輸出時,f和d要保留一位小數(shù),所以答案選C。
38若有定義和語句:char s[10];s="abcd";printf("%s\n",s);,則結(jié)果是( )。[中央財經(jīng)大學(xué)2018研]
A.輸出abcd@#$
B.輸出a
C.輸出abcd
D.編譯不通過
【答案】D
【解析】在定義一維字符數(shù)組時,s為數(shù)組名,指向數(shù)組首元素的地址,為地址常量,不可更改,因此語句s="abcd"是非法的,編譯不會通過。
39以下敘述錯誤的是( )。[中央財經(jīng)大學(xué)2018研]
A.在程序中凡是以“#”開始的語句行都是預(yù)處理命令行
B.預(yù)處理命令行的最后不能以分號表示結(jié)束
C.#include MAX是合法的宏定義命令行
D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的
【答案】D
【解析】在C語言中,凡是以“#”開頭的行都稱為編譯預(yù)處理命令行,為了區(qū)別C語句,后面是不加分號的。編譯預(yù)處理是在編譯程序?qū)源程序進(jìn)行編譯前執(zhí)行的,而不是在程序執(zhí)行過程中進(jìn)行的。
40若有如下宏定義:
#define N 2
#define y(n) ((N+1)*n)
則執(zhí)行下列語句:z=4*(N+y(5));后的結(jié)果是( )。[中央財經(jīng)大學(xué)2018研]
A.語句有錯誤
B.z值為68
C.z值為60
D.z值為180
【答案】B
【解析】y(5)=15,z=4*(N+y(5))=4*17=68,答案選B。
41有如下說明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達(dá)式是( )。[中央財經(jīng)大學(xué)2018研]
A.*p+9
B.*(p+8)
C.*p+=9
D.p+8
【答案】B
【解析】A中*p=1,*p+9=10,A錯誤。C中*p得到的是一個常量,常量不可以被賦值,C錯誤。D中p是地址,p+8仍然表示一個地址。因此B項正確,p+8指向元素9,進(jìn)行取值得9。
42若有以下說明和語句:
struct worker
{
int no;
char *name;
}work,*p=&work;
則以下引用方式不正確的是( )。[中央財經(jīng)大學(xué)2018研]
A.work.no
B.(*p).no
C.p->no
D.work->no
【答案】D
【解析】結(jié)構(gòu)體變量訪問成員變量的引用方式采用“.”,而結(jié)構(gòu)體指針采用“->”,因此AC是正確的,B項中*p表示結(jié)構(gòu)體變量,因此可以用“.”,所以答案選擇D。
43以下不合法的用戶標(biāo)識符是( )。[四川大學(xué)2017研]
A.J2_KEY
B.Double
C.4d
D._8_
【答案】C
【解析】標(biāo)識符只能包含數(shù)字,字母,下劃線,且不能以數(shù)字開頭,選項C錯誤。
44算法具有五個特性,以下選項中不屬于算法特征性的是( )。[四川大學(xué)2017研]
A.有窮性
B.簡潔性
C.可行性
D.確定性
【答案】B
【解析】一個算法應(yīng)該具有五個重要特征:①有窮性;②確切性;③輸入性;④輸出性;⑤可行性。因此簡潔性并不屬于算法特征。
45已定義如下函數(shù):
fun(int *p)
{return *p;}
該函數(shù)的返回值是( )。[四川大學(xué)2017研]
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲單元中的值
D.形參p的地址值
【答案】C
【解析】p是一個指向int型的指針變量,*p表示的是p所指向內(nèi)存存放的變量,是一個int型,所以return *p表示返回p所指存儲單元中的值,答案選C。
46在C語言中,形參的缺省存儲類型是( )。[四川大學(xué)2017研]
A.a(chǎn)uto
B.register
C.static
D.extern
【答案】A
【解析】形參是局部變量,缺省類型為auto型。
47語句:printf("%d",(a=2)&&(b=-2));的輸出結(jié)果是( )。[四川大學(xué)2017研]
A.無輸出
B.結(jié)果不確定
C.-1
D.1
【答案】D
【解析】a=2為真,b=-2也為真,所以輸出1,答案選D。
- 顧建光《現(xiàn)代公共管理學(xué)》筆記和課后習(xí)題詳解
- 西南大學(xué)外國語學(xué)院245自命題法語歷年考研真題及詳解
- 新聞與傳播碩士《440新聞與傳播專業(yè)基礎(chǔ)》名校考研真題及詳解(含復(fù)旦、武大等)
- 張國慶《公共行政學(xué)》(第4版)筆記和課后習(xí)題(含考研真題)詳解
- 中山大學(xué)教育學(xué)院642教育學(xué)(B)歷年考研真題及詳解
- 郭紹虞《中國歷代文論選》(一卷本)筆記和考研真題詳解
- 孫國華《法理學(xué)》(第3版)筆記和課后習(xí)題(含考研真題)詳解
- 趙振宇《現(xiàn)代新聞評論》筆記和考研真題(含典型題)詳解
- 夏清《化工原理》(第2版)(下冊)配套題庫【名校考研真題+課后習(xí)題+章節(jié)題庫+模擬試題】
- 李良榮《西方新聞事業(yè)概論》(第3版)筆記和考研真題詳解
- 范健《商法》(第4版)筆記和課后習(xí)題(含考研真題)詳解
- 丁淦林《中國新聞事業(yè)史》(修訂版)配套題庫【名校考研真題(視頻講解)+課后習(xí)題+章節(jié)題庫+模擬試題】
- 標(biāo)靶詞匯 聚焦考研
- 全國名校教育技術(shù)學(xué)考研真題及詳解(含北郵、中山等)
- 吉林大學(xué)數(shù)學(xué)學(xué)院432統(tǒng)計學(xué)[專業(yè)碩士]歷年考研真題及詳解