




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言編程新思路知到章節(jié)測試答案智慧樹2023年最新山東理工大學(xué)第一章測試
關(guān)于一個(gè)C語言程序執(zhí)行的起點(diǎn)和終點(diǎn),以下選項(xiàng)正確的是
()。
參考答案:
main
main
C語句的程序一行寫不下時(shí),可以
(
)。
參考答案:
用回車換行
以下敘述不正確的是
()。
參考答案:
C程序中,可以不必包含主函數(shù)
C語言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置
()。
參考答案:
可以任意
以下敘述正確的是
(
)。
參考答案:
在對C語言進(jìn)行編譯的過程中,不能發(fā)現(xiàn)注釋中的錯(cuò)誤
函數(shù)的主體部分需要用一對
(
)括起來。
參考答案:
{}
以下敘述錯(cuò)誤的是
(
)。
參考答案:
只有一個(gè)分號的語句不是合法的C語句
計(jì)算機(jī)能夠直接識別和執(zhí)行的計(jì)算機(jī)語言
(
)。
參考答案:
機(jī)器語言
以下敘述錯(cuò)誤的是
(
)。
參考答案:
一個(gè)C程序編譯成功后在連接時(shí)發(fā)現(xiàn)錯(cuò)誤,需要編輯修改,然后不必重新編譯和連接即可直接運(yùn)行。
對C程序的注釋說明信息必須寫在
()之間。
參考答案:
/*和*/
用C語言編寫的源程序,必須翻譯成用二進(jìn)制指令表示的目標(biāo)程序,才能被計(jì)算機(jī)識別,這個(gè)過程稱為
(
)。
參考答案:
編譯
關(guān)于C語言的特點(diǎn),以下敘述錯(cuò)誤的是
()。
參考答案:
C語言不能直接對硬件進(jìn)行操作
C語言程序的基本構(gòu)成單位是
(
)。
參考答案:
函數(shù)
能夠在編譯過程中被檢查出來,并給出提示信息的是
(
)。
參考答案:
語法錯(cuò)誤
以下敘述錯(cuò)誤的是
(
)。
參考答案:
C語言屬于匯編語言
C語言源程序文件的后綴名是
(
)。
參考答案:
.c
C語言編譯程序是
(
)。
參考答案:
將C源程序編譯成目標(biāo)程序
以下敘述錯(cuò)誤的是
(
)。
參考答案:
C語言程序中只要出現(xiàn)在“/*”和“*/”之間的就一定是注釋內(nèi)容
C語言源程序文件經(jīng)過編譯后的目標(biāo)文件后綴名是
(
)。
參考答案:
.obj
C語言源程序編譯、連接后的可執(zhí)行文件后綴名是
(
)。
參考答案:
.exe
第二章測試
下面4個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識符的選項(xiàng)的是()。
參考答案:
b+a
if
float
下面4個(gè)選項(xiàng)中均是合法常量的選項(xiàng)是()。
參考答案:
?12.8
0x98
43.56e2
'\n'
以下敘述不正確的是()。
參考答案:
在C語言中,可以使用二進(jìn)制整數(shù)
在C語言中,要求運(yùn)算對象必須是整型的運(yùn)算符是
()。
參考答案:
%
若有說明語句:charch='\0x41';則變量ch包含()個(gè)字符。
參考答案:
1
若有定義:inta=7;floatx=2.5,y=4.5;則表達(dá)式x+a%3*(x+y)/2的值是
()。
參考答案:
6.000000
設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。
參考答案:
double
以下敘述正確的是
()。
參考答案:
在C語言中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符
在C語言中,int型數(shù)據(jù)在內(nèi)存中的存儲形式是()。
參考答案:
補(bǔ)碼
下列選項(xiàng)中可作為C語言的合法整數(shù)的是
()。
參考答案:
0x4b5
字符型數(shù)據(jù)在內(nèi)存中是以
()形式存儲的。
參考答案:
ASCII碼
下列敘述正確的是()。
參考答案:
在C語言中,'b'和"b"的含義是不同的
#include<stdio.h>intmain(){
charch;
inti;
i=65;
ch="a";
printf("%c,%c,%d,%d\n",i,ch,i,ch);
return0;}這段程序的運(yùn)行結(jié)果是()。
參考答案:
編譯錯(cuò)誤,無法運(yùn)行
設(shè)整型變量a=2,則執(zhí)行下列語句后,實(shí)型變量b的值不是0.5的是()。
參考答案:
b=(float)(1/a)
下列敘述正確的是()。
參考答案:
賦值表達(dá)式的左邊只能是變量名
#include<stdio.h>intmain(){
inta=b=5,c;
c=a+b;
printf("c=%d\n",c);}這段程序的運(yùn)行結(jié)果是()。
參考答案:
編譯錯(cuò)誤,無法運(yùn)行
C語言的標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符()。
參考答案:
必須為字母或者下劃線
如果在一個(gè)C語言表達(dá)式中有多個(gè)運(yùn)算符,則運(yùn)算時(shí)應(yīng)該()。
參考答案:
先考慮優(yōu)先級,然后考慮結(jié)合性
已知字符A的ASCII值是65,若定義int
i;則執(zhí)行語句i=’A’+3;后,正確的敘述是
()。
參考答案:
i的值是字符A的ASCII值加上3,即68
在C語言中常量’\n’和常量”ABC”在內(nèi)存中占用的字節(jié)數(shù)分別是()。
參考答案:
1
4
第三章測試
若a、b、c、d都是int類型變量且初值為0,以下選項(xiàng)中不正確的賦值語句是
(
)。
參考答案:
a*b;
以下選項(xiàng)中不是C語句的是
(
)。
參考答案:
a=5,c=10
以下程序的輸出結(jié)果是
(
)。#include
"stdio.h"intmain(){
intx=100,y=30;printf("%d\n",y=x/y);return(0);}
參考答案:
3
若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是
(
)。
參考答案:
scanf("%d%d%d",&a,&b,&c);
以下程序段的輸出結(jié)果是(
)#include<stdio.h>intmain(void){
inti;
floatx;
doubley;
y=x=i=10/4;
printf("y=%.2f,x=%.2f,i=%d\n",y,x,i);
return(0);}
參考答案:
y=2.00,x=2.00,i=2
若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,下面不正確的語句組是
(
)。
參考答案:
a=t;t=b;b=a;
以下程序的輸出結(jié)果是
(
)。
#include<stdio.h>
intmain(void){
int
a=4,b=8;printf("a=%%d,b=%%d\n",a,b);
/*注意轉(zhuǎn)義字符的作用*/return(0);}
參考答案:
a=%d,b=%d
已知字母A的ASCII值為十進(jìn)制數(shù)65,下面程序的輸出是
(
)。#include"stdio.h"intmain(void){
charch1,ch2;ch1='A'+'5'?'3';ch2='A'+'6'?'3';printf("%d,%c\n",ch1,ch2);return(0);
}
參考答案:
67,D
若從終端輸入以下數(shù)據(jù),要給變量c賦以340.25,則正確的輸入語句是(
)。
參考答案:
scanf(%f”,&c)
以下程序運(yùn)行時(shí)輸入:25<回車>,執(zhí)行后輸出的結(jié)果是
(
)。#include<stdio.h>intmain(void){
charch1,ch2;intn1;ch1=getchar();ch2=getchar();n1=ch2-ch1;printf("%d",n1);return(0);}
參考答案:
3
有以下程序#include<stdio.h>intmain(void){
charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
printf("%c%c\n",c5,c6);
return(0);}程序運(yùn)行后,若從鍵盤輸入(從第一列開始)abc<回車>def<回車>則輸出結(jié)果是(
)。
參考答案:
abde
以下程序段的輸出結(jié)果是(
)。#include<stdio.h>intmain(void){
charc1='a',c2='c';printf("%d,%c\n",c2-c1,c2-c1+'B');return(0);}
參考答案:
2,D
若變量已正確定義為float類型,要通過語句scanf(“%f%f%f”,&a,&b,&c);給a賦值10.0,b賦值20.0,c賦值30.0,不正確的輸入形式是(
)。
參考答案:
10,20,30
以下程序的輸出結(jié)果是()。#include<stdio.h>intmain(void){
inta,b;
a=10;
b=20;
printf("a=%d\nb=%d\n",a,b);
return(0);}
參考答案:
a=10b=20
若變量已正確說明,要求用以下語句給a賦值2.0,給c1賦值字符#,給b賦值4.0,則不正確的輸入形式是(
)。scanf(“%f%c%f”,&a,&c1,&b);
參考答案:
2.0
#
4.0
’
以下說法錯(cuò)誤的是
(
)。
參考答案:
若floatx=5;可以對變量x進(jìn)行%操作,如x%2的值是1。
結(jié)構(gòu)化程序設(shè)計(jì)由三種基本結(jié)構(gòu)組成,下面哪個(gè)選項(xiàng)不屬于三種基本結(jié)構(gòu)
(
)。
參考答案:
回溯
下面程序段功能是先輸入一個(gè)整數(shù),然后將輸入的整數(shù)輸出,請指出哪部分有錯(cuò)(
)。
#include
<stdio.h>
//1intmain(void){
inti;
//2
scanf("%d",i);//3
printf("i=%d\n",i);//4
return(0);}
參考答案:
3
設(shè)inta=10,b;,執(zhí)行下列語句后,b的值不是2的是(
)。
參考答案:
b=a/4.0
putchar()函數(shù)可以向終端輸出一個(gè)(
)。
參考答案:
字符
第四章測試
表示關(guān)系x≤y≤z的c語言表達(dá)式為(
)。
參考答案:
(x<=y)&&(y<=z)
若a=5;b=6;c=7;d=8;m=2;n=2;則執(zhí)行(m=a>b)&&(n=c>d)后,m和n的值分別為()。
參考答案:
0,2
在以下一組運(yùn)算符中,優(yōu)先級最高的運(yùn)算符是(
)。
參考答案:
%
若有intx,a,b;則下面if語句中,(
)是錯(cuò)誤的。
參考答案:
if(a<>b)
x=x+1;
下列表達(dá)式中,(
)不滿足“當(dāng)x的值為偶數(shù)時(shí)值為真,為奇數(shù)時(shí)值為假”的要求。
參考答案:
!x%2!=0
關(guān)于以下程序,正確的說法是(
)。#include<stdio.h>intmain(void){intx=0,y=0,z=0;
if(x=y+z)
printf("***");
else
printf("###");return(0);}
參考答案:
輸出:###
下列程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(void){
floatx=4,y=1;
if(x<0)y=0;
elseif(x<10)y=1/x;
elsey=10;
printf("%f\n",y);
return(0);}
參考答案:
0.250000
執(zhí)行以下程序時(shí),若輸入3和4,則輸出結(jié)果是(
)。#include<stdio.h>intmain(void){
int
a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d\n",s);
return(0);}
參考答案:
16
下列程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(void){intx=1,a=0,b=0;switch(x){case0:b=b+1;case1:a=a+1;case2:a=a+1;b=b+1;}printf("a=%d,b=%d\n",a,b);return(0);}
參考答案:
a=2,b=1
若有定義:inta=3,b=2,c=1;并有表達(dá)式:①a%b、②a>b>c、③b&&c+1、④c+=1,則表達(dá)式值相等的是(
)。
參考答案:
①和③
當(dāng)a=1,b=3,c=5,d=4時(shí),執(zhí)行完下面一段程序后x的值是(
)。
if(a<b)
if(c<d)
x=1;
else
if(a<c)
if(b<d)
x=2;
else
x=3;
else
x=6;
else
x=7;
參考答案:
2
在下面的條件語句中(其中S1和S2表示C語言語句),只有一個(gè)在功能上與其他3個(gè)語句不等價(jià)(
)。
參考答案:
if(a==0)
S1;
else
S2;
若有inta=3,b;則執(zhí)行下面程序段后b的值是(
)
if(a>0)
b=1;
else
b=-1;
b=b+1;
參考答案:
2
假定所有變量均已正確定義,下面程序段執(zhí)行后的x的值是(
)。
a=b=0;
x=35;
if(!a)x=x-1;
if(b)x=3;
elsex=4;
參考答案:
4
若有說明語句inti=4,j=5,k=6;floatf;則執(zhí)行f=(i>k)?i:(j<k)?j:k;語句后,f的值為(
)。
參考答案:
5.0
下述程序的輸出結(jié)果是(
)#include<stdio.h>intmain(void){
inta=0,b=0,c=0;
if((a+1)>0||(b>0))
c=c+1;
printf("%d,%d,%d",a,b,c);
return(0);
}
參考答案:
0,0,1
若x=0,則執(zhí)行下面程序段后,屏幕上會顯示(
)。
if(x=0)printf("***");
else
printf("&&&");
參考答案:
&&&
若有inta=10,b=20,c=30;,執(zhí)行下面程序段后a、b、c的值分別是()。
if(a>b)
c=a;
a=b;
b=c;
參考答案:
20、30、30
下列程序的輸出結(jié)果是(
)。
#include<stdio.h>
intmain(void)
{intk=8;
switch(k)
{
case7:k+=1;
case8:k+=1;
case9:k+=1;break;
default:k+=1;
}
printf("%d\n",k);
return(0);
}
參考答案:
10
若有float
x;
int
a,b;,下面四條switch語句中正確的有(
)條。switch(x){
case
x=1.0:printf(“Y”);
case
x=2.0:printf(“N”);
}
switch(a)
{
case
a=1:printf(“Y”);
case
a=2:printf(“N”);
}
switch(b)
{
case
b==1:printf(“Y”);
case
b==2:printf(“N”);
}
switch(x){
case
1.0:printf(“Y”);
case
2.0:printf(“N”);
}
參考答案:
1
第五章測試
以下程序段中while循環(huán)執(zhí)行的次數(shù)是(
)。
intk=0;
while(k=1)k++;
參考答案:
無限次
以下描述中正確的是(
)。
參考答案:
在do-while循環(huán)中,循環(huán)體至少執(zhí)行一次
在C語言中有關(guān)for循環(huán),以下正確的說法是(
)。
參考答案:
for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用大括號括起來
以下下面程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>intmain(){
inta=1,b=2,c=2,t;while(a<b<c){t=a;a=b;b=t;
c--;}printf(“%d,%d,%d”,a,b,c);}
參考答案:
1,2,0
若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是(
)。for(i=5;i;i--)for(j=0;j<4;j++){...}
參考答案:
20
下面程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(){
int
i,j;
for(i=0,j=10;i<j;i+=2,j--)
;printf("%d%d",i,j);}
參考答案:
8
6
下面關(guān)于switch語句和break語句的結(jié)論中,說法正確的是(
)。
參考答案:
在switch語句中,可以根據(jù)需要使用或者不使用break語句
以下不是死循環(huán)的語句是(
)。
參考答案:
for(;(c=getchar())!=’\n’;)printf(“%c”,c);
與語句頭while(!x)等價(jià)的語句頭是(
)。
參考答案:
while(x==0)
在while(x)語句中的x與下列條件表達(dá)式等價(jià)的是(
)。
參考答案:
x!=0
下面程序的功能是:在輸入的一批正數(shù)中求最大者,輸入0結(jié)束循環(huán),選擇(
)填空。#include<stdio.h>intmain(){
inta,max=0;
scanf("%d",&a);
while(
)
{
if(max<a)max=a;
scanf("%d",&a);
}
printf("%d",max);}
參考答案:
a
下面程序的功能是從鍵盤輸入一行字符,從中統(tǒng)計(jì)大寫字母和小寫字母的個(gè)數(shù),選擇(
)填空。#include<stdio.h>intmain(){
intm=0,n=0;
charc;
while((
)!='\n')
{
if(c>='A'&&c<='Z')m++;
if(c>='a'&&c<='z')n++;
}
printf("m=%d,n=%d\n",m,n);}
參考答案:
c=getchar()
下面程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(){
intk=0,m=0,i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m=%d",k,m);}
參考答案:
k=0,m=5
下面程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(){
charc='A';
intk=0;
do
{switch(c++)
{case'A':k++;break;
case'B':k--;
case'C':k+=2;break;
case'D':k%=2;continue;
case'E':k*=10;break;
default:k/=3;
}
k++;
}while(c<'G');
printf("k=%d",k);}
參考答案:
k=4
下面程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>intmain(){
inti;
for(i=1;i<=5;i++){
if(i%2)printf(“*”);
else
continue;printf(“#”);}
printf(“$\n”);}
參考答案:
*#*#*#$
下面程序段的運(yùn)行結(jié)果是(
)。intx=3;do{printf("%d\n",x-=2);}while(!(--x));
參考答案:
輸出的是1和-2
下面程序段的運(yùn)行結(jié)果是(
)。x=y=0;while(x<15)y++,x+=++y;printf("%d,%d",y,x);
參考答案:
20,8
下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出。當(dāng)輸入一對相等數(shù)時(shí)結(jié)束循環(huán),請選擇(
)填空:#indude<Stdio.h>intmain(){inta,b,t;scanf("%d%d",&a,&b);while(【1】){if(a>b){t=a;a=b;b=t;}printf("%d,%d",a,b);scahf("%d%d",&a,&b);人}
參考答案:
a!=b
對for(表達(dá)式1;;表達(dá)式3)可理解為(
)。
參考答案:
for(表達(dá)式1;1;表達(dá)式3)
若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是(
)。for(i=2;i==0;)printf("%d",i--);
參考答案:
0次
第六章測試
在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是(
)。
參考答案:
整型常量或整型表達(dá)式
以下程序的輸出結(jié)果是(
)。intmain(){inta[5]={1,2,3};printf(“%d\n”,a[3]);}
參考答案:
0
以下程序的輸出結(jié)果是(
)。
int
main(
){
int
i,
k,a[10]={1,5,3,4,2,8,9,6,7,0};
for
(i=0,k=0;
i<10;
i++)
if(a[k]<a[i])
k=i;
printf("%d",k);}
參考答案:
6
以下程序的輸出結(jié)果(
)。
int
main(
){int
i,j,s=0,a[2][3]={1,2,3,4,5,6};for
(i=0;
i<2;
i++)
for
(j=0;
j<3;
j++)
s=s+a[i][j];printf(“%d”,s);}
參考答案:
21
有以下程序運(yùn)行后的輸出結(jié)果是(
)。int
main(
){int
aa[4][4]={{1,2,3,4},
{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int
i,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d
”,s);}
參考答案:
19
數(shù)組定義為inta[3][2]={1,3,4,6,8,10},數(shù)組元素(
)的值為6。
參考答案:
a[1][1]
定義inta[10][11],則數(shù)組a有(
)個(gè)元素。
參考答案:
110
以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是(
)。
參考答案:
inta[2][3]={{1,2},{3,4},{5,6}};
若有定義語句:inta[3][5];,按在內(nèi)存中的存放順序,a數(shù)組的第8個(gè)元素是(
)。
參考答案:
a[1][2]
若有定義
int
a[10];則對a數(shù)組元素的正確應(yīng)用是
(
)。
參考答案:
a[1+2]
以下能對一維數(shù)組a進(jìn)行正確初始化的語句是()。
參考答案:
inta[]={0};
以下對二維數(shù)組a的正確說明是()。
參考答案:
doublea[1][4];
若有說明:inta[3][4]={0};則下面正確的敘述是(
)。
參考答案:
數(shù)組a中每個(gè)元素均可得到初值0
若有定義:ints[3][4]={{1,2},{0},{3,4,5}};則s[2][1]的值為(
)。
參考答案:
4
若有定義inta[2][3];則合法引用數(shù)組元素的是(
)。
參考答案:
a[1][2]
在以下數(shù)組定義中,錯(cuò)誤的是(
)。
參考答案:
inta[2][]={1,2,3,4,5};
以下程序段執(zhí)行后p的值是(
)。int
a[3][3]={3,2,1,3,2,1,3,2,1};
int
j,k,p=1;for(j=0;j<2;j++)for(k=j;k<3;k++)p*=a[j][k];
參考答案:
12
以下程序段執(zhí)行后p的值是(
)。
int
a[3][3]={3,2,1,3,2,1,3,2,1};
int
j,k,p=1;for(j=0;j<2;j++)for(k=j;k<4;k++)p*=a[j][k];
參考答案:
108
以下程序段運(yùn)行后s的值是(
)。
int
a[3][3]={1,2,3,4,5,1,2,3,4};int
i,j,s=1;for(i=0;i<3;i++)for(j=i+1;j<3;j++)s+=a[i][j];
參考答案:
7
下面程序段的運(yùn)行結(jié)果是(
)。
int
m[]={5,8,7,6,9,2},i=1;for(i=0;i<6;i++)
{if(i
%
2
!=0)
m[i]+=10;
}for(i=0;i<6;i++)
printf("%d
",m[i]);
參考答案:
518716912
第七章測試
變量的指針,其含義是指變量的(
)。
參考答案:
地址
以下敘述錯(cuò)誤的是(
)。
參考答案:
指針變量不占用存儲空間
已知指針變量P的指向如圖1所示,則表達(dá)式*P++的值是(
)。
參考答案:
20
已知指針變量P的指向如圖1所示,則表達(dá)式*++P的值是(
)。
參考答案:
30
已知指針變量P的指向如圖1所示,則表達(dá)式++(*P)的值(
)。
參考答案:
21
假設(shè)整型變量a的值為12,變量a的地址為2000,若欲使p為指向a的指針變量,則以下賦值正確的是(
)。
參考答案:
p=&a;
若有定義:intb,*pb;則下面正確的賦值表達(dá)式是(
)。
參考答案:
pb=&b
設(shè)inta[10],*p=a;,則下面(
)不是對a[3]的正確引用。
參考答案:
p+3
若有如下定義:inta[10]={10,20,30,40,50,60,70,80,90,100},*p=a;,則執(zhí)行p=p+5后,*p的值是(
)。
參考答案:
60
若int*p,i;執(zhí)行i=100;p=&i;i=*p+10;后,*p的值是(
)。
參考答案:
110
以下程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(){
inta[]={2,4,6,8,10},y=0,i,*p;
p=a;
for(i=0;i<3;i++)
y+=*(p+i);
printf("%d\n",y);}
參考答案:
12
以下程序的輸出結(jié)果是(
)。#include<stdio.h>intmain()
{inta=1,b=2,c=3,*p1,*p2,*p3;
p1=&a;p2=&b;
p3=&c;
*p3=*p1;
*p1=*p2;
*p2=*p3;
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
參考答案:
a=2,b=1,c=3
以下程序的輸出結(jié)果是
(
)。#include<stdio.h>intmain(){intk=2,m=4,n=6;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf("%d\n",n);return0;}
參考答案:
8
以下程序的輸出結(jié)果是(
)。#include<stdio.h>intmain(){int**k,*a,b=100;a=&b;k=&a;printf("%d\n",**k);return0;}
參考答案:
100
對于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算時(shí)(
)。
參考答案:
+
若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*p)[3]=a;,則能正確表示數(shù)組元素a[1][2]的是(
)。
參考答案:
*(*(p+1)+2)
對于語句int*p[5];的正確描述是(
)。
參考答案:
p是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素都是一個(gè)指向int型對象的指針變量。
若有inta[10],*p=a;,下列不能表示a數(shù)組首元素地址的是(
)。
參考答案:
*p
下列程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>intmain(){inta[5]={1,2,3,4,5},*p,**pp;
p=a;
pp=&p;
printf("%d",*(p+3));
printf("%d",**pp);
return0;}
參考答案:
4
1
若有inta[10],*p;,則下列語句中正確的是(
)。
參考答案:
for(p=a;p<a+10;p++)
第八章測試
函數(shù)strcmp("ABCDDCBA","ABCDE")的返回值是(
)。
參考答案:
負(fù)數(shù)
以下程序運(yùn)行后的輸出結(jié)果是(
)。intmain(){inti,j;chara[]={‘a(chǎn)’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};i=sizeof(a);//sizeof返回?cái)?shù)組a在內(nèi)存分配字節(jié)數(shù)j=strlen(a);printf(“%d,%d\n”,i,j);}
參考答案:
9,8
下列選項(xiàng)中,不正確的賦值方式是(
)。
參考答案:
charstr1[10];str1="string";
若有以下的說明和語句,則它與(
)中的說明是等價(jià)的。chars[3][5]={"aaaa","bbbb","cccc"};
參考答案:
chars3[][5]={"aaaa","bbbb","cccc"};
有以下程序:#include"stdio.h"#include"string.h"intmain()
{
inti,j;
chart[10],p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"};
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(strcmp(p[i],p[j])>0)
{
strcpy(t,p[i]);strcpy(p[i],p[j]);
strcpy(p[j],t);
}
printf("%d\n",strlen(p[0]));}程序運(yùn)行后的輸出結(jié)果是(
)。
參考答案:
6
下列選項(xiàng)正確的語句組是(
)。
參考答案:
char*s;s="China";
下面程序的運(yùn)行結(jié)果是(
)。charc[6]={'a','b','\0','c','d','\0'};printf("%s",c);
參考答案:
ab
有兩個(gè)字符數(shù)組a、b,則以下正確的輸入語句是(
)。
參考答案:
scanf("%s%s",a,b);
下面程序段的運(yùn)行結(jié)果是(
)。chara[7]="abcdef";charb[4]="ABC";strcpy(a,b);printf("%c",a[5]);
參考答案:
f
下面程序段的輸出結(jié)果是(
)。#include
<stdio.h>int
main(){
char
str[]="I
like
swimming!
",*p=str;
p=p+7;
printf("%s",p);}
參考答案:
swimming!
下面哪個(gè)選項(xiàng)不能將"hello"字符串存入字符數(shù)組str中(
)。
參考答案:
charstr[30];str="hello";
有以下定義,不能表示字符
'C'
的表達(dá)式是(
)。char
str[]="ABCDEFG",*p=str;
參考答案:
*p+2
程序段char
c[]="abcdefg
";
printf("%s",c+4);的運(yùn)行結(jié)果是(
)。
參考答案:
efg
有如下定義,不能給數(shù)組a輸入字符串的是(
)。char
a[20],*p=a;
參考答案:
gets(a[0])
下面說法正確的是(
)。
參考答案:
函數(shù)strcpy(str1,str2);的功能是將str2中字符串復(fù)制到str1中。
接受用戶輸入含有空格的字符串時(shí),應(yīng)使用(
)。
參考答案:
gets()
列描述中錯(cuò)誤的是
(
)。
參考答案:
不能對字符數(shù)組存儲的字符串進(jìn)行更改。
執(zhí)行以下程序段后,輸出結(jié)果是(
)。
char
str[20]="door",t;
int
i,j;
i=0;
j=strlen(str)-1;
t=str[i];
str[i]=str[j];
str[j]=t;
puts(str);
參考答案:
rood
若有如下定義chara[30],b[30],則以下正確的輸入語句是(
)
參考答案:
gets(a);gets(b);
執(zhí)行以下程序段后,輸出結(jié)果是(
)。chars[20]="Good",t[]="Moring!";strcat(s,t);puts(s);
參考答案:
GoodMoring!
第九章測試
在c語言中以下不正確的說法是(
)。
參考答案:
形參可以是常量、變量或表達(dá)式
以下程序有語法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說法是(
)。?#include<stdio.h>int?main(void)????{??int?G=5,k;?void??prt_char();?
……???k=prt_char(G);???……return0;}?
參考答案:
函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾
下述函數(shù)定義形式正確的是(
)。
參考答案:
int
f(intx,inty)
以下所列的各函數(shù)首部中,正確的是(
)。
參考答案:
void?play(int?a,int?b)
若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是(
)。
參考答案:
函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(
)。
參考答案:
單向值傳遞
有以下程序:#include<stdio.h>voidfun(inta,intb,intc){a=11;b=22;c=33;}intmain(void){
intx=10,y=20,z=30;
fun(x,y,z);printf(“%d,%d,%d\n”,x,y,z);
return0;}該程序輸出結(jié)果是(
)。
參考答案:
10,20,30
關(guān)于函數(shù)參數(shù),說法正確的是(
)。
參考答案:
實(shí)參與其對應(yīng)的形參各自占用獨(dú)立的內(nèi)存單元
一個(gè)函數(shù)的返回值由(
)確定。
參考答案:
被調(diào)用函數(shù)的類型
下列程序的輸出結(jié)果是(
)。fun(inta,intb,intc){c=a+b;}intmain(void){
intc;
fun(2,3,c);
printf(“%d\n”,c);
return0;}
參考答案:
不定
有以下程序:#include<stdio.h>intfun(intx){
printf(“x=%d\n”,++x);}intmain(){
fun(12+5);
return0;}程序的輸出結(jié)果是(
)。
參考答案:
x=18
有如下程序:#include<stdio.h>inti=1;intmain(){
inti=i;printf("%d\n",i);return0;}程序的輸出結(jié)果是(
)。
參考答案:
不確定
有如下程序:#include<stdio.h>intf(intx){returnx+3;}intmain(void){
inta=1;
while(f(a)<10)a++;
return0;}程序執(zhí)行后,變量a的值是(
)。
參考答案:
7
以下說法中正確的是(
)。
參考答案:
形參是局部變量,其作用范圍僅限于函數(shù)內(nèi)部
定義為void類型的函數(shù),其含義是(
)。
參考答案:
調(diào)用函數(shù)后,被調(diào)用的函數(shù)沒有返回值
當(dāng)全局變量和函數(shù)內(nèi)部的局部變量同名時(shí),在函數(shù)內(nèi)部(
)。
參考答案:
局部變量有效
有如下程序:#include<stdio.h>fun(inta){autointb=0;
staticintc=3;
b=b+1;c=c+1;
return(a+b+c);}intmain(void){
inta=2,i;
for(i=0;i<3;i++)
printf(“%d“,fun(a));
return0;}它的輸出結(jié)果是(
)。
參考答案:
7
8
9
有如下程序:#include<stdio.h>voidfun(intx,inty){intt;
if(x>y){t=x;x=y;y=t;}}intmain(void){inta=4,b=7,c=5;
fun(a,b);fun(a,c);fun(b,c);
printf(“%d,%d,%d\n”,a,b,c);
return0;}它的輸出結(jié)果是(
)。
參考答案:
4,7,5
有如下程序:#include<stdio.h>f(inta){intb=0;
staticintc=3;
a=c++;b++;
return(a);}intmain(void){inta=2,i,k;
for(i=0;i<2;i++)k=f(a++);
printf(“%d\n”,k);
return0;}該程序的輸出結(jié)果是(
)。
參考答案:
4
凡是未指明存儲類別的局部變量,其隱含的存儲類別是(
)。
參考答案:
auto
第十章測試
若有數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(
)。
參考答案:
數(shù)組的首地址
若使用一維數(shù)組名作為函數(shù)實(shí)參,則以下描述中正確的是(
)。
參考答案:
在被調(diào)用函數(shù)中,不需要考慮形參數(shù)組的大小
以下敘述正確的是(
)
參考答案:
C語言中各函數(shù)(除主函數(shù)外)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
下列程序的輸出結(jié)果是(
)。#include<stdio.h>voidsub(intx,inty,int*z){*z=y-x;}intmain(){
inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);return0;}
參考答案:
-5,-12,-7
下列程序的輸出結(jié)果是(
)。
#include<stdio.h>voidprtv(int*x){printf("%d\n",++*x);}intmain(){
inta=25;prtv(&a);return0;}
參考答案:
26
下列程序的輸出結(jié)果是(
)。
#include
<stdio.h>void
fun(int
*a,int
*b){int
w;
*a=*a+*a;
w=*a;
*a=*b;
*b=w;}int
main(){
int
x=2,
y=3,*px=&x,*py=&y;;fun(px,py);printf("%d,%d\n",x,y);return
0;}
參考答案:
3,4
以下程序運(yùn)行時(shí),若輸入5103,則輸出結(jié)果是(
)。#include<stdio.h>voidswap(int*p1,int*p2){intt;
t=*p1;
*p1=*p2;
*p2=t;
return;}intmain(){inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b)swap(&a,&b);
if(a>c)swap(&a,&c);
if(b>c)swap(&b,&c);
printf("%d,%d,%d\n",a,b,c);
return0;}
參考答案:
3,5,10
以下程序運(yùn)行時(shí),若輸入5,則輸出結(jié)果是(
)。#include<stdio.h>intfac(intn){staticintk=1;
k=k*n;
returnk;}intmain(){intm,i,f;
scanf("%d",&m);
for(i=1;i<=m;i++)
{f=fac(i);
printf("%d",f);
}}
參考答案:
12624120
下列程序的輸出結(jié)果是(
)。#include<stdio.h>intfun(inta){intb;
if(a==0||a==1)
return3;
b=a*a-fun(a-2);
returnb;}intmain(){intx,y;
x=fun(3);
y=fun(4);
printf("%d,%d\n",x,y);
return0;}
參考答案:
6,15
下列程序的輸出結(jié)果是(
)。#include<stdio.h>intfun(int(*p)[3]){inti,j,n;
n=p[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(p[i][j]>n)
n=p[i][j];
returnn;}intmain(){inta[2][3]={11,32,13,44,5,6},m;
m=fun(a);
printf("%d\n",m);
return0;}
參考答案:
44
下列程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>voidfun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}intmain(){inta,b,c,d;a=4;b=3;fun(a,b,&c,&d);printf("%d,%d\n",c,d);return0;}
參考答案:
7,1
下列程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>voidop(int(*p)[3]){inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(p[i][j]%3==0)
printf("%d",p[i][j]);}intmain(){ints[3][3]={1,2,3,4,5,6,7,8,9};
op(s);
return0;}
參考答案:
369
以下程序運(yùn)行時(shí),若輸入5,則程序的輸出結(jié)果是(
)。#include<stdio.h>intfun(intn){if(n==1)
return1;
else
returnn+fun(n-1);}intmain(){intm;
scanf("%d",&m);
m=fun(m);
printf("%d\n",m);}
參考答案:
15
以下程序運(yùn)行時(shí),若輸入ab012kd99pk8,則程序的輸出結(jié)果是(
)。#include<stdio.h>voidfun(chars[]){inti,j;
for(i=0,j=0;s[i]!='\0';i++)
if(s[i]>='0'&&s[i]<='9')
s[j++]=s[i];
s[j]='\0';}intmain(){charstr[80];
gets(str);
fun(str);
puts(str);
return0;}
參考答案:
012998
若有以下程序:#include<stdio.h>voidf(int*q,intn){inti;
for(i=0;i<n;i++)
(*q)++;
return;}intmain(void){inta[5]={1,2,3,4,5},i;
f(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
return0;}則程序的輸出結(jié)果是(
)。
參考答案:
6,2,3,4,5,
形參數(shù)組與實(shí)參數(shù)組,在內(nèi)存空間中是(
)的。
參考答案:
完全重疊
若有以下程序:#include<stdio.h>int*fun(int*s,int*t){if(*s<*t)
s=t;
returns;}intmain(void){inta=3,b=6,*p=&a,*q=&b,*r;
r=fun(p,q);
printf("%d,%d,%d\n",*p,*q,*r);
return0;}則程序的輸出結(jié)果是(
)。
參考答案:
3,6,6
若有以下程序:#include<stdio.h>intfun(intx){
if(x>10)
{printf("%d-",x%10);
fun(x/10);
}
else
printf("%d",x);
return;}intmain(void){
intz=123456;
fun(z);
return0;}則程序的輸出結(jié)果是(
)。
參考答案:
6-5-4-3-2-1
第十一章測試
以下敘述不正確的是(
)。
參考答案:
C程序在執(zhí)行過程中對預(yù)處理命令行進(jìn)行處理
在宏定義#definePI3.1415926中,用宏名PI代替一個(gè)(
)。
參考答案:
字符串
以下敘述正確的是(
)。
參考答案:
宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
以下在任何情況下計(jì)算平方數(shù)時(shí),都不會引起二義性的宏定義是(
)。
參考答案:
#definePOWER(x)
((x)*(x))
在“文件包含”預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用””(雙引號)括起時(shí),尋找被包含文件的方式是(
)。
參考答案:
現(xiàn)在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
有以下程序:#defineADD(x)
x+x#include"stdio.h"intmain(void){
intm=1,n=2,k=3;
intsum=ADD(m+n)*k;
printf("sum=%d",sum);
return0;}該程序的運(yùn)行結(jié)果是(
)。
參考答案:
sum=10
若有如下宏定義:#define
X
5#define
Y
X+1#define
Z
Y*X/2則執(zhí)行以下printf語句后,輸出結(jié)果是(
)。inta;
a=Y;printf("%d",Z);printf("%d",--a);
參考答案:
7
5
以下程序的運(yùn)行結(jié)果是(
)。
#define
MAX(A,B)
(A)>(B)?(A):(B)
#define
PRINT(Y)
printf(“Y=%d”,Y)
#include“stdio.h”
intmain(void)
{
inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d)
PRINT(t);
return0;
}
參考答案:
Y=7
以下程序的輸出結(jié)果是(
)。#include<stdio.h>#define
MUL(x,y)
(x)*y#include“stdio.h”intmain(void)
{
inta=3,b=4,c;
c=MUL(a++,b++);
printf("%d",c);
return0;}
參考答案:
12
用宏替代計(jì)算多項(xiàng)式4*x*x+3*x+2之值的函數(shù)f,正確的宏定義是(
)。
參考答案:
#define
f(a)
(4*(a)*(a)+3*(a)+2)
第十二章測試
C語言規(guī)定結(jié)構(gòu)體變量系統(tǒng)分配給它的存儲空間是(
)。
參考答案:
該結(jié)構(gòu)體中所有成員所需存儲空間的總和
以下對結(jié)構(gòu)體變量s中成員age的合法法引用是(
)。#include<string.h>structstudent{intage;intnum;}s,*p;p=&s;
參考答案:
p->age
有如下定義:structdate{inty;intm;intd;};structperson{
charname[20];
charsex;
structdatebirthday;}a;對結(jié)構(gòu)體變量a的出生年份進(jìn)行賦值時(shí),下面正確的賦值語句是(
)。
參考答案:
a.birthday.y=1958
設(shè)有以下說明語句struct
stu{
inta;floatb;}stutype;則以下敘述不正確的是(
)。
參考答案:
structstu是用戶定義的結(jié)構(gòu)體類型名
以下結(jié)構(gòu)體類型說明和變量定義中正確的是(
)。
參考答案:
typedef
struct
{intn;charc;}REC;
REC
x,y;
下面程序的運(yùn)行結(jié)果是(
)。
struct
st
{int
n;
int
a[20];
};voidf(int
*a,intn){
inti;for(i=0;i<n;i++)
a[i]+=I;}intmain(){
inti;
structst
x={10,{2,3,1,6,8,7,5,4,10,9}};f(x.a,x.n);for(i=0;i<s.n;i++)
printf(”%d,”,x.a[i]);}
參考答案:
2,4,3,9,12,12,11,11,18,18,
以下關(guān)于typedef的敘述錯(cuò)誤的是(
)。
參考答案:
用typedef可以增加新類型
下面程序的運(yùn)行結(jié)果是(
)。#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}stu;stuf(stua){stub={“zhao”,’m’,85.0,90.0};
inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)
a.score[i]=b.score[i];returna;}intmain(){stuc={"qian",'f',95.0,92.0},d;d=f(c);printf(“%s,%c,%2.0f,%2.0f\n”,,d.sex,d.score[0],d.score[1]);}
參考答案:
zhao,m,85,90
以下程序運(yùn)行后的輸出結(jié)果是(
)。#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){
inti,j,t;for(i=0;i<p->n-1;i++)
for(j=i+1;j<p->n;j++)
if(p->a[i]>p->a[j])
{t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}intmain(){
inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)
printf(”%d,”,s.a[i]);}
參考答案:
1,2,3,4,5,6,7,8,9,10,
有以下程序段typedefstructnode{
intdata;structnode*next;}NODE;NODE
*p;以下敘述正確的是(
)。
參考答案:
p是指向structnode結(jié)構(gòu)體變量的指針
若定義如下結(jié)構(gòu),則能打印出字母M的語句是(
)。structperson{charname[9];intage;};structpersonclass[10]={"Wujun",20,"Liudan",23,"Maling",21,"zhangming",22};
參考答案:
printf("%c\n",class[2].name[0]);
以下程序段的運(yùn)行結(jié)果是(
)。union{intn;charstr[2];}t;t.n=80;t.str[0]='a';t.str[1]=0;printf("%d\n",t.n);
參考答案:
97
以下對C語言中共用體類型數(shù)據(jù)的敘述正確的是(
)。
參考答案:
一個(gè)共用體變量中不能同時(shí)存放其所有成員
若有以下說明和定義語句,則下面引用形式中不正確的是(
)。structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};structstudent*p;p=stu;
參考答案:
p=&stu.age
以下scanf函數(shù)調(diào)用語句中,對結(jié)構(gòu)體變量成員的不正確引用是(
)。structpupil{charname[20];intage;intsex;}pup[5],*p;p=pup;
參考答案:
scanf(“%d“,&sex);
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年統(tǒng)計(jì)學(xué)期末考試題庫-統(tǒng)計(jì)調(diào)查設(shè)計(jì)與實(shí)施調(diào)查結(jié)果解釋技巧試題
- 2025年安全生產(chǎn)考試題庫(行業(yè)安全規(guī)范)安全生產(chǎn)事故應(yīng)急演練專項(xiàng)試題
- 2025年注冊會計(jì)師《會計(jì)》新準(zhǔn)則考點(diǎn)精講模擬試題
- 2025年導(dǎo)游資格證考試筆試模擬試卷:旅游行業(yè)人力資源管理與培訓(xùn)實(shí)戰(zhàn)試題
- 2025廣州白云綠地中心辦公樓裝修及服務(wù)器 room 工程合同
- 2025年瑜伽教練資格證考試題庫:瑜伽教練運(yùn)動傷害預(yù)防與康復(fù)知識試題
- 2025年教師資格證面試結(jié)構(gòu)化模擬題:藝術(shù)教育評價(jià)標(biāo)準(zhǔn)試題集
- 2025年小學(xué)語文畢業(yè)升學(xué)考試全真模擬卷:傳統(tǒng)文化知識綜合試題
- 2025年鄉(xiāng)村醫(yī)生執(zhí)業(yè)資格考試:農(nóng)村藥物使用案例分析試題集
- 山東省臨沂市臨沭縣第五初級中學(xué)2025年初三第六次月考生物試題試卷含解析
- 有限空間安全檢查表
- 2022年4月自考04851產(chǎn)品設(shè)計(jì)程序與方法試題及答案含解析
- 消防大隊(duì)交通安全講座
- 自考00537中國現(xiàn)代文學(xué)史押題精華考點(diǎn)匯總
- 中醫(yī)養(yǎng)生講義
- 屠呦呦生平事跡
- 交通安全生產(chǎn)隱患排查技能培訓(xùn)
- 《周易入門基礎(chǔ)》課件
- 齊齊哈爾坍塌事故分析報(bào)告
- 泥瓦工培訓(xùn)課件
- 橋式起重機(jī)安全操作培訓(xùn)
評論
0/150
提交評論