C语言程序设计试卷

上传人:鲁** 文档编号:562094429 上传时间:2022-08-24 格式:DOCX 页数:11 大小:24.54KB
返回 下载 相关 举报
C语言程序设计试卷_第1页
第1页 / 共11页
C语言程序设计试卷_第2页
第2页 / 共11页
C语言程序设计试卷_第3页
第3页 / 共11页
C语言程序设计试卷_第4页
第4页 / 共11页
C语言程序设计试卷_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《C语言程序设计试卷》由会员分享,可在线阅读,更多相关《C语言程序设计试卷(11页珍藏版)》请在金锄头文库上搜索。

1、C 语言程序设计试卷7一、单项选择题(每题 1 分,共 20 分)1. 一个C 语言程序是由( )。A. 一个主程序和假设干子程序组成B. 假设干函数组成C. 假设干过程组成D. 假设干子程序组成2. :char *s=“NameAddressn“;则 s 所指的字符串的长度为( ). A. 18B. 16C. 13D. 143. 假设有条件表达林(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp) 的是( )。A. (exp=0)B. (exp!=0)C. exp=1D. (exp!=1)4. :a=b=c=1 且均为int 型变量,则执行以下语句:+a|+b&+c;变量 a

2、值为(),b 值为()。A. 不正确B.0C.2D. 1A. 1B.2C.不正确D. 05. C 语言规定,简洁变量做实参时,它和对应形参之间的数据传递方式是( )。A. 地址传递B. 单向值传递C. 双向值传递。即由实参传给形参,再由形参传回给实参D. 由用户指定传递方式6. 以下正确的函数形式是( )。A. double fun1(int x,int y)z=x+y; return z;B. fun1(int x, y)int z; return z;C. fun1(x,y)int x,y; double z;z=x+y; return z;D. double fun1(int x, in

3、t y)double z; z=x+y; return z;7. C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。A. float 型B. int 型C. long 型D. double 型8. 以下程序有语法性错误,有关错误缘由的正确说法是( )。void main(void)int k;void prt_char;k=prt_char(G);A. 语句void prt_char;有错,它是函数调用语句,不能用void 说明。B. 变量名不能使用大写字母。C. 函数原型说明和函数调用语句之间有冲突。D. 函数名不能使用下划线。9. 执行以下程序段后,变量x 和 y 的值是(

4、)。#define EXCH(a,b) int t; t=a;a=b;b=t; void main(void)float x=5.2 y=9.6; EXCH(x,y);.A. 10 和 5B. 9.6 和 5.2C. 出错D. 9 和 510. 假设有如下定义,则下面在scanf 函数调用语句中对构造体成员的引用不正确是( )。struct pupilchar name20; int age;int sex;pup5,*p;A. scanf(“%d“,p-age);B. scanf(“%s“,pup0.name);C. scanf(“%d“,&pup0.age);D. scanf(“%d“,&

5、(pup1.sex);11. 假设已有定义int(*p); 则指针p( )。A. 代表函数的返回值B. 指向函数的入口地址C. 表示函数的类型D. 表示函数返回值的类型12. 假设有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。A. a,p,&*aB. *&a,&a,*p C. &a,p,&*pD. *&p,*p,&a13. 设 x、y 均为float 型变量,则以下不合法的赋值语句是( )。A. +x;B. y=(x%2)/10;C. x*=y+8;D. x=y=0;14. :unsigned int x=65535;则执行以下语句后的x 值为( )。printf(

6、“%dn“,x);A. 65535B. 1C. 无确定值D. -115. 求字符串长度的函数是()。A. strcatB. strcpyC. strcmpD. strlen16. 下述对C 语言字符数组的描述中错误的选项是( )。A. 字符数组可以存放字符串。B. 字符数组的字符可以整体输入、输出。C. 可以在赋值语句中通过赋值运算符“对字符数组整体赋值。D. 可以用关系运算符对字符数组中的字符进展比较。17. 当运行以下程序时, 从键盘输入:AhaMA_Aha,则下面程序的运行结果是( (注:_ 代表空格)。#include void main(void) )。char s80,c=”a”;

7、 int i=0;scanf(“%s“,s);while(si!=”0”)if (si=c) si=si-32;else if(si=c-32) si=si+32;i+;puts(s);A. ahAMaB. AhAMaC. AhAMa_abA D. ahAMa_ahA18. 有一堆零件(100 到 200 之间), 假设分成 4 个零件一组的假设干组, 则多 2 个零件;假设分成 7 个零件一组, 则多 3 个零件;假设分成 9 个零件一组, 则多 5 个零件。下面程序是求这堆零件总数, 请选择。#include void main(void)int i;for(i=100;i200;i+)

8、if (i-2)%4)=0)if (! (i-3)%7)if ( ) printf(“%d“,i);A. i%9=5B. i%9!=5C. (i5)%9!=0D. i%9=519. 以下关于do-while 循环的不正确描述是( )。A. do-while 的循环体至少执行一次B. do-while 循环由do 开头,用while 完毕,在while(表达式)后面不能写分号C. 在do-while 循环体中,确定要有能使while 后面表达式的值变为零(“假“)的操作D. do-while 的循环体可以是复合语句二、是非推断题(每题 1 分,共 15 分)1. 程序的执行总是从主函数开头,主函

