计算机考试必考题


~~~1
以下叙述中正确的是( )。
C语言的源程序不必通过编译就可以直接运行
C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C源程序经编译形成的二进制代码可以直接运行
C语言中的函数不可以单独进行编译
~B
~~~1

~~~1
对计算机进行程序控制的最小单位是( )。
语句
字节
指令
程序
~C
~~~1
编制一个好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的( )。
易使用性、易维护性和效率
易使用性、易维护性和易移植性
易理解性、易测试性和易修改性
易理解性、安全性和效率
~B
~~~1
与高级语言相比,用低级语言(如机器语言等)开发的程序,其结果是( )。
运行效率低,开发效率低
运行效率低,开发效率高
运行效率高,开发效率低
运行效率高,开发效率高
~C
~~~1
程序设计语言的语言处理程序是一种( )。
系统软件
应用软件
办公软件
工具软件
~A
~~~1
( )是常见的两类程序设计语言处理程序。
高级语言程序和低级语言程序
解释程序和编译程序
编译程序和操作系统
系统程序和应用程序
~B
~~~1
计算机只能直接运行( )。
高级语言源程序
汇编语言源程序
机器语言程序
任何源程序
~C
~~~1
将高级语言的源程序转换成可在机器上独立运行的程序的过程称为( )。
解释
编译
连接
汇编
~B
~~~1
著名计算机科学家Nikiklaus Wirth提出一个公式:程序=______。
数据+运算符
数据结构+算法
结构+函数
运算符+运算数
~B
~~~1
解释程序和编译程序的主要区别之一在于______。
单用户与多用户的差别
对用户程序的查错能力
机器执行的效率
是否生成目标程序
~D
~~~1
以下叙述正确的是______。
C语言比其他语言高级
C语言可以不用编译就能被计算机识别执行
C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
C语言出现的最晚、具有其他语言的一切优点
~C
~~~2
C语言中最简单的数据类型包括( )。
整型、实型、逻辑型
整型、实型、字符型
整型、字符型、逻辑型
整型、实型、逻辑型、字符型
~B
~~~2
请选出可用作C语言用户标识符的一组标识符( )。
void ,define ,WORD
a3_b3,_123,IF
FOR,——abc , Case
2a,Do,Sizeof
~B
~~~2
C语言中合法的字符常量是( )
'\084'
'\x43'
'ab'
"\0"
~B
~~~2
下列运算符中,哪一个优先级最低?
?:
=
>=
==
~B
~~~2
以下能正确定义且赋初值的语句是( )。
int n1=n2=10;
char c=32;
float f=f+1.1;
double x=12.3e2.5;
~B
~~~2
设有定义:int k=1,m=2; float f=7;则以下选项中错误的表达式是( )。
k=k>=k
-k++
k%f
k>=f>=m
~C
~~~2
设有定义:int a=2,b=3,c=

4;则以下选项中值为0的表达式是( )。
(!a==1)&&(!b==0)
!a||b||c
a&&b
a||(b+b)&&(c=a)
~A
~~~2
Char p[]={'a','b','c'},q[]="abc";printf("%d %d %d\n",sizeof(p),sizeof(q),strlen(q)); 以上程序段的输出结果是( )。
3 4 4
3 3 3
3 4 3
4 3 4
~C
~~~2
根据程序段判断:char a1='M',a2='m'; printf("%c\n",(a1,a2)); 以下叙述中正确的是( )。
程序输出大写字母M
程序输出小写字母m
格式说明符不足,编译出错
程序运行时产生出错信息
~B
~~~2
设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )。
1
2
3
0
~B
~~~2
有以下程序段 char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入:a<回车>后,以下叙述中正确的是( )。
变量c1将被赋字符a,c2被赋回车符
程序将等待用户输入第二个字符
变量c1被赋字符a,c2中仍是原有字符2
变量c1被赋字符a,c2中将无确定值
~A
~~~2

