班 级
学 号
姓 名
装 订 线
装 订 线
C语言程序设计 试 题
(2008 /2009 学年 第 二 学期)
一
二
三
四
五
六
七
八
九
十
总分
得分
得分
选择题(满分30分,每题2分)
1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8; B. a+=y+3;
C. c++; D. a+b+c
2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1 B. 2 C. –1 D. -2
3.执行下面程序:
#include "stdio.h"
void main()
{
int a=1,b=2,c=3;
c=(a+=a+2),(a=b,b+3);
printf(“%d,%d,%d”,a,b,c);
}
则输出结果是: A 。
A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5
4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0 B. !a C. a=0 D. a
5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12 B. 11 C. 10 D. 9
6. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型 B. 调用该函数的主调函数的类型
C. 调用函数时临时决定 D. 定义函数时所指定的函数类型
7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i )
{case 0: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
A. 10 B. 11 C. 12 D. 13
9. 下列语句中不正确的字符串赋值或初始化的是 C 。
A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};
C. char str[10]; str= "strings"; D. char str[]= "strings";
10. 有如下程序:
#include
void main()
{
int a=1,b=0,c=0;
if (a
if (b<0) c=0;
else c++;
printf (“%d\n”,c);
}
该程序的运行结果是 D 。
A. 3 B. 2 C. 1 D. 0
11. 在函数调用,对参数传递的说法正确的是 A 。
A 实参和形参各占一个独立的存储单元。
B 实参和形参始终共用一个相同的存储单元。
C 可以由用户指定实参和形参是否共用一个存储单元。
D 可以由系统指定实参和形参是否共用一个存储单元
12. 以下正确的程序段是 C 。
A. char str1[ ]= "12345", str2[ ]= "abcdef"; strcpy(str1, str2);
B. char str[10], *st="abcde"; strcat(str, st);
C. char str[10]= " ", *st="abcde"; strcat(str, st);
D. char *st1="12345", *st2="abcde"; strcat(st1, st2);
13. 若有定义:int *p[4];则标识符p B 。
A. 是一个指向整型