计算机二级C语言试题库

日期:12-29| http://www.59wj.com |C模拟题|人气:593

计算机二级C语言试题库
1有以下程序
main()
{ int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
printf("%d,%d“n",k,m);
}
程序运行后的输出结果是
A)0,0 B)0,1 C)1,0 D)1,1
2在一个C程序中
A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置
3有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if (a>b>c)
printf("%d“n", d);
else if ( (c-1 >= d) == 1)
printf("%d“n", d+1);
else
printf("%d“n", d+2);
}
执行后输出结果是
A)2 B)3 C)4 D)编译时有错,无结果
4有以下程序
main()
{ int i;
for (i=0; i<3; i++)
switch (i)
{ case 1: printf("%d ", i);
case 2: printf("%d ", i);
default : printf("%d ", i);
}
}
执行后输出结果是
A)011122 B)012 C)012020 D)120www.59wj.com
5有以下程序
main()
{ int k=4,n=0;
for( ; n<k ; )
{ n++;
if(n%3!=0) continue;
k--; }
printf("%d,%d“n",k,n);
}
程序运行后的输出结果是
A)1,1 B)2,2 C)3,3 D)4,4 www.59wj.com
6有以下程序
fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d“n", r);
}
程序运行后的输出结果是
A)3 B)6 C)8 D)12
7有以下程序
int *f(int *x, int *y)
{ if (*x < *y)
return x;
else
return y;
}
main()
{ int a=7,b=8,*p,*q, *r;
p=&a; q=&b;
r = f(p,q);
printf("%d,%d,%d“n",*p,*q,*r);
}
执行后输出结果是
A)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8
8以下能正确地定义整型变量a,b和c并为其赋初值5的语句是
A)int a=b=c=5; B)int a,b,c=5;
C)a=5,b=5,c=5; D)a=c=b=5;
9若二维数组a有m列,则在a[i][j]前的元素个数为
A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1
10下面程序段是输出两个字符串中对应相等的字符。请选择填空
char x[]=”programming”;
char y[]=”Fortran”;
int i=0;
while(x[i]!=’“0’&&y[i]!=’“0’)
if(x[i]= =y[i])printf(“%c”,[]);
else i++;
A) x[i++] B)y[++i] C)x[i] D)y[i]

www.59wj.com

