ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:21.82KB ,
资源ID:5786486      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5786486.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言试题2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言试题2.docx

1、c语言试题2全国计算机等级考试二级笔试卷基础知识和C语言程序设计(考试时间120分钟,满分100分)1995年9月一、选择题(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 第一台电子数字计算机ENIAC诞生于A) 1927年 B)1936年 C) 1946年 D) 1951年(2) 用FORTRAN语言编制的源程序要变为目标程序,必须经过A) 汇编 B) 解释 C) 编辑 D) 编译(3) 计算机软件一般包括系统软件和A) 字处理软件 B) 应用

2、软件 C) 管理软件 D) 科学计算机软件(4) 计算机内使用的数是A) 二进制数 B) 八进制数 C) 十进制数 D) 十六进制数 (21) 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof(22) 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是A) 552 B) 264 C) 144 D) -264(23) C语言程序的基本单位是A) 程序行 B) 语句 C) 函数 D) 字符(24) 请选出合法的C语言赋值语句A) a=b=58 B) i+;

3、C) a=58,b=58 D) k=int(a+b);(25) 执行下面程序片段的结果是int x=23;do printf(%2d,x-);while(!x);A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环(26) 请选出以下语句的输出结果printf(%dn,strlen(t065xffn);A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(27) 设有如下的函数ggg(x)float x; printf(n%d,x*x);则函数的类型A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定(28) 设有如下枚举类型定义:enu

4、m language Basic=3,Assembly,Ada=100,COBOL,Fortran;枚举量Fortran的值为A) 4 B) 7 C) 102 D) 103(29) 若有以下说明和语句,请选出哪个是对c数组元素的正确引用int c45, (*cp)5;cp=c;A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)(30) 标准函数 fgets(s, n, f) 的功能是A) 从文件f中读取长度为n的字符串存入指针s所指的内存B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C) 从文件f中读取n个字符串存入指针s所指的内存D) 从

5、文件f中读取长度为n-1的字符串存入指针s所指的内存(31) 设有如下一段程序:int *var,ab;ab=100var=&ab;ab=*var+10;执行上面的程序后,ab的值为A) 120 B) 110 C) 100 D) 90(32) 以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includemain() int a10,i=0;while(i10) scanf(%d,_ );A) a+(i+) B) &ai+1 C) a+i D) &a+i(33) 设有如下的程序段:char str =Hello;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)

6、的值为A) o B) 0 C) 不确定的值 D) o的地址(34) 在宏定义 #define PI 中,用宏名PI代替一个A) 单精度数 B) 双精度数 C) 常量 D) 字符串(35) 字符(char)型数据在微机内存中的存储形式是A) 反码 B) 补码 C) EBCDIC码 D) ASCII码(36) 执行下面的程序段int x=35;char z=A;int b;B=(x&15)&(za);后,B的值为A) 0 B) 1 C) 2 D) 3(37) C语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允

7、许间接递归调用D) 不允许直接递归调用允许间接递归调用(38) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) a/b/c(39) 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x(40) 设有static char str =Beijing;则执行printf(%dn, strlen(strcpy(str,China);后的输出结果为A) 5 B) 7 C) 12 D

8、) 14(41) 设有如下程序:#includemain() int *k, *j, i=100;j=&i; k=&j;printf(%dn, *k); 上面程序的输出结果是A) 运行错误 B) 100 C) i的地址 D) j的地址(42) 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行 (m=ab)&(n=cd)后n的值为A) 1 B) 2 C) 3 D) 4(43) 下面函数的功能是sss(s, t)char *s, *t; while(*s)&(*t)&(*t+= *s+);return(*s-*t);A) 求字符串的长度 B) 比较两个字符串的大小C) 将字符串

9、s复制到字符串t中 D) 将字符串s接续到字符串t中(44) 请选出以下程序的输出结果#includesub(x,y,z)int x, y, *z; *z=y-x; main() int a, b, c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn, a,b,c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(45) 下面程序的输出结果是#includemain() int i=2,p;p=f(i,i+1);printf(%d,p);int f(a,b)int a,b; int c

10、;if(ab) c=1;elseif(a=b) c=0;else c=-1;return(c);A) -1 B) 0 C) 1 D) 2(46) 请选出以下程序段的输出结果#include#define MIN(x,y) (x)(y) (x):(y)main() int i,j,k;i=10; j=15;k=10*MIN(i,j);printf(%dn,k);A) 15 B) 100 C) 10 D) 150(47) 请选出以下程序段的输出结果#includemain() char sl10, s210, s310, s410;scanf(%s%s,s1,s2); gets(s3); gets

11、(s4);puts(s1); puts(s2); puts(s3); puts(s4);输入数据如下:(此处代表回车符)aaaa bbbbcccc ddddA) aaaa B) aaaa C) aaaa D) aaaa bbbbbbbb bbbb bbbb cccccccc cccc dddd ddddcccc dddd dddd eeee(48) 请选出以下程序的输出结果#includefun(s, n1, n2)int *s, n1, n2; int i, j, t;i=n1; j=n2;while(ij) t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;i+; j