9、数执行完时,则程序执行完毕。2. 把握台标准输入设备一般是指键盘。3. do-while 语句的循环体至少执行一次。4. 循环体中continue 语句的作用是完毕整个循环的执行。5. C 语言规定,else 子句总是与它上面的最近的if 配对。6. 数组的长度是固定的。7. 假设有说明:int a34; 则 a1+10是对a 数组元素的正确引用。8. char a=0,1,2,3,4,5,6不是正确的数组说明语句。9. 字符串“This“大于字符串“that“。10. 在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式。11. 假设在同一个源文件中,外部变量与局

10、部变量同名,则在局部变量的作用范围内,局部变量被“屏蔽”,即它不起作用。12. 函数中的局部变量与全局变量同名时,局部变量优先,全局变量临时不起作用。13. 全局变量可以被任何一个函数中的任何一个表达式使用。14. 表达式i+与+i 在任何场合功能完全一样。15. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不一样。三、多项选择题(每题 1 分,共 5 分)1. 以下关于switch 语句和break 语句的结论中,不正确的选项是().A. break 语句用来退出switch 语句B. 在switch 语句中可以依据需要使用或不使用break 语句C. 在switch 语

11、句中必需要使用break 语句D. break 语句用来重执行switch 语句2. 下面标识符中,不合法的用户标识符为( )。A. PadB. a_10C. CHARD. a#bE. intF. signed3. 请从下面关于局部变量和全局变量的表达中, 选出 5 个正确的表达。(1)全局变量的作用域是其所在的整个源程序。 (2)一个C 源程序中,不同函数中的变量不能重名。(3)全局变量在程序的全部执行过程中都占用存储单元。(4)函数的形式参数是局部变量。(5) 主函数main 中定义的变量在整个C 文件中有效。(6) 用static 关键字声明的局部变量,其作用域被扩大。(7) 全局变量的

12、作用范围是从被定义开头到整个源程序文件的完毕。(8)全部局部变量在作用范围内才占据内存,之外不占据内存。(9)局部变量和全局变量同名时,局部变量优先。(10)可以在复合语句中定义局部变量。4. 选择结果为整型的表达式( )。(其中各个变量定义为:int i;char c,*s;float f,g;)A. i+fB. i*cC. *s-”A”+48D. f*(int)gE. *s+(int)cF. *(s+i)+(int)f5. 请从下面关于循环语句的表达中, 选出 5 个正确的表达。(1) for(;)是不合法的。(2) 在循环语句中使用continue 语句可以终止整个循环。(3) 可以用d

13、o-while 语句实现的循环确定可以用while 语句实现。(4)循环体可以为空。(5)do-while 语句和while 语句的区分仅是“while“消灭的位置不同。(6)可以用while 语句实现的循环确定可以用for 语句实现。(7) 循环体假设包含一个以上的语句,应用大括号括起来。(8) do-while 语句和for 语句均是先执行循环体,后推断表达式。(9)for 语句只能用于循环次数确定的状况。(10)break 语句只能用于循环语句和Switch 语句。四、程序运行结果题(每题 4 分,共 20 分) 1. (4 分)#include #include #include #i

14、nclude void main(void)char s1101,s251; int l1,l2,i;printf(“请输入字符串 1:“); gtes(s1);printf(“请输入字符串 2:“); gets(s2);l1=strlen(s1); l2=strlen(s2);for(i=0;il2+1;i+) s1l1+i=s2i; printf(s1);假设运行上述程序时,输入的 2 个字符串分别为ABCDEF,1234,则运行结果为( )。2. (4 分)当运行以下程序时, 从键盘键入right?, 则下面程序的运行结果是( ) 。#include void main(void)char c;while(c=getchar)!=”?”) putchar(+c);3. (4 分

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号