C语言程序设计-试卷B.doc
C语言程序设计-试卷B春季学期C语言程序设计试卷(B卷)适用班级:题 号一二三四五六七八总得分实得分考试班级_ 姓名_ 学号_一、选择题(每小题4分,共40分)1 选择出合法的 if 语句(设 int x,y; ) _A) if(a=b) x+; B) if(a=<b) x+; C) if(a<>b) x+; D) if(a=>b) x+; 2 以下叙述中错误的是 _ A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到"见名知意"C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识3 下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 4 以下程序的输出结果是_ main( ) int x=023; printf("%dn",-x); A)18B)22C)23D)195 switch后面的表达式不可以是_A.浮点表达式B.整型表达式C.逻辑表达式D.字符表达式6 在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为 #include<stdio,h> main() char ch; while(ch=getchar()!='n') if(ch>='A' && ch<='Z') ch=ch+32; else if(ch>='a' && ch<='z') ch=ch-32; printf("%c",ch); printf("n"); A) ABCdef B) abcDEF C) abc 7 以下运算符中优先级最低的算符为_ A).&& B).& C).|= D).| 8 以下程序的输出结果是_amovep(int p, int a3,int n) int i, j;for( i=0;i<i+)for(j=0;j<n;j+) *p=aij;p+; main() int *p,a33=1,3,5,2,4,6;p=(int *)malloc(100);amovep(p,a,3);printf("%d %d n",p2,p5);free(p);A) 56 B) 25 C) 34 D) 程序错误9 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序void sort(int a,int n) int i,j,t;for(i=0;i<n-1;i+for(j=i+1,j<n;j+)if(ai<aj) t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=o;i<10;i+) print("%d,",aai);printf('n");程序运行后的输出结果是_ A)1,2,3,4,5,6,7,8,9,10 B) 10,9,8,7,6,5,4,3,2,110 请读程序:#include<stdio.h>f(char *s) char *p=s;while( *p!='0') p+;return(p-s);main() printf("%dn",f("ABCDEF");上面程序的输出结果是 A) 3 B) 6 C) 8 D) 0二、填空题(每小题2分,共10分)1 数据类型混合运算时,要进行同型转换,转换方式分为_和_两种。2 设 int x=9,y=8; 表达式 x=y+1 的结果是 _ 。3 若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是_。a=1;b=2;c=3;d=4;w=(a<b)?a :b;w=(w<c)?w :c;w=(w<d)?w :d;4 设有如下程序段,下面描述中正确的是 _。int k=10; while(k=0) k=k-1;A、 循环执行一次 B、循环是无限循环 C、循环体语句一次也不执行 D、循环体语句执行一次5 表达式是由 _ 连接常量、变量、函数所组成的式子。三、求运行结果(每小题5分,共20分)1 #include "stdio.h"main() int a=2,b= -1,c=2;if (a<b)if (b<0) c=0;else c+; printf("%dn",c);2 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%Xn",m);执行后输出结果是3 main() int a4,i; func(a); for(i_0;i<4;i+) prinff("d",ai); 4 此程序运行时,输入qwert?程序的运行结果是_。#include<stdio.h>main()char c;while(c=getchar()!='?')putchar(+c);四、判断题 正确答"对" 错误答"错"(每小题2分,共22分)1 所有的字符都可用3位八进制数或2位十六进制数的转义字符的形式表示出来。( )2 逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。()3 函数getch()与getchar()的功能完全相同。4 C语言是一种解释方式的程序设计语言。 ( )5 在 switch语句中,多个 case 可以执行同一程序段。( )6 执行以下语句后,y 的值为0。 int x,y,z;x=y=z=0;+x | +y && +z; ( )7 几种运算中,优先级最高的运算符是. ( )8 for( ; ; )S 中的语句S必执行无穷多次。( )9 若有说明int c;则while(c=getchar();是正确的C语句。 ( )10 C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块。 ( )11 do printf("*");while(x);当x为0时输出一个*号五、程序填空题(每小题4分,共8分)1 本程序用于交换2个不相等的数,补充程序。#include <stdio.h>void main( ) 【1】 ; printf("input a, b: "); scanf("%d%d", &a, &b); if(【2】)【3】; a = b; b = temp; printf("a = %d, b = %dn", a, b); else printf("equaln");2 求1+3+5+.+99的值。#include "stdio.h"main()int i,sum=0; for(i=1; 【1】;【2】) 【3】printf("1+3+5+.+99=%d",sum);getch();共5页,第5页由考试系统自动组卷