本书紧扣C语言基本理论知识,涵盖了程序基本结构、数组、函数、指针及自定义数据类型等知识点,配套设计了实践教程及习题指导,旨在强化对读者动手能力与基础知识的考核。
全书分为四部分: 第一部分为实验指导,共19个实验内容,每个内容均由若干个实验题目、知识点小结和思考题组成,集成了C语言程序设计的常见题目,运行结果也都有直观的截图显示。每个实验题目均调试成功,并附有参考源程序。第二部分为习题指导,其中列出了7个章节的常见笔试题目,由选择题、程序填空和读程序题组成。第三部分为综合模拟试题,共有3套笔试模拟试卷。第四部分为习题参考答案。
本书适合作为高等院校计算机及相关专业一年级本科生C语言实践课程的教材及理论复习参考书,同时也可作为参加C语言程序设计各种考试、竞赛等的模拟题集。
综合模拟试题一
一、 选择题(每题2分,共计50分)
1. 下列关于C++与C语言关系的描述中,()是错误的。
A. C语言是C++语言的一个子集
B. C++与C语言是相互兼容的
C. C++对C语言进行了一些扩充
D. C++和C语言都是面向对象的
2. C语言程序中的()步骤生成以.obj为扩展名的文件。
A. 编辑B. 编译C. 连接D. 运行和调试
3. C语言的函数体必须放在一对()之中。
A. {}B. []C. ""D. ()
4. 在C语言中,080是()。
A. 八进制数B. 十进制数C. 十六进制数D. 非法数
5. 下列C语言的表达式中()可以正确地描述变量X是3的倍数。
A. X/3==0B. X%3==0C. X/3!=0D. X%3!=0
6. 下列哪个表达式可以正确地描述华氏转摄氏,数学公式如: 5/9(f-32)()。
A. 5/9*(f-32)B. 5*(f-32)/9
C. 5.0*(f-32)/9D. 5.0/(9*(f-32))
7. 下列选项中属于C语言语句的是()。
A. b=1; B. a=10C. x*y+5D. cout<<'\n'
8. 以下不正确的语句是()。
A. if(x>y)x=y;B. if(x==y)&&(x!=0)x+=y;
C. if(x!=y)cin>>x; elsecin>>y; D. if(x9. switch语句能够很容易地改写为()语句。
A. forB. ifC. doD. while
10. 关于函数的说法,下列()是正确的。
A. 所有被调用的函数一定要在调用之前进行定义
B. 可以在一个函数中定义另一个函数
C. main()函数必须放在其他函数之前
D. 构成C语言程序的基本单位是函数
11. C语言程序中,函数返回值的类型是由()。
A. return语句中的表达式类型所决定
B. 调用该函数时的主调函数类型所决定
C. 调用该函数时系统临时决定
D. 在定义该函数时所指定的函数类型所决定
12. 下列关于函数头的定义语句正确的是()。
A. int Fact(int x,y)B. void Fact (int x)
C. int Fact(a)D. void int(double b)
13. 下列关于一维数组的定义,不正确的是()。
A. int a[10];B. float b[3*5];C. char c[20];D. int a[n];
14. 下列关于二维数组的定义,正确的是()。
A. int a[5][];B. int a[][5];C. int a[n][n]D. int a[](10);
15. 下列关于字符数组的定义,不正确的是()。
A. char a[20]="happy";B. char a[]="x+y*2=3";
C. char a[10];D. char a[10]='5';
16. 关于字符串的输入和输出,下列说法不正确的是()。
A. 字符串的整体输出到回车结束
B. 可以不同于普通的一维数组,整体以数组名输入输出
C. 如果字符串中包含空格,输入函数需选择gets
D. 可以和普通的一维数组一样,循环逐个读入
17. 有如下程序段,执行该程序段后,a的值为()。
int*p, a=10, b=1;
p=&a; a=*p+b;
A. 12B. 11C. 10D. 编译出错