2011年全国计算机二级C语言模拟试题及答案(5)
一、填空
1.实型变量的类型说明符有:___double_____、______float______。
2.表达式7+8>2 && 25 %5的结果是_________0______________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch;
Ch=getchar( );
While( ___ch!=’/0’_______________ ) ) ) )
{ if ( ________ch>=’0’&&ch<=’9’________ ) n++;
4.putchar(c ) 函数的功能是 ___输入字符串_________________________________。
5int *p 的含义是_____p是整型的指针变量______________________________________。
6.Cfloat型语言中数组的下标下限为__________0_________________。
7.定义fp为文件型指针变量的定义方法为 _____FILE *p_________________。
8.数组 int a[3][4];共定义了___12_________个数组元素。
1.实型变量的类型说明符有:___double_____、______float______。
2.表达式7+8>2 && 25 %5的结果是_________0______________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch;
Ch=getchar( );
While( ___ch!=’/0’_______________ ) ) ) )
{ if ( ________ch>=’0’&&ch<=’9’________ ) n++;
4.putchar(c ) 函数的功能是 ___输入字符串_________________________________。
5int *p 的含义是_____p是整型的指针变量______________________________________。
6.Cfloat型语言中数组的下标下限为__________0_________________。
7.定义fp为文件型指针变量的定义方法为 _____FILE *p_________________。
8.数组 int a[3][4];共定义了___12_________个数组元素。
二、单项选择题
1、下列属于整型常量的是___A_____。
A、12
B、12.0
C、-12.0
D、10E10
1、下列属于整型常量的是___A_____。
A、12
B、12.0
C、-12.0
D、10E10
2、不属于字符型常量的是___C______。
A.‘A’
B、'a'
C、“A”
D、'b'
A.‘A’
B、'a'
C、“A”
D、'b'
3、下列表达式为关系表达式的为__B_______。(其中a为一整型变量)
A.3+4*5
B、a==10
A.3+4*5
B、a==10
C、a>0?a:-a
D、a=1
D、a=1
4、下面不正确的赋值语句是______B_______。
A.a=a+1
B、a= =b
C、a+=b
D、a=1
A.a=a+1
B、a= =b
C、a+=b
D、a=1
5、下列对数组定义不正确的语句是____B__________。
A.int m[5];
B、char b[]={‘h’,’e’};
C、int a[10]={1,6,8,4};
D、char p[];
A.int m[5];
B、char b[]={‘h’,’e’};
C、int a[10]={1,6,8,4};
D、char p[];
6、若有以下定义,则__C____和___D___是对数组元素的正确引用。
int a[5],*p=a
int a[5],*p=a
A. *&a[6]
B、*p+8
C、*(a+2)
D、*p
B、*p+8
C、*(a+2)
D、*p
7、执行下列语句后,a的值是____D__。
int a=8;
a+=a-=a*a;
A.-240
B、64
C、112
D、-112
int a=8;
a+=a-=a*a;
A.-240
B、64
C、112
D、-112
8. 指出下面正确的输入语句(B )。
A. scanf(“a=b=%d”,&a,&b) ;
B. scanf(“%d,%d”,&a,&b) ;
A. scanf(“a=b=%d”,&a,&b) ;
B. scanf(“%d,%d”,&a,&b) ;
C. scanf(“%c”,c) ;
D. scanf(“%f\n”,&f) ;
D. scanf(“%f\n”,&f) ;
9.下面的变量说明中正确的是____D________。
A.int:a, b, c;
B.int a; b; c;
C.int a, b, c
D.int a, b, c;
A.int:a, b, c;
B.int a; b; c;
C.int a, b, c
D.int a, b, c;
10. C语言用( C)表示逻辑“真”值。
A.True
B. t 或 y
C. 非零整型值
D. 整型值0
A.True
B. t 或 y
C. 非零整型值
D. 整型值0
11.若x=5,y=4 则y*=x+5; y的值为( A).
A. 40
A. 40
B. 20
C. 15
D. 30
C. 15
D. 30
13.C语言中以追加方式打开一个文件应选择______D________参数。
A.“r”
B.“w”
C.“rb”
D.“a”
A.“r”
B.“w”
C.“rb”
D.“a”
14.Break语句的正确的用法是(B )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
15.两个指针变量的值相等时,表明两个指针变量是______A__________。
A. 占据同一内存单元。
B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。
D. 都没有指向。
B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。
D. 都没有指向。
16.字符串指针变量中存入的是______A__________。
A.字符串的首地址。
B. 字符串
C.第一个字符
D. 字符串变量。
A.字符串的首地址。
B. 字符串
C.第一个字符
D. 字符串变量。
17.以_______A____个是不正确的描述。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。
18 表达式“1?(0?3:2):(10?1:0)”的值为________B_____________。
A.3
B. 2
C. 1
D. 0
A.3
B. 2
C. 1
D. 0
19. 为表示关系x≥y≥z,应使用C语言表达式 A
A.(x>=y)&&(y>=z)
B. (x>=y) AND (y>=z)
C.(x>=y>=z)
D. (x>=z)&(y>=z)
A.(x>=y)&&(y>=z)
B. (x>=y) AND (y>=z)
C.(x>=y>=z)
D. (x>=z)&(y>=z)
20. 以下说法中正确的是_______C________。
A. C语言程序总是从第一个定义的函数开始执行。
B. 在C语言程序中,要调用的函数必须有main( ) 函数中定义。
C. C语言程序总是从main( ) 函数开始执行。
D. C语言程序中的main( ) 函数必须放在程序的开始部分。
A. C语言程序总是从第一个定义的函数开始执行。
B. 在C语言程序中,要调用的函数必须有main( ) 函数中定义。
C. C语言程序总是从main( ) 函数开始执行。
D. C语言程序中的main( ) 函数必须放在程序的开始部分。
21.设有数组定义:char array[]=”China”;则数组所占的存贮空间为____C______。
A.4个字节
B. 5个字节
C. 6个字节
D. 7个字节
A.4个字节
B. 5个字节
C. 6个字节
D. 7个字节
22.根据C语言的语法规则,下列____A____个是不合法标识符。
A.While
B. Name
C. Rern5
D. _exam
A.While
B. Name
C. Rern5
D. _exam
三、读出下列程序,写出程序的运行结果。
1. main()
{ int a=8 , b=1;
a=a+b;
1. main()
{ int a=8 , b=1;
a=a+b;
b=a*b;
printf("a=%d,b=%d",a,b); }
该程序的运行结果是____a =9,b=9_______________________________。
printf("a=%d,b=%d",a,b); }
该程序的运行结果是____a =9,b=9_______________________________。
2. main()
{ int i,num[5];
for(i=0;i<5;i++)
num[i]=i*10 - 2;
printf("%d",num[3]); }
该程序的运行结果是__28_________________________________。
{ int i,num[5];
for(i=0;i<5;i++)
num[i]=i*10 - 2;
printf("%d",num[3]); }
该程序的运行结果是__28_________________________________。
3. main()
{ float c,f;
c=30.0;
f=(6*c)/5+32;
printf("f=%f",f); }
该程序的运行结果是_____f=68.0______________________________。
{ float c,f;
c=30.0;
f=(6*c)/5+32;
printf("f=%f",f); }
该程序的运行结果是_____f=68.0______________________________。
4. main()
{ int a=6095 , b ;
b=a_00 ;
printf("%d", b) ; }
该程序的运行结果是_____________________________。
{ int a=6095 , b ;
b=a_00 ;
printf("%d", b) ; }
该程序的运行结果是_____________________________。
5. # include “stdio.h”
main( )
{ int a[]={8,2,9,4,1}, *p;
p=a;
*(p+2)+=2;
printf(“%d, %d ”, *p, *(p+2));}
该程序的运行结果是___8_,11 _______________________________。
main( )
{ int a[]={8,2,9,4,1}, *p;
p=a;
*(p+2)+=2;
printf(“%d, %d ”, *p, *(p+2));}
该程序的运行结果是___8_,11 _______________________________。
四、将下列程序中不正确的语句改正。
1. main( )
1. main( )
{ int k ;
k=35555 ;
printf ( “%d “, k) ; }
k=35555 ;
printf ( “%d “, k) ; }
2. main ( )
{ int a , b ;
scanf ( “input a ,b:”,a , b );
printf (“a=%d, b=%d”,a,b); }
{ int a , b ;
scanf ( “input a ,b:”,a , b );
printf (“a=%d, b=%d”,a,b); }
3. main( )
{ int sum , k ;
sum=0 ;
k= 1 ;
while (k < =100 )
sum = sum+k ;
k + + ;
p rintf (“ sum=%d\n”, sum) ; }
{ int sum , k ;
sum=0 ;
k= 1 ;
while (k < =100 )
sum = sum+k ;
k + + ;
p rintf (“ sum=%d\n”, sum) ; }
4. main( )
{ int k , a( 8 ) ;
for( k=0; k<10 ; k++)
scanf(“%d”, &a(k));
...... }
{ int k , a( 8 ) ;
for( k=0; k<10 ; k++)
scanf(“%d”, &a(k));
...... }
5. main( )
scanf(“%d”, a);
if (a = 1)
printf(“One\n”) ; }
scanf(“%d”, a);
if (a = 1)
printf(“One\n”) ; }
五.编程题
1. 用程序计算下列表达式:s=1!+2!+3!+4!
2、从键盘上输入三个数,求出其中最大的一个数。
3. 输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平
1. 用程序计算下列表达式:s=1!+2!+3!+4!
2、从键盘上输入三个数,求出其中最大的一个数。
3. 输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平
均分,输出平均分,最高分,最低分。
5.中,遇到回车键输入结束。。(用“\n”表示回车键)
5.中,遇到回车键输入结束。。(用“\n”表示回车键)
2011年全国计算机二级C语言模拟试题及答案(6)一.单项选择题
1.各种基本数据类型的存贮空间正确的长度排列为__________。
A.CharB.DoubleC.CharD.Float
1.各种基本数据类型的存贮空间正确的长度排列为__________。
A.CharB.DoubleC.CharD.Float
2.下面的变量说明中_____________是正确的。
A.Char:a,b,c;
B.Chara;b;c;
C.Chara,b,c;
D.Chara,b,c
A.Char:a,b,c;
B.Chara;b;c;
C.Chara,b,c;
D.Chara,b,c
3.main()
{intn;
(n=6*4,n+6),n*2;
printf(“n=%d\n”,n);
{intn;
(n=6*4,n+6),n*2;
printf(“n=%d\n”,n);
}此程序的输出结果是______________.
A.30
B.24
C.60
D.48
A.30
B.24
C.60
D.48
4.若有如下定义,则__________和_________是对数组元素的正确的引用。.
inta[10],*p;
p=a;
A.*&a[10]
B.a[11]
C.*(p+2)
D.*p
inta[10],*p;
p=a;
A.*&a[10]
B.a[11]
C.*(p+2)
D.*p
5.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A.0
A.0
B.4
C.-4
D.2
C.-4
D.2
6.表达式y=(13>12?15:6>7?8:9)的值为____________。
A9
B8
C15
D.1
A9
B8
C15
D.1
7.若x=5,y=3则y*=x+5;y的值为_______________.
A.10
B.20
C.15
D.30
A.10
B.20
C.15
D.30
8.C语言的输入与输出操作是由____________完成的。
A.输入语句
B.输出语句
C.输入与输出函数
D.输入与输出语句
B.输出语句
C.输入与输出函数
D.输入与输出语句
9.语句for(k=0;k<5;++k)
{if(k==3)continue;
printf(“%d”,k);
}的输出结果为___________.
A.012
B.0124
C.01234
D.没有输出结果
{if(k==3)continue;
printf(“%d”,k);
}的输出结果为___________.
A.012
B.0124
C.01234
D.没有输出结果
10.从循环体内某一层跳出,继续执行循环外的语句是:___________。
A.break语句
A.break语句
B.return语句
C.continue语句
D.空语句。
C.continue语句
D.空语句。
11.Break语句的正确的用法是____________。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论