1 / 147
文档名称:

c语言程序设计试卷大汇总及答案.doc

格式:doc   页数:147
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言程序设计试卷大汇总及答案.doc

上传人:追风少年 2011/12/17 文件大小:0 KB

下载得到文件列表

c语言程序设计试卷大汇总及答案.doc

文档介绍

文档介绍:C语言程序设计一
一、选择题
下面对C语言字符数组的描述中错误的是________。
字符数组可以存放字符串
字符数组的字符串可以整体输入、输出
可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
不可以用关系运算符对字符数组中的字符串进行比较
2. 在宏定义#define PI ,用宏名PI代替一个________。
A. 常量 B. 单精度数 C. 双精度数 D. 字符串
3. 以下有关宏替换的叙述不正确的是________。
A. 宏替换不占用运行时间 B. 宏名无类型
C. 宏替换只是字符替换 D. 宏名必须用大写字母表示
4. 若有语句int w[5]={-4,6,0,-1,9};
则以下说法错误的是_________。
A. w 是地址的概念 B. 编译后,数组w占用连续的储存空间
C. 表达式w+3是地址的概念 D. 表达式*(w+1)的值为-4
5. 变量的指针,其含义是指该变量的______。
A. 值 B. 地址 C. 名称 D. 一个标志
6. 若有语句 char s[]=“E”;
为得到字符串中的字符‘w’,如下_______的引用方法是错误的。
A. s[0] B. *(s+1) C. *s D.*(s+0)
7. 若有语句 int *point,a=4;
point=&a;
下面均代表地址的一组选项是________。
A. a,point,*&a B. &*a,&a,*point
C. *&point,*point,&a D. &a,&*point,point
8. 若有赋值语句x=2,y=3; ,则x&y的位运算结果是_______。
0 B. 2 C. 3 D. 5
9. 用feof(fp)函数判断文件是否结束时,如果文件结束,则函数值为________。
A. 1 B. ‘\0’ C. 0 D. NULL
10. 对于库函数fread(buffer,size,count,fp),关于参数buffer的描述正确的是_____。
,代表要读入的数据项总和
B. buffer是一个文件指针,指向要读的文件
C. buffer是一个指向某连续存储空间的指针
D. buffer是fread( )函数执行成功的返回值
二、填空题
1. 在C语言中供用户使用的内存可分为三部分,全局变量应放在中。
2. 已知A的ASCII码是65,则printf(“%c”,66)的执行结果为____。
3. 若有以下定义和语句,则通过指针p引用值为98的数组元素的表达式
是_ 。
int w[10]={23,54,10,33,47,98,72,80,61},*p;
p=w;
4. 宏展开是在时进行的。
5. 若用数组名作为函数调用的实参,则传递给形参的是。
6. 若有以下定义,则引用变量stu中的num成员项的引用方式为。
struct
{ int num;
char name[10];
int score; } stu;
7. 在C语言中对文件的存取是以为单位的。
8. 若fopen()函数执行不成功,则返回值为。
9. 如果文件没结束,feof( )函数的返回值为。
,若要求文件的位置指针回到文件的开头,应当调用的库函数是。
三、阅读程序,写出程序的运行结果
1. f(int a[ ])
{ int i=0;
while (a[i]<=10)
{printf(“%d”,a[i]);
i ++;}
}
main()
{ int a[ ]={1,5,10,9,11,7};
f(a+1);
}
输出的结果是。
2. main()
{ char *s=“121”;
int k=0,a=0,b=0;
do
{k++;
if (k%2= =0) {a=a+s[k]-‘0’;continue;}
b=b+s[k]-‘0’;a=a+s[k]-‘0’;
}
while (s[k+1]);
printf(“k=%d,a=%d,b=%d\n”,k,a,b);
}
输出的结果是。
3. main()
{ int **pp, *p,a=10,b=20;
pp=&p;
p=&a;
p=&b;
printf(“%d,%d”,*p,**pp);
}
输出的结果是。
4. #define DOUBLE(r) r*r
main()
{int x=1,y=2,t;
t=DOUBLE (x+y