一、填空题
1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2、C语言的源程序必须通过【 】和【 】后,才能被计算机执行。 3、在C语言源程序中,一个变量代表【 】。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、在C语言中,用“\\”开头的字符序列称为转义字符。转义字符“\\n”的功能是_______;转义字符“\\r”的功能是_______。
6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。已有调用语句process(a,b,max);和process(a,b,min);。请填空。
void process(_______) {int result; result=(*fun)(x,y); printf(\"%d\\n\ }
7、下面程序段是找出整数的所有因子。请填空。
scanf(\"%d\",&x); i=1;for(;_______;)
{if(x%i==0)printf(\"%3d\",i); i++;
}
8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。
a+=_______;b=a-_______;a-=_______;
9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
10、字符串\"ab\\n\\\\012\\\\\\\"”的长度是_______。
二、选择题
11、若有说明语句:charc='\\72';则变量c( )。 A.包含1个字符 B.包含2个字符
C.包含3个字符 D.说明不合法,c的值不确定
12、设有说明语句:int k=7,x=12;则以下能使值为3的表达式是( )。 A..x%=(k%=5) B..x%=(k-k%5) C..x%=k-k%5 D..(x%=k)-(k%=5)
13、有定义语句int a,b;,若要通过语句scanf(\"%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是( )。(注:口代表空格)
A.6,5<回车> B.6,囗囗5<回车> C.65<回车> D.6,<回车>5<回车>
14、已有如下定义和输入语句,若要求al,a2,c1,c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。(注:口表示空格) int a1,a2;
char c1,c2;
scanf(\"%d%c%d%c”, &a1,&c1,&a2,&c2); A.10A□20B<回车> B.10□A□20□B<回车> C.10A□20B<回车> D.10A20□B<回车>
15、下面是对数组s的初始化,其中错误的语句是( )。 A.char s[5]={\"abc\; B.chars[5]={'a','b','c'}; C.chars[5]=\"\"; D.char s[5]=\"abcde\"; 16、一个C语言程序由( )。
A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成
17、执行语句for(i=1;i++<4;);后变量i的值是( )。 A.3 B.4 C.5 D.不定
18、若用数组名作为函数调用的实参,则传递给形参的是( ) A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数
19、以下与库函数strcpy(char*p1,char*p2)功能不相等的程序段是(A) void strcpyl(char xpl,char*p2)
{while((*p1++=*p2++)!=\\0');} B)void strcpy1(char *pl,char *p2)
{while((*pl=*p2)!=\\0){p1++;p2++;}} C)void strcpy1(char *pl,char *p2)
)。 {while(*p2)*p1++=*p2++;} D)void trcpyl(char *p1,char *p2)
{while((*pl++=*p2++);)*p='\\0';}
20、下面能正确进行字符串赋值操作的是( )。
A.char s[5]={\"ABCDE'); B.char s[5]={'A','B','C','D','E'}; C.char*s;s=\"ABCDE\"; D.char*s;scanf(\"%s\",s); 21、以下程序的正确运行结果是( )。
#include {extern int x,y;int a=15,b=10; x=a-b;y=a+b; int x,y; int main() {int a=7,b=5; x=a+b;y=a-b; num(); printf(\"%d,%d\\n\",x,y); return(0); } A.12,2 B.不确定 C.5,25 D.1,12 22、下面程序的运行结果是( )。 #include {char str[]=\"SSSWLIA\",c;int k; for(k=2;(c=str[k])!=\\o';k++) {switch(C. {case'I':++k;break; case'L':continue; default:putchar(C.;continue; putchar('*’); } return 0; } A.SSW* B.SW* C.SW*A D.SW 23、下面程序的功能是将字符串s中所有的字符c删除。请选择填空(#include for(i=j=0;s[i]!= '\\o';i++) if(s[i]!='c)[ ]; s[j]='\\o'; )。 puts(s); return 0; } A)s[j++]=s[i] B)s[++j]=s[i] C)s[j]=s[];j++ D)s[j]=s[i] 24、若w、x、y、z、m均为int型变量,则执行下面语句后的m值是( )。 w=1;x=2;y=3;z=4: m=(w 25、有一堆零件(100~200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件的总数,请选择填空( )。 # include for(i=100;i<200;i++) if((i-2)%4==0) if(!((i-3)%7)) if([ ]) printf(\"%d\ return 0; } A)i%9=5 B)i%9!=5 C)(i-5)%9!=0 D)i%9==5 三、读程序填空 26、以下程序的输出结果是_______。 #include 27、若要求下列程序的输出结果为8.00,则[]中应填入的是_______。 #include float s,x=1.2,y=[]; s=2/3+k*y/x+m/2; printf(\"%4.2f\\n\",s); return 0; } 28、下面程序的功能是:根据表4-6中给定的函数关系,对输入的每个x值,计算出相应的y值。请填空。 函数关系 x 𝑥<0 0<𝑥≤10 10<𝑥≤20 20<𝑥≤40 # include { case-1:y=0; break; case 0:y=x; break; case 1:y=10; break; y 0 x 10 -0.5x+20 case 2: case3: y=-0.5*x+20; break; default:y=-2; if(______) printf(\"y=%f\ else printf(\"error\\n\"); return 0; } 29、以下程序的输出结果是_______。 #include {intx,y;x=5;switch(x) {case1: case2: case3: case 4:printf(\"x<5\\n\"); case 5:printf(\"x=5\\n\",x); default:printf(\"The value of x is unknown.\\n\"); } return0; } 30、下面程序段的运行结果是_______。 i=1;a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); printf(\"a=%d\",a); 31、下面函数func的功能是_______。 #include num=labs(num); do {k*=num%10; num/=10; }while(num); return(k); } int main() {long n; printf(\"\\nPlease enter a number:\"); scanf(\"%ld\",&.n); printf(\"\\nThe product of its digits is%ld.\",func(n)); return(0); } 32、设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请填空。 #include {int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i; float ave; for(k=s=i=0;i<10;i++) {if(a[i]%2!=0)_______; s+=_______; k++; } if(k!=0) {ave=s/k;printf(\"%d,%f\\n\",k,ave);} return 0; } 33、下面程序的功能是判断输入的字符串是否是“回文”字符串称为“回文”,如level)。请填空。 #include (顺读和倒读都一样的int main() {chars[81],*pl,*p2; int n; gets(s); n=strlen(s); pl=s;p2=_______; while(_______) {if(*pl!=*p2)break; else{pl++;[3];} if(pl 34、编写程序实现功能:输入一个复数,输出其共扼复数。例如,输入2+3i<回车>时,输出2-3i;输入2-3i<回车>时,输出2+3i。 35、试利用结构体类型编制一个程序,实现输入一个学生的数学期中和期末成绩,然后计算并输出其平均成绩。 参考答案 一、填空题 1、00001111 2、【1】编译【2】连接 3、内存中的一个存储单元 4、【1】10【2】6 5、【1】换行 6、int x,int y,int(*fun)(int,int) 7、i<=x 8、【1】b【2】b【3】b 9、【1】scanf(\"%d%f%f%c%c”,&a,&.b,8.c1,8.c2); 【2】3囗6.5囗12.6aA<回车> (注:答案中的囗代表空格) 10、9 二、选择题 11、A 12、D 13、C 14、A 15、D 16、B 17、C 18、A 19、D 20、C 21、D 22、B 23、A 24、A 25、D 三、读程序填空 26、(1)123.456000 (2)口口口口口口口123.457 (3)123.4560 (4)8765.456700 (5)口口口口口口8765.457 (6)8765.4567 (7)8765.4567 27、3.6 28、**1** **3** 29、x=5 The value of x is unknown. 30、a=-5 31、计算整数num的各位数字之积。 32、【1】continue【2】a[i] 33、【1】s+n-1【2】pl 34、#include printf(\"Please enter:\"); scanf(\"%d%c% di\\n\ printf(\"Original value:%d%c% di\\n\ if(symbol=='-') symbol='+'; else symbol='-'; printf(\"New value:%d%c% di\\n\ return 0; } 35、#include int main() {struct study int mid; int end; int average; }math; scanf(\"%d%d\",&math.mid,&.math.end); math.average=(math.mid+math.end)/2; printf(\"average=%d\\n\",math.average); return 0; } 因篇幅问题不能全部显示,请点此查看更多更全内容