文档详情

C语言复习试卷2

xia****ai
实名认证
店铺
DOC
78KB
约9页
文档ID:159504994
C语言复习试卷2_第1页
1/9

班级------------------- 学号-------------- 姓名----------------- 重修标记一、单选题(将答案写入下列方框中,每小题2分,共40分)题号12345678910答案CABACDBBDA题号11121314151617181920答案CBADACBCAD1.以下不正确的C语言标识符是 C A)INT B)_define C)ab-exe D)_3_x2.定义M为一个符号常量,下列正确的是 A A) #define M 3.14 B) #define M 3; C) #include M 3.14 D) #include M 3; 3.温度华氏和摄氏的关系是:已知:float C, F; 由华氏求摄氏的正确的赋值表达式是 B A)C=5/9(F-32) B)C=5*(F-32)/9 C) C=5/9*(F-32) D)三个表达式都正确4.以下选项中,与n=--k完全等价的是 A A) k-=1; n=k B) n=k ; k=k-1 C) n=k-- D) n-=k-15.int x=3,y=1,z; 执行语句z=x>y ? x++: y-- ; 后,x和z的值为 C A)3,3 B)3,4 C)4,3 D)4,46.逗号表达式“(a=15 , a*=4) , a+15”的值是 D A)15 B)60 C)30 D)757.设定义:char x, y, z; 从键盘给x、y、z输入数据,正确的输入语句是 B 。

