GMsIasNXkA
37、结构化程序设计方法规定程序或程序段的结构有三种:
顺序结构、<)和<)。
TIrRGchYzg
38、C语言共提供了三种用于实现循环结构的流程控制语句,它们是<)、<)和<)。
7EqZcWLZNX
39、若在程序中用到putchar,应在程序开头写上包含命令<),若在程序中用到strlen(>函数时,应在程序开头写上包含命令<)。
lzq7IGf02E
40、设有定义语句staticinta[3][4]={{1},{2},{3}}。
,则a[1][1]值为<),a[2][1]的值为<)。
zvpgeqJ1hk
41、“*”称为<)运算符,“&”称为<)运算符。
42、赋值表达式和赋值语句的区别在于有无<)号。
43、用{}把一些语句括起来称为<)语句
44、设a=12、b=24、c=36,对于scanf(“a=%d,b=%d,c=%d”,&a,&b,&c>。
语句,输入形式应为<)NrpoJac3v1
45、表达式sqrt(s*(s-a>*(s-b>*(s-c>>;对应的数学式子为<)1nowfTG4KI
46、C语言编绎系统在判断一个量是否为“真”时,以<)代表“真”
47、C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。
48、C语言的表达式与语句的区别在于___________________________________。
fjnFLDa5Zo
49、C语句_____________(有、没有>输入、输出语句。
50、结构化程序的编写有_______________________________三种程序结构。
51、表达式10/3*9%10/2的值是___________________。
52、设有intx=2,y说明,则逗号表达式y=x+5,x+y的值是_________________。
tfnNhnE6e5
53、设有intx=1,则x>0?
2*x+1:
0表达式的值是______________________。
HbmVN777sL
54、变量Y满足以下两条件中的任意一个:
①能被4整除,但不能被100整除;②能被400整除。
请用逻辑表达式表示所给条件。
_________________________________________V7l4jRB8Hs
55、逻辑运算符&&、||、!
中的优先级是____________________
57、在C语言中,字符串常量是用表示一串字符。
58、若有说明和语句:
inta=25,b=60。
b=++a。
则b的值是。
59、若intx=5。
while(x>0>printf(“%d”,x-->。
的循环执行次数为。
60、若有inta[5],*p=a。
则p+2表示第个元素的地址。
61、若有说明和语句:
inta=5,b=6,y=6。
b-=a。
y=a++。
则b和y的值分别是、。
83lcPA59W9
62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是。
63、C程序设计的三种基本结构是________、________和________。
64、数组是表示类型相同的数据,而结构体则是若干数据项的集合。
65、C语言中文件是指。
66、C语言源程序文件的扩展名是(1>,经过编译后,生成文件的扩展名是(2>,经过连接后,生成文件的扩展名是(3>。
mZkklkzaaP
67、把a,b定义成长整型变量的定义语句是(4>
68、设x和y均为整型变量,且x=3,y=2,则1.0*x/y表达式的值为(5>
69、已有定义:
floatx=5.5。
则表达式:
x=(int>x+2的值为(6>
70、已有定义:
intx=0,y=0。
则表达式:
(x+=2,y=x+3/2,y+5>后,变量x的值为(7>,变量y的值为(8>,表达式的值为(9>。
AVktR43bpw
71、执行以下for(i=1。
i<=5。
i++>语句后,变量i的值为(10>。
72、数组是表示类型相同的数据,而结构体则是若干(11>数据项的集合。
73、若有定义:
charc=’\010’。
则变量c中包含的字符个数是<)。
74、C语言提供的三种逻辑运算符是<)、<)、<)。
ORjBnOwcEd
75、设y为int型变量,请写出描述“y是奇数”的表达式<)。
2MiJTy0dTT
76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式<)。
gIiSpiue7A
77、在C语言中,二维数组元素在内存中的存放顺序是<)。
78、若有定义:
doublex[3][5]。
则x数组中行下标的下限为<),列小标的上限为<)。
uEh0U1Yfmh
79、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}}。
则初始化后,a[1][2]得到的初值是<),a[2][2]得到的初值是<)。
IAg9qLsgBX
80、若自定义函数要求返回一个值,则应在该函数体中有一条<)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符<)。
WwghWvVhPE
81、函数中的形参和调用时的实参都是数组名时,传递方式为<),都是变量时,传递方式为<)。
asfpsfpi4k
填空题答案:
1、整型、浮点型、字符型。
2、int,2,-32768~+32767
3、11111111110111014、-1125、14,’m’ooeyYZTjj1
6、”a”是字符串常量,而’a’是字符常量。
7、存放地址值的变量或常量,或者答地址取运算对象的地址取指针变量所指的内容
8、a=1,b=3,c=29、-410、7,1BkeGuInkxI
11、#号12、013、将变量c中的字符显示到屏幕上。
PgdO0sRlMo
14、指针变量p为整型15、FILE*fp16、12
17、floatdouble18、020、12,621、该变量的地址3cdXwckm15
22、同一类型;不同类型23、++%<=24、注释
25、3,1,1,61226、字母、数字、下划线;以字母、下划线开头。
h8c52WOngM
27、4,4-1229、打开;关闭。
30、20,10变量的交换v4bdyGious
31、“d1.dat”,“rb”33、结束本次循环,进入下一次循环;结束循环。
34、2,135、#define符号常量常量
36、(x>20&&x<30>||x<-10037、分支结构,循环结果38、whiledoforJ0bm4qMpJ9
39、#include“stdio.h”#include“string.h”40、a[1][1]=0,a[2][1]=0XVauA9grYP
41、*指针运算符,&地址运算符42、分号;43、复合语句
44、a=12,b=24,c=3645、
46、非0
47、编辑、编译、连接、执行48、“表达式”未尾加“;”号就成“语句”
49、没有50、顺序、分支、循环51、3
52、953、354、y%4==0&&y%100!
=0||y%400==0bR9C6TJscw
55、!
&&||57、双引号58、2659、560、三(3>pN9LBDdtrd
61、1,2062、163、顺序结构、选择结构、循环结构64、类型不同DJ8T7nHuGT
65、存储在外部介质上的相关数据集合。
66、(1>.C(2>.OBJ(3>.EXE(小写也正确>QF81D7bvUA
67、(4>long(int>a,b。
68、(5>1.569、(6>7.0000004B7a9QFw9h
70、(7>2(8>3(9>871、(10>772、(11>类型不同ix6iFA8xoX
73、1个74、与&&、或||、非!
75、y%2!
=076、x77、行列78、0,479、0,880、return,voidKp5zH46zRk
81、地址传送,值传送
===========================================================================Yl4HdOAA61
二、选择题<一)
1、设整型变量a为5,使b不为2的表达式是<)。
A.b=a/2B.b=6-(--a>C.b=a%2D.b=a>3?
2:
1ch4PJx4BlI
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
C程序中的else总是与<)组成配对关系。
qd3YfhxCzo
A.缩排位置相同的ifB.在其之前未配对的if
C.在其之前未配对的最近的ifD.同一行上的if
3、以下程序的输出结果是(>。
intx=10,y=10。
printf(“%d%d\n”,x--,--y>。
E836L11DO5
A.1010B.99C.910D.109S42ehLvE3M
4、设A为存放<短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为<)。
A.P+i*2B.P+(i-1>*2C.P+(i-1>D.P+i501nNvZFis
5、选出下列标识符中不是合法的标识符的是<)。
A.hot_doB.cat1C._priD.2abjW1viftGw9
6、以下程序的输出结果是<)。
inta=5。
floatx=3.14。
a*=x*(‘E’-‘A’>。
printf(“%f\n”,(float>a>。
A.62.000000B.62.800000C.63.000000D.62xS0DOYWHLP
7、设有说明double(*p1>[N]。
其中标识符p1是<)。
A.N个指向double型变量的指针。
B.指向N个double型变量的函数指针。
C.一个指向由N个double型元素组成的一维数组的指针。
D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
8、在C程序中有如下语句:
char*func(intx,inty>。
它是<)。
A.对函数func的定义。
B.对函数func的调用。
C.对函数func的原型说明。
D.不合法的。
9、以下程序的输出结果是<)。
charstr[15]=”hello!
”。
printf(“%d\n”,strlen(str>>。
A.15B.14C.7D.6
10、分析以下程序的输出结果是<)。
main(>
{inta=5,b=-1,c。
c=adds(a,b>。
printf(“%d”,c>。
c=adds(a,b>。
printf(“%d\n”,c>。
}
intadds(intx,inty>
{staticintm=0,n=3。
n*=++m。
m=n%x+y++。
return(m>。
}
A.2,3B.2,2C.3,2D.2,4LOZMkIqI0w
11、下列描述中不正确的是<)。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12、以下程序的输出结果是<)。
#definef(x>x*x
main(>
{inta=6,b=2,c。
c=f(a>/f(b>。
printf(“%d\n”,c>。
}
A.9B.6C.36D.18ZKZUQsUJed
13、设有如下定义:
intx=10,y=3,z。
则语句printf("%d\n",z=(x%y,x/y>>。
的输出结果是<)。
dGY2mcoKtT
A.1B.0C.4D.3
14、定义如下变量和数组:
inti。
intx[3][3]={1,2,3,4,5,6,7,8,9}。
则语句for(i=0。
i<3。
i++>printf("%d",x[i][2-i]>。
的输出结果是<)。
rCYbSWRLIA
A.159B.147C.357D.369FyXjoFlMWh
15、以下对二维数组a进行正确初始化的是<)
A.inta[2][3]={{1,2},{3,4},{5,6}}。
B.inta[][3]={1,2,3,4,5,6}。
TuWrUpPObX
C.inta[2][]={1,2,3,4,5,6}。
D.inta[2][]={{1,2},{3,4}}。
7qWAq9jPqE
16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<)。
intx。
scanf("%d",&x>。
if(x++>5>printf("%d",x>。
elseprintf("%d\n",x-->。
A.7和5B.6和3C.7和4D.6和4
17、设有如下定义:
char*aa[2]={"abcd","ABCD"}。
则以下说法中正确的是<)。
llVIWTNQFk
A>aa数组成元素的值分别是"abcd"和ABCD"
B>aa是指针变量,它指向含有两个数组元素的字符型一维数组
C>aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D>aa数组的两个元素中各自存放了字符'a'和'A'的地址
18、下列程序的输出结果是<)。
char*p1="abcd",*p2="ABCD",str[50]="xyz"。
strcpy(str+2,strcat(p1+2,p2+1>>。
printf("%s",str>。
A.xyabcABB.abcABzC.ABabczD.xycdBCDyhUQsDgRT1
19、下列程序的输出结果是<)。
inta[5]={2,4,6,8,10},*P,**k。
p=a。
k=&p。
printf("%d",*(p++>>。
printf("%d\n",**k>。
A.44B.22C.24D.46MdUZYnKS8I
20、不能把字符串:
Hello!
赋给数组b的语句是<)。
A.charb[10]={'H','e','l','l','o','!
'}。
B.charb[10]。
b="Hello!
"。
09T7t6eTno
C.charb[10]。
strcpy(b,"Hello!
">。
D.charb[10]="Hello!
"。
e5TfZQIUB5
1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、Bs1SovAcVQM
选择题<二)
1、以下选项中属于C语言的数据类型是<)。
A.复合型B.双精度型C.逻辑型D.集合型
2、以下说法中正确的是<)。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main(>函数中定义
C.C语言程序总是从main(>函数开始执行
D.C语言程序中的main(>函数必须放在程序的开始部分
5、若已定义:
inta[9],*p=a。
并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为<)。
GXRw1kFW5s
A.p+1B.a+1C.a++D.++pUTREx49Xj9
6、设有如下定义:
intx=10,y=3,z。
则语句printf("%d\n",z=(x%y,x/y>>。
的输出结果是<)。
8PQN3NDYyP
A.1B.0C.4D.3
7、定义如下变量和数组:
inti,x[3][3]={1,2,3,4,5,6,7,8,9}。
则下面语句for(i=0。
i<3。
i++>printf("%d",x[i][2-i]>。
的输出结果是<)mLPVzx7ZNw
A.159B.147C.357D.369AHP35hB02d
9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是<)。
if(x++>5>printf("%d",x>。
elseprintf("%d\n",x-->。
A.7和5B.6和3C.7和4D.6和4
10、设有如下定义:
char*aa[2]={"abcd","ABCD"}。
则以下说法中正确的是<)。
NDOcB141gT
A>aa数组成元素的值分别是"abcd"和ABCD"
B>aa是指针变量,它指向含有两个数组元素的字符型一维数组
C>aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D>aa数组的两个元素中各自存放了字符'a'和'A'的地址
11、以下语句的输出结果是<)。
inta=-1,b=4,k。
k=(++a<0>&&!
(b--<=0>。
printf("%d,%d,%d\n",k,a,b>。
A.1,0,4B.1,0,3C.0,0,3D.0,0,41zOk7Ly2vA
15、下列程序执行后输出的结果是<)。
intd=1。
fun(intp>
{intd=5