二级C语言分类模拟题560
(总分58.5, 做题时间90分钟)
选择题
1. 
有以下程序:
# include <stdio.h>
struct STU {char name[9]; char sex; int score[2];};
void f(struct STU a[])
{ struct STU b={"Zhao","m",85,90};
a[1]=b;
}
main()
{struct STU c[2]={{"Qian","f",95,92},{"Sun","m",98,99}};
f(c);
printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]);
printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);
}
程序运行后的输出结果是______。
A 2hao,m,85,90,Sun,m,98,99
B 2hao,m,85,90,Qian,f,95,92
C Qian,f,95,92,Sun,m,98,99
D Qian,f,95,92,Zhao,m,85,90
2. 
以下选项中可用作C语言中合法用户标识符的是______。
A _123
B void
C -abc
D 2a
3. 
有以下程序段:
int x;
for(x=3; x<6; x++)
printf((x%2)?("**%d"):("##%d\n"), x);
程序段的输出结果是______。
A **3##4**5
B ##3**4##5
C ##3**4##5
D **3##4**5
4. 
在黑盒测试方法中,设计测试用例的主要根据是______。
A 程序内部逻辑
B 程序外部功能
C 程序数据结构
D 程序流程图
5. 
有以下程序:
#include<stdio.h>
main()
{int k,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)s+=j;
}
printf("%d\n",s);
}
程序运行后的输出结果是______。
A 6
B 10
C 24
D 40
6. 
若有说明int a[3][4];则a数组元素的非法引用是______。
A a[0][2*1]
B a[1][3]共青团之歌歌词
C a[4-2][0]
D a[0][4]
7. 
有以下程序
#include<stdio.h> 采集数据
void fun(int x)
{if(x/2>1) fun(x/2);
printf("%d", x);
}
main()
{ fun(7); printf("n"); }
程序运行后的输出结果是______。
A 1 3 7
B 7 3 1
C 7 3
D 3 7
8. 
以下选项中,能正确进行字符串赋值的是______。
A char*s="ABCDE";
B char s[5]={"A","B","C","D","E"};
C char s[4][5]={"ABCDE"};
D char*8;gets(s);
9. 
献b门事件完整照片
某棵树中共有25个结点,且只有度为3的结点和叶子结点,其中叶子结点有7个,则该树中度为3的结点数为______。
缅怀革命先烈作文A 不存在这样的树
B 7
C 8
D 6
10. 
软件开发的结构化生命周期方法将软件生命周期划分成 ____陈红古装图片
定义、开发、运行维护
B 设计阶段、编程阶段、测试阶段
C 总体设计、详细设计、编程调试
D 需求分析、功能定义、系统设计
11. 
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是______。
A 必须是逻辑值
B 必须是整数值
C 必须是正数
D 可以是任意合法的数值
12. 
有以下程序:
#include <stdio.h>
#define SQR(X) X*X
main( )
{
int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}
程序的输出结果是______。
A 0
B 1
C 9
D 10
13. 
当用户要求输入的字符串中含有空格时,应使用的输入函数是 ____
五四青年节演讲稿励志
A scanf()
B getchar()
C gets()
D getc()
14. 
若有以下函数:
int fun(char *a, char *b)
{int bk=0;
while((*a!="\0")&&(*b!="\0")&&strlen(a)==strlen(b))
{if(*b!=*a){bk=0;break;}
a++; b++; bk=1;
}
return bk;
}
此函数的功能是______。
A 判断a和b两个字符串是否相等
B 将字符串a改名为字符串b
C 将字符串变量a的值赋给字符串变量b
D 检查字符串a和b中是否有"\0"
15. 
设有定义:
int x[2][3];
则以下关于二维数组x的叙述错误的是______。
A 可以用x[0]=0;的形式为数组所有元素赋初值0
B 数组x可以看作是由x[0]和x[1]两个元素组成的一维数组
C 元素x[0]可看作是由3个整型元素组成的一维数组
D x[0]和x[1]是数组名,分别代表一个地址常量
16. 
以下叙述中正确的是______。
A 字符变量在定义时不能赋初值
B 字符常量可以参与任何整数运算
C 同一英文字母的大写和小写形式代表的是同一个字符常量
D 转义字符用符号@开头
17. 
以下程序的输出结果是______。
a=1; b=2; c=2;
while(a<b<c) {t=a; a=b; b=t; c--;}
printf("% d, % d, % d", a, b, c);
A 1,2,0
B 2,1,0
C 1,2,1
D 2,1,1
18. 
若有以下程序:
#include <stdio.h>
void fun(int *s, int n1, int n2)
{
int i,j,t;
i=n1; j=n2;
while(i<j)
t=s[i]; s[i]=s[j]; s[j]=t; i+ +; j--;
}
}
main( )
{
int a[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3); fun(a,4,9); fun(a,0,9);
for(k=0;k<10;k+ +)
printf("%d",a[k]);
printf("\n");
}
则程序的运行结果是______。