C)字符′c′的地址
D)无确定的输出结果
(29)已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是
void print_value(int *x)
{printf(“%d\n”,++*x);}
A)23
B)24
C)25
D)26
(30)当顺利执行了文件关闭操作时,fclose函数的返回值是
A)-1
B)TRUE
C)0
D)1
(31)设有如下定义
char *s[2]={ “abcd”,“ABCD”};
则下列说法错误的是
A)s数组元素的值分别是“abcd”和“ABCD”两个字符串的首地址
B)s是指针数组名,它含有两个元素分别指向字符型一维数组
C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素
D)s数组的两个元素中分别存放了字符′a′和′A′的地址
(32)以下不能对二维数组a进行正确初始化的语句是
A)int a[2][3]={0};
B)int a[][3]={{1,2},{0}};
C)int a[2][3]={{1,2},{3,4},{5,6}};
D)int a[][3]={1,2,3,4,5,6};
(33)有以下程序
struct STU
{ char num[10]; float score[3]; };
main()
{struct STU s[3]={{“20021”,90,95,85},
{“20022”,95,80,75},
{ “20023”,100,95,90},
},*p=s;
int i; float sum=0;
for(i=0;i《3;i++)
sum=sum+p-》score[i];
printf(“%6.2f\n”,sum);
}
程序运行后的输出结果是
A)260.00
B)270.00
C)280.00
D)285.00
(34)若有说明:int a[10];则对a数组元素的正确引用是
A)a[10]
B)a[3,5]
C)a(5)
D)a[10-10]
(35)下面程序段中,输出*的个数是
char *s=“\ta\018bc”;
for(;*s!=′\0′;s++)printf(“*”);
A)9
B)5
C)6
D)7
(36)设有如下函数
fun (float x)
{
printf(“\n%d”,x*x);}
则函数的类型是
A)与参数x的类型相同
B)是void
C)是int型
D)无法确定
(37)有如下定义
#define D 2
int x=5;float y=3.83;
char c=′D′;
则下面选项中错误的是
A)x++;
B)y++;
C)c++;
D)D++;
(38)以下程序段的执行结果为
#define PLUS(X,Y)X+Y
main()
{ int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z);
printf(“SUM=%d”,sum);
}
A)SUM=9
B)SUM=12
C)SUM=18
D)SUM=28
(39)C语言规定,函数返回值的类型是由
A)return语句中的表达式类型所决定
B)调用该函数时的主调函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
(40)下列程序的运行结果是
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;
}
main()
{ int a=2004, b=9,*x=&a,*y=&b;
fun(x,y);
printf(“%d%d”,a,b);
}
A)2004 9
B)9 2004
C)0 0
D)编译时出错
(41)下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数:
876 675 896 101 301 401 980 431 451 777
#include 《conio.h》
#include 《stdio.h》
int fun(int *s, int t, int *k)
{ int i;
*k=0;
for(i=0;i《t;i++)
if(s[*k]《s[i])*k=i;
return s[*k];
}
main()
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a, 10, &k);
printf(“%d, %d\n ”, k, a[k]);
}
则输出结果为
A)7,431
B)6
C)980
D)6,980
(42) C语言结构体类型变量在程序执行期间
A)所有成员一直驻留在内存中
B)只有一个成员驻留在内存中
C)部分成员驻留在内存中
D)没有成员驻留在内存中
(43)下面程序应能对两个整型变量的值进行交换。以下正确的说法是
main()
{int a=10,b=20;
printf(“(1)a=%d,b=%d\n”,a,b);
swap(&a,&b);
printf(“(2)a=%d,b=%d\n”,a,b);
}
swap(int p,int q)
{int t;
t=p;p=q;q=t;
}
A)该程序完全正确
B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D)以上说法都不对
(44)有以下程序
#include 《stdlib.h》
main()
{ char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p;
www.kuaixue5.com
scanf(“%s %s”,p,q); printf(“%s %s\n”,p,q);
}
若从键盘输入:abc def《回车》,则输出结果是
A)def def
B)abc def
C)abc d
D)d d
(45)以下程序的输出结果是
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i《5;i++)a+=f();
printf(“%d\n”,a);
}
A)20
B)24
C)25
D)15
(46)已知 int a=1,b=3则a^b的值为
A)3
B)1
C)2
D)4
(47)如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是
- 2017计算机二级考试C语言考前密卷十
- › 2017年计算机二级考试C语言填空模拟试题四
- › 2017年计算机二级考试C语言填空模拟试题三
- › 2017年计算机二级考试C语言填空模拟试题二
- › 2017年计算机二级考试C语言填空模拟试题一
- › 2017年全国计算机二级考试C语言模拟试题一
- › 2017计算机二级考试C语言考前密卷十
- › 2017计算机二级考试C语言考前密卷九
- › 2017计算机二级考试C语言考前密卷八
- › 2017计算机二级考试C语言考前密卷七
- › 2017计算机二级考试C语言考前密卷六
- › 2017计算机二级考试C语言考前密卷五
- › 2017计算机二级考试C语言考前密卷四
- 在百度中搜索相关文章:2017计算机二级考试C语言考前密卷十
- 在谷歌中搜索相关文章:2017计算机二级考试C语言考前密卷十
- 在soso中搜索相关文章:2017计算机二级考试C语言考前密卷十
- 在搜狗中搜索相关文章:2017计算机二级考试C语言考前密卷十