您的位置:首页 » 期末试卷答案 » C语言程序设计期末试卷 » C语言程序设计 期末试卷及答案 (李俊)

C语言程序设计 期末试卷及答案 (李俊)

C语言程序设计 期末试卷及答案 (李俊) - 封面

期末试卷配套教材:

书名:C语言程序设计
作者:李俊
出版社:电子工业出版社

期末试卷概述:

课程考核试卷 (2013——2014 学年第2学期) 课程名称:c语言程序设计 开课单位:计算机科学与信息工程学院 试卷序号:A 卷 任课教师:苏启明 考核年级、专业:计算机科学与技术 考试时间:120 分钟 考核方式: 开卷□ 闭卷□ 实验操作□ 题号 一 二 三 四 五 六 七 总分 统分人签字 应得分 实得分 得 分 评卷人 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填入题后的括号内。错选、多选或未选均无分。 1.一个完整的可运行的C源程序中( )。 A.可以有一个或多个主函数 B.必须有且仅有一个主函数 C.可以没有主函数 D.必须有主函数和其他函数 2.C语言源程序文件的后缀是( )。 A. .obj B. .exe C. .c D. .doc 3.c语言的注释符号是( ) A. // B./* */ C. % D. & 4.标识符顾名思义就是起到标识作用的符号,在c语言中标识符可以用来给变量、数组等命名,那么标识符由( )构成。 A.字母 B.数字、字母 C.下划线、字母 D.字母、数字和下划线 5.转义字符是c语言中一种特殊形式的字符常量,形式上是以一个字符“\”开头的字符序列,下面的转义字符是换行符的是( )。 A.\n B.\t C.\a D.\f 6.在赋值符“=”之前加上其他运算符,可以构成符合的赋值运算符。如x/=3等价于( ) A.x=x/3 B.x=3/x C.3=x/3 D.3=3/x 7.逻辑表达式(3>2||8&&6==6)的值为( ) A.0 B.1 C.3 D.2 8.A的ASCII码值为65,char a=’B’;printf(“%d”,a);的输出结果是( ) A.65 B.66 C.67 D.68 9.条件语句if(6>7) printf(“true false”);的输出结果为( ) A.true B.false C.无输出 D.true false 10.对于一位数组定义的一般形式:存储类型 数据类型 数组名[ ],中括号里面的数据代表( ) A.数组的长度 B.元素个数 C.数组的类型 D.元素类型 11. C语言中while与do-while语句的主要区别是( )。 A.do-while的循环体至少无条件执行一次 B.do-while允许从外部跳到循环体内   C.while的循环体至少无条件执行一次 D.while的循环控制条件比do-while的严格 12. 在下列数组定义、初始化或赋值语句中,正确的是( )。 A.int a[8]; a[8]=100; B.int x[5]={1,2,3,4,5,6}; C.int x[ ]={1,2,3,4,5,6}; D.int n=8; int score[n]; 13. C语言中,逻辑“真”等价于( )。 A.整数1 B.整数0 C.非0 D.TRUE 14. if( )选择语句的条件如果为真,则其控制范围:( ) A.可以执行其下不带大括号的一条语句 B.可以执行其下不带大括号的多条语句 C.不可以执行其下大括号内的语句 D. 不可以执行其下大括号内多条语句 15.结构体定义中又定义结构体,属于结构的() A.递归 B.嵌套 C.调用 D.引用 得 分 评卷人 二、填空题(本大题共8空,每空2分,共16分) 在每小题的横线上填上正确答案。错填、不填均无分。 1. 表达式(int)10/3的结果是_____________;10%3的结果是_____________。 2.执行语句:int a=3;a+=a*a;后的值是 。 3. 是用运算符和括号将操作数连接起来且符合c语言语法的式子。 4.检测数据对象占用内存大小的运算符是 。 5.算术运算符%的操作数的数据类型只能是 。 6. %md, m为指定的输出字段的宽度。如果数据的位数小于m,则左端补空格,若大于m,则按 输出。 7.已知int a[]={2,3,5,7,8},那么a[0]的值为 。 得 分 评卷人 三、阅读程序题(本大题共4小题,每小题3分,共12分) 在每小题的横线上填上正确答案。错填、不填均无分。 1. int a=3; float b=3.5; printf(“%f”,a+b); 2. int x=1,y=-4,z=13; if(x>=y&&(x>0)||(y>0)) printf(“true!”); else printf(“false!”); 3. float x; int i; x=3.6; i=(int)x; printf(“x=%f i=%d\n”,x,i); 4.如果从键盘输入6 int x; scanf(“%d”,&x); if(x>5) printf(“%d”,x); else printf(“%d\n”,x--); 得 分 评卷人 四、程序填空题(本大题共3小题,共8空,每空3分,共24分) 在每小题的横线上填上正确答案。错填、不填均无分。 1.猜数程序,和预定的数比较,并给出相应的提示。 #include<stdio.h> main() { int number=200; int i; scanf( ); if( ) printf(“猜大了”); else if( ) printf(“猜小了”); else printf(“猜对了”); } 2.求2到8的所以数之和,并输出2到8所有数的和,以及统计参与求和运算数的个数。 #include<stdio.h> main() { int i,j=0; int s=0,a=2,b=8; for(i=2; ) { s=s+i; //统计参与求和的数的个数 } } 3.输出1到100以内能被3整除且个位数为6的所以整数。 main() { int i,j; for( ) { j=i*10+6; if( ) continue; printf(“%d”,j); } } 得 分 评卷人 五、编程题(本大题共2小题,第1小题8分,第2小题10,共18分) 编写完整的程序。 1. 使用函数递归,求n的阶乘(1到n乘积)。 2. 定义一个学生的结构体,包括学号、姓名、性别和数学成绩四个成员。然后定义一个结构体数组包括三个元素,