南昌大学C语言期末考试试卷

南昌大学 2005~2006学年第二学期期末考试试卷

试卷编号: ( A )卷 课程编号: H61050001 课程名称: C程序设计 考试形式: 闭卷 适用班级: 全校理工 姓名: 学号: 班级: 学院: 专业: 考试日期: 2006、06、23 题号 题分 得分 考生注意事项:1、本试卷共9页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 一 50 二 18 三 20 四 12 总分 100 累分人 签名 一、 单项选择题(每空 2 分,共 50 分) (请将各小题正确答案的字母序号填到相应小题的下划线上) 得分 评阅人 1. C语言的运算符按运算对象的数目可以分为 。 A) 单目运算一种 B) 单目和双目运算符 C) 单目、双目和三目运算符 D) 单目、双目、三目运算和四目运算符 2. C语言表达式2/5*10的值是 。 A) 0.04 B) 4 C) 4.0 D) 0 3. 已知变量f和i的类型说明如下: float f=12.34; int i; 则以下符合C语言语法的表达式是 。 A) i=(int)f%5 B) i=int(f)%5 C) i=f%5 D) i=(int f)%5 4. 能正确表示数学式1≤x≤5的C语言表达式是 。 A) 1 <=x<=5 B) (x> =1)&(x<=5 ) C) (x>=1 )&&(x<=5) D) (1 < =x)||(5> =x) 5. 设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,则C语言表达式c*i+c*f-i+100值的数据类型为 。 A) int B) float C) char D) 不确定 第 1 页 共 9 页

6. 在下列选项中,合法的C语言用户标识符的是 。 A) int B)sin C)if D)i+j 7. C程序的执行从 开始。 A) 程序中的第1个语句 B) 程序中的第1个函数 C) 名为main 的函数 D) 包含文件的第1个函数 8. 凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为 。 A) 自动(auto) B) 静态(static) C) 字符串 D) 字符或字符型变量值 9. 以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是 。 main() {int x,y; scanf(\ printf(\} (说明:用表示换行符,用_表示空格符) A) 10_20 B) x=10,y=20 C) 10 D) x=10 20 y=20 10. 下面程序的运行结果是 。 main() { int a,b; a=32767; b=a+1; printf(\} A) a=32767,b=-32768 B) a=32767,b=32768 C) a=32767,b=1 D) 运行出错 11. 在C语言中,以下错误的描述是 。 A) break语句不能用于循环语句和switch语句外的任何其它语句 B) 在switch语句中使用break语句或continue语句的作用相同 C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 12. 在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实参,则实际上传递给形参的是 。 A) 数组首地址 B) 数组的第一个元素值 C) 数组中全部元素的值 D) 数组元素的个数 13. C语言编译系统对宏命令是 。 A) 在程序运行时进行替换处理 B) 在程序连接时进行处理 C) 和源程序中其它C语句同时进行编译 D) 在对源程序中其它成份正式编译之前进行处理 第 2 页 共 9 页

14. 设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句是 。 A) if ( x >y ) printf ( “ %d ” , x ); B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y ); C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y ); D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y ); 15. 对以下程序段描述正确的是 。 x=10; while(x) x=x/4; A) 不执行循环体 B) 循环体执行一次 C) 循环体执行二次 D) 死循环 16. 在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的是 。 A) 数组下标可以用整型常量 B) 数组下标可以用整型变量 C) 数组下标可以用任意类型的表达式 D) 数组下标可以用整型表达式 17. 以下C函数的功能是 。 int fun(int x,int y) { int z=0; z=x>y?x:y; return z; } A) 求x 和y二者中的最大值 B) 求x 和y二者中的最小值 C) 返回一个不确定的值 D) 返回函数值为“0” 18. 定义数组:int s[10];则数组元素下标的取值 。 A) 最小值为1,最大值为10 B) 最小值为0,最大值为10 C) 最小值为0,最大值为9 D) 最小值为1,最大值为9 19. 已知 int i,s[4][5];不能表示数组第3行第3列元素值的是 。 A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ] C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 ) 20. 以下C函数的类型是 。 fun (float f ) { printf ( “ %f \\n ” , f ) ; } A) int B) float C) void D) 无法确定 21. 设char *s1,s2[255]=“programing” ;以下操作正确的是 。 A) *s1 = “function”; B) s2=“function”;s1=s2; C) s1 = “function”;s2=s1; D) *s2='P';s1 =s2 ; 22. 设有说明语句: struct student { int num,age; }; struct student stu[3]={{6001,20},{6003,21},{6005,19}}; struct student *p=stu; 则下面的C语言表达式中,值为6003的是 。 A) ++(p->num) B) (p++)->num C) (*p++).num D) (*++p).num 23. 已有定义 int ( * p ) ( ) ; 则指针 p 可以 。 A) 代表函数的返回值 B) 指向函数的入口地址 C) 代表函数的类型 D) 代表函数返回值的类型 第 3 页 共 9 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4