当前位置:
文档之家› 计算机二级C语言测试题(含答案)
计算机二级C语言测试题(含答案)
}
printf("\n");
}
若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。
输入数据:2473
A.668977 B.668966
C.66778777 D.6688766
5.执行下面的程序段后,a和b的值分别为________。
int a=3,b=5,c;
c=(a>--b)?a++:b--;
C.100,765.12 D.i=100f=765.12
【答案】B
3.有程序如下:
main()
{
int i;
float x,y;
scanf("%2d%f%*d%f",&i,&x,&y);
printf("%d,%f,%f\n",i,x,y);
}
执行该程序时,若按如下形式输入数据,则输出结果是________。
3.下面程序的功能是输出数组s中最大元素的下标。请在横线上填上适当的内容,使它能得出正确的结果。
main()
{
int k,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])____________;
printf("%d\n", k);
}
4.下面程序的功能是将一字符串中的小写英文字母全部改成大写形式,然后输出。请在横线上填上适当的程序代码,使它能输出正确的结果。
2.有下列函数调用语句,函数fun1()的实参个数是________。
fun1(a+b,(y=9,y*x),fun2(y,n,k));
3.下列函数调用错误的是________。
A.max(a,b) B.ax(3,a+b)
C.max(3,5) D.float max(c,5)
4.在C程序中,下面描述正确的是________。
A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。
B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C.从main()函数开始,到main()函数结束。
D.从本程序文件的第一个函数开始,到本程序main()函数结束。
8.以下叙述正确的是_________。
A.在C程序中,main()函数必须位于程序的最前面。
B.C程序的每行中只能写一条语句。
C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
D.C语言本身没有输入输出语句。
答案:
1. A
2.语法错误是print,应该为printf;逻辑错误是a-b,应该为a+b。
3.A 4.A 5.B
6.把任意输入的三个数a、b、c按降序排列的顺序输出。
7.C 8.D
输入数据:567890123445
A.56,789.0.000000
C.56,789.000000,123.000000 D.56,789.000000,123445.000000
【答案】A
4.输入字母a时,下列程序的执行结果是________。
D.语句“k=k-1;”只执行一次
2.有程序段如下:
int k=10;
do
{
k=k-1;
}while(k>=0);
则下面描述中正确的是________。
A.语句“k=k-1;”执行1次
B.语句“k=k-1;”执行10次
C.语句“k=k-1;”执行11次
D.语句“k=k-1;”执行12次
3.下面是一个程序段:
}
A.3 B.2 C.1 D.0
3.有程序段如下:
int a=1,b=2,c=3;
if(a>b)
c=a; a=b; b=c;
执行该程序段后,变量a、b、c的值是__________。
A.a=1,b=2,c=3 B.a=2,b=3,c=3
C.a=2,b=3,c=1 D.a=2,b=3,c=2
4.有程序如下:
#include "stdio.h"
main( )
{
int c;
while((c=getchar())!='\n')
switch(c-'2')
{
case 0:
case 1:putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+3);
default:putchar(c+2);break;
main( )
{
int a,b;
a=8;
b=2000;
print("%d\n",a-b);
}
3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。
A.main B. MAIN C. name D. function
4.以下叙述不正确的是__________。
A.C程序书写格式规定,一行内只能写一个语句
x=1;
}
else
x=2;
该程序段所表示的逻辑关系对应的表达式是________。
A. B.
C. D.
2.以下程序的运行结果为________。
main()
{
int x=2,y=-1,z=2;
if(x<y) /*第一个if */
if(y<0) z=0; /*第二个if */
else z+=1;
printf("%d\n",z);
(第一章)
1.以下关于算法的描述不正确的是__________。
A.任何一个问题,它的实现算法是唯一的
B.描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等
C.算法的最终实现是计算机程序
D.正确性和清晰易懂性是一个好算法的基本条件
2.下面是一个加法程序,指出存在的逻辑错误和语法错误。
/*求整数a和b的和*/
#include "stdio.h"
main()
{
int i=0;
char str[80];
scanf("%s",str);
while (①)
{
if(②) str[i]= str[i]-32;
③;
}
printf("%s\n", str);
}
5.下面程序的功能是将一个字符串str的内容颠倒过来。请在横线上填上适当的内容,使它能输出正确的结果。
2.对两个数组a和b进行如下的初始化:
char a[]={'a','b','c','d','e','f'};
char b[]="abcdef";
则以下叙述正确的是________。
A.a数组与b数组完全相同
B.a数组与b数组具有相同的长度
C.a数组和b数组的最后一个字符都是字符串结束标志符'\0'
D.a数组的长度比b数组的长度小
#include "string.h"
main()
{
int i,j,①;
char str[]="abcdefghijk";
j=strlen(str)②;
for(i=0;i<j;i++,j--)
{
k=str[i];
str[i]=str[j];
str[j]=k;
}
printf("%s\n",str);
}
B.main()函数后面有一对花括号,花括号内的部分称为函数体
C.一个C程序必须有main()函数
D.C规定函数内的每个语句以分号结束
5.以下各标识符中,合法的用户标识符为_________。
A.A#C B.mystery C.main D.ab*
6.已知求解某问题的算法如下:
⑴输入a、b、c三个数。
z=x/y;
}
else
break;
}
printf("%5.2f\n",y);
}
运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。
键盘输入数据:3.6,2.4
A. 1.50 B. 1.60 C. 2.0 D. 2.40
答案:
1.C 2.C 3.C 4.A 5.B
C语言测试题(第六章)
int x,y;
for(y=1,x=2;y<=50;y++)
{
if(x>=10)break;
x+=5;
}
执行该程序段后,x值为________。
A.2 B.7 C.12 D.15
4.有程序段如下:
int i,j;
for(i=5;i;i--)
for(j=1;j<5;j++)
{
......
}
假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。
A. 20 B. 24 C. 25 D. 30
5.下面是一个循环控制程序:
#include "stdio.h"
#include "math.h"
main()
{
float x,y,z;
scanf("%f,%f",&x,&y);
z=x/y;
while(1)