全国高校计算机等级考试(二级C)模拟一试题
一、选择题
1、设有语句:int k, *p; 以下能正确执行的赋值语句是(D )。
A、k=p B、k=&p C、P=K D、p=&k
2、以下运算符中优先级最高的运算符是( A )。
A、! B、&& C、|| D、<
3、求字符串长度的函数是( D )。
A、strcat B、strcpy C、strcmp D、strlen
4、下面程序段的运行结果是( A )。
char x[5]=“ab\0c\0”;
printf("%s",x);
说明:“\0”中的“0”是数字零。
A、ab B、abc C、ab\0 D、ab\0c\0
5、若有说明语句: int a[2][4]; 则对数组a元素的正确引用是( D )。
A、a[2] B、a[4] C、a[2][4] D、a[1][3]
6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。
A、float型 B、int型 C、long型 D、double型
7、用数组名作为函数调用的实参时,传递给虚参的是( A )。
A、数组的首地址 B、数组第一个元素的值 C、数组中全部元素的值 D、数组元素的个数
8、以下程序的输出结果是( D )。
#include<stdio.h>
#define F(y) 8-y
void main(void)printf是不是c语句
{
int x,y;
y=F(2);
printf(“y=%d”,y);
}
A、2 B、y=2 C、6 D、y=6
9、以下程序的输出结果是( A )。
#include<stdio.h>
struct
{
int x,y;
} a;
void main(void)
{
int x,y=50,z;
a.x=10;
a.y=20;
z=a.x+y;
printf(“%d”,z);
}
A 、60 B 、10 C、0 D、20
10、语句 fopen(“file.dat”,”r”); 的功能是( A )。
A、按照“读”方式打开文件 B、按照“写”方式打开文件
C、按照“读写”方式打开文件 D、按照“追加”方式打开文件
11、关闭文件的语句是( D )。
A、fread B、fwrite C、fprintf D、fclose
12、下面求余数的运算符是( C )。
A、 / B、^ C、% D、~
13、下面对字符数组的描述中错误的描述是( C )。
A、字符数组可以存放字符串 B、字符数组的字符可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D、可以用关系运算符对字符数组中的字符进行比较
14、下面正确的字符常量是( C )。
A、300 B、'ab' C、'!' D、"a"
15、下面关于main函数与其它子函数之间的位置关系的叙述中正确的是( C )。
A、main函数必须是程序中的第一个函数
B、main函数如果程序中有多个函数,则不能位于最前面
C、main函数可以在任何位置
D、main函数必须是程序中最后一个函数
16、设float x=12.8,y=8.6;则(int)(x+y)的结果为( B )。
A、20 B、21 C、21.4 D、22
17、一个C程序的执行是从( A )。
A、本程序的main函数开始,到main函数结束
B、本程序的第一个函数开始,到本程序的最后一个函数结束
C、本程序的main函数开始,到本程序的最后一个函数结束
D、本程序的第一个函数开始,到本程序main函数结束
18、以下关于函数的实参与虚参(又称形参)的叙述中不正确的说法是( B )。
A、实参可以是常量、变量或表达式 B、虚参可以是常量、变量或表达式
C、虚参应与其对应的实参类型应当尽量一致
D、虚参为指针时,与其对应的实参只能是表示地址的表达式
19、下面关于注释语句的叙述中正确的叙述是( C )。
A、注释语句必须单独占用一行 B、注释语句必须在语句行的末尾
C、注释语句可以跨行使用 D、注释语句不能单独占用一行
20、以下表达式不等价的一组是( A )。
A、a!=b 与 a=a!b B、a|=b 与 a=a|b C、a+=b 与 a=a+b D、a-=b 与 a=a-b
21、若有以下类型说明语句:
char a; int b; float c; double d; 则表达式a*b+d-c的运算结果的类型为( D )。
A、float B、char C、int D、double
22、设C语言中,unsigned int型数据的取值范围为( A )。
A、0~65535 B、0~32767 C、1~65535 D、1~32767
23、在任何时候,都能正确计算两个数之差的宏定义是( D )。
A、#define SUB(x,y) (x-y) B、#define SUB(x,y) (x)-(y)
C、#define SUB(x,y) x-y D、#define SUB(x,y) ((x)-(y))
24、以下不正确的说法为( C )。
A、在不同函数中可以使用相同名字的变量 B、虚参视同函数的局部变量
C、在函数内的复合语句中定义的变量在本函数范围内有效
D、在函数内定义的变量只在本函数范围内有效
25、!E 等价于( B )。
A、E!=0 B、E==0 C、E!=1 D、E==1
26、字符串比较大小的函数是( C )。
A、strcpy B、strlen C、strcmp D、strcat
27、若有说明语句: int a[ ][4]={1,2,3,4,5,6};,则数组的行数为( C )行。
A、6 B、4 C、2 D、1.5
28、C语言规定,函数返回值的类型由( B )。
A、return语句中的表达式类型所决定 B、在定义该函数时函数头所指定的函数类型所决定
C、调用该函数时的主调函数类型所决定 D、调用函数时由系统临时决定
29、非指针型变量做实参时,它和对应虚参之间的数据传递方式是( B )。
A、地址传递B、单向值传递C、双向值传递D、由用户指定传递方式
*30、建立子函数的主要目的之一是( B )。
A、提高程序的执行效 B、提高程序的可读性
C、减少程序所占磁盘空间 D、减少程序所占内存空间
二、填空题
31、下面程序段用来打印出正整数n以内能被3整除的所有正奇数。
scanf("%d",&n);
if (n<0) n= -n;
for(i=1 ; i<n; i++)
if ( i%2!=0 && i%3 ( ==0 ) ) printf("%d ", ( i ) );
32、下面程序的功能是输出数组中相邻两个数的和能被10整除的所有“数对”以及“数对”的个数。如:对于下面的数组:d[]={1,3,7,23,3,6,14,8,10}
将输出:(3,7) (7,23) (6,14) 3 对
#include<stdio.h>
void main(void)
{
int d[]={1,3,7,23,3,6,14,8,10,57,13,90};
int i,count,s
count= ( 0 ) ; /* count为“数对”的个数计数器 */
for(i=0; i<11; i++)
{
s=d[i]+ ( d[i+1] ) ; /* 计算相邻两个数的和 */
if (s%10= =0)
{
printf(“(%d,%d) ”, d[i],d[i+1]);
count=count + ( 1 ) ;
}
}
printf(“%d 对”,count);
33、下面程序的功能是将字符串s中所有的字符c删除。
#include<stdio.h>
void main(void)
{
char s[80];
int i,j;
gets( ( s ) ); /* 输入字符串 */
j= ( 0 ) ; /* 计数器初始化 */
for(i=0;s[i]!='\0';i++)
if (s[i]!='c')
{
s[j]=s[i]
j++;
}
s[j]=’\0’ ; /* 写入字符串结束标志 */
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论