二级C语言分类模拟题567
选择题
1、若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是______。
? ?A.a+d; ? ?B.a++; ? ?C.a=b=c=d=100; ? ?D.a=(b=3)+(d=5);
2、有以下程序:
? ?#include <stdio.h>
? ?main()
? ?{char ch[3][5]={"AAAA", "BBB", "CC"};
? ?printf("%s\n", ch[1]);
? ?}
? ?程序运行后的输出结果是______。
? ?A.AAA ? ?B.CC
? ?C.BBBCC ? ?D.BBB
3、有以下程序:
? ?#include <stdio.h>
? ?#include <string.h>
? ?typedef struct {char name[9]; char sex; float score[2]; }STU;
? ?void f(STUA.
? ?{
? ?STU b={"Zhao", "m", 85.0, 90.0};
? ?int ?i;
? ?strcpy(a.name, b.name);
? ?a.sex=b.sex;
? ?for (i=0; i<2; i+ +)
? ?a.score[i]=b.score[i];
? ?main( )
? ?{
? ?STU ?c={"Qian",'f', 95.0, 92.0};
? ?f(c);
? ?printf("%s,%c,%2.0f,%2.0f\n", c.name, c.sex, c.score[0], c.score[1]);
? ?}
? ?程序的运行结果是______。
? ?A.Zhao,m,85,90 ? ?B.Qian,m,85,90
? ?C.Zhao,f,95,92 ? D.Qian,f,95,92
4、执行下面程序段后m的结果为______。
? ?static int a[2][3]={1,2,3,4,5,6);int m,*ptr=a;
? ?m=(*ptr)*(*(ptr+2))*(*(ptr+4));
? ?A.15 ? ?B.48 ? ?C.24 ? ? D.60
5、排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
?A. 希尔排序 ? ?B. 冒泡排序 ? ?C. 插入排序 ? ?D. 选择排序
6、排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
?A. 希尔排序 ? ?B. 冒泡排序 ? ?C. 插入排序 ? ?D. 选择排序
7、下列叙述中错误的是______。
? ?A.一个C语言程序只能实现一种算法 ? ?B.C程序可以由多个程序文件组成
? ?C.C程序可以由一个或多个函数组成 ? ?D.一个C函数可以单独作为一个C程序文件存在
8、某二叉树中有n个叶子节点,则该二叉树中度为2的节点数为______。
? ?A.n+1 ? ?B.n-1 ? ?C.2n ? ?D.n/2
9、以下选项中有语法错误的是______。
? ?A.char*str[]={"guest"};
? ?B.char str[][10]={"guest"};
? ?C.char*str[3]; str[t]="guest";
? ?D.char str[3][10]; str[1]="guest";
10、关于结构化程序设计原则和方法的描述错误的是( ? ?)。
? ?A. 选用的结构只准许有一个入口和一个出口
? ?B. 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
? ?C. 不允许使用GOTO语句
? ?D. 语言中所没有的控制结构,应该采用前后一致的方法来模拟
11、有以下程序:
? ?#include <stdio.h>
? ?main( )
? ?{ ?int a=1,b=0;
? ?printf("%d,",b=a+b);
? ?printf("%d\n",a=2*b);
? ?A.1,2 ? ?B.1,0 ? ?C.3,2 ? D.0,0
12、有以下程序
? ?#include<stdio.h>
? ?main()
? ?{ int x,y,z;
? ? ?x=y=1;
? ? ?z=x++,y++,++y;
? ? ?printf("%d,%d,%d\n",x,y,z);
? ?}
? ?程序运行后的输出结果是______。
? ?A.2,3,1 ? ?B.2,3,2 ? ?C.2,3,3 ? ?D.2,2,1