37、结构化程序设计方法规定程序或程序段的结构有三种:
顺序结构、<)和<)。
38、C语言共提供了三种用于实现循环结构的流程控制语句,它们是<)、<)和<)。
39、若在程序中用到putchar,应在程序开头写上包含命令<),若在程序中用到strlen(>函数时,应在程序开头写上包含命令<)。
40、设有定义语句staticinta[3][4]={{1},{2},{3}}。
,则a[1][1]值为<),a[2][1]的值为<)。
41、“*”称为<)运算符,“&”称为<)运算符。
42、赋值表达式和赋值语句的区别在于有无<)号。
43、用{}把一些语句括起来称为<)语句
44、设a=12、b=24、c=36,对于scanf(“a=%d,b=%d,c=%d”,&a,&b,&c>。
语句,输入形式应为<)
45、表达式sqrt(s*(s-a>*(s-b>*(s-c>>;对应的数学式子为<)
46、C语言编绎系统在判断一个量是否为“真”时,以<)代表“真”
47、C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。
48、C语言的表达式与语句的区别在于___________________________________。
49、C语句_____________(有、没有>输入、输出语句。
50、结构化程序的编写有_______________________________三种程序结构。
51、表达式10/3*9%10/2的值是___________________。
52、设有intx=2,y说明,则逗号表达式y=x+5,x+y的值是_________________。
53、设有intx=1,则x>0?
2*x+1:
0表达式的值是______________________。
54、变量Y满足以下两条件中的任意一个:
①能被4整除,但不能被100整除;②能被400整除。
请用逻辑表达式表示所给条件。
_________________________________________
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的值分别是、。
62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是。
63、C程序设计的三种基本结构是________、________和________。
64、数组是表示类型相同的数据,而结构体则是若干数据项的集合。
65、C语言中文件是指。
66、C语言源程序文件的扩展名是(1>,经过编译后,生成文件的扩展名是(2>,经过连接后,生成文件的扩展名是(3>。
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>。
71、执行以下for(i=1。
i<=5。
i++>语句后,变量i的值为(10>。
72、数组是表示类型相同的数据,而结构体则是若干(11>数据项的集合。
73、若有定义:
charc=’\010’。
则变量c中包含的字符个数是<)。
74、C语言提供的三种逻辑运算符是<)、<)、<)。
75、设y为int型变量,请写出描述“y是奇数”的表达式<)。
76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式<)。
77、在C语言中,二维数组元素在内存中的存放顺序是<)。
78、若有定义:
doublex[3][5]。
则x数组中行下标的下限为<),列小标的上限为<)。
79、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}}。
则初始化后,a[1][2]得到的初值是<),a[2][2]得到的初值是<)。
80、若自定义函数要求返回一个值,则应在该函数体中有一条<)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符<)。
81、函数中的形参和调用时的实参都是数组名时,传递方式为<),都是变量时,传递方式为<)。
填空题答案:
1、整型、浮点型、字符型。
2、int,2,-32768~+32767
3、11111111110111014、-1125、14,’m’
6、”a”是字符串常量,而’a’是字符常量。
7、存放地址值的变量或常量,或者答地址取运算对象的地址取指针变量所指的内容
8、a=1,b=3,c=29、-410、7,1
11、#号12、013、将变量c中的字符显示到屏幕上。
14、指针变量p为整型15、FILE*fp16、12
17、floatdouble18、020、12,621、该变量的地址
22、同一类型;不同类型23、++%<=24、注释
25、3,1,1,61226、字母、数字、下划线;以字母、下划线开头。
27、4,4-1229、打开;关闭。
30、20,10变量的交换
31、“d1.dat”,“rb”33、结束本次循环,进入下一次循环;结束循环。
34、2,135、#define符号常量常量
36、(x>20&&x<30>||x<-10037、分支结构,循环结果38、whiledofor
39、#include“stdio.h”#include“string.h”40、a[1][1]=0,a[2][1]=0
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==0
55、!
&&||57、双引号58、2659、560、三(3>
61、1,2062、163、顺序结构、选择结构、循环结构64、类型不同
65、存储在外部介质上的相关数据集合。
66、(1>.C(2>.OBJ(3>.EXE(小写也正确>
67、(4>long(int>a,b。
68、(5>1.569、(6>7.000000
70、(7>2(8>3(9>871、(10>772、(11>类型不同
73、1个74、与&&、或||、非!
75、y%2!
=076、x77、行列78、0,479、0,880、return,void
81、地址传送,值传送
===========================================================================
二、选择题<一)
1、设整型变量a为5,使b不为2的表达式是<)。
A.b=a/2B.b=6-(--a>C.b=a%2D.b=a>3?
2:
1
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
C程序中的else总是与<)组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的if
C.在其之前未配对的最近的ifD.同一行上的if
3、以下程序的输出结果是(>。
intx=10,y=10。
printf(“%d%d\n”,x--,--y>。
A.1010B.99C.910D.109
4、设A为存放<短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为<)。
A.P+i*2B.P+(i-1>*2C.P+(i-1>D.P+i
5、选出下列标识符中不是合法的标识符的是<)。
A.hot_doB.cat1C._priD.2ab
6、以下程序的输出结果是<)。
inta=5。
floatx=3.14。
a*=x*(‘E’-‘A’>。
printf(“%f\n”,(float>a>。
A.62.000000B.62.800000C.63.000000D.62
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,4
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.18
13、设有如下定义:
intx=10,y=3,z。
则语句printf("%d\n",z=(x%y,x/y>>。
的输出结果是<)。
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]>。
的输出结果是<)。
A.159B.147C.357D.369
15、以下对二维数组a进行正确初始化的是<)
A.inta[2][3]={{1,2},{3,4},{5,6}}。
B.inta[][3]={1,2,3,4,5,6}。
C.inta[2][]={1,2,3,4,5,6}。
D.inta[2][]={{1,2},{3,4}}。
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"}。
则以下说法中正确的是<)。
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.xycdBCD
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.46
20、不能把字符串:
Hello!
赋给数组b的语句是<)。
A.charb[10]={'H','e','l','l','o','!
'}。
B.charb[10]。
b="Hello!
"。
C.charb[10]。
strcpy(b,"Hello!
">。
D.charb[10]="Hello!
"。
1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B
选择题<二)
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]地址的表达式为<)。
A.p+1B.a+1C.a++D.++p
6、设有如下定义:
intx=10,y=3,z。
则语句printf("%d\n",z=(x%y,x/y>>。
的输出结果是<)。
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]>。
的输出结果是<)
A.159B.147C.357D.369
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"}。
则以下说法中正确的是<)。
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,4
15、下列程序执行后输出的结果是<)。
intd=1。
fun(intp>
{intd=5。
d+=p++。
printf("%d,",d>。
}
main(>
{inta=3。
fun(a>。
d+=a++。
printf("%d\n",d>。
}
A.8,4B.9,6C.9,4D.8,5
16、表达式:
10!
=9的值是<)。
A.trueB.非零值C.0D.1
17、若有说明:
inti,j=7,*p=&i。
则与i=j。
等价的语句是<)。
A.i=*p。
B.*p=*&j。
C.i=&j。
D.i=**p。
Key:
1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D
选择题<三)
1.设intx=1,y=1。
表达式
x++||y--)的值是_________
A.0B.1C.2D.-1
2.main(>
{intn。
(n=6*4,n+6>,n*2。
printf(“n=%d\n”,n>。
}此程序的输出结果是______________.
A.30B.24C.60D.48
3.若有如下定义,则__________是对数组元素的正确的引用。
inta[10],*p。
p=a。
p=a。
p=a。
p=a。
A.*&a[10]B.a[11]C.*(p+10>D.*p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A.0B.4C.-4D.2
5.以下不能正确定义二维数组的语句是___________
A.inta[2][2]={{1},{2}}。
B.inta[][2]={1,2,3,4}。
C.inta[2][2]={{1},2,3}。
D.