第一范文网 - 专业文章范例文档资料分享平台

C习题集

来源:用户分享 时间:2020-06-22 本文由凉情凉心 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

计算机基础课程 The

The C Programming Language

Exercises in

C程序设计题习集

2002年3月 杭州

目 录

一、C程序设计习题

⒈ 单项选择题 ???????????????????? 2 ⒉ 填 空 题 ???????????????????? 7 ⒊ 写输出结果题 ???????????????????? 10 ⒋ 程序填空题 ???????????????????? 18 ⒌ 编 程 题 ???????????????????? 27 二、C语言程序设计习题答案

⒈ 单项选择题 ???????????????????? 29 ⒉ 填 空 题 ???????????????????? 29 ⒊ 写输出结果题 ???????????????????? 29 ⒋ 程序填空题 ???????????????????? 31 ⒌ 编程题(参考) ???????????????????? 32 三、浙江省高校非计算机专业计算机等级考试试卷(C语言部分)

⒈ 95年试卷 ????????????????????? 42 ⒉ 96年试卷 ????????????????????? 45 ⒊ 96年秋试卷 ????????????????????? 48 ⒋ 99年春试卷 ????????????????????? 51 ⒌ 99年秋试卷 ????????????????????? 54

1

PART 1 C语言程序设计习题

1 单项选择题

在每小题的四个备选答案中选出一个正确的,并将正确答案号码填在题后括号内。 1. 用C语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。 A、生成可执行目标文件 B、生成目标文件 C、输出运行结果 D、自动保存源文件

2. 在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明( )。 A、源程序有语法错误 B、源程序正确无误

C、源程序有运行错误 D、源程序无编译、运行错误,但仅此无法确定其正确性 3. 程序运行输出了错误的结果,可以排除下列哪一个因素( )。

A、算法错误 B、运行时输入数据错误 C、未通过编译 D、系统资源配置不当 4. 下列各个错误中,属于编译错误的是( )。

A、数组下标超界 B、“==”误写为“!=” C、死循环 D、括号不配对 5. 若int类型数据字长为4,其最大值为( )。

A、2 B、2-1 C、2-1 D、2 6. 常数的书写格式决定了常数的类型和值,03322是( )。 A、16进制int类型常数 B、8进制int类型常数 C、10进制int类型常数 D、10进制long int类型常数 7.“e2”是( )。

A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符 8. 要为字符型变量a赋初值,下列语句中哪一个是正确的( )。

A、char a=?3?; B、char a=”3”; C、char a=%; D、char a=*; 9. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的( )。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14; 10. 语句“float pi=3.1415926535;”将( )。

A、导致编译错误 B、说明pi为初值3.1415926535的单精度实型常数 C、导致运行时的溢出错误 D、说明pi为初值3.141593的单精度实型常数 11. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。 A、算术运算、赋值运算、关系运算 B、算术运算、关系运算、赋值运算 C、关系运算、赋值运算、算术运算 D、关系运算、算术运算、赋值运算 12. 关系运算符中优先级最低的运算符是( )。

A、“>=”和“<=” B、“>”和“<” C、“==”和“!=” D、“<=”和“<”

2

31

31

32

32

13. 逻辑运算符中,运算优先级按从高到低依次为( )。

A、&&,!,|| B、||,&&,! C、&&,||,! D、 !,&&,|| 14. 对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的( )。 A、0为假非0为真 B、只有1为真 C、-1为假1为真 D、0为真非0为假 15. 表达式 x==0&&y!=0||x!=0&&y=0等效于( )。

A、x*y==0&&x+y!=0 B、x*y==0&&(x+y==0) C、x==0||y==0 D、x*y=0||x+y=0 16. 表达式!x||a==b等效于( )。

A、!((x||a)==b) B、!(x||y)==b C、!(x||(a==b)) D、(!x)||(a==b) 17. 下列格式符中,哪一个可以用于以8进制形式输出整数( )。 A、%d B、? C、%o D、%ld 18. 下列格式符中,哪一个可以用于以16进制形式输出整数( )。 A、d B、%8x C、?6 D、%d

19. a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的( )。 A、scanf(”%d,%c”,&a,&c); B、scanf(”%d%c”,a,c); C、scanf(”%d%c”,&a,&c); D、scanf(”d=%d,c=%c”,&a,&c);

