Ⅰ 计算机二级c语言程序设计有哪些题型,考什么内容
计算机二级有国考和省考两种,我只说国考,省考是省教育考试院组织的,每个省不一样。
全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。
单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。
操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。
程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。
程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。程序改错题会提示每一处错误在第几行,在那一行的上一行有********found********标识。
编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。
二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。
C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。
Ⅱ 国二c语言笔试选择题考哪些内容
(1)前面的选择题是基础知识 ,二级C语言知识点分布包括:数据结构与算法 、程序设计基础1,软件工程基础,数据库设计基础,C程序设计的初步知识,顺序结构设计,选择结构程序设计。循环结构程序设计,函数,指针与数组,编译与处理与动态存储分配,结构体与共用体),位运算,文件操作,考查的知识点比较细致,例如PAD图,线性结构与非线性结构、程序的编译与解释、if语句的逻辑判断、C程序的执行过程、格式控制、循环执行次数,指针与数组的应用,if语句的嵌套,数组的应用,静态局部变量,预处理,结构体指针变量,位运算等等。
(2)考试的常见知识点:例如基本的数据结构,数据库的基本概念,软件生命周期概念,查找和排序算法。程序设计的方法与风格,结构化的分析方法,数据流图,数据字典和软件需求规格说明书,结构化分析方法,总体设计和详细设计,软件测试,关系运算,C程序的构成与格式,常用数据类型,运算符和表达式,输入输出函数,if语句和switch语句,while,for语句的使用,函数的基本概念,函数的返回值,参数传递中的传值方法与传地址方法,静态存储变量,指针与数组的基础知识,字符串的应用,指针与数组的关系,预处理与动态存储分配,结构体的定义和变量的引用,文件操作。
需要注意的是不要以为C语言就是单纯的考C语言程序,也要注意关于编程的一些基础知识和计算机的知识,对里面的程序题要特别的小心才是,做题的时候要用笔画出来具体的步骤,这样避免出错,反正小心应对便是
Ⅲ 国二c语言题目
这是tc跑出的结果~
解释如下:
intt;
t=c[0];c[0]=c[1];c[1]=t;
上面两行代码是常用的交换算法,把数组第一个元素给t,
然后后面挨着的依次赋值给前一位元素,最后再把t赋值给
最后一位元素,这样就达到了数组整体依次迁移的目的,
上面这些你因该明白吧~废话了~
下面是关键:
swap1();函数达到了交换的目的;(这是因为它接收的是指针/叫地址也可,它直接对内存空间进行操作(单向传递));
swap2();函数没有达到交换的目的;(这是因为它接收的是变量,变量是只能把值传入函数,但函数内部的操作无法传出//即函数内无法改变函数外的变量的值(双向传递));
能理解吧~因该没问题哦~
Ⅳ c语言二级考试题及答案
2011年3月全国计算机等级考试二级笔试试卷
C语言程序设计
(考试时间90分钟,满分100分)
一、 选择题(1-10,21-40每题2分,11-20每题1分,共70分)
(1)下列关于栈叙述正确的是
A)栈顶元素最先能被删除
B)栈顶元素最后才能被删除
C)栈底元素永远不能被删除
D)以上三种说法都不对
(2)下列叙述中正确的是
A)有一个以上根结点的数据结构不一定是非线性结构
B)只有一个根结点的数据结构不一定是线性结构
C)循环链表是非线性结构
D)双向链表是非线性结构
(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A)3 B)4 C)6 D)7
(4)在软件开发中,需求分析阶段产生的主要文档是
A)软件集成测试计划 B)软件详细设计说明书
C)用户手册 D)软件需求规格说明书
(5)结构化程序所要求的基本结构不包括
A)顺序结构 B)GOTO跳转
C)选择(分支)结构 D)重复(循环)结构
(6)下面描述中错误的是
A)系统总体结构图支持软件系统的详细设计
B)软件设计是将软件需求转换为软件表示的过程
C)数据结构与数据库设计是软件设计的任务之一
D)PAD图是软件详细设计的表示工具
(7)负责数据库中查询操作的数据库语言是
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是
A)1:1联系 B)1:m联系
C)m:1联系 D)m:n联系
(9)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是
A)自然连接 B)交 C)除 D)并
(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}
(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是
A)C语言程序仅可以编译执行
B)C语言程序仅可以解释执行
C)C语言程序既可以编译执行又可以解释执行
D)以上说法都不对
(12)以下叙述中错误的是
A)C语言的可执行程序是由一系列机器指令构成的
B)用C语言编写的源程序不能直接在计算机上运行
C)通过编译得到的二进制目标程序需要连接才可以运行
D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
(13)以下选项中不能用作C程序合法常量的是
A)1,234 B)'123'
C)123 D)"\x7G"
(14)以下选项中可用作C程序合法实数的是
A).1e0 B)3.0e0.2
C)E9 D)9.12E
(15)若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是
A)a=(b=4)=3; B)a=b=c+1;
C)a=(b=4)+c; D)a=1+(b=c=4);
(16)有以下程序段
char name[20];
int num;
scanf("name=%s num=%d",name;&num);
当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为
A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001
(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是
A)必须是逻辑值 B)必须是整数值
C)必须是正数 D)可以是任意合法的数值
(18)有以下程序
#include
main()
{ int x=011;
printf("%d\n",++x);
}
程序运行后的输出结果是
A)12 B)11 C)10 D)9
(19)有以下程序
#include
main()
{ int s;
scanf("%d",&s);
while(s>0)
{ switch(s)
{ case1:printf("%d",s+5);
case2:printf("%d",s+4); break;
case3:printf("%d",s+3);
default:printf("%d",s+1);break;
}
scanf("%d",&s);
}
}
运行时,若输入1 2 3 4 5 0<回车>,则输出结果是
A)6566456 B)66656 C)66666 D)6666656
(20)有以下程序段
int i,n;
for(i=0;i<8;i++)
{ n=rand()%5;
switch (n)
{ case 1:
case 3:printf("%d\n",n); break;
case 2:
case 4:printf("%d\n",n); continue;
case 0:exit(0);
}
printf("%d\n",n);
}
以下关于程序段执行情况的叙述,正确的是
A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作
C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行
(21)有以下程序
#include
main()
{ char s[]="012xy\08s34f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n",n);
}
程序运行后的输出结果是
A)0 B)3 C)7 D)8
(22)若i和k都是int类型变量,有以下for语句
for(i=0,k=-1;k=1;k++) printf("*****\n");
下面关于语句执行情况的叙述中正确的是
A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环
(23)有以下程序
#include
main()
{ char b,c; int i;
b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf("\n");
}
程序运行后的输出结果是
A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef
(24)设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是
A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));
C)scanf("%lf",p+6); D)scanf("%lf",p[6]);
(25)有以下程序(说明:字母A的ASCII码值是65)
#include
void fun(char *s)
{ while(*s)
{ if(*s%2) printf("%c",*s);
s++;
}
}
main()
{ char a[]="BYTE";
fun(a); printf("\n");
}
程序运行后的输出结果是
A) BY B) BT C) YT D) YE
(26)有以下程序段
#include
main()
{ …
while( getchar()!='\n');
…
}
以下叙述中正确的是
A)此while语句将无限循环
B) getchar()不可以出现在while语句的条件表达式中
C)当执行此while语句时,只有按回车键程序才能继续执行
D)当执行此while语句时,按任意键程序就能继续执行
(27)有以下程序
#include
main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0)
if (x) y+=2;
else y+=3;
printf("%d\n",y);
}
程序运行后的输出结果是
A)3 B)2 C)1 D) 0
(28)若有定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是
A)p=s; B)p=k; C)p=s[0]; D)k=s;
(29)有以下程序
#include
void fun(char *c)
{ while(*c)
{ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');
c++;
}
}
main()
{ char s[81];
gets(s); fun(s); puts(s):
}
当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是
A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing
(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include
#define N 10
void fun(int x[N])
{ int i=0;
while(i<>
}
在程序中下划线处应填入的是
A)x+i B)&x[i+1]C)x+(i++) D)&x[++i]
(31)有以下程序
#include
main()
{ char a[30],b[30];
scanf("%s",a);
gets(b);
printf("%s\n %s\n",a,b);
}
程序运行时若输入:
how are you? I am fine<回车>
则输出结果是
A)how are you? B)how I am fine are you? I am fine
C)how are you? I am fine D)row are you?
(32)设有如下函数定义
int fun(int k)
{ if (k<1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是
A)2 B)3 C)4 D)5
(33)有以下程序
#include
int fun (int x,int y)
{ if (x!=y) return ((x+y);2);
else return (x);
}
main()
{ int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后的输出结果是 A)3 B)6 C)8 D)12
(34)有以下程序
#include
int fun()
{ static int x=1;
x*=2;
return x;
}
main()
{ int i,s=1;
for(i=1;i<=3;i++) s*=fun();
printf("%d\n",s);
}
程序运行后的输出结果是 A)0 B)10 C)30 D)64
(35)有以下程序
#include
#define S(x) 4*(x)*x+1
main()
{ int k=5,j=2;
printf("%d\n",S(k+j));
}
程序运行后的输出结果是 A)197 B)143 C)33 D)28
(36)设有定义:struct {charmark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是
A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;
(37)有以下程序
#include
struct ord
{ int x,y;}dt[2]={1,2,3,4};
main()
{
struct ord *p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序运行后的输出结果是 A)1,2 B)4,1 C)3,4 D)2,3
(38)有以下程序
#include
struct S
{ int a,b;}data[2]={10,100,20,200};
main()
{ struct S p=data[1];
printf("%d\n",++(p.a));
}
程序运行后的输出结果是 A)10 B)11 C)20 D)21
(39)有以下程序
#include
main()
{ unsigned char a=8,c;
c=a>>3;
printf("%d\n",c);
}
程序运行后的输出结果是 A)32 B)16 C)1 D)0
(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是
A)写操作结束后可以从头开始读 B)只能写不能读
C)可以在原有内容后追加写 D)可以随意读和写
二、填空题
(1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。
(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】 。
(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】 测试
。
(4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。
(6)以下程序运行后的输出结果是 【6】。
#include
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf("%d\n",a);
}
(7)有以下程序
#include
main()
{ int x;
scanf("%d",&x);
if(x>15) printf("%d",x-5);
if(x>10) printf("%d",x);
if(x>5) printf("%d\n",x+5);
}
若程序运行时从键盘输入12<回车>,则输出结果为 【7】 。
(8)有以下程序(说明:字符0的ASCII码值为48)
#include
main()
{ char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c\n",c1,c2);
}
若程序运行时从键盘输入48<回车>,则输出结果为 【8】 。
(9)有以下函数
void prt(char ch,int n)
{ int i;
for(i=1;i<=n;i++)
printf(i%6!=0?"%c":"%c\n",ch);
}
执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。
(10)以下程序运行后的输出结果是 【10】。
#include
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d %d\n",x,y);
}
(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。
void fun(int a[N],int k)
{ int i;
for(i=k;i
}
(12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。
#include
【12】 ;
main()
{ double x,y,(*p)();
scanf("%lf%lf",&x,&y);
p=avg;
printf("%f\n",(*p)(x,y));
}
double avg(double a,double b)
{ return((a+b)/2);}
(13)以下程序运行后的输出结果是 【13】。
#include
main()
{ int i,n[5]={0};
for(i=1;i<=4;i++)
{ n[i]==n[i-1]*2+1; printf("%d",n[i]); }
printf("\n");
}
(14)以下程序运行后的输出结果是 【14】。
#include
#include
#include
main()
{ char *p; int i;
p=(char *)malloc(sizeof(char)*20);
strcpy(p,"welcome");
for(i=6;i>=0;i--) putchar(*(p+i));
printf("\n-"); free(p);
}
(15)以下程序运行后的输出结果是 【15】。
#include
main()
{ FILE *fp; int x[6]={1,2,3,4,5,6},i;
fp=fopen("test.dat","wb");
fwrite(x,sizeof(int),3,fp);
rewind(fp);
fread(x,sizeof(int),3,fp);
for(i=0;i<6;i++) printf("%d",x[i]);
printf("\n");
fclose(fp);
}
2011年3月全国计算机等级考试二级笔试试卷
C语言程序设计答案
一.选择题1-5 ABDDB
6-10 ACDCB 11-15 ADBAA
16-20 ADCAD 21-25 BDBCD
26-30 CDCCC 31-35 BBBDB
36-40 CDDCB
二,填空题
1) 顺序 2) DEBFCA 3) 单元测试 4) 主键 5) D 6) 3 7) 1217
8) 09 9) 4 10) 20 0 11) i-1 12) double avg(doublea,double b) 13) 13715
14) e(E)moclew 15) 123456
2010年9月全国计算机等级考试二级C笔试试卷答案
一、选择题
1~5: BCDAA 6~10:DDCCA 11~15:CBBAD 16~20: DAACB
21~25: BCBDC 26~30 :CBDDA 31~35:ACBCD 36~40 :BACBD
二、填空
1.1DCBA2345 2.n-1 3.25 4.结构化 5.物理设计 6.2008
7.15 8.非0 9. 1 4 13 40 10.i 11.2
12.a[row][col] 13.3 14.*s 15.FILE
Ⅳ c语言国二的题,求解,急!!!详细一点的
你那个编程题是atoi函数,我就给你粘一个得了,不给你写了,祝你考试顺利!
把这里面的pstr换成你那个函数参数p
intmy_atoi(char*pstr)
{
intRet_Integer=0;
intInteger_sign=1;
/*
*判断指针是否为空
*/
if(pstr==NULL)
{
printf("PointerisNULL ");
return0;
}
/*
*跳过前面的空格字符
*/
while(isspace(*pstr)==0)
{
pstr++;
}
/*
*判断正负号
*如果是正号,指针指向下一个字符
*如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符
*/
if(*pstr=='-')
{
Integer_sign=-1;
}
if(*pstr=='-'||*pstr=='+')
{
pstr++;
}
/*
*把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer
*/
while(*pstr>='0'&&*pstr<='9')
{
Ret_Integer=Ret_Integer*10+*pstr-'0';
pstr++;
}
Ret_Integer=Integer_sign*Ret_Integer;
returnRet_Integer;
}
Ⅵ 计算机二级C语言笔试题和面试题答案目
如下这份计算机二级C语言笔试题目对于要考基计算机二级证书的朋友来说,应该会很有帮助,需要的朋友赶紧收藏吧!
一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1. 下列叙述中正确的是
A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D 上述三种说法都不对 答案:B
2. 下列叙述中正确的是
A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D 上述三种说法都不对 答案:C
3. 软件测试的目的是
A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误
D 发现程序中的错误 答案:B
4. 下面描述中,不属于软件危机表现的是
A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制
D 软件成本不断提高 答案:A
5. 软件生命周期是指
A 软件产品从提出、实现、使用维护到停止使用退役的过程
B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程
D 软件的运行维护过程 答案:A
6. 面向对象方法中,继承是指
A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D
7. 层次型、网状型和关系型数据库划分原则是
A 记录长度 B 文件的大小 C 联系的复杂程度
D 数据之间的联系方式 答案:D
8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
A 一对一B 一对多C 多对多D 多对一 答案:C
9. 数据库设计中反映用户对数据要求的模式是
A 内模式B 概念模式C 外模式D 设计模式 答案:C
10. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
A 自然连接B 交C 投影D 并 答案:A
11. 以下关于结构化程序设计的叙述中正确的是
A 一个结构化程序必须同时由顺序、分支、循环三种结构组成
B 结构化程序使用goto语句会很便捷 C 在C语言中,程序的模块化是利用函数实现的
D 由三种基本结构构成的程序本文由论文联盟http://www.LWLm.coM收集整理只能解决小规模的问题 答案:C
12. 以下关于简单程序设计的步骤和顺序的说法中正确的是
A 确定算法后,整理并写出文档,最后进行编码和上机调试
B 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 答案:D
13. 以下叙述中错误的是
A C程序在运行过程中所有计算都以二进制方式进行 B C程序在运行过程中所有计算都以十进制方式进行 C 所有C程序都需要编译链接无误后才能运行
D C程序中整型变量只能存放整数,实型变量只能存放浮点数 答案:B
14. 有以下定义:inta; longb; doublex,y;则以下选项中正确的表达式是
A a%(int)(x-y) B a=x!=y; C (a*y)%b D y=x+y=x 答案:C
15. 以下选项中能表示合法常量的是
A 整数:1,200 B 实数:1.5E2.0 C 字符斜杠:‘\’ D 字符串:"\007" 答案:C
16. 表达式a+=a-=a=9的值是
A 9 B _9 C 18 D 0 答案:D
17. 若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
A a<>b+c B ch=getchar() C a==b+c D a++ 答案:A
18. 有以下程序
#include
main()
{inta=1,b=0;
if(!a) b++;
elsEif(a==0)if(a)b+=2;
elseb+=3;
printf(”%d\n”,b);
}
程序运行后的输出结果是
A 0 B 1 C 2 D 3 答案:C
20. 有以下程序
#include
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%二10;}
printf(”%d,%d\n”,a,b);
}
程序运行后的输出结果是
A 5,11 B 7,1 C 7,11 D 6,1 答案:D
21. 有以下程序
#include
main()
{int y=10;
while(y--);
printf(”Y=%d\n”,Y);
}
程序执行后的输出结果是
A y=0 B y= -1 C y=1 D while构成无限循环 答案:B
22. 有以下程序
#include
main()
{char s[”=”rstuv";
printf(”%c\n”,*s+2);
}
程序运行后的输出结果是
A tuv B 字符t的ASCII码值 C t D 出错 答案:D
23. 有以下程序
#include
#include
main()
{char x[]=”STRING”;
x[0”=0;x=’\0’;x[2”=’0’;
printf(”%d%d\n”,sizeof(x),strlen(x));
}
程序运行后的输出结果是
A 61 B 70 C 63 D 71 答案:B
24. 有以下程序
#include
Int f(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序运行后的输出结果是
A 1 B 2 C 4 D 8 答案:D
25. 以下程序段完全正确的是
A int *p;scanf("%d",&p); B int *p;scanf(“%d”,p);
C int k, *p=&k;scanf("%d",p); D int k, *p:;*p= &k; scanf(“%d”,p); 答案:D
26. 有定义语句:int *p[4];以下选项中与此语句等价的是
A intp[4]; B int**p; C int*(p“4”); D int (*p)“4”; 答案:D
27. 下列定义数组的语句中,正确的是
A B C intx[0..10]; D int x[]; 答案:B
28. 若要定义一个具有5个元素的整型数组,以下错误的定义语句是
A inta[5]=﹛0﹜; B intb[]={0,0,0,0,0}; C intc[2+3]; D inti=5,d[i]; 答案:A
29. 有以下程序
#include
voidf(int *p);
main()
{inta[5]={1,2,3,4,5},*r=a;
f(r);printf(”%d\n”;*r);
}
void f(int *p)
{p=p+3;printf(”%d,”,*p);}
程序运行后的输出结果是
A 1,4 B 4,4 C 3,1 D 4,1 答案:D
30. 有以下程序(函数fun只对下标为偶数的元素进行操作)
# include
void fun(int*a;int n)
{int i、j、k、t;
for (i=0;i
Ⅶ 09年9月份国二C语言上机题库
一、选择题(每小题1分,共60分)
(1)1959年10月我国研制成功的一台通用大型电子管计算机是
A)103计算机
B)104计算机
C) 720计算机
D)l30计算机 〔答案讨论〕
(2)关于计算机应用的描述中,错误的是
A)模拟核爆炸是一种特殊的研究方法
B)天气预报采用了巨型计算机处理数据
C)经济运行模型还不能用计算机模拟
D)过程控制可采用低档微处理器芯片 〔答案讨论〕
(3)关于服务器的描述中,正确的是
A)按体系结构分为入门级、部门级、企业级服务器
B)按用途分为台式、机架式、机柜式服务器
C)按处理器类型分为文件、数据库服务器
D)刀片式服务器的每个刀片是一块系统主板 〔答案讨论〕
(4)关于计算机配置的描述中,错误的是
A)服务器机箱的个数用1U/2U/3U/……/8U表示
B)现在流行的串行接口硬盘是SATA硬盘
C)独立磁盘冗余阵列简称磁盘阵列
D)串行SCSI硬盘简称SAS硬盘
(5)关于软件开发的描述中,正确的是
A)软件生命周期包括计划、开发两个阶段
B)开发初期进行需求分析、总体设计、详细设计
C)开发后期进行编码、测试、维护
D)软件运行和使用中形成文档资料 〔答案讨论〕
(6)关于多媒体的描述中,错误的是
A)多媒体的数据最很大,必须进行压缩才能实用
B)多媒体信息有许多冗余,这是进行压缩的基础
C)信息熵编码法提供了无损压缩
D)常用的预测编码是变换编码 〔答案讨论〕
(7)关于数据报交换方式的描述中,错误的是
A)在报文传输前建立源结点与目的结点之间的虚电路
B)同一报文的不同分组可以经过不同路径进行传输
C)同一报文的每个分组中都要有源地址与目的地址
D)同一报文的不同分组可能不按顺序到达目的结点 〔答案讨论〕
(8)IEEE 802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于
A)接入点
B)交换机
C)帧大小
D)帧类型 〔答案讨论〕
(9)以下网络应用中不属于Web应用的是
A)电子商务
B)域名解析
C)电子政务
D)博客 〔答案讨论〕
(10)关于千兆以太网的描述中,错误的是
A)与传统以太网采用相同的帧结构
B)标准中定义了千兆介质专用接口
C)只使用光纤作为传输介质
D)用GMII分隔MAC子层与物理层 〔答案讨论〕
(11)虚拟局域网的技术基础是
A)路由技术
B)带宽分配
C)交换技术
D)冲突检测 〔答案讨论〕
(12)关于OSI参考模型的描述中,正确的是
A)高层为低层提供所需的服务
B)高层需要知道低层的实现方法
C)不同结点的同等层有相同的功能
D)不同结点需要相同的操作系统 〔答案讨论〕
(13)如果网络结点传输I0bit数据需要1×10-8s,则该网络的数据传输速率为
A)10Mbps
B)1Gbps
C)100Mbps
D)10Gbps 〔答案讨论〕
(14)关于传统Ethernet的描述中,错误的是
A)是一种典型的总线型局域网
B)结点通过厂播方式发送数据
C)需要解决介质访问控制问题
D)介质访问控制方法是CSMA/CA 〔答案讨论〕
(15)网桥实现网络互联的层次是
A)数据链路层
B)传输层
C)网络层
D)应用层 〔答案讨论〕
(16)在TCP/IP参考模型中,负责提供面向连接服务的协议是
A)FTP
B)DNS
C)TCP
D)UDP 〔答案讨论〕
(17)以下哪一个不是无线局域网IEEE 802.11规定的物理层传输方式?
A)直接序列扩频
B)跳频广播
C)蓝牙
D)红外 〔答案讨论〕
(18)关于网络层的描述中,正确的是
A)基本数据传输单位是帧
B)主要功能是提供路由选择
C)完成应用层信息格式的转换
D)提供端到端的传输服务 〔答案讨论〕
(19)1000BASE-T标准支持的传输介质是
A)单模光纤
B)多模光纤
C)非屏蔽双绞线
D)屏蔽双绞线 〔答案讨论〕
(20)电子邮件传输协议是
A)DHCP
B)FTP
C)CMIP
D)SMTP 〔答案讨论〕
(21)关于IEEE 802模型的描述中,正确的是
A)对应于OSI模型的网络层
B)数据链路层分为LLC与MAC子层
C)只包括一种局域网协议
D)针对广域网环境 〔答案讨论〕
(22)关于Ad Hoc网络的描述中,错误的是
A)是一种对等式的无线移动网络
B)在WLAN的基础上发展起来
C)采用无基站的通信模式
D)在军事领域应用广泛 〔答案讨论〕
(23)以下P2P应用软件中不属于文件共享类应用的是
A)Skype
B)Gnutella
C)Napster
D)BitTorrent 〔答案讨论〕
(24)关于服务器操作系统的描述中,错误的是
A)是多用户、多任务的系统
B)通常采用多线程的处理方式
C)线程比进程需要的系统开销小
D)线程管理比进程管理复杂 〔答案讨论〕
(25)关于Windows Server基本特征的描述中,正确的是
A)Windows 2000开始与IE集成,并摆脱了DOS
B)Windows 2003依据。NET架构对NT技术做了实质的改进
C)Windows 2003 R2可靠性提高,安全性尚显不足
D)Windows 2008重点加强安交全性,其他特征与前面版本类似
(26)关于活动目录的描述中,错误的是
A)活动目录包括日录和目录服务
B)域是基本管理单位,通常不再细分
C)活动目录采用树状逻辑结构
D)通过域构成树,树再组成森林 〔答案讨论〕
(27)关于Unix操作系统的描述中,正确的是
A)Unix由内核和外壳两部分组成
B)内核由文件子系统和目录子系统组成
C)外壳由进程子系统和线程子系统组成
D)内核部分的操作原语对用户程序起作用 〔答案讨论〕
(28)关于Linux操作系统的描述中,错误的是
A)内核代码与Unix不同
B)适合作为Internet服务平台
C)文件系统是网状结构
D)用户界面主要有KDE和GNOME 〔答案讨论〕
(29)关于TCP/IP协议集的描述中,错误的是
A)由TCP和IP两个协议组成
B)规定了Internet中主机的寻址方式
C)规定了Internet中信息的传输规则
D)规定了Internet中主机的命名机制 〔答案讨论〕
(30)关于IP互联网的描述中,错误的是
A)隐藏了低层物理网络细节
B)数据可以在IP互联网中跨网传输
C)要求物理网络之间全互连
D)所有计算机使用统一的地址描述方法
(31)以下哪个地址为回送地址?
A)128.0.0.1
B)127.0.0.1
C)126.0.0.1
D)125.0.0.1
(32)如果一台主机的IP地址为20.22.25.6,子网掩码为255.255.255.0,那么该主机的主机号为
A)6
B)25
C)22
D)20 〔答案讨论〕
(33)一个连接两个以太网的路由器接收到一个IP数据报,如果需要将该数据报转发到IP地址为202.123.1.1的主机,那么该路由器可以使用哪种协议寻找目标主机的MAC地址?
A)IP
B)ARP
C)DNS
D)TCP
(34)在没有选项和填充的情况下,IPv4数据报报头长度域的值应该为
A)3
B)4
C)5
D)6
(35)对IP数据报进行分片的主要目的是
A)提高互联网的性能
B)提高互联网的安全性
C)适应各个物理网络不同的地址长度
D)适应各个物理网络不同的MTU长度
(36)关于ICMP差错报文特点的描述中,错误的是
A)享受特别优先权和可靠性
B)数据中包含故障IP数据报数据区的前64比特
C)伴随抛弃出错LF数据报产生
D)目的地址通常为抛弃数据报的源地址
37)一个路由器的路由表如下所示。如果该路由器接收到一个目的1P地址为10.1.2.5的报文,那么它应该将其投递到
A)10.1.0.0
B)10.2.0.5
C)10.4.0.0
D)10.3.0.7
(38)关于RIP与OSPF协议的描述中,正确的是
A)RIP和OSPF都采用向量-距离算法
B)RIP和OSPF都采用链路-状态算法
C)RIP采用向量-距离算法,OSPF采用链路-状态算法
D)RIP采用链路-状态算法,OSPF采用向量-距离算法
(39)为确保连接的可靠建立,TCP采用的技术是
A)4次重发
B)3次重发
C)4次握手
D)3次握手
(40)关于客户机/服务器模式的描述中,正确的是
A)客户机主动请求,服务器被动等待
B)客户机和服务器都主动请求
C)客户机被动等待,服务器主动请求
D)客户机和服务器都被动等待 〔答案讨论〕
(41)关于Internet域名系统的描达中,错误的是
A)域名解析需要一组既独立又协作的域名服务器
B)域名服务器逻辑上构成一定的层次结构
C)域名解析总是从根域名服务器开始
D)递归解析是域名解析的一种方式
(42)pwd是一个FTP用户接口命令,它的意义是
A)请求用户输入密码
B)显示远程主机的当前工作目录
C)在远程主机中建立目录
D)进入主动传输方式
(43)为了使电子邮件能够传输二进制信息,对RFC822进行扩充后的标准为
A)RFC823
B)SNMP
C)MIME
D)CERT
(44)关于WWW服务系统的描述中,错误的是
A)WWW采用客户机/服务器模式
B)WWW的传输协议采用HTML
C)页面到页面的链接信息由URL维持
D)客户端应用程序称为浏览器 〔答案讨论〕
(45)下面哪个不是Internet网络管理协议?
A)SNMPv1
B)SNMPv2
C)SNMPv3
D)SNMPv4
(46)根据计算机信息系统安全保护等级划分准则,安全要求最高的防护等级是
A)指导保护级
B)强制保护级
C)监督保护级
D)专控保护级
(47)下面哪种攻击属于被动攻击?
A)流量分析
B)数据伪装
C)消息重放
D)消息篡改
(48)AES加密算法处理的分组长度是
A)56位
B)64位
C)128位
D)256位
(49)RC5加密算法没有采用的基本操作是
A)异或
B)循环
C)置换
D)加
(50)关于消息认证的描述中,错误的是:
A)消息认证称为完整性校验
B)用于识别信息源的真伪
C)消息认证都是实时的
D)消息认证可通过认证实现
(51)关于RSA密码体制的描述中,正确的是
A)安全性基于椭圆曲线问题
B)是一种对称密码体制
C)加密速度很快
D)常用于数字签名
(52)关丁Kerberos认证系统的描述中,错误的是
A)有一个包含所有用户密钥的数据库
B)用户密钥是一个加密口令
C)加密算法必须使用DES
D)Kerberos提供会话密钥 〔答案讨论〕
(53)用RSA算法加密时,已知公钥是(e=7,n=20),私钥是(d=3,n=20),用公钥对消息M=3加密,得到的密文是
A)19
B)13
C)12
D)7
(54)下面哪个地址不是组播地址?
A)224.0.1.1
B)232.0.0.1
C)233.255.255.1
D)240.255.255.1
(55)下面哪种P2P网络拓扑不是分布式非结构化的?
A)Gnutella
B)Maze
C)LimeWire
D)BearShare 〔答案讨论〕
(56)关于即时通信的描述中,正确的是
A)只工作在客户机/服务器方式
B)QQ是最早推出的即时通信软件
C)QQ的聊天通信是加密的
D)即时通信系统均采用SIP协议
(57)下面哪种服务不属于IPTV通信类服务?
A)IP语音服务
B)即时通信服务
C)远程教育服务
D)电视短信服务
(58)从技术发展角度看,最早出现的IP电话工作方式是
A)PC-to-PC
B)PC-to-Phone
C)Phone-to-PC
D)Phone-to-Phone 〔答案讨论〕
(59)数字版权管理主要采用数据加密、版权保护、数字签名和
A)认证技术
B)数字水印技术
C)访问控制技术
D)防篡改技术 〔答案讨论〕
(60)网络全文搜索引擎一般包括搜索器、检索器、用户接口和
A)索引器
B)机器人
C)爬虫
D)蜘蛛
二、填空题(每空2分,共40分)
(1)精简指令集计算机的英文缩写是【1】。
(2)流媒体数据流具有连续性、实时性和【2】三个特点。
(3)00-60-38-00-08-A6是一个【3】地址。
(4)Ethernet V2.0规定帧的数据字段的最大长度是【4】。
(5)RIP协议用于在网络设备之间交换【5】信息。
(6)网络协议的三个要素是【6】、语义与时序。
(7)TCP/IP参考模型的主机-网络层对应于OSI参考模型的物理层与【7】。
(8)一台Ethernet交换机提供24个100Mbps的全双工端口与1个1Gbps的全双工端口,在交换机满配置情况下的总带宽可以达到【8】。
(9)Web OS是运行在【9】中的虚拟操作系统。 〔答案讨论〕
(10)Novell公司收购了SUSE,以便通过SUSE【10】Professional产品进一步发展网络操作系统业务。 〔答案讨论〕
(11)IP服务的三个特点是:不可靠、面向非连接和【11】。 〔答案讨论〕
(12)如果一个IP地址为10.1.2.20,子网掩码为255.255.255.0的主机需要发送一个有限广播数据报,该有限广播数据报的目的地址为【12】。 〔答案讨论〕
(13)IPv6的地址长度为【13】位。 〔答案讨论〕
(14)浏览器结构由一个【14】和一系列的客户单元、解释单元组成。 〔答案讨论〕
(15)为了解决系统的差异性,Telnet协议引入了【15】,用于屏蔽不同计算机系统对键盘输入解释的差异。 〔答案讨论〕
(16)SNMP从被管理设备收集数据有两种方法:基于【16】方法和基于中断方法。 〔答案讨论〕
(17)数字签名是笔迹签名的模拟,用于确认发送者身份,是一个【17】的消息摘要。 〔答案讨论〕
(18)包过滤防火墙依据规则对收到的IP包进行处理,决定是【18】还是丢弃。 〔答案讨论〕
(19)组播允许一个发送方发送数据包到多个接收方。不论接收组成员的数量是多少,数据源只发送【19】数据包。 〔答案讨论〕
(20)P2P网络存在四种主要结构类型,Napster是【20】目录式结构的代表。
答案
答案: ¬
一、选择题 ¬
(1)B (2)C (3)D (4)A (5)B
(6)D (7)A (8)D (9)B (10)C ¬
(11)C (12)C (13)B (14)D (15)A ¬
(16)C (17)C (18)B (19)C (20)D ¬
(21)B (22)B (23)A (24)D (25)B ¬
(26)B (27)A (28)C (29)A (30)C ¬
(31)B (32)A (33)B (34)C (35)D ¬
(36)A (37)B (38)C (39)D (40)A ¬ ¬
(41)C (42)B (43)C (44)B (45)D ¬
(46)D (47)A (48)C (49)C (50)C ¬
(51)D (52)C (53)D (54)D (55)B ¬
(56)C (57)C (58)A (59)B (60)A ¬
二、填空题 ¬
(1)RISC ¬
(2)时序性 ¬
(3)以太网物理地址(MAC) ¬
(4)1500B ¬
(5)路由 ¬
(6)语法 ¬
(7)数据链路层 ¬
(8)6.8Gbps ¬
(9)网页浏览器 ¬
(10)Linux ¬
(11)尽最大努力投递 ¬
(12)255.255.255.255 ¬
(13)128 ¬
(14)控制单元 ¬
(15)网络虚拟终端NVT ¬
(16)轮询 ¬
(17)加密 ¬
(18)转发 ¬
(19)一次 ¬
(20)集中 ¬
http://www.examda.com/ncre/kszt/
这上面全是真题
Ⅷ 计算机二级C语言选择题及答案(2)
}
printf("%d ",num);
}
程序执行后的输m结果是()。
A.35
B.37
C.39
D.3975
32.以下程序的'输出结果是()。
main()
{char st[20]="hello \";
printf("%d%d ",strlen(st).sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
33.若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是()。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
34.函数fseek(pf,OL,SEEK END)中的SEEK ENE 代表的起始点是()。
A.文件开始
B.文件末尾
C.文件当前位置
D.以上都不对
35.下述程序的输出结果是()。
#include
main()
{ int i;
for(i=l;i<=10;i++)
{if(i*i>=20)&&(i*i<=100))
break;
}
printf("%d ",i*i);
}
A.49
B.36
C.25
D.64
36.若有定义“int b[8],*p=b;”,则p+6表示()。
A.数组元素b[6]的值
B.数组元素b[6]的地址
C.数组元素b[7]的地址
D.数组元素b[o]的值加上6
37.设变量已正确定义,则以下能正确计算f=n!的程序是()。
A.f=0:
for(i=1;i<=n;i++)f*=i:
B.F=1:
for(i=l;i<2n;i++)f*=i:
C.f=l:
for(i=n;i>1;i++)f*=i:
D.f=1;
for(i=n;i>=2;i--)f*=i:
38.下述程序执行的输出结果是()。
#include
main()
{ char a[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]=’&’;
printf("%s ",a):
}
A.are&you
B.you
C.are
D.&
39.设x=011050,则x=x&01252的值是()。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
40.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用(双引号)括起时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
【答案与解析】
1.D。【解析】算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间。
2.D。【解析】数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,用的存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。
3.D。【解析】所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序通过相邻元素的交换,逐步将线性表变成有序是一种最简单的交换排序方法。
4.C。【解析】结构化程序设计的原则和方法之一是限制使用GOT0语句,但不是绝对不允许使用GOT0语句。其他三项为结构化程序设计的原则。
5.D。【解析】文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。
6.C。【解析】面对象的设计方法的基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但是它鼓励开发者在软件开发的过程中从应用领域的概念角度去思考。
7.D。【解析】所谓的后序遍历是指,首先遍历左子树,然后遍历右子树,最后访问根结点,并且在遍历左、右树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。
8.B。【解析】软件的过程设计是指系统结构部件转换成软件的过程描述。
9.A。【解析】①对软,牛开发的进度和费用估计不准确:②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度远远跟不上计算机应用迅速普能及深入的趋势。
10.C。【解析】对象的封装性是指从外面看只能看到对象的外部特性,而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。
11.C。【解析】数据库系统由如下5个部分组成:数据库(DB)、数据库管理系统fDBMS)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。其中 DB(DataBase)即数据库,是统一管理的相关数据的集合;DBMS即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用完程序提供访问DB的方法。由以上可知,选C为正确答案。
12.A。【解析】标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。B选项int不是表达变量类型的标识符,它不能再用做变量名和函数名。C 选项do是C语言的一个关键字。D选项标识符只能以字母或下划线开始。
13.D。【解析】本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式返回值才是1;“||” 的两个运算对象至少有一个是逻辑1时,表达式返回值也是1,x14.C。【解析】第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%0”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或0);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数,也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。
15.C。【解析】函数fun(int x,int y)的功能是返回x+y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此,逗号表达式“a++,b++,aq b”的值等于5,表达式c++的值为3,调用于函数的表达式为“fun(5,3);”,其返回值等于8。
16.D。【解析】在x=2,y=x+3/2中,3/2=1。2+1= 3,因此表达式的值为3,因为x,y为double型变量,故选择D选项。
17.A。【解析】当x为1时,执行case 1,a自加等于1,因为case 1后没有break,接着执行case 2,此时a的值为2,b自加为1,故选择A选项。
18.D。【解析】本题考梦自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“||”。自增运算符“++”出现在变量之前,表示先使用变量的值加l,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加l。当逻辑与运算符“&&’’两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“||”只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为进行或(||)运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。
19.A。【解析】本题考查switch语句。当i一1时,执行case 1,因为没有遇到break语句,所以依次往下运行,“a=a+ 2=2,a=a+3=5”;当i=2时,执行case 2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3= 10”;当i=3时,执行case 3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。
20.C。【解析】只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。
21.A。【解析】循环的作用是求行下标从1到2列下标从0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a [2][1]+a[2][2]=3+4+5+6+0=18。
22.A。【解析】在程序语句中,k的初始值为5,进行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k 自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。
23.A。【解析】通过地址来引用数组元素的方法有下列5种:
(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+i);(4)* (a[i][j]);(5)(&aE0][0]q-3*i+j)。故A正确。
24.C。【解析】选项A、B的空间不够;字符串存储要有结束符’