本科C语言试题及答案.doc

上传人:豆**** 文档编号:34737270 上传时间:2022-08-18 格式:DOC 页数:8 大小:67KB
返回 下载 相关 举报
本科C语言试题及答案.doc_第1页
第1页 / 共8页
本科C语言试题及答案.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《本科C语言试题及答案.doc》由会员分享,可在线阅读,更多相关《本科C语言试题及答案.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流本科C语言试题及答案【精品文档】第 8 页C语言试题一 填空(每空1分,共10分):1 ”61” 在内存中占 2 个字节。2定义:int m=5,n=3;则表达式m/=n+4的值是 0 ,表达式m=(m=1,n=2,n-m)的值是 1 ,表达式m+=m-=(m=1)*(n=2)的值是 -2 。3若有enum mycolorred, blue=5,green,yellow=red+9; printf(%d, yellow); 结果输出为 9 . 4 表达式2|(1&53)的值为_-1_。5 若有以下说明和语句, char str=c:abcd.dat;pr

2、intf(%s,str); 则输出结果是 c:abcd.dat 。6 设t=1, a= 2 , b= -1,执行if(a=b)0)t=a+; 则 t的值为_1_7 字符A的ASCII码为65,则执行printf(“%c”,70);输出结果是_F_8 若用数组名称作为函数调用的实际参数,传递给形参的是数组的 首地址 。二 选择题 (每题1分,共15分)1若变量已正确定义并赋值,下面符合C语言语法的表达式是( B ) A) a:=b+1 B) a=b+=c+2 C) int 18.5%3 D) a=a+7=c+b 2若定义int a34,则在内存中前三个元素正确的存放顺序是( C )。A. a01

3、,a02,a03 B. a11,a12,a13C. a00,a01,a02 D. 任意3该源程序执行后,屏幕上显示( C )void main()int a;float b;a=017;b=9.5;printf(a=%d,b=%4.2fn,a,b);A)a=%d,b=%fn B)a=17,b= 9.50C)a=15,b=9.50 D)a=15,b=9.54有如下程序段 int a=14,b=15,x; char c=A; x=(a&b)&(c =1)&(x=1|x=1 .OR. x=1|x=06打开一个已经存在的非空文本文件,名字为A,正确的打开语句是(B )。A) FILE *fp; fp=

4、fopen(A,r); B) FILE *fp; fp=fopen(“A”,”r”);C) FILE *fp; fp=fopen(“A”,”rb”); D) FILE *fp; fp=fopen(A,rb);7 有如下程序 main( ) float x=2.0,y; if(x0.0) y=0.0; else if(x2.0) y=0.5/x;else if(x10.0) y=1.0/x; else y=1.0; printf(“%fn”,y); 该程序的输出结果是 ( C ) A) 0.000000 B) 0.250000 C) 0.500000 D) 1.0000008下述程序片段中,执行

5、( C)后变量i的值为4。A) int i=1,j=0; B) int i=0,j=0; i=j=(i=3)+); (i=2,i+(j=2);C) int i=1,j=1; D) int i=0,j=1; i+=j+=2; (j= =1)?i+=3:i=2;9关于C语言中的 “while(表达式) 语句序列 ” ,以下叙述正确的是( D )。A不能构成循环结构 B构成的循环必须用break才能结束循环C当 while语句中的表达式的值为非0时结束循环D. 当 while语句中的表达式的值为0时结束循环10下述程序片段的输出是( A )。int a34=1,2,3,4,5,6;int x,*p=

6、a0;x=(*p)*(*p+2)*(*p+4);printf(”%d”,x);A) 15 B) 14 C) 16 D) 1311有如下程序 int func (int a,int b) return(a+b); main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%dn”,r); 该程序的输出的结果是 ( D )A) 12 B) 13 C) 14 D) 15 12下述程序的输出结果是 ( B )。#include int m=13; int fun(int x,int y) int m=3; return x*y-m; void ma

7、in( ) int k=7,n=5;printf(”%d”,fun(k,n)/m);A) 1 B) 2 C) 7 D) 1013 C编译系统对文件包含命令#include”file.h”的处理时机是( A )。A) 通常的编译处理之前 B) 通常的编译处理过程之中C) 程序连接时 D) 程序执行的开始14下述程序的输出结果是 ( B )。#includevoid main() union unsigned char c; unsigned int i4; z; z.i0=0x39; z.i1=0x36; printf(%d,z.c); A) 39B) 57C) 0D) 2815设有char s

