重庆电子工程职业学院 2007-2008 学年第一学期 《程序设计基础》期末考试试卷(____卷)
适用班级:计算机应用系、软件工程系 项目 一 二 三 四 五 六 分数
班级_________ 学号__________ 姓名__________
一、单选题(1~5题每题1分 6~20每题2分 共35分) (1)以下字符列中,能作为C程序自定义标识符的是___ A.num(10) B. file_bak C. break D class + 2
(2 )下列语言中计算机能直接识别的语言是___
A. 汇编语言 B.C语言 C. 机器语言 D. Java
(3) C语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) <=
(4) 以下数组定义正确的是___
A、int a [5]; B. char 8th[10]; C. char ch [-100]; D. float f (10);
(5) 不是C语言基本数据类型的是___ A、指针类型 B、整型 C、无符号长整型 D、单精度型
(6) 程序运行结果的正确的是___ main( )
{ int a = - 1, b=4, k;
k=(a + + < = 0)&&( ! (b - - < =0)); printf ( \
A、0 0 3 B. 0 1 2 C. 1 0 3 D. 1 1 2
(7) 已知 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);则正确的输入形式是 A) a=12 b=24 c=36 B) 12,24,36 C) a=12,b=24,c=36 D) 12 24
(8) 程序片段执行后输出结果是___ int x=100, y=200;
printf (\ (x, y));
A、100 B、200 C、100,200 D、编译出错
(9) 程序片段执行后输出结果是___ int x=100, y=200;
总分 36 printf (\ x A、100 B、200 C、100,200 D、编译出错 (10) 设有程序段: int x=8; while (x=0) x=x-1; 则下列描述正确的是____ A、while循环将执行10次 B、while循环将执行无限次 C、while循环将一次也不执行 D、while循环将执行1次0. (11) 下面程序段的运行结果是___ char c[]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’}; printf(“%s\\n”,c); A) ab c B) ‘a’‘b’ C) abc D) ab (12) C语言规定,函数返回值的类型由___所决定。 A) return语句中的表达式类型 B) 调用该函数时的主调函数类型 C) 调用该函数时的形参类型 在定义该函数时所指定的函数类型 (13) 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是___ A. (!a==1)&&(!b==0) B. a C .a && b D . a||(b+b)&&(c-a) (14) 有以下程序段: int k=0; while(k==1) k++; while循环执行的次数是___ A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 (15) 当调用函数时,实参是一个数组,则向函数传递的是___ A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 (16) 以下正确的叙述是___ A) 在C语言中,main函数必须位于文件的开头 B) C语言的每行中只能写一条语句 C) C语言本身没有输入、输出语句 D)对一个C语言程序进行编译预处理时,可检查宏定义的语法错误 (17) 以下___是非法函数调用语句。 A) char c=‘T’; B) char c; putchar(c); getchar(c); C) putchar(0x7) D) putchar(‘d’+1); (18) 以下不正确的一维数组定义语句是___ double a[5]={1.0,2.7}; float a[5]={1.0,2.7,2.8,2,9,3.1,4.5}; char a[]={‘1’, ‘2’, ‘\\101’, ‘\\t’}; char a[]={‘\\x10’, ‘\\xa’, ‘\\r’}; (19)以下程序的运行结果是___ #include if(i<3) break; } printf(“\\n”); } A) * B) *** C) ** D) **** (20)如下程序: int runc(int a,int b) {return(a+b);} main() {int x=2,y=5,z=8,r; r=runc(runc(x,y),z); printf(“%d\\n”,r); } 该程序的执行结果是___ A) 12 B) 13 C) 14 D) 15 二、填空题(8 空 共16分) 1、设X为int型变量,请写出描述“X是偶数”的表达式是: 。 2、C语言中的基本数据类型分为 型, 型和字符型. 3、在数组 int score[10]={1,2,3,4,5,6}中,元素定义的个数有 个,其中score[8]的值为 。 4、循环语句:for(i= - 1;i<3;i++)printf(“!”);的循环次数是: 。 5.C语言提供的三种逻辑运算符是 、 和!。 三、判断题(10题 10分) 1. 语句“int n=10; int a[n];”是合法的。( ) 2. 语句“char str[10] ={\输出结果不是10,也不是5,而是6。 ( ) 3. 宏定义“#define S(a) a*a+a”与“#define S(a) (a*a+a)”在任何情况下都等价。( ) 4. 若i=3,则执行语句“j=++i;”之后j的值为4。 ( ) 5. 若i=3,则执行“j=i++; j=++i;”之后j的值为5。 ( ) 6. 根据语句“int b[3][3]= {2, 2, 9,4, 5, 3, 6, 7, 8}; ”,则可以知道b[1][1]的值为4。( ) 7. 以下语句“int x ; while (1) { x++;}”不能通过编译。( ) 8. 有以下程序片段: “for(i=0;i<10;i++) for (j=0;j<10;j++) 语句1“ ,则语句1要执行20次。( ) 9.printf函数是C语言本身的一部分。( ) 10.引用数组的元素的时候,下标不能使用变量。( ) 四、程序填空(5空 10分) 1. 以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩 和最低成绩,当输入负数时结束输入,请填空。 main() { float x,amax,amin; scanf(“%f”,&x); amax=x; amin=x; while(【1】) { if (x>amax) amax=x; if(【2】) amin=x; scanf(“%f”,&x); } printf(“\\namax=%f\\namin=%f\\n”,amax,amin); } 2. Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空。
相关推荐: