一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)
1. 下列关于C语言的说法不正确的是( D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能
B.注释可以出现在程序中任意合适的地方
B.注释可以出现在程序中任意合适的地方
C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分
D.定义函数的首行要加分号
2. C语言程序的执行顺序是( B )。
A.从第一个函数开始执行 B.从main函数开始执行
C.从任意函数开始执行 D.从第一条语句开始执行
C.从任意函数开始执行 D.从第一条语句开始执行
3. 以下关于注释的叙述,正确的是( D )。
A.注释参与编译,影响程序结果
B.注释不参与编译,但影响程序结果
C.注释参与编译,但不影响程序结果
D.注释不参与编译,不影响程序结果
C.注释参与编译,但不影响程序结果
D.注释不参与编译,不影响程序结果
4. 以下叙述正确的是( A )。
A.C语言程序可以在任意C编译器下编译
B.C语言程序只能在TC环境下编译
C.C语言程序只能在VC或TC环境下编译
D.C语言程序只能在VC环境下编译
B.C语言程序只能在TC环境下编译
C.C语言程序只能在VC或TC环境下编译
D.C语言程序只能在VC环境下编译
5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。
A.必须为字母
B.必须为下划线或字母
C.必须为下划线
D.可以是字母,数字和下划线中任一字符
B.必须为下划线或字母
C.必须为下划线
D.可以是字母,数字和下划线中任一字符
6. 下面四个数字常量选项中,书写均正确的是( D )。
A.016 0x8f 018 (零开头的是八进制,不能用8) B.0312 7ff -087(8进制没有符号)
C.0xbc 0a7(8进制没有a) 0xa D.070 0xf1 0x19(16进制以ox开头)
C.0xbc 0a7(8进制没有a) 0xa D.070 0xf1 0x19(16进制以ox开头)
7. 若有说明语句:char c=0x7f;则变量c( B )。
A.包含3个字符 B.包含1个字符
C.包含2个字符 D.说明不合法,c的值不确定
C.包含2个字符 D.说明不合法,c的值不确定
8. 设有int x=11;则表达式(++x*1/3)的值是( B )。(11+1再除以3)
A.3 B.4 C.11 D.12
9. 阅读下面程序段,输出结果为( B )。(z-a=25)
#include "stdio.h"
void main()
{ char c;
c=('z'-'a')/3+'A';
putchar(c);}
A.H B.J C.I D.K
10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);
输出结果是( D )。
A. 17,15 B.17,18 C.18,19 D. 17,19
11. 已有定义语句:int x=3,y=4,z=5;则值为0的表达式是( D )。
A.y%z>=y-z B.x<=++y C.x!=y+z>y-z D.x>y++
求余数4/5余数4 3小于等于5 x≠ 3>4为假,为0
12. 有如下程序(1.0除以3.0)
#include "stdio.h"
void main()
{float x=3.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);}
该程序的输出结果是( A )。
A. 0.333333 B.0.250000 C. 0.000000 D.1.000000
*13. 有以下程序
#include <stdio.h>
void main()
{ int i=5;
do
{ if (i%3==1)
if (i%5==2)
{ printf("*%d", i); break;}
i++;
} while(i!=0);
printf("*%d\n",i);
}
程序的运行结果是( C )。
A.*2*6 B.*3*5 C.*7 D.*5
14. 以下程序段的变量已正确定义
for(i=0;i<4;i++,i++,i++)
for(k=1;k<3;k++)printf("#");
程序段的输出结果是 ( B )。
A.>### B.#### C.## D.#
15. 有以下程序(S是数组)
#include <stdio.h>
关于printf函数正确的是void main()
{ int s[12]={2,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf("%d ",c[i]);
printf("\n");}
程序的运行结果是 ( A )。
A. 3 4 3 2 B.2 3 4 4 C. 1 2 3 4 D.1 1 2 3
16. 有下列程序:
#include <stdio.h>
#include <string.h>
void f(char p[ ][10],int n)
{ char t[10]; int i,j;
for (i=0;i<n-1; i++)
for (j=i+1; j<n; j++)
if(strcmp(p[i], p[j])>0) {strcpy(t, p[i]); strcpy(p[i], p[j]); strcpy(p[j], t); }
}
void main( )
{ char p[5][10]={"1ha", "abbdfg", "aabd", "dcdbe", "cd"};
f(p, 5);
printf("%d\n", strlen(p[0]));}
程序运行后的输出结果是 ( D )。
A.2 B.4 C.6 D.3
17. 有下列程序:
#include <stdio.h>
#include <string.h>
void main()
{ char p[20]={'a', 'b', 'c', 'd'}, q[]="ab", r[]="abcde";
strcpy(p+strlen(q), r); strcat(p, q);
printf("%d %d\n", sizeof(p), strlen(p));}
程序运行后的输出结果是 ( A )。
A.20 9 B.9 9 C.20 11 D.11 11
18. 以下正确的函数定义(函数的功能求两数之和)是 ( C )。
A.int fun(int x, int y) { z=x+y ; return z ; } (Z没有定义)
B.fun (int x,int y) { double z ;z=x+y ; return z ; } (没定义)
C.int fun(int x,y) { int z ; return z ;} (没运算)
D.int fun (int x, int y) { double z ;return z ; }
B.fun (int x,int y) { double z ;z=x+y ; return z ; } (没定义)
C.int fun(int x,y) { int z ; return z ;} (没运算)
D.int fun (int x, int y) { double z ;return z ; }
19. 以下func函数的调用中实参的个数是( B )。
func((exp1,exp2),(exp3,exp4,exp5));
A.1 B.2 C.5 D.3
20. 有以下程序:
#include <stdio.h>
int fun1(double a){return a*=a;}
int fun2(double x,double y)
{
double a=0,b=0;
a=fun1(x); b=fun1(y); return (int)(a+b);
}
void main()
{double w; w=fun2(2.2,2.0);……}
程序执行后变量w中的值是( D )。
A.8.84 B.5.0 C.8 D.8.0
21. 若有以下程序:
#include<stdio.h>
void f(int n);
void main()
{ void f(int n);
f(5); }
void f(int n)
{printf("%d\n",n); }
则以下叙述中不正确的是( D )。
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.函数f无返回值,所以可用void将其类型定义为无值型
C.对于以上程序,编译时系统不会提示出错信息:提示对f函数重复说明
D.若在主函数前对函数f进行说明,则在主函数和其他函数中都可以正确调用函数f
B.函数f无返回值,所以可用void将其类型定义为无值型
C.对于以上程序,编译时系统不会提示出错信息:提示对f函数重复说明
D.若在主函数前对函数f进行说明,则在主函数和其他函数中都可以正确调用函数f
22. 以下叙述不正确的是( A )。
A.在函数内复合语句中定义的变量也可在本函数范围内有效
B.函数中的形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在不同的函数中可以使用同名的变量
B.函数中的形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在不同的函数中可以使用同名的变量
23. 若有以下定义,则对a数组元素地址的正确引用是( C )。
int a[10],*p=a;
A.p+10 B.*a+1 C.&a[9] D.&a+1
25. 下面程序段的运行结果是( D )。
char *s="abcde";
s+=3; printf("%d",s);
A.cde B.字符'c' C.无确定的输出结果 D.字符'd'的地址
26. 已定义以下函数
fun(char *pa, char *pb)
{ while((*pb=*pa)!='\0'){pa++;pb++;}}
函数的功能是( D )。
A.检查pa和pb两个指针所指字符串中是否有'\0'
B.将pa所指字符串的地址赋给指针pb
C.对pa和pb两个指针所指字符串进行比较
D.将pa所指字符串复制到pb所指内存空间中
B.将pa所指字符串的地址赋给指针pb
C.对pa和pb两个指针所指字符串进行比较
D.将pa所指字符串复制到pb所指内存空间中
27. 表达式y=(12>13?15:6>7?8:9)的值为( C )。
A.1 B.8 C.9 D.15
28. 下列能正确定义字符串的语句是( B )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
二级C语言笔试-465_真题-无答案
« 上一篇
计算机等级《二级C语言程序设计》押题卷
下一篇 »
发表评论