高级语言程序设计.docx
《高级语言程序设计.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计.docx(22页珍藏版)》请在冰点文库上搜索。
高级语言程序设计
高级语言程序设计(C)复习题1
一、选择题
1、下列表达式的值为0的是()
A.3﹪5B.3/5C.3/5.0D.3<5
2、正确的C语言用户自定义标识符是()
A.printB.floatC.when?
D.random﹪2
3、设inta=3;则表达式a<1&&--a>1的运算结果和a的值分别是()
A.0和2B.1和2C.0和3D.1和3
4、下列保留字中用于构成循环结构的是()
A.ifB.whileC.switchD.default
5、设inti;floatf;doubled;longinte;,则表达式10+′a′+i*f-d/e结果的数据类型是()
A.doubleB.longC.intD.float
6、与语句if(a>b)if(c>d)x=1;elsex=2;等价的是()
A.if((a>b)&&(c>d))x=1;elsex=2;
B.if(a>b){if(c>d)x=1;}elsex=2;
C.if(a>b){if(c>d)x=1;elsex=2;}
D.if(a<=b)x=2;elseif(c>d)x=1;
7、设charx=′b′;则printf(″x=﹪c,y=﹪c\n″,x,98);的输出是()
A.x=b,y=98B.x=98,y=b
C.x=98,y=98D.x=b,y=b
12、以下程序段的输出结果是__________
staticcharstr[]=“BeiJing”;
printf(“%d\n”,strlen(strcpy(str,“computer”)));
A)5B)6C)7D)8
13、以下函数调用语句中函数Func的实参个数为__________。
Func((exp1,exp2),(exp3,exp4),exp5,exp6));
A)2B)3C)4D)5
14、如果a=1,b=2,c=3,d=4,则条件表达式a>b?
a:
c>d?
c:
d的值为__________。
A)1B)2C)3D)4
二、填空题
1、初始化值是0.618的双精度变量a的语句为_。
2、表达式!
10==1的值是_______________。
3、204、表达式a=1,a+1,a++的值是_。
6、被调函数在执行结束时,这个函数中定义的____Static(静态)变量不被释放。
7、设charstring[]=″This_is_two_books!
″;则数组的长度应是_。
8、设inta[2][3]={{2},{3}};则数组元素___的值为2。
10、设intmax;a=6,b=9;max=(a>b)?
a:
b;执行完后max的值是_
二、程序阅读理解题
1、写出程序执行后的输出结果:
_
inta=3,b=15;
voidfun(intx1,intx2)
{
printf(″﹪d,﹪d\n″,x1+x2,b);
}
voidmain()
{
inta=9,b=2;fun(a,b);
}
3、下面程序运行后,如果从键盘上输入Car↙,则输出结果是_
#include
voidmain()
{
charc;
while((c=getchar())!
='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
c=c+2;
printf("%c\n",c);
}
}
4、写出程序执行后的输出结果:
__。
main()
{
inti,a[3][3]={11,2,15,4,369,6,98,8,9};
for(i=0;i<3;i++)
printf(“%d”,a[i][2-i]);
}
5、以下程序运行后,如果从键盘上输人3,9↙,则输出结果是_。
(运算符优先顺序从低到高为:
=<=)
main()
{
intx;
scanf(“%d,%d”,&x,&y);
if((x=y<=10)||(y=x>=10))
printf(“%d,%d”,x--,y--);
else
printf(“%d,%d”,x++,y++);
}
四、编程
1、输出1000之内的所有完数
2、用选择法、冒泡法对10个整数排序。
3、写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
4、编程输出输出所有的“水仙花数”,
输出格式要求:
每个水仙花数输出宽度为5,每输出2个水仙花数换行。
5、输出Fibnaci数列
6、求N的阶乘
7、杨辉3角
高级语言程序设计(C)复习题2
一、选择题
1.下列字符中,ASCII码值最大的是__。
A)AB)aC)XD)x
2.以下所列的C语言常量中,错误的是__。
A)0xFFB)1.2e-5C)'\82'D)123L
3.已知inti;floatf;正确的表达式是__。
A)(intf)%iB)int(f)%i
C)(int)f%iD)int(f%i)
4.已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值__。
A)5.5B)5C)3.5D)3
5.已知inta,b;执行语句a=(b=3*2,b*5),a+6;后变量a的值为__。
A)6B)12C)24D)30
6.如果a=2,b=3,c=4,d=5,则条件表达式a>b?
a:
cc:
d的值为__。
A)3B)4C)5D)6
8.以下程序执行后输出的值是__。
A)6,3B)6,4C)0,3D)0,4
main()
{
inti,sum=1;
for(i=1;i<4;i++)sum*=i;
printf(“%d,%d\n”,sum,i);
}
9.已知inta[][3]={1,2,3,4,5,6,7,8,9};则a[1][2]的值是__。
A)5B)6C)7D)8
10.设inti,j=6;执行语句i=(j++)+7;后i的值是__。
A)10B)12C)13D)14
11.设intx=10,y,z;执行y=z=++x;x=y=z后,变量x的值是__。
A)0B)1C)10D)11
12.以下程序段的输出是___。
main()
{
charx=‘Z’;
x=(x>=‘A’&&x<=‘Z’)?
(x+32):
x;
printf(“%c”,x);
}
A)AB)aC)ZD)z
13.以下定义语句中,正确的是___。
A)intn=5,a[n];B)inta[3][]={1,2,3,4,5};
C)ints[10]={1、2、3};D)inta[3][4]={{1,2},{3},{0,5,6,7}};
14.执行charstr1[10]=“Hello”,str2[10]=“China”;strcat(str1,str2)后输出str1的结果是___。
A)HelloB)ChinaC)HelloChinaD)ChinaHello
15.当调用函数时,实参是一个数组名,则向函数传送的是___。
A)数组的长度B)数组的首元素地址
C)数组每一个元素的地址D)数组每个元素中的值
16.有以下程序段,while循环执行的次数是___。
intk=0;
while(k=1)k++;
A)执行1次B)有语法错,不能执行
C)执行0次D)无限次
17.执行以下程序,程序运行后,如果从键盘上输人-10,则输出结果是___。
A)-9B)-10C)-11D)无输出
main()
{intx;
scanf(“%d”,&x);
if(x>=10)printf(“%d”,x--);
elseprintf(“%d”,++x);
}
二、填空题
1.转义字符\b的功能是________.
3.若已知,a=30,b=20,则表达式!
a
4.若已知,a=3,b=4,c=5,则表达式!
(a>b)&&!
c||1的值为______。
(运算符优先顺序从低到高为:
||&&!
强制类型转换())
5.有如下程序片段:
inta,b,c;
printf(“inputa,b,c:
”);
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
欲使a=1、b=3、c=3,正确的输入形式为______。
6.若有说明inta[][3]={{1,2},{0},{3,4,5},{7,8,9}},则a数组共有___个元素。
7.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为____。
for(i=0,j=10;i<=j;i++,j--)k=i+j;
8.函数调用有哪两种方式_________和_________。
三、程序填空题
1、以下程序的输出结果是_____
inta,b;
voidfun()
{b=20;a=10;}
main()
{inta=9,b=15;
fun();
printf("%d,%d\n",a,b);
}
四、编程题
1、输出1000之内的所有完数
2、用选择法、冒泡法对10个整数排序。
3、写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
4、编程输出输出所有的“水仙花数”,
输出格式要求:
每个水仙花数输出宽度为5,每输出2个水仙花数换行。
5、输出Fibnac数列
6、求N的阶乘
7、杨辉3角
第1章
1、每个C程序必须有且只能有一个函数。
2、下列语句段的输出结果是:
。
inta,b,sum;
a=123;b=456;
sum=a+b;
printf("%d\n",sum);
3、一个函数由和两部分组成。
4、C程序总是从函数开始执行的,与它的位置无关。
5、C语言每个语句和数据声明的最后必须有一个。
6、C语言输入和输出的操作是由库函数和等函数来完成的。
7、C语言可以用/*……*/或者//对C程序中的任何一行或数行做。
9、结构化程序设计的三种基本结构是:
、和
。
第2章
1.下列语句段的输出结果是:
charc1=’E’,c2=’F’;
c1=c1+32;c2=c2+32
printf(“%c,%c”,c1,c2);
2.下列语句段的输出结果是:
charc1,c2;
c1=65;c2=66;
printf(“%c,%c”,c1,c2);
3.下列语句段的输出结果是:
inta,b,c;
a=(b=5)+(c=2);
printf(“%d,%d,%d\n”,a,b,c);
4.下列语句段的输出结果是:
inta;
a=123.4567;
printf(“%d\n”,a);
5.下列语句段的输出结果是:
inta;
a=10/3;
printf(“%d\n”,a);
6.下列语句段的输出结果是:
inti=289;
charc;
c=i;
printf(“%d\n”,c);
7.下列语句是否正确:
inta=b=c=10;
8.下列语句段的输出结果是:
inta=10,b=20,t;
t=a;a=b;b=t;
printf(“%d,%d\n”,a,b);
9.下列语句段的输出结果是:
doublea,b,c;
a=1.111111111;
b=2.22222222;
c=a+b;
printf(“%4.2f”,c);
9.下列语句段的输出结果是:
printf(“%e\n”,456.123);
10.有定义
inta;doubleb;charc;floatd;
给以上四个变量输入相应值的输入语句是:
11.下列语句段的输出结果是:
chara=’H’,b=’O’,c=’W’;
putchar(a);putchar(b);putchar(c);
12.下列字符中,ASCII码值最大的是__________。
A)AB)aC)XD)x
13.以下所列的C语言常量中,错误的是__________。
A)'\82'B)1.2e-5C)123LD)0xFF
14.已知inti;floatf;正确的表达式是__________。
A)(intf)%iB)int(f)%i
C)int(f%i)D)(int)f%i
15.已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值________。
(运算符优先顺序从低到高为:
+%强制类型转换())
A)3B)5C)3.5D)5.5
16.已知inta,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为__________。
(运算符优先顺序从低到高为:
,=)
A)6B)12C)24D)30
19.设inti,j=5;执行语句i=(++j)+8;后i的值是__________。
A)10B)12C)13D)14
20、下列表达式的值为0的是()
A.3﹪5B.3/5.0C.3/5D.3<5
21、正确的C语言用户自定义标识符是()
A.printB.floatC.when?
D.random﹪2
22.已知inta=5;则执行a+=a-=a*a;语句后,a的值为()。
A)5B)0C)-20D)-40
22.x,y,z被定义为float型变量,若从键盘给x,y,z输入数据,正确的输入语句是()。
A)floata、b、c;B)scanf("%f%f%f",&a,&b,&c);
C)scanf("%f%f%f",a,b,c);D)scanf("%lf%lf%lf",&a,&b,&c);
23.表达式4.5+3/2的计算结果是__________。
24.若已知,a=10,b=20,则表达式!
a
25.若已知,a=3,b=4,c=5,则表达式!
(a>b)&&!
c||1的值为__________。
第3章
1.如果a=1,b=2,c=3,d=4,则条件表达式a>b?
a:
cc:
d的值为_________。
A)1B)2C)3D)4
2.能正确表示a≥10或a≤0的关系表达式是__________。
A)a≥10ora≤0B)a>=10|a<=0
C)a≥10||a≤0D)a>=10||a<=0
3.(a=3)>(b=5)的逻辑值是:
1
4.设a=1,b=2,c=3,d=4,则a+b>c+d的逻辑值是:
;a+b==c+d的逻辑值是:
;a+b!
=b+c的逻辑值是;
5.设a=1,b=2,c=3,d=4,则a>b&&d>c的逻辑值是;a>b||d>c的逻辑值是
;!
(a>b)的逻辑值是;5>3&&8<4-!
0的逻辑值是:
;a||b+c&&b-c的值是:
6.有一个函数
写程序输入x,输出y。
7.给出一分数成绩(分数为0到10的整数),要求输出等级成绩,分数为9和10的等级为“A”,8为“B”,7为“C”,6为“D”,0~5为“E”。
其余分数输出错误。
要求用switch结构编写该程序。
8.有3个实数a,b,c由键盘输入,输出其中最大的数。
9.将if(a>b)max=a;elsemax=b;语句写成条件运算表达式是max=。
10.下列程序段执行后的输出结果是:
inta=4,b=3,t;
if(a>b)
{temp=a;a=b;b=temp;}
printf("%d,%d\n",a,b);
11.下列程序段执行后的输出结果是:
floata=10,b=5,c=20,temp;
if(a>b)
{temp=a;a=b;b=temp;}
if(a>c)
{temp=a;a=c;c=temp;}
if(b>c)
{temp=b;b=c;c=temp;}
printf("%d,%d,%d\n",a,b,c);
12.下列程序段执行后的输出结果是:
intx=10,y;
if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=-1;
printf(“%d,%d\n”,x,y);
13.下列程序段执行时,从键盘输入字符B后,程序的输出结果是:
charch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?
ch+32:
ch;
printf("%c\n",ch);
14.下列程序段执行时从键盘输入字符C后,程序的输出结果是:
chargrade;
scanf("%c",&grade);
switch(grade)
{case'A':
printf("85~100\n");break;
case'B':
printf("70~84\n");break;
case'C':
printf("60~69\n");break;
case'D':
printf("<60\n");break;
default:
printf("dataerror!
\n");}
15.以下程序运行后,如果从键盘上输人10,5↙,则输出结果是。
intx,y;
scanf("%d,%d",&x,&y);
if(xprintf("%d,%d\n",x,y);
else
printf("%d,%d\n",y,x);
第4章循环结构程序设计
1.下列程序段执行后的输出结果是:
intsum=0,i=5;
while(i>=1)
{sum=sum+i;
i--;
}
printf(“%d,%d\n”,i,sum);
2.下列程序段执行时从键盘输入9后,程序的输出结果是:
intsum=0,i;
scanf("%d",&i);
do
{sum=sum+i;
i++;
}while(i<=10);
printf("%d",sum);
3.下列程序段执行后的输出结果是:
intsum=0,i;
for(i=5;i<=10;i=i+2)
sum=sum+i;
printf("%d\n",sum);
4.下列程序段执行后的输出结果是:
intf1,f2,i;
f1=10;f2=10;
for(i=1;i<=2;i++)
{f1=f1+f2;
f2=f2+f1;
printf("%d%d",f1,f2);}
5.下列程序段执行后的输出结果是:
inti;
for(i=3;i<=10;i=i+2)
{if(i==7)break;
printf("%d",i);}
6.下列程序段执行后的输出结果是:
inti;
for(i=3;i<=10;i=i+2)
{if(i==7)continue;
printf("%d",i);}
7.编程求1-100内所有奇数之和,并输出结果。
8.编程输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
例如,153是一个水仙花数,因为
153=1*1*1+5*5*5+3*3*3
输出格式要求:
每输出一个水仙花数换一行。
10.下面程序运行后,从键盘上输入Computer↙,输出结果是
#include
voidmain()
{
charc;
while((c=getchar())!
='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
c=c-2;
printf("%c",c);
}
}
第5章数组
1.已知inta[][3]={1,2,3,4,5,6,7,8,9};则a[2][1]的值是__________。
A)4B)8C)7D)5
2.以下定义语句中,正确的是__________。
A)intn=5,a[n];B)inta[3][]={1,2,3,4,5};
C)ints[10]={1、2、3};D)inta[3][4]={{1,2},{3},{0,5,6,7}};
3.执行下列程序执行后输出的结果是()
#include
inta[3][3]={{1},{2},{3}};
intb[3][3]={1,2,3};
main()
{printf("%d",a[1][0]+b[0][0]);}
A.0B.1C.2D.3
4.写出程序执行段后的输出结果:
。
inti,a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf(“%d”,a[i][2-i]);
5.写出程序执行后的输出结果:
#include
#defineN7
main()
{inti,j,temp,a[N]={9,2,5,4,7,8,1};
for(i=0;i{j=N-1-i;
temp=a[i];a[i]=a[j];a[j]=temp;}
for(i=0;iprintf("%d",a[i]);
}
5.写出程序执行后的输出结果:
inti,a[5];
for(i=0;i<=4;i++)
a[i]=i+1;
for(