12、-;main() int a10=1,2,3,4,5,6,7,8,9,0,i, *p=a;fun(p,0,3); fun(p,4,9); fun(p,0,9);for(i=0; i10; i+) printf(%d, *(a+i);printf(n);A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4(49) 请选出以下程序的输出结果#includemain() int a = 1,2,3,4 ,i;int x=0;for(i=0; ix );printf(%dn,

13、 (+p)-x);printf(%dn, +( *p-y);A) 10 B) 50 C) 51 D) 6020 60 60 7020 21 21 31二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。(1) 十进制数123用八位二进制表示为 【1】 。(6) 设有如下程序段:int i=0, sum=1;do sum+=i+;while(i6);printf(%dn, sum);上述程序段的输出结果是 【6】 。(7) 阅读下列程序:#includemain() int i, j, row, column,m;static int a

14、rray33=100,200,300,28,72,-30,-850,2,6;m=array00;for (i=0; i3; i+)for (j=0; j3; i+)if (arrayijm) m=arrayij; row=i; column=j;printf(%d,%d,%dn,m,row,column);上述程序的输出结果是 【7】 。(8) 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b+)-(+c);后,a的值是 【8】 。(9) 下面程序的输出结果是 【9】 。 #include main() int a=3, b=2, c=1; c-=+b;

15、b*=a+c; int b=5, c=12; c/=b*2; a-=c; printf( %d,%d,%d,a,b,c); a+=-c; printf( %d,%d,%d,a,b,c); (10) 设有如下程序:#includemain(argc,argv)int argc; char *argv ; while( -argc0) printf(%s,argvargc);printf(n); 假定上述程序经编译和连接后生成可执行文件,如果在DOS提示符下键入PROG ABCD EFGH IJKL ,则输出结果为 【10】 。(11) 阅读下列程序: #include #define MAX_C

16、OUNT 4 void fun(); main() int count; for (count=1; count=MAX_COUNT; count+) fun(); void fun() static int i; i+=2; printf(%d,i); 上述程序的输出结果是 【11】 。(12) 设有下列程序:#include#includemain() int i;char str10, temp10;gets(temp);for (i=0; i4; i+) gets(str);if (strcmp(temp,str)0) strcpy(temp,str);printf(%sn,temp)

17、;上述程序运行后,如果从键盘上输入(在此代表回车符):C+BASICQuickCAdaPascal则程序的输出结果是 【12】 。(13) 设有如下程序: #include main(argc,argv) int argc; char *argv ; FILE *fp; void fc(); int i=1; while( -argc0) if(fp=fopen(argvi+,r)=NULL) printf(Cannot open file! n); exit(1); else fc(fp); fclose(fp); void fc(ifp) FILE *ifp; char c; while(

18、c=getc(ifp)!=#) putchar(c-32); 上述程序经编译、连接后生成可执行文件名为。假定磁盘上有三个 文本文件,其文件名和内容分别为: 文件名 内容 a aaaa# b bbbb# c cccc# 如果在DOS下键入 cpy a b c 则程序输出 【13】 。(14) 若输入3个整数3,2,1,则下面程序的输出结果是【14】 。 #include void sub( n,uu) int n, uu ; int t; t=uun-; t+=3*uun; n=n+; if(t=10) uun+=t/10; uun=t%10; else uun=t; main( ) int i

19、, n, aa10=0,0,0,0,0,0 scanf( %d%d%d,&n,&aa0,&aa1); for(i=1; in; i+) sub(i,aa); for(i=0; i=n; i+) printf(%d,aai); printf(n); (15) 若有以下定义: double w10; 则w数组元素下标的上限为 【15】 ,下限为 【16】 。(16) 以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。 #include #include main( ) int num26,i; char c; for(i=0; i26; i+) numi=0; wh

20、ile( 【17】 !=#) /*统计从终端输入的大写字母个数*/ if( isupper(c) numc-65+=1; for(i=0; i26; i+) /*输出大写字母和该字母的个数*/ if(numi) printf(%c:%dn,i 【18】 , numi); (17) 下面的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入此动态存储单元,调用outone函数输出此动态存储单元中的数据。请填空。#include getone(s)int *s; *s=(int *)malloc(sizeof(int);assone(a)int *a; scanf(%d,

21、【19】 );outone(b)int *b;printf(%dn, 【20】 );main( ) int *p;getone(&p);assone(p);outone(p);完C试卷参考答案一选择题(1)(40)题每题1分,(41)(50)题每题2分,共60分)(1)C(2)D(3)B(4)A(5)D(6)D(7)B(8)C(9)C(10)A(11)B(12)C(13)A(14)C(15)C(16)C(17)D(18)C(19)A(20)D(21)B(22)D(23)C(24)B(25)B(26)A(27)C(28)C(29)D(30)B(31)B(32)A(33)B(34)D(35)D(3

22、6)B(37)A(38)D(39)A(40)A(41)B(42)B(43)B(44)B(45)A(46)A(47)A(48)C(49)C(50)C二 填空题(每空2分,共40分)(1) 01111011(2) 32(3) 内存 或存储器 或存储(4) 允许用小写字母(5) 字段 或字段名(6) 16(7) -850,2,0若遗漏逗号扣1分(8) 28(9) 2,5,1,2,3,-2若遗漏逗号扣1分(10) IJKLEFGHABCD 若在字符间嵌入空格扣1分 若在字符间嵌入空格扣1分(12) QuickC 若大写字母写成小写字母,或小写字母写成大写字母扣1分(13) AAAABBBBCCCC 若在字符间嵌入空格扣1分若用小写字母扣1分(14) 2 7 2 1 或2721(15) 9(16) 0(17) (c=getchar() 注意,外层括号不得遗漏(18) +65 或 +A(19) a 或&*a(20) *b 精心搜集整理,只为你的需要

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1