一、判断题第1题:C语言是一种结构化程序设计语言。
参考答案:对第2题:函数调用可以作为独立的语句存在参考答案:对第3题:在C语言中使用位段时,一个位段可以在不同的存储单元中。
错第4题:在switch语句中,case后可不加“{、}”。
参考答案:对第5题:在标准C中,while后表达式只能是逻辑或关系表达式。
错第6题:在C语言中,定义结构体变量时可以省略关健字struct。
错第7题:在标准C中并不区分英文字符的大小写。
参考答案:错第8题:二进制文件打开后可以先读文件的末尾,而顺序文件不可以对第9题:单目运算符++的运算对象可以是char型变量和int型变量,但不能是float 型变量参考答案:对第10题:“--”运算符的优先级比“-”运算符的优先级低。
参考答案:错二、单选题选择正确的答案输入第1题:若有以下说明:int w[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的数组元素的表达式是参考答案:DA、*w[1]+1B、p++,*(p+1)C、w[2][2]D、p[1][1]第2题:若有说明:int i,j=7,*p=&i;,则与i=j;等价的语句是参考答案:BA、i= *p;B、*p=*&j;C、i=&j;D、i=* *p;第3题:设i是int型变量,f是float型变量,为了把100和765.12分别给i和f,用下面的语句:scanf("i=%d,f=%f",&i,&f);正确的输入是参考答案:BA、100<空格>765.12<回车>B、i=100,f=765.12<回车>C、100<回车>765.12<回车>D、x=100<回车>,y=765.12<回车>第4题:若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是参考答案:BA、EOFB、1C、非零值D、NULL第5题:以下程序的输出结果是main(){int i,k,a[10],p[3];for (i=0;i<10;i++)a[i]=i;for (i=0;i<3;i++)p[i]=a[i*(i+1)];for (i=0;i<3;i++)k=p[i]*2;printf("%d\n",k);}参考答案:CA、10B、11C、12D、13第6题:C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是:参考答案:BA、地址传递B、单向值传递C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式第7题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第8题:在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
参考答案:AA、intB、doubleC、voidD、char第9题:Break语句的正确的用法是参考答案:BA、无论在任何情况下,都中断程序的执行,退出到系统下一层。
B、在多重循环中,只能退出最靠近的那一层循环语句。
C、跳出多重循环。
D、只能修改控制变量。
第10题:当顺序执行了文件关闭操作时,fclose函数的返回值是:参考答案:CA、-1B、tureC、0D、1三、程序填空题第1题:设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束。
]#include "stdio.h"main(){char ch;do{ch =____;if (____)break;else if(_____)putchar(ch);}while(1);}参考答案:getchar()参考答案:ch == 'Q'或ch == 'q'参考答案:ch >= 'a' && ch <= 'z'|| ch >= 'A' && ch <= 'Z'第2题:以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,放在数组br中,主函数完成输出3行的最大值元素,请填空。
void fun(int ar[][4],int *br){int I,j,x;for(I=0;I<3;I++){x=ar[I][0];for(j=1;j<4;j++)if(___) x=ar[I][j];____=x;}}void main(){int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}};int b[3],I;____;for(I=0;I<3;I++)printf("%4d",___);printf("\n");}请在左边文本框当中输入正确答案参考答案:a[I][j]>x请在左边文本框当中输入正确答案参考答案:br[I]请在左边文本框当中输入正确答案参考答案:fun(a,b)请在左边文本框当中输入正确答案参考答案:b[I] 第3题:根据下式计算s的值,要求精确到最后一项的绝对值小于10的-6次方。
#include <stdio.h>#include <math.h>void main( ){int flag = 1, t = 1;double s=0,item=1;____;____;while( fabs(item)>=1e-6 ){item = flag * 1.0 / t;s = s + item;____;t = t + 2;}printf ( "s = %f\n", s);}请在左边文本框当中输入正确答案参考答案:s=0请在左边文本框当中输入正确答案参考答案:item=1请在左边文本框当中输入正确答案参考答案:flag=-flag四、程序阅读题第1题:阅读程序,写出运行结果。
#include <stdio.h>void main(){ int a[8]={1,0,1,0,1,0,1,0}, I;for(I=2;I<8;I++)a[I]+=a[I-1]+a[I-2];for(I=0;I<8;I++)printf("%3d",a[I]);printf("\n");}A)、1 0 1 0 1 0 1 0 B)、1 0 2 2 5 7 13 20 C)、1 1 2 3 5 8 13 21D)、1, 0, 1, 0, 1, 0, 1, 0参考答案:B第2题:阅读下列程序,写出程序运行的输出结果.#include <stdio.h>pw( int x , int n){ int j , p=1 ;for(j=1 ; j<=n ; j++)p=p*x ;return(p) ;}void main( ){ int j;for(j=0 ; j<3 ; j++)printf("%d,%d,%d\n", j, pw(2, j), pw(-3, j)) ;}A)、0,1,11,2,32,4,9B)、0, 2, 31, 4, 92, 8, 27C)、0, 1, 11, 2, -32, 4, -9D)、0,1,11,2,-32,4,9参考答案:D第3题:阅读下列程序,写出程序运行的输出结果。
#include <stdio.h>void main( ){ char c1, c2 ;c1='a'+'6'-'2' ;c2='a'+'6'-'3' ;printf("%c,%c\n",c2,c1) ;}A)、d, e B)、a, b C)、4, 3 D)、程序错误,没有结果输出参考答案:A第4题:阅读下列程序,写出程序运行的输出结果。
#include <stdio.h>void main( ){ char *p;char s[ ]=”ABCD” ;for(p=s;p<s+4;p++)printf(“%c,%s\n”, *p,p);}A)、A,ABCDB,BCDC,CDD,DB)、A,ABCDB,BCDC,CDC)、A,ABCDB,BCDD)、A,ABCD参考答案:A第5题:阅读程序,写出运行结果。
#include <stdio.h>void main( ){ int a=1,s=0;switch(a){ case 1: s+=1;case 2: s+=2;default : s+=3;}printf("s=%d,",s);}A)、s=1 B)、s=3 C)、s=6 D)、s=0参考答案:C五、程序设计题第1题:三个整数a、b、c,由键盘输入,从大到小依次放入a,b,c中输出。
参考答案:#include<stdio.h>main(){int a,b,c,temp;printf("请输入3个整数:");scanf("%d,%d,%d",&a,&b,&c);if(a<b){temp=a;a=b;b=temp;}if(a<c){ temp=a;a=c;c=temp;}if(b<c){ temp=b;b=c;c=temp;}printf("%d,%d,%d",a,b,c);}第2题:输入一数组,元素个数为20,统计出其中的奇数和偶数,并分别放入两个数组中,并分别求出她们的和。
输入输出都应有相应的提示。
参考答案:#include<stdio.h>main(){int sum[20],nq[20],ne[20],j,k,l,sumq,sume;k=0;l=0;sumq=0;sume=0;for(j=0;j<20;j++){scanf("%d",&sum[j]);if(sum[j]%2==0){ne[k]=sum[j];sume=sume+sum[j];k++;}else{nq[l]=sum[j];sumq=sumq+sum[j];l++;}}printf("偶数序列为:");for(j=0;j<k;j++)printf("%3d",ne[j]);printf("%5d\n",sume);printf("奇数序列为:");for(j=0;j<l;j++)printf("%3d",nq[j]);printf("%5d",sumq);}第3题:打印出如下所示的杨辉三角形(要求打印出10行)。