8、tr20; 则从键盘为该数组输入一个字符串的正确语句是( A ) .A. scanf(“%s ”, str); B. scanf(“%s ”, &str); C. getchar(str); D. str=gets() ;三 判断题(每题1分,共5分) 正确画 ,错误画 1A和“A”都可以赋给字符型变量。 ()2C语言中引用数组元素时下标可以是变量。 ()3有参函数的实参在函数没有被调用时不占存储空间。 ()4局部变量的生存期仅限于本函数的内部。 ()5指针变量中只能存放数组的首地址。 ()四、写出以下各程序的输出结果(每题4分,共20分)1下述程序的输出结果是#includevoid mai

9、n()int x=-1,y=4;int k;k=x+=0 & !( y=0);printf(”%d,%d,%d”,k,x,y);输出结果:1,0,32若执行程序时输入”AbcDok#”,以下程序的输出结果是#includevoid main() char c; int v0=0,v1=0,v2=0; do switch(c=getchar( ) case a :case A: case e:case E: default: v0+;v2+; break; case i:case I: case o:case O: case u:case U:v1+;while(c!=#);printf(nv0

10、=%d,v1=%d,v2=%d,%c,v0,v1,v2,c);输出结果:v0=6,v1=1,v2=6,#3下述程序的执行结果是#includeint x=1;void fun(int y) int x=5; x+=y+; printf(”%d,”,x);void main( ) int a=3; fun(a); x+=a+; printf(”%d”,x);输出结果:8,44 #define N 5struct stud int num;char name10; int score3; st1=1001, “Wang”, 90 , 86, 84; main() int j,s=0;printf(

11、%5d % s ,st1.num,st1.name);for(j=0;jy?x:y);main() int a=5,b=7,c; c=(a=6,b=8);printf(%d, %d , %d , %d ,fmax (fmax (a+c,b),a-c),a,b,c); 输出结果:14,6,8,8五、 完善程序(每空1分,共15分)1、从键盘输入a、b、c三个整数,按大小顺序输出。swap(int *pt1,int *pt2)int p; p=*pt1;(1)*pt1=*pt2 ;*pt2=p; exchange(int *q1,int *q2,int *q3)if (*q1*q2)swap(q1

12、,q2); if (*q1*q3)swap(q1,q3); if(*q2*q3) (2)swap(q2,q3);main() int a,b,c,*p1,*p2,*p3; (3)scanf(”%d %d %d”,&a,&b,&c);p1=&a;p2=&b;(4)p3=&c; exchange(p1,p2,p3);printf(n%d,%d,%dn,a,b,c);2下述程序从键盘输入文本(用Esc作为文本结束标志)复制到一个名为input.txt的新文件中。Esc的键值为27,请填空。#includevoid main( )(5) FILE *fp;char cx;if(fp=fopen( (6

13、) input.txt,w )=NULL)return;while(cx=getchar( )!= (7) 27 )fputc(cx,fp);(8) fclose(fp) ;3、下述程序要求用户输入一个整数,调用函数进行判断,若是质数函数返回1,否则返回0。输出是否是素数的信息includestdio.hint Prime(int n)int i; for( i=2;in;i+ ) if((9) ni= =0) return 0; return (10) 1 ;void main() int k; scanf(“%d”,&k); if(11) Prime(k))printf(“%d是质数n”,

14、k); else (12) printf(“%d不是质数n” ,k );4 将一个具有10个元素的字符数组的元素首尾倒置并输出。#include#define M 10void main() char aM;int k;for(k=0;kM;k+)scanf(“%c”,&ak);for(k=0;kM/2;k+) char t=ak;(13)ak=a10-k-1 ak=aM-k-1 ;(14) a10-k-1=t ;for(k=0;kM;k+)printf(“%c”,(15) ak );六 编写程序(35分)1、 (10分)由用户从键盘输入两个3 4矩阵的值存放于数组中,主函数中通过函数调用实现两个矩阵相加的计算,主函数中输出结果矩阵。2、 (10分)利用数组,求出Fibonacci数列的前20项,存放在数组中,并输出, (Fibonacci数列的规律: 1 , 1 , 2 , 3 , 5 , 8 , 13 ) ; 求出这20项的和,并输出. 3、(8分)从键盘输入一个正整数N,计算并输出S=1-1/2+1/4-(-1)k+1/2k 4 (7分)编程显示1到100的摄氏温度所对应的华氏温度,转换公式为C=5/9*(F-32),其中C表示摄氏温度,F表示华氏温度,要求显示格式为 C * F 1 * 33.8 2 * 35.6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com