A)INPUT x y z; B) scanf("%c%c%c",&x,&y,&z);C) scanf("%c%c%c",x,y,z); D) getchar(x,y,z) 8.设 a=6, b=5, c=8, d=7, m=0, n=2, 执行 (m=a>b) || (n=c>d)后n的值为 B A) 1 B) 2 C) 8 D) 09.设有程序段int i=10;do{ i--;}while(i==1); 则下面描述中正确的是 D A) 循环共执行10次 B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次10.在执行int a[3][3]={1,2,3,4,5,6};语句后,a[2][2]的值是 A A) 0 B)5 C)6 D) 211.以下程序的输出结果是 C void main( ){ float x=3, y=5;printf(”x=%.2f,y=%.2f\n”, x, y); } A) x=%3.0,y=%5.0 B)x=3,y=5 C)x=3.00,y=5.00 D)x=%f,y=%f12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B A) 地址传递 B)单向值传递 C) 由实参传给形参,再由形参传回实参 D)传递方式由用户指定13.以下程序的输出结果是 A   void main(){ char s[]={‘a',‘b',‘\0',‘c',‘\0'};printf("%d,%d\n", sizeof(s), strlen(s));}A) 5,2 B) 6,2 C)5,4 D) 5,514.若x是整型变量,p是指向整型数据的指针变量,下述表达正确的是 D A) int x, *p; *p=x; B) int x, *p; *p=&x; C) int x, *p; p=x; D) int x, *p; p=&x;15.以下数组定义中不正确的是 A A) int a[2]={1,2,3}; B) int d[3][3 ]={{1,2},{1,2,3},{2,3,4}}; C) int a[ ]={1,2,3}; D) int b[ ][3]={0,1,2,3}; 16.以下程序的输出结果是 void main() { int x=10,y=10,i; for(i=1;x>8;y=y+i) x--; printf(“%d,%d ”,x,y); } A) 9,11 B) 9,12 C) 8,12 D) 9,11 8,12 17.设有如下定义 struct stu{int a ; float b; } student; 则对student中a域的正确引用的是 A)stu.a B) student.a C) struct stu.a D) struct.a18. 若有定义语句:int m=2, n=5 ; 则表达式m-=++n的值为 A) 6 B) -3 C) -4 D) 519.有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[8]; 则数值为9的表达式是 A) *p B) *(p+8) C) p+1 D)p+820..执行以下程序后,y的值是 void main() { int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[4]; for(x=0;x<3;x++) y-=*(p-x); printf(“%d\n”,y); }A) 1 B) -9 C) -17 D) -23二、程序填空题(每空2分, 共20分)1.下面函数用来求出两个整数之和,并通过形参传回两数相加之和,请填空。

int add(【1】 x, 【2】 y) { return 【3】 ;}2.数组元素的访问方法一般有下标法、地址访问法和指针变量法,据此编写了一个用这三种方法访问数组元素的程序,填写程序代码,使之成为一个完整的程序void main(){ int a[5]={1,3,5,7,.9}, i, *p; for( i=0; i<5; i++) printf(“%d”, a[i] ); // 下标法 printf(“\n”);for(i=0;i<5;i++) printf(“%d”, *(a+i) ); //地址法 printf(“\n”);for(【4】 ;pfloat fun(float x, int y){ float f ; if(y==0) f=1;; else f=【6】 ; return f;}void main(){ float a,c;int b; scanf("%f,%d",【7】 ); c=【8】 ); printf("a的b次幂=%f\n", c);}4.下面程序通过打擂台法找出十个数中的最大的那个数,填空补充程序。

int fun(int a[],int n){ int max; max=a[0]; for(i=0; ivoid main(){ int i, x[3]={1,2,3}, sum=0;for(i=0;i<3;i++) sum += x[i] * x[2-i]; printf("%d",sum);}程序运行后的输出结果是:________________________ 2.若执行以下程序时从键盘上输入3,7,1,则输出结果是 void main( ){ int a, b, c, t;scanf("%d,%d,%d ",&a,&b,&c);if(a>b) {t=a; a=b; b=t;}if(a>c) {t=a; a=c; c=t;}if(b>c) {t=b; b=c; c=t;}printf("%d,%d,%d\n",a,b,c); }3.void main(){ int x=1,y; switch(x) {case 1: case 2: y=-x;case 3: y=x*3;break;case 4: y=4*x; break; } printf(“%d\n”,y);}则程序运行后的输出结果是:_____________________4.#includevoid main(){ void swap(int *p1,int *p2);int n1=7,n2=8,n3=1; int *p1,*p2,*p3; p1=&n1; p2=&n2; p3=&n3;if(n1

4分) 2. 编写一个程序求自然数1~100之间所有偶数的和sum5分)3. 编写一个sort函数实现对数组元素按由小到大进行排序,主函数完成数组元素的初始化及排序后输出(主函数程序给出如下)6分) #include void main() { int a[10]={20,3,123,89,……}, i ; sort(a,10); for(i=0;i<10;i++) printf(“%5d”,a[i]); } 二、程序填空题(每空2分, 共20分)【1】 int 【2】 int 【3】 x+y 【4】 p=a或p=&a[0] 【5】 *p 【6】 fun(x,y-1)*x 【7】 &a,&b 【8】 fun(a,b) 【9】 max=a[i] 【10】 &a[i] 三、阅读下列程序,写出运行结果(每小题5分,共25分)1._____10_____ 2. 1,3,7 3. ___3__ 4.  8,7,1 5. 21 四、编程题(共15分)1. 按下式编程读入x的值,输出y的值,要求x的值由键盘输入。

4分) #include int main(){ int x, y; scanf(“%d”,&x); if(x<0) y=-1; else if(x==0) y=0; else y=1;printf(“y=%d\n”,y);return 0:} 上述程序仅供参考,采用正确的编程思想亦可酌情给分2. 编写一个程序求自然数1~100之间所有偶数的和sum5分) #include int main(){ int n,sum=0; for(n=2;n<=100;n=n+2) sum+=n; printf(“自然数1~100之间所有偶数的和为:%d”, sum);return 0;}上述程序仅供参考,采用正确的编程思想亦可酌情给分3. 编写一个sort函数实现对数组元素按由小到大进行排序,主函数完成数组元素的初始化及排序后输出(主函数程序给出如下)6分) void sort(int a[],int n) { int i,j,t; for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }上述程序仅供参考,采用正确的编程思想亦可酌情给分。

第 9 页 共 9 页。

下载提示
相关文档
正为您匹配相似的精品文档