~~~2
在c语言中,运算对象必须是整型数的运算符是( )。
%
\
%和\
**
~A
~~~2
以下语句的输出结果是_____。 printf("%d\n",NULL);
不确定的(因变量无定义)
0
-1
1
~B
~~~2


以下能定义为用户标识符的是____。
34
e#
int
name
~D
~~~2

~~~2
英文小写字母c的ASCII码为99, 英文大写字母C的ASCII码为______。
50
66
52
67
~D
~~~2
下列叙述中错误的是( )。
用户所定义的标识符允许作到使用关键字
用户所定义的标识符应尽量作到“见名知意”
用户所定义的标识符必须以字母或下划线开头
用户所定义的标识符中,大小写字母代表不同标识
~A
~~~2
若int a=3,则执行完表达式a+=a-=a*a后,a的值是( )。
-3
9
-12
6
~C
~~~2
设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( 32)。

~~~2
设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( )。
a+=a-=(b=4)*(a=3)
x%(-3);
a=a*3=2
y=float(i)
~A
~~~2
假定有以下变量定义:int k=7,x=12;则能使值为3 的表达式是( )。
x%=(k%=5)
x%=(k-k%5)
x%=k-k%5
(x%=k)-(k%=5)
~D
~~~2

~~~2
设 x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是( )。
把x和y按从大到小排列
把x和y按从小到大排列
无确定结果
交换x和y中的值
~D
~~~2
以下程序段的输出结果是:( )。int a=12,b=12;printf("%d %d\n",--a,++b);
10 10
12 12
11 10
11 13
~D
~~~2
编制好的程序时,应强调良好的编程风格,如,选择标识符的名字时应考虑( )。
名字长度越短越好,以减少源程序的输入量
多个变量共用一个名字,以减少变量名的数目
选择含义明确的名字,以正确提示所代表的实体
尽量用关键字作名字,

以使名字标准化
~C
~~~3
一个C程序的执行是从( )。
本程序的main函数开始,到main函数的结束
本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束
本程序文件的main开始,到本程序文件的最后一个函数的结束
本程序文件的第一个函数开始,到本程序文件的main函数的结束
~A
~~
结构化程序设计所规定的三种基本结构是( )。
主程序、子程序、函数
树形、网形、环形
顺序、选择、循环
输入、处理、输出
~C
~
~~~4
当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )。
K%2
K%2==1
(K%2)!=0
!K%2==1
~D
~~

C语言中下列叙述正确的是( )。
不能使用do-while语句构成的循环
do-while语句构成的循环,必须用break语句才能退出
do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
do-while语句构成的循环,当while语句中的表达式值为零时结束循环
~D
~~~4
以下程序段输出结果是:( )。int m=5;if (m++>5) printf("%d\n",m);else printf("%d\n",m--);
7
6
5
4
~C
~~~4
当执行以下程序段时:( )。x=-1; do {x=x*x;}while(!x);
循环体将执行两次
循环体将执行一次
循环体将执行无限次
系统将提示有语法错误
~B
~~~4
执行以下程序段后,输出的结果是( )。int y=10;do {y--;} while (--y);print("%d\n",y--);
-1
1
8
0
~D
~~~4
为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。
缩排位置相同的if
与其之前未配对的if
与其之前未配对的最近的if
同一行上的if
~C
~~~4

~~~5
以下关于函数的叙述中正确的是( )。
每个函数都可以被其他函数调用(包括main函数)
每个函数都可以被单独编译
每个函数都可以单独运行
在一个函数内部可以定义另一个函数
~B
~~~5
设函数FUN的定义形式为:void fun(char ch,float x){……………}以下对函数的调用语句中,正确的是( )。
fun("abc",3.0);
t=fun("abc",16.5);
fun('65',2.8);
fun(32,32);
~D
~~~5
简单变量做实参时,它相对应形参之间的数据传递方式是( )。
地址传递
单向值传递
由实参传给形参,再由形参传回给实参
由用户指定传递方式
~B
~~~5
建立函数的目的选项是( )。
提高程序的执行效率
提高程序的可读性
减少程序的篇幅
减少程序文件所占内存
~B
~~~5
下面关于递归的说法错误的是( )。
每次当一个递归函数被调用时, 程序首先应该检查其些基本的条件是否满足了, 例如某个参数的值等于零, 函数应停止递归;
每次当函数被递归调用时, 传递给函数一个或多个参数, 应该以某种方式变得"更简单";
一般情况下, 递归方法比迭代方法快;
递归函数的目

