C语言考试试题.doc_第1页
C语言考试试题.doc_第2页
C语言考试试题.doc_第3页
C语言考试试题.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试 题课程名称C语言程序设计适 用 时 间 试卷类别 A 适用专业、年级、班 一 、选择题(每小题2分, 22550分)1. 下列叙述错误的是( )。A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符C) C程序中的变量必须先定义,后使用D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写2. 以下叙述不正确的是( )。A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3. C语言中最简单的数据类型包括( )。A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型4. C语言中运算对象必须是整型的运算符是( )。A)%= B)/ C)= D)=5. 若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。A)a= =1 B)+i; C)a=a+=5; D)a=int(i);6. 下列运算符中优先级最高的是( )。A) B) + C) & D) ! =7. 设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。A) int B) float C) double D) char8. 设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值9. 设整型变量a,b的值均为8, printf(%d,%d,(a+,+b),b-);的输出是( )。A)8,8 B)8,7 C)9,9 D)8,910. 若有语句scanf(%d%d,&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。A)10 20 B)10,20 C)1020 D)10:2011. 判断char型变量ch是否为大写字母的正确表达式是( )。A)A=CH=A)& (CH=A)& (CH=Z) D) (A=ch)12. 有如下程序main( ) int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(a=%d,b=%dn,a,b); 该程序的输出结果是( )。A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=213. 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ) int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(%f,&score); sum+=score; ave=sum/4.0; printf(NO%d:%fn,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf(NO%d:%fn,n,ave);14. 要使下面程序段输出10个整数,则在下划线处填入正确的数是( )。 for(i=0;i=_ ;) printf(%dn,i+=2);A) 9 B) 10 C) 18 D) 2015. 对以下说明语句的正确理解是( )。int a10=6,7,8,9,10;A)将5个初值依次赋给a1至a5 B)将5个初值依次赋给a0至a4C)将5个初值依次赋给a6至a10 D)因为数组长度与初值的个数不相同,所以此语句不正确16. 对两个数组a和b进行如下初始化 char a=ABCDEF; char b=A,B,C,D,E,F;则以下叙述正确的是( )。 A) a与b数组完全相同 B)a与b长度相同 C) a和b中都存放字符串 D)a数组比b数组长度长17. 运行下面程序段的输出结果是( )。char s12=string;printf(%d,strlen(s);A) 12 B) 7 C) 6 D) 518. 已定义以下函数 fun(char *p2, char *p1) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是 ( )。A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C)对p1和p2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有019. 下列程序的运行结果是( )。void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(%d %d, a, b);A)6 3 B)3 6 C)编译出错 D)0 020. 有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是( )。A)*p+9B)*(p+8)C)*p+=9D)p+821. 在说明语句: int *f( ); 中,标识符f代表的是( )。A) 一个用于指向整型数据的指针变量。B) 一个用于指向一维数组的行指针。C) 一个用于指向函数的指针变量。 D) 一个返回值为指针型的函数名。22. 若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是( )。A) i=*p; B) *p=*&j; C) i=&j; D) i=*p;23. 若有以下程序段,执行后的输出结果是( )。char s120=BEIJING,*s2=SHANGHAI;printf(%d,strlen(strcpy(s1,s2);A)8 B)7 C)15 D)924. 在下列定义中的共用体所占内存字节数是( )。union char k6; struct int m;float f; a; double d; b;A)8 B)14 C)18 D)1025. 下列关于C语言数据文件的叙述中正确的是( )。 A)文件由ASCII码字符序列组成,C语言只能读写文本文件 B)文件由二进制数据序列组成,C语言只能读写二进制文件 C)文件由记录序列组成,可按数据的存放形式分为ASCII码文件和文本文件 D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(每空1.5分,共1.510=15分)1. 3.5+1/2的计算结果是【1】。 2. 设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为【2】。 3. 能正确表示逻辑关系:a5或a-1的C语言表达式是【3】。 4. 设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【4】。 for(i=0,j=10;i=j;i+,j-) k=i+j; 5. C语言中给出逻辑值“真”时是用【5】表示的。 6. 执行“static int b5,a3=1,2,3,4,5,6 ”后,b4=【6】。 7. 变量的存储方式可分为动态存储和 【7】 两种 。 8. C规定预处理命令必须以【8】开头。 9. 有以下说明定义和语句,可用a.day、引用结构体成员day, 请写出引用结构体成员a.day的其它两种形式 【9】 、 【10】 struct int day;char mouth;int year; a,*p; p=&a;三、阅读程序写运行结果(每小题3分,共35=15分)1. 运行下面程序:main( ) int n1,n2; scanf(%d,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1);若从键盘上输入298 , 则输出结果为【1】。2. 阅读下列程序,运行结果为【2】。#include stdio.hfun() static int x=5; x+; return x;main( )int i,x; for(i=0;i3;i+) x=fun(); printf(%dn,x);3. 以下程序执行时输入Language Programming的结果是_。 #include main() char str30; scanf(%s,str); printf(str=%sn,str); 4. 下列程序段的输出结果是【4】。#include stdio.hint fun(int a,int b)int z;z=a/b;return z;main( )int a=30,b=20,z;z=fun(a+b,a-b);printf(%dn,z);5. 阅读下面程序,程序的执行结果为【5】。void func(int *a,int b) b0=*a+6; main()int a,b5;a=0; b0=3;func(&a,b); printf(%dn,b0);四、阅读并完善程序(每空2分,共26=12分)1. 以下程序的功能是输入一个字符串,并将其中的字符a用字符串shu替代後输出。如输入为“123abcaHello”,则输出为“123shubcshuHello”。 #include void main() int i; char line81; scanf(“%s”, 【1】); for(i=0; linei!= 【2】; i+) if(linei=a) printf(“shu”); else printf(“【3】”, linei); 2. 阅读下列问题描述和相应的C程序,填空。【问题描述】:输入任意一个三位数d(要求d不等于495且其百位、十位、个位不全相等,否则重复输入),求出由此数的百位、十位、个位三个数字组成的最大数max和最小数min(百位数可以为0),再求出新三位数max-min,即max和min的差(如结果小于100,则百位数视为0);只要该数不等于495,重复以上运算,则经过有限次计算后,必定得到495。在程序中,函数get_maxmin()计算由三位数的百位、十位、个位所组成的最大数和最小数。例如,对于输入792,有下列计算过程:972279693 963369594 954459495 【程序】#include void get_maxmin(int a, int b, int c, int *p, int *q) int t;if(ab) t=a,a=b,b=t;if(ac) t=a,a=c,c=t;if(bc) t=b,b=c,c=t;*p=a*100+b*10+c; 【 4 】 ; void main( )int a, b, c, max, min, d;do scanf(“%d”,&d);a=d/100; b=d%100/10; c=d%10; while( 【5】 ); while(d!=495) get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论