20. 字符变量ch=?A?,int类型变量K=25,语句printf(”=,ó\\n”,ch,k);输出( )。 A、65,253 B、65 253 C、65,25 D、A 25 21. 下列各语句序列中,能够且仅输出整型变量a、b中最大值的是( )。 A、if(a>b) printf(”%d\\n”,a); printf(”%d\\n”,b); B、printf(”%d\\n”,b); if(a>b) printf(”%d\\n”,a); C、if(a>b) printf(”%d\\n”,a); else printf(”%d\\n”,b); D、if(a

22. 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是( )。 A、if(u>s)t=u; t=s; B、t=s; if(u>s)t=u; C、if(u>s)t=s; else t=u; D、t=u; if(u>s)t=s; 23. 下列各语句中,能够输出整型变量a、b中最大值的是( )。

A、printf(”%d\\n”,(a>b)?a,b); B、(a>b)? printf(”%d”,a):printf(”%d”,b); C、printf(”%d”,if(a>b)a else b); D、printf(”%d\\n”,(a>b)?a:b); 24. 下列语句应将小写字母转换为大写字母,其中正确的是( )。

A、if(ch>=?a?&ch<=?z?) ch=ch-32; B、if(ch>=?a?&&ch<=?z?)ch=ch-32; C、ch=(ch>=?a?&&ch<=?z?)?ch-32:??; D、ch=(ch>?a?&&ch

A、s=0;for(i=1;i<=10;i++) s+=i; B、s=0;i=1;for(;i<=10;i++) s=s+i; C、for(i=1,s=0;i<=10;s+=i,i=i+1); D、for(i=1;s=0;i<=10;i++) s=s+i; 26. 若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是( )。 A、int jc=1; for(int i=2;i<=10;i++) jc*=i;

3

B、for(float jc=1,int i=2;i<=10;i++,jc*=i); C、float jc=1; for(int i=2;i<=10;jc*=i,i=i+1); D、for(float jc=1;i=2;i<=10;i++) jc*=i;

27. 下列语句中,哪一个可以输出26个大写英文字母( )。

A、 for(a=?A?;a<=?Z?;printf(”%c”,++a)); B、for(a=?A?;a=0&&i<=10) { if(i++==5)continue; printf(”%f\\n”,1.0/(i-5));} 功能相同的是( )。

A、for(;i>=0&&i<=10;i++) if(i!=5) printf(”%f\\n”,1.0/(i-5)); B、for(;i>=0&&i<=10;i++) if(i==5) printf(”%f\\n”,1.0/(i-5));

C、for(;i>=0&&i<=10;i++) if(i!=5) printf(”%f\\n”,1.0/(i-5)); else break; D、for(;i<=0&&i>=10;i++) if(i!=5) printf(”%f\\n”,1.0/(i-5));

29. 下列语句中与语句 while(1){if(i>=100)break;s+=i;i++;} 功能相同的是( )。 A、for(;i<100;i++) s=s+i; B、for(;i<100;i++;s=s+i); C、for(;i<=100;i++) s+=i; D、for(;i>=100;i++;s=s+i);

30. 下列各语句定义了数组,其中哪一个是不正确的( )。

A、char a[3][10]={”China”,”American”,”Asia”}; B、int x[2][2]={1,2,3,4}; C、float x[2][]={1,2,4,6,8,10}; D、int m[][3]={1,2,3,4,5,6}; 31. 下列各语句定义了数组,其中哪一个是正确的( )。

A、char a[10],*p=a[0] B、int d[2][]={1,2,3,4,5,6};

C、float x[][3]={1,2,4,6,8,10}; D、int m[][]={”no_1”,”no_2”,”no_3”}; 32. 数组定义为 int a[3][2]={1,2,3,4,5,6},下列表述中正确的是( )。 A、数组元素a[3][2]的值为6 B、数组元素a[6]的值为6

C、数组元素a[0]的值为1 D、a[0]不是int类型的数组元素 33. 用宏名定义一个字符串,下列表述中哪一个是正确的( )。 A、#define pi=3.14159; B、define pi=3.14159 C、#define pi ”3.14159” D、#define pi(3.14159);

34. 定义带参数的宏计算两式乘积(如x+3x-5与x-6),下列定义中哪个是正确的( )。 A、#define muit(u,v) u*v B、#define muit(u,v) u*v; C、#define muit(u,v) (u)*(v) D、#define muit(u,v)=(u)*(v) 35. 宏定义 #define div(a,b) a/b 的引用 div(x+5,y-5) 替换展开后是( )。 A、x+5/y-5 B、x+5/y-5; C、(x+5)/(y-5) D、(x+5)/(y-5); 36. 定义带参数的宏“#define jh(a,b,t) t=a;a=b;b=t”,使两个参数a、b的值交换, 下列表述中哪个是正确的( )。

A、不定义参数a和b将导致编译错误 B、不定义参数a、b、t将导致编译错误 B、不定义参数t将导致运行错误 D、不必定义参数a、b、t类型 37. 下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的( )。

4

2

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育C习题集 全文阅读和word下载服务。

C习题集 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1093775.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top