的是执行一系列调用, 一直到达某一点, 序列终止。
~C
~~~5
下面说法正确的是( )。
函数定义可以嵌套,但函数调用不能嵌套
函数定义不可以嵌套,但函数调用可以嵌套
函数定义和调用均不能嵌套
函数定义和调用均可以嵌套
~B
~~~5
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
函数调用可以作为独立的语句存在
函数调用可以作为一个函数的实参
函数调用可以出现在表达式中
函数调用可以作为一个函数的形参
~D
~~~5
以下关于说法正确的是( )。
实参和与其对应的形参各占用独立的存储单元
实参与其对应的形参共占用一个存储单元
实参和与其对应的形参同名时才共占用存储单元
形参虚拟的,不占用存储单元
~A
~~~5
若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是( )。
无返回值
返回若干个系统默认值
能返回一个用户所希望的函数值
返回一个不确定的值
~A
~~~5
在c语言中以下不正确的说法是( )。
实参可以是常量、变量或表达式
形参可以是常量、变量或表达式
实参可以为任意类型
形参应与其对应的实参类型一致
~B
~~~5
下列程序段的输出结果是( )。#define M(x,y) x*y printf("%d",M(10+2,2));
14
24
50
32
~A
~~~5
若程序中定义了以下函数:double myadd(double a,double b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。
double myadd(double a,b);
double myadd(double,double);
double myadd(double b,double a);
double myadd(double x,double y);
~A
~~~5
程序设计中,以下错误的描述是( )。
在函数之外定义的变量称为外部变量,外部变量是全局变量
在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量
外部变量定义和外部变量说明的含义不同
若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用
~A
~
~~~5
程序设计中,下列结论只有一个是正确的,它是( )。
在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候一定会相互影响
在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候可能会相互影响
在递归函数中使用自动变量不必担心,因为在递归过程中,不同层次的同名变量在赋值的时候肯定不会相互影响
在程序设计语言中无法得出以上结论之一
~C
~~~5
下面关于变量的说法错误的是( )。
全局变量是所有在函数和类外定义的变量
局部变量是在块或函数中定义的变量

在同一作用域内变量不能同名
变量作用域不能重叠
~D
~~~5
下面关于变量的生存周期的说法错误的是( )。
全局变量的生存周期从程序运行开始到程序结束
局部变量的生存周期从块或函数的开始到块或函数的结束
静态局部变量的生存周期与全局变量相同
静态全局变量的作用域是整个程序
~D
~~~6
下列数据结构中,能用二分法进行查找的是( )。
顺序存储的有序线性表(数组)
线性链表
二叉链表
有序线性链表
~A
~~~6
数组名作为参数传递给函数,作为实在参数的数组名被处理为( )。
该数组的元素个数
该数组中各元素的值
该数组的首地址
以上答案均不对
~C
~~~6
若使用一维数组名作函数实参,则以下正确的说法是( )。
无须在主调函数中说明此数组的大小
实参数组类型与形参数组类型可以不匹配
在被调用函数中,不需要考虑形参数组的大小
实参数组名与形参数组名必须一致
~C
~~~6
函数调用strcat(strcpy(str1,str2),str3)的功能是( )。
将串str1复制到串str2中后在连接到串str3之后
将串str1连接到串str2之后再复制到串str3之后
将串str2复制到串str1中后再将串str3连接到串str1之后
将串str2连接到串str1中后再将串str1复制到串str3中
~C
~~~6
下列描述中不正确的是( )。
字符型数组中可以存放字符串
可以对字符型数组进行整体输入、输出
可以对整型数组进行整体输入、输出
不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
~C
~~~6
设有数组定义: char array [ ]="HELLO"; 则数组 array的长度为( )。
4
5
6
7
~C
~~~6
以下不能正确进行字符串赋初值的语句是( )。
char str[5]="good!";
char str[]="good!";
char *str="good!";
char str[5]={'g','o','o','d'};
~A
~~~6
当调用函数时,实参是一个数组名,则向函数传送的是( )。
数组的长度
数组的首地址
数组每一个元素的地址
数组每个元素中的值
~B
~~~6
下面正确进行字符串赋值操作的语句是( )。
char s[5]=["ABCDDE"];
char s[4]={'A','B','C','D','E'};
char *s;s="ABCDEF";
char *s; scanf("%s",s);
~C
~~~6
有以下程序:char a[]="abcdefg",b[10]="abcdefg";printf("%d %d\n",sizeof(a),sizeof(b));执行后输出结果是( )
7 7
8 8
8 10
10 10
~C
~~~6
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。
char s[10]="abcdefg";
char t[]="abcdefg",*s=t;
char s[10];s="abcdefg";
char s[10];strcpy(s,"abcdefg");
~C
~~~6
若有以下程序段:int a[5] = {1,2,3,4,5}; int *p = a;则以下说法正确的是()
a可以做自增运算,即有a++;
p可以做自增运算,即有p++;
a和p都可以做自增运算,即有a++和p++;
a和p都不能做自增运算。
~B
~~~7
若有语句:char *LINE[5]

;以下叙述中正确的是( )。
定义LINE是一个数组,每个数组元素是一个基类型为char的指针变量
定义LINE是一个指针变量,该变量可以指向一个长度为5的字符型数组
定义LINE是一个指针数组
定义LINE是一个指向字符型函数的指针
~A
~~~7
设有定义,int n1=0,n2,*p=&n2,*q=&n1; 以下赋值语句中与n2=n1;语句等价是( )。
*p=*q;
p=q;
*p=&n1;
p=*q;
~A
~~~7
若有定义:int x=0,*p=&x;则语句printf("%d\n",*p);的输出结果是( )。
随机值
0
x的地址
p的地址
~B
~~~7
有以下程序: main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2; printf("%d\n",*p+*q); } 程序运行后的输出结果是 ( )。
16
10
8
6
~D
~~~7
已定义以下函数: int fun(int *p) { return *p; } 该函数的返回值是( )。
不确定的值
形参p中存放的值
形参p所指存储单元中的值
形参p的地址值
~C
~~~7
若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( )。
p+l
a+l
a++
++p
~C
~~~7
若有说明语句:int a,b,c, *d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是( )。
scanf("%d%d%d",&a,&b,d);
scanf("%d%d%d",&a,&b,&d);
scanf("%d%d%d",a,b,d);
scanf("%d%d%d",a , b,*d);
~A
~~~7
设已有定义: char *st="how are you"; 下列程序段中正确的是( )。
char a[11], *p=a; strcpy(p,&st[4]);
char a[11]; strcpy(++a, st);
char a[11]; a=st;
char a[], *p; strcpy(p=&a[1],st+2);
~D
~~~3
以下叙述中错误的是( )。
C语言中对二进制文件的访问速度比文本文件快
C语言中,随机文件以二进制代码形式存储数据
语句 FIEL FP ;定义了一个名为FP的文件指针
C语言中的文本文件以ASCII码形式存储数据
~C
~~~3
通常,文件的逻辑结构可以分为无结构的______和有结构的记录式文件。
堆文件
流式文件
索引文件
直接(Hash)文件
~B
~~~3
通常,文件的逻辑结构可以分为两大类:无结构的流式文件和有结构的______文件。
记录式文件
流式文件
索引文件
直接(Hash)文件
~A
~~~3
在文件系统中最大的数据单位是( )。
数据项
记录
文件
数据库
~C




相关文档
最新文档