365文库
登录
注册
2

计算机二级复习 (答案)

70阅读 | 2收藏 | 6页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
计算机二级复习 (答案)第1页
计算机二级复习 (答案)第2页
计算机二级复习 (答案)第3页
计算机二级复习 (答案)第4页
计算机二级复习 (答案)第5页
计算机二级复习 (答案)第6页
福利来袭,限时免费在线编辑
转Pdf
right
1/6
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
萳麋 上传于:2024-05-26
江苏省计算机2级考试 《如有异议再当讨论》 一、选择题(本题共20道小题,共40分。) 1. 表示关系x≤y≤z的c语言表达式为 A:(X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z) A解析:&&为并且符号 2. 以下程序的输出结果是 main( ) { int a=12,b=12; printf("%d %d
",--a,++b); } A10 10 B)12 12 C)11 10 D)11 13 D解析:++a为前置运算符,先执行后输出 以下的for循环 for(x=0,y=0; (y!=123)&&(x<4); x + + ); A 是无限循环 B)循环次数不定 C)执行4次 D)执行3次 C 解析: 此题与y无关,注意&&运算符&&左右条件,必须同时满足,x不能大于4,所以执行4次 有以下程序 main() { char a[]="programming",b[]="language"; char *p1,*p2; //定义两个指针 int i; p1=a;p2=b; //p1指向a[],p2[]指向b[] for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) //如果两个字符相同,就执行下一句 printf("%c",*(p1+i)); } 输出结果是 : Agm B)rg C)or D)ga D解析:此题考查学生理解能力和思维能力,在复杂的题目中寻找关键句。 5. 以下说法中正确的是 A #define和printf都是C语句 B) #define是C语句,而printf不是 C) printf是C语句,但#define不是 D) #define和printf都不是C语句 D解析:C语句分类:表达式语句 ,函数调用语句 ,控制语句 ,复合语句 ,空语句 6. 下面的程序 main() { int x=3; do { printf("%d
",x-=2); }while(!(--x));} A 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环 B 解析:while(!(--x))为((--x)==0)时结束while循环 7. 下面能正确进行字符串赋值操作的语句是 Achar s[5]={"ABCDE"};//无需双引号 B)char s[5]={'A'、'B'、'C'、'D'、'E'}; C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s); C解析: 以下程序的输出结果是 main( ) { int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2) 9 8 7 printf("%d ",p[i]); } 6 5 4 A 5 2 B) 5 1 C) 5 3 D) 9 7 3 2 1 C解析: 略 9. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A a<>0 B) !a C) a=0 D) a D解析:略 下面各语句行中,能正确进行赋字符串操作的语句行是 char st[4][5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'}; C) char *s; s="ABCDE"; D) char *s; scanf("%s",s); C解析:略 若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值 是 A EOF B) -1 C) 非零值 D) NULL D解析:注意文件程序的书写 12.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 A k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1 *(*p2); B解析: K是变量不能赋值 下面程序的输出是 main() { int a=-1, b=4,k; k=(a++<=0)&&(!(b--<=0)); //左边为1 &&右边为1 printf("%d %d %d
",k,a,b);} A 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2 C解析: 略 14. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是 A pb=&x B) pb=x; C) *pb=&x; D) *pb=*x A 解析:略 设有 static char str[ ]="Beijing"; 则执行 printf("%d
", strlen(strcpy(str,"China"))); 后的输出结果为 A 5 B) 7 C) 12 D) 14 A解析:str和‘china’所指内存区域不可重叠且str必须有足够的空间来容纳china字符串。 以下程序的输出结果是 main( ) { int x=10,y=10,i; for(i=0;x>8;y=++i) //i从9开始 printf("%d,%d ",x--,y); } A 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 D解析:略 设有如下函数定义: int f(char *s) { char *p=s; while(*p!='\0') p++; return(p-s); } printf("%d
",f("goodbey!")); 如果在主程序中用下面的语句调用上述函数,则输出结果为 A 3 B) 6 C) 8 D) 0 C解析: 略 若执行下面的程序时从键盘上输入3和4,则输出是 main() { int a,b,s; scanf("%d %d",&a,&b); //a=3,b=4 s=a; //s=3 if(a",s);} A 14 B) 16 C) 18 D) 20 B解析:略 19. 下面四个选项中,均是C语言关键字的是: auto enum include B swith typedef continue C signed union scanf D if struct type B解析:38个关键字要了解 有以下程序 void fun (int a,int b,int c) {a=456;b=567;c=678; } main() { //阅读时先从主函数 int x=10,y=20,z=30; fun (x,y,z); printf("%d,%d.%d",x,y,z); } 输出结果是 A30,20,10 B)10,20,30 C)456,567,678 D)678,567,456 B 解析:函数中并没有返回值,故函数值仍为main中的值 二、填空题(每空1分,共10分。) 1. 为表示关系:x≤y≤z ,应使用的C语言表达式是(x<=y)&&(y<=z)。 2. 字符串是以____'\0' ______为结束标志的一维字符数组。有定义:char a[]="";则a数组的长度是_____0 _______。 3. 设int a; float f; double i ;则表达式10+'a'+i*f值的数据类型是____ double_______。 4. 设有说明语句"int a[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]的初始化值为______0 _______,a[2][2]的初始化值为______8________。 5. 假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为_____26______ 6. 程序由主要由_____数据结构 ,算法_组成。 7. 有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_4 _ 个参数 三、判断题(本题共10道小题,共10分。) 1. 在C中,外部变量的隐含类别是自动存储类别( 对) 2. 实参和与其对应的形参共占用一个存储单元( 错) 3. 在不得已的情况下(例如提高程序运行效率),才使用goto语句(错 ) //goto语句的语义
tj