2017年全国计算机二级考试题库2(C语言)
-
以下程序运行后的输出结果是【 】。
#include<string.h>
void fun(char *s,int P,int k)
{int i;
for(i=p;i<k-1;i++)s[i]=s[i+2];
main()
{char s[]="abcdefg";
fun(s,3,strlen(s));puts(s)
}
-
下列程序的运行结果是______。
#define POW(r) (r)*(r)
main()
{ int x=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
-
有以下程序:
int fa(int x){return x*x;}
int fb(int x){returnx*x*x;}
int f(int(*f1)(),int(*f2)(),(int x)
{return f2(x)-f1(x);}
main()
{int i;i=f(fa,fb,2);printf("%d\n",i);}
程序运行后,输出结果是【 】。
-
以下程序的功能是输出如下形式的方阵:
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4
请填空。
main()
{ int i, j, x;
for(j=4; j>0; j--)
{ for(i=1; i<=4; i++)
{x=(j-1)*4+【 】;
printf("% 4d", x);
}
printf("\n");
}
}
-
以下是if语句的基本形式: if(表达式) 语句 其中“表达式”______。
- A.必须是逻辑表达式
- B.必须是关系表达式
- C.必须是逻辑表达式或关系表达式
- D.可以是任意合法的表达式
-
软件是指
- A.程序
- B.程序和文档
- C.算法加数据结构
- D.程序、数据与相关文档的完整集合
-
在“文件包含,预处理语句的使用形式中,当#include后面的文件名用(双引号)括时,寻找被包含文件的方式是( )。
- A.直接按系统设定的标准方式搜索目录
- B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
- C.仅仅搜索源程序所在目录
- D.仅仅搜索当前目录
-
有以下程序:#include <stdio, h>main( ) { char c1='1',c2='2'; c1=getchar();c2=getchar();putchar(c1);putchar(c2); } 当运行时输入:a<回车>后,以下叙述正确的是( )。
- A.变量c1被赋予字符a,c2被赋予回车符
- B.程序将等待用户输入第二个字符
- C.变量c1被赋予字符a,c2中仍是原有字符2
- D.变量c1被赋予字符a,c2中将无确定值
-
下列程序的输出结果是( )。 main() { int a=1,b=2; printf("%d,%d\n",--a,++b); }
- A.1,2
- B.1,3
- C.0,2
- D.0,3
-
下面是有关c语言字符数组的描述,其中错误的是
- A.不可以用赋值语句给字符数组名赋字符串
- B.可以用输入语句把字符串整体输入给字符数组
- C.字符数组中的内容不一定是字符串
- D.字符数组只能存放字符串
-
下面程序的输出结果是______。 #inc1ude<stdio.h> main() { char*p[]={"BOOL","OPK","H","SP"}; int i; for(i=3;i>=0;i-,i-) prinf("%c",*p[i]); print("\n") }
- A.SO
- B.SP
- C.SPOPK
- D.SHOB
-
有以下程序
main( )
{ int k=5,n=0;
do
{ switch(k)
{ case 1: case 3:n+=1;k--;break;
default:n=0;k--;
case 2: case 4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n<5);
}
程序运行后的输出结果是
- A.235
- B.0235
- C.02356
- D.2356
-
下面程序的运行结果是( )。 #include<stdio.h> main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
- A.-1
- B.1
- C.8
- D.0
-
已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是
- A.一个整型变量,代表要读入的数据项总数
- B.一个文件指针,指向要读的文件
- C.一个指针,指向要读入数据的存放地址
- D.一个存储区,存放要读的数据项
-
若有以下程序
则程序的输出结果是
- A.3
- B.7
- C.6
- D.10
-
若x和y都是int型变量,x=100,y=200,且有程序片段:printf("%d",(x,y)); 上面程序片段的输出结果 ( )
- A.200
- B.100
- C.100 200
- D.输出格式符不够,输出不确定的值
-
下面程序的运行结果是 ( ) # include<stdio.h> # include<string.h> main( ) { char * a="AbcdEf",* b="aBcD" a + +;b + +; printf("%d\n",strcmp(a,b)); }
- A.0
- B.负数
- C.正数
- D.无确定值
-
以下不正确的叙述是
- A.在C程序中,逗号运算符的优先级最低
- B.在C程序中,APH和aph是两个不同的变量
- C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
- D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
-
若有以下程序
则程序的输出结果是
- A.China!
- B.to China!
- C.me you to China!
- D.you to China!
-
若有定义:intw[3][5],则以下不能正确表示该数组元素的表达式是______。
- A.*(*w+3)
- B.*(w+1)[4]
- C.*(*(w+1))
- D.*(&w[0][0]+1)
-
将发送端数字脉冲信号转换成模拟信号的过程称为
- A.链路传输
- B.调制
- C.解调
- D.数字信道传输
-
下列程序的输出结果是( )。 main() {char a[7]="a0\0a0\0";int i,j; i=sizeof(a); j=strlen(a); printf("%d %d\n",i,j); }
- A.2 2
- B.7 6
- C.7 2
- D.6 2
-
若有以下定义,则能使值为3的表达式是int k=7,x=12;
- A.x%=(k%=5)
- B.x%=(k-k%5)
- C.x%=k-k%5
- D.(x%=k)-(k%=5)
-
若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;
- A.x=1987
- B.birth.x=1987;
- C.p.birth.x=1987;
- D.p.x=1987;
-
下列关于标识符的说法中错误的是
- A.合法的标识符是由字母、数字和下划线组成
- B.C语言的标识符中,大写字母和小写字母被认为是两个不同的字符
- C.C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符
- D.用户标识符与关键字不同时,程序在执行时将给出出错信息
-
算法的时间复杂度是指( )。
- A.执行算法程序所需要的时间
- B.算法程序的长度
- C.算法程序中的指令条数
- D.算法执行过程中所需要的基本运算次数
-
有以下程序
#include
main()
{ char ch[3][5]={“AAAA”, ”BBB”, ”CC”};
printf(“%s\n”, ch[1];)
}
程序运行后的输出结果是()
- A.AAAA
- B.CC
- C.BBBCC
- D.BBB
-
若变量均已正确定义并赋值,以下合法的C语言赋值语句是______。
- A.x=y==5;
- B.x=n%2.5;
- C.x+n=i
- D.x=5=4+1;