C语言等级考试题目_第1页
C语言等级考试题目_第2页
C语言等级考试题目_第3页
C语言等级考试题目_第4页
C语言等级考试题目_第5页
已阅读5页,还剩44页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言等级考试复习资料题型一 单项选择题考点 1:运算符与表达式1. 已知 int i=10; 表达式“5void main()enum color Black=1,Red,Blue,Green;enum color c1,c2;c1=Red; c2=Blue;printf(“%d,%dn“,c1,c2);函数 fun 的功能是:求出无符号十进制数 n 中包含 0 的个数,及各位数字的最大值(A) 2,3 (B) 1,2 (C) 1,1 (D) 0,-116. 根据下面的结构体类型及其结构数组的定义,值等于A的表达式是( D ) 。struct seasonchar name10;int day;struct season s4=“Spring”,90,”Summer”,91,”Autumn”,92,”Winter”,92;(A) 0 (B) (C) (D) 0按照程序算得17.对于如下枚举类型定义,枚举量 Pasica的值为(C ) 。enum languageBasic=3,Assembly=6,Ada=100,COBOL,PasicaA) 4 B) 7 C) 102 D) 10318.设有以下定义:union dataint d1;float d2;demo;则以下叙述中,错误的是(D ) 。A) 变量 demo与成员变量 d2所占的内存字节数相同B) 变量 demo中各成员的地址相同C) 变量 demo和各成员的地址相同D) 若给变量 demo.d1赋 89后,demo.d2 中的值是 89.0赋值后其中的值应为 9019.设有如下说明typedef structint n;char c;double x;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是( A) 。A)STD s2=1,A,62,2,B,75;B)STD s2=1,“A“,62,2,“,75; 格式错位C)struct s2=1,A,2,B;D)struct s2=1,“A“,62.5,2,“B“,75.020.若有以下说明和定义union dtint a;char b;double c;data;以下叙述中,错误的是( C) 。A)data的每个成员起始地址相同B)变量 data所占的内存字节数与成员 C所占字节数相等C)程序段:data.a=5;printf(“%fn“,data,c);输出结果为 5.000000 正确结果应为 5D)data可以作为函数的实参21.设有如下枚举类型定义:enum language Basic=3,Assemble,Ada=100,COBOL,Fortran;则枚举量 Fortran的值为(A ) 。A) 102 B) 103 C) 4 D) 7考点 4:宏定义22. 以下程序的输出结果是( D ) 。# include # define f(x) x*xvoid main()int a=6,b=2,c;c=f(a+b)/f(a-b);printf(“%dn“,c); (A) -2.5 (B) -2 (C) 64 (D) 423. 运行以下程序的输出结果为( B ) 。#include “stdio.h“#define R 1+2#define S(r) r*r#define V(r) S(r)*Rvoid main()int r1=1+2;printf(“%d“,V(r1); 通过程序要求算得(A) 27 (B) 11 (C)9 (D)724.运行以下的程序,输出结果为( D ) 。#define M 3*2#define N M+2#define S(r) M*N*r/2#inlcude void main()int a=4;printf(“%d“,S(a);A) 96 B) 144 C) 22 D) 4025.以下程序的输出结果是(A ) 。#define MAX(x,y) (x)(y)?(x):(y)void main()int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(“%dn“,t);, 的优先级比赋值= 的优先级高的A) 7 B) 6 C) 5 D) 没有答案26.运行下面程序的输出结果为(D ) 。#define X 5#define Y X+1#define Z Y*X/2int main(void)int a;a=Y;printf(“%d,%dn”,Z,-a); 输出等于 a+b*b+c-c+a =1+2*2+3-3+1 =6 (A)15,6 (B)15,5 (C)12,5 (D)7,5考点 5:文件操作27. C语言中 fscanf函数的正确调用形式是( D ) (A) fscanf(文件指针,格式字符串,输出列表); 顺序错误(B) fscanf(格式字符串,输出列表,文件指针);(C) fscanf(格式字符串,文件指针,输入列表);(D) fscanf(文件指针,格式字符串,输入列表);考点 6:选择结构28. 设有定义:int a=1,b=2,c=3; ,以下语句中执行效果与其它三个不同的是( C ) 。(A) if(ab) c=a,a=b,b=c; (B) if(ab) c=a,a=b,b=c; (C) if(ab) c=a;a=b;b=c; (D) if(ab) c=a;a=b;b=c;C的结果为 329. 以下选项中与 if(a=1)a=b; else a+; 语句功能不同的 switch语句是 ( B ) 。(A) switch(a) (B) switch(a=1) case 1: a=b;break; case 0: a=b;break;default:a+; case 1:a+; (C) switch(a) (D) switch(a=1) default:a+;break; case 1:a=b;break;case 1: a=b; case 0:a+; 30. 有如下程序#include “stdio.h“void main()int a=2,b=-1,c=2;if(a1); 结果应为 10+3 所以等于 13(A) 1 (B) 13 (C) 12 (D) 535.表达式 15|127的值是(B ) 。A) 15 B) 127 C) 0 D) 1考点 9:常用函数36. 以下程序的输出结果是(C ) 。#include void main()char p20=a,b,c,d,q=“abc“,r=“abcde“;strcpy(p+strlen(q),r);strcat(p,q);printf(“%d %dn“,sizeof(p),strlen(p);(A) 20 9 (B) 9 9 (C)20 11 (D)11 1137.以下程序的输出结果是( C) 。#include void main()char p=1,2,3,q=“123“;printf(“%d,%dn“,sizeof(p),sizeof(q);指针存放的也就是内存地址,在 32位系统下,内存地址是 32位的,也就是 4个字节。所以 32位系统下,指针始终占用 4个字节。所以结果为 4A) 4,4 B) 3,3 C) 3,4 D) 4,338.以下程序段的运行结果是( C ) 。char a10=”abcd”;strcpy(a+2,”ABCD”);printf(“%sn”,a);(A)ABCD (B)aABCD (C)abABCD (D)abcABCD39.运行下面程序的输出结果为( C ) 。int main(void)char s20=”CLanguage.”;printf(“%d,%d”,sizeof(s),strlen(s); 数组定义(A)10,11 (B)10,10 (C)20,10 (D)10,20考点 10:数组40. 下列对 C语言字符数组的描述中错误的是( C ) 。(A) 字符数组可以存放字符串(B) 字符数组的字符串可以整体输入、输出(C) 可以在程序中用赋值运算符“=”对字符数组进行整体赋值(D) 不可以用关系运算符对字符数组中的字符串进行比较可以在程序中用赋值运算符“=”对字符数组进行整体赋值41.以下不能对二维数组 a进行正确初始化的语句是 ( A ) 。(A) int a 2 3 =1,2,3,4,5,6;(B) int a 3 =1,2,0;(C) int a 2 3 =0;(D) int a 3 =1,2,3,4,5,6; 其中 不能省略42.若有以下声明和语句:int a=1,2,3,4,5,6,*p;p=a;则下列说法正确的是(B ) 。A) 数组 a中值为 6的元素的地址可用表达式 p+6表示B) 表达式 p4和 a4的值相等 两表达式算出的结果都为同一个值C) p+和 a+都是正确的表达式D) 表达式则对 arr数组元素的正确引用是( D) 。A) arr55 B) a00 C) arr1,3 D) arr1+10arr1+1044.以下能对二维数组 a进行正确初始化的语句是( C ) 。(A)int a2 =1,0,1,5,2,3; 未能满足省略的条件(B)int a24=1,2,3,4,5,6;(C)int a 3=1,2,3,4,5,6;(D)int a =1,0,1,1,1;考点 11:指针45.以下程序的运行结果是(A ) 。#include void main()int a10=1,2,3,4,5,6,7,8,9,10,*p=printf(“%dn“,*p+*q);A) 14 B) 15 C) 8 D) 9输出 1,6.因为本身数组名也是一种指针,其指针类型与数组类型相同。46.若有说明:int i,j=5,*p=则与 i=j;等价的语句是( D ) 。A) i=*p; B) *p=* C) i= D) i=*p;47.若有以下定义和语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=p=p+2;则 printf(“%d“,*p);的输出结果是( A) 。1 处的索引号地址给指针 q,1 处的索引号处的值为 2 printf(“%dn“,*p+*q); A) 6 B) 5 C) 4 D) 348.设有以下语句struct st int n; struct st *next;static struct st a3=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论