11若使用一维数组名作函数实参,则以下正确的说法是
A)必须在主调函数中说明次数组的大小
B实参数组类型与形参数组类型可以不匹配
C在被调函数中,不需要考虑形参数组的大小
D实参数组名与形参数组名必须一致
12以下程序的正确运行结果是
#inclued<stdio.h>
main()
{int k=4,m=1,p;
p=func(k,m);printf(“%d”,p);
p=func(k,m);printf(“%d“n”,p);
}
func(int a,int b)
{static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A)8,17 B)8,16 C)8,20 D)8,8
13若有说明:int *p,m=5,n;以下正确的程序段是
A) p=&n;scanf(“%d”,&p);
B) p=&n;scanf(“%d”,*p);
C) scanf(“%d”,&n);*p=n;
D) p=&n;*p=m;
14执行以下程序后,a和b的值为
main()
{int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf(“a=%d“n”,a);
printf(“b=%d“n”,b);}
A)-1 ,5 B)1,6 C)0,7 D)4,10
15若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是
A)”ab+” B)”wb+” C)”rb+” D”ab”
16根据定义和数据的输入方式,输入语句的正确形式为
已有定义:float f1,f2;
数据的输入方式:4.52
3.5
A)scanf(“%f,%f”,&f1,&f2);
B) scanf(“%f%f”,&f1,&f2);
C) scanf(“%3.2f %2.1f”,&f1,&f2);
D) scanf(“%3.2f%2.1f”,&f1,&f2);
17 分析以下程序运行结果
#include<stdio.h>
int func(int n){
if(n==1)
return 1;
else
return(n*func(n-1));
}
void main(){
int x;
x=func(5);
printf(“%d“n”,x);
}
A)100 B)5 C)1 D)120 www.59wj.com
18 分析以下程序运行结果
#include<stdio.h>
void main(){
int y=2,a=1;
while(y--!=-1){
do{
a*=y;a++;
}while(y--);}
printf(“%d,%d“n”,a,y);}
A)1,-2 B)2,1 C)1,0 D)2,-1
19下面程序段的运行结果是
char a=”abcdef”;
charb=”ABC”;
strcpy(a,b);
printf(“%c”,a);
A)空格 B)“0 C)e D)f
20下面是对s的初始化,其中不正确的是
A)char s={“abc”}; B)char s={‘a’,’b’,’c’};
C)char s=””; D)char s=”abcdef”;
21执行语句for(i=1;i++<4; );后变量i的值是
A)3 B)4 C)5 D)不定
22以下程序段
x=-1;
do
{x=x*x;}
while(!x);
A)是死循环 B)循环执行二次
C)循环执行一次 D)有语法错误
23若有以下定义和语句:
inion data
{int i;
char c;
float f;
}a;
int n;
则以下语句正确的是
A)a=5; B)a={2,’a’,1.2}; C)printf(“%d“n”,a); D)n=a;
24下面程序的运行结果是
main()
{
struct cmplx{int x;
int y;
}cnum={1,3,2,7};
printf(“%d“n”,cnum[0].y/cnum[0].x*cunm[1].x);
}
A)0 B)1 C)3 D)6
25以下程序的运行结果是
main()
{int k=4,a=3,b=2,c=1;
printf(““n%d“n”,k<a?k:c<b?c:a);
}
A)4 B)3 C)2 D)1
二 填空
1 若有以下定义,则计算表达式y+=y-=m*=以后y的值是_____
int m=5,y=2;
2 若有定义:int b=7;float a=2.5,c=4.7;:则下面表达式的值为_____
a+(int)(b/3*(int)(a+c)/2)%4
3 有 int a=3,b=4,c=5;,则以下表达式的值为_____
!(a+b)+c-1&&b+c/2
4 条件”2<x<3或x<-10”的c语言表达式是_____
5 以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确内容
main()
{int y,f;
scanf(“%d”,&y);
if(y%400==0)f=1;
else if()f=1;
else;
if(f) printf(“%d is”,y);
else printf(“%d is not”,y);
printf(“a leap year“n”);
}
6 下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。请填空
#include<stdio.h>
main(0
{int i,s,k,count=0;
for(i=100;i<=1000;i++)
{s=0;k=i;
while(){s=s+k%10;k=;}
if(s!=5);
else count++;
}
printf(“%d”,count);
}
7 下面程序将二维数组a的行和列元素呼唤后存到另一个二维数组b中。请填空
main()
{int a={{1,2,3},{4,5,6}};
int b,I,j;
printf(“array a:“n”);
for(i=0;i<=1;i++)
{for(j=0;[10];j++)
{printf(“%5d”,a[i][j]);
[11];
}
printf(““n”);
}
printf(“array b:“n”);
for(i=0;[12];i++)
{for(j=0;j<=1;j++)
printf(“%5d”,b[i][j]);
printf(““n”);
}
} www.59wj.com
8 以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m 进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字你叫,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,则返回值-1。请填空
#include<stdio.h>
int search(int a[10],int m)
{int I;
for(i=0;i<=9;i++) if([1])return(i);
return(-1);
}
main()
{int a[13],m,i,no;
……
no=search([14]);
if([15]) printf(““nOK FOUND!%d”,no+1);
else printf(““nSorry Not Found!”);
}
9 若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是[16],*(a+5)的值是[17]
10 将任意输入的一个偶数n分解为两个素数之和,并给出各种分解方法
#include<stdio.h>
main()
{
int n,i;
int check(int x);
do{
scanf(“%d”,&n);
}while(n%2!=0);
for(i=3;i<=n/2;i++)
if(check(i)&&[18])
printf(“%d=%d+%d“n”,n,i,n-i);
}
int check(int x)
{
int i;
for(i=2;i<x;i++)
if([19]) return(0);
return(1);
}
11 函数调用语句:fgets(buf,n,fp);从fp指向的文件中读入[20]个字符放到buf字符数组中。函数值为[21]
12 设数组a包括10个整型元素。下面程序的功能是求出a 中各相邻元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。请填空
main()
{int a[10],b[10],i;
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
for([22];i<10;i++)
[23]
for(i=1;i<10;i++)
{ printf(“%3d”,b[i]);
if([24]==0) printf(““n”);
}
}
13 如果以下程序输入的是we are students,则输出的结果是[25]
#include “stdio.h”
void main()
{ char s[81],*p;
printf(“Input a sentence:“n”);gets(s);
for(p=s;*p;p++)
if(*p==32) //空格键的ASCII值是32
{ if(*(p+1)!=32) printf(““n”); }
else putchar(*p);
}

www.59wj.com 如果觉得《计算机二级C语言试题库》C模拟题,jsj不错,可以推荐给好友哦。
本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - C模拟题,jsj,
在百度中搜索相关文章:计算机二级C语言试题库
在谷歌中搜索相关文章:计算机二级C语言试题库
在soso中搜索相关文章:计算机二级C语言试题库
在搜狗中搜索相关文章:计算机二级C语言试题库
相关分类导航|
热门推荐|