C语言程序设计习题2new_第1页
C语言程序设计习题2new_第2页
C语言程序设计习题2new_第3页
C语言程序设计习题2new_第4页
C语言程序设计习题2new_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计习题2一、单项选择题1. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )。A. c=b=a; B. (a=c)(b=c);C. (a=c)&(b=c); D. a=c=b;2. 以下定义语句中错误的是( )。A. int a=1,2; B. char *a3;C. char s10=”test”; D. int n=5,an;3. 临时存储频繁使用的信息以加快访问速度,通常用在处理器和主存储器之间一种计算机存储器是( )。A. 高速缓存(Cache) B. 辅助存储器C. 随机访问存储器 D. 只读存储器4. 下列运算符中优先级最低的是( )。A. ?:B.

2、 +=C. =D. =5. 以下程序的运行结果是( )。main( )int k=4,a=3,b=2,c=1; Printf(“n%dn”,ka? k:cb? c:a);A. 4B. 3C. 2D. 16. 设有程序段:int k=10;while(k=0) k=k-1;则下面描述中正确的是( )。A. while循环执行10次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次7. 设有以下程序段:int x=0,s=0;while(! x!=0) s+=+x;printf(“%d”,s);则( )。A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达

3、式是非法的D. 程序段执行无限次8. 下面程序段的运行结果是( )。int n=0;while(n+=2); printf(“%d”,n);A. 2B. 3C. 4D. 有语法错9. 若有说明:int a10;则对a数组元素的正确引用是( )。A. a10B. a3.5C. a(5)D. a10 -1010. 下面描述正确的是( )。A. 两个字符串所包含的字符个数相同时,才能比较字符串B. 字符个数多的字符串比字符个数少的字符串大C. 字符串“STOP ”与“STOP”相等D. 字符串“That”小于字符串“The”二、 填空题1. int *a()返回值为一个整型的_变量。2. 预处理命令

4、行都必须以_号开始。 3. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值为_,n的值为_。 4. 结构体用_关键字定义。5. 结构体数组的每个元素都是_型变量。6. 设c语言中,int类型数据占2个字节,则long类型数据占_个字节,short类型数据占_个字节。 7. C语言源程序文件的后缀是.C,经过编译之后,生成后缀为.OBJ的_文件,经连接生成后缀.EXE的可执行文件。 8. 以下程序的输出结果是_。# includemain( )int a=325;double x=3.1415926; printf(“a=%+06d x=%+en”,a,x);9.

5、 以下程序的运行结果是_。# includemain( )int n=0; n+=(n=10); printf(“%dn”,n);三、判断题1. 调用数学库函数,必须在程序的开头加一条#include命令,并把头文件“math.h”包含到程序中来。( ) 2若有宏定义:#define PI 3.1415926,则系统预编译时会报错。( )3. if-else与局不能操作多个操作语句。( )4. 主函数和被调函数之间没有数据传递关系。( )5. C语言的函数定义是相互平行独立的。( )6. 可以将一个结构体变量作为整体输入输出。( )四、简答题1. 写出文件打开函数的意义和用法。2. 写一个函数

6、,将两个字符串连接。3. 阐述指针变量的概念。4. 用数组名作函数参数与用数组元素作实参有几点不同?5. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上再吃时,见只剩一个桃子了。求第一天共摘多少桃子?6. 请根据自己的认识,写出C语言的主要特点。 C语言程序设计习题2答案 一、单项选择题题号12345678910答案CDABDCBCDD二、填空题题号答案1入口地址2#310,64Struct5结构体64,27目标8a=+00325x=+3.14159e+0092

7、0三、判断题题号123456答案TTF四、简答题1. 答:fopen 打开一个文件调用标准I/O库函数fopen,它使打开文件与一个流相关联,返回一个指向该流的文件类型指针,用于后续的文件操作。具体操作如下: FILE *fopen (const char *filename, const char *mode);2. 答: Char concatenate(char string1,char string2,char string) Inti,j; For(i=0;string1i!=0;i+) Stringi=string1i; For(j=0;string2j !=0;j+) Strin

8、gi+j=string2j;Stringi+j=0;Main()Char s1100,s2100,s3100;Printf(“nInput string1:”);Scanf(“%s”,s1);Printf(“Input string2:”);Scanf(“%s”,s2);Concatenate(s1,s2,s);Printf(“The new string is%sn”,s);3. 答:所谓指针变量就是变量的地址。在C语言中地址也是一种数据类型,它可以存放在一种特殊的变量中,这种变量称之为“指针变量”。C语言规定,当一个变量占用一个字节时,该字节的地址就是该变量的地址,如果变量占用连续的多个字

9、节,那么第一个字节的地址就是该变量的地址。在C程序中,变量的地址可以通过运算符&来得到,该运算符成为取地址运算符,它的运输对象是变量或数组元素,得到的结果是变量或数组元素的地址。4. 答:(1)用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的。因此,并不要求函数的形参也是下标变量。换句话说,对数组元素的处理是按普通变量对待的。用数组名作函数参数时,则要求形参和相对应的实参都必须是类型相同的数组,都必须有明确的数组说明。当形参和实参二者不一致时,即会发生错误。(2)在普通变量或下标变量作函数参数时,形参变量和实参变量是由编

10、译系统分配的两个不同的内存单元。在函数调用时发生的值传送是把实参变量的值赋予形参变量。在用数组名作函数参数时,不是进行值的传送,即不是把实参数组的每一个元素的值都赋予形参数组的各个元素。因为实际上形参数组并不存在,编译系统不为形参数组分配内存。那么,数据的传送是如何实现的呢?在我们曾介绍过,数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送,也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。5. 答: Main ()int day, x1,x2;day=9;x2=1;while (day0)X1=(x2+1)*2;/*第1天的桃子数是第2天的桃子数加1后的2倍*/X2=x1;Day - -; Printf(“桃子的总数是:%dn”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论