版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计样题一、单选题1、C程序的基本构成单位是(C)A)文件B)命令C)函数D)语句2、在C语言中,a是(B)A)字符串常量B)字符常量C)变量D)函数3、在C语言中,“a=b=c=5”属于哪种表达式?(B)A)关系B)赋值C)逻辑D)非法4、设a、b为整型,则表达式(a=2,b=5,b+,a+b)的值是(D)A)2B)6C)7D)85、若有以下变量定义:int b=2;float a=5;则表达式“ab”之值为(A )A)2.5B)2C)3D)5/26、下面输出的结果为(D )。int a=3, b=8; printf(“%dn”, !a | !(b3) );A)6B)3C)1D)0
2、7、关键字 (C )用于位段的定义A) union B)typedefC)struct D)enum8、以下具有求值顺序的运算符是( D) 。A)/B)%C)&D)&9、为了判断两个字符串s1与s2是否相同,应当使用( D)A)if ( s1 = = s2 )B)if ( s1 = s2 )C)if ( strcmp( s1, s2 ) )D)if ( strcmp( s1, s2 ) = 0 )10、若有代数式:以下错误的C语言表达式是(B )A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*311、下列运算符中,优先级最高的是 (A) 。A) - B)
3、+ C) & D) =12、下列能输出字符数组str中字符串的语句是(B)A)printf(%c,str0);B)printf(%s,str);C)printf(%s,str);D)putchar(str);13、阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为(A)。 main() int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z);A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值14、已知int x=10,y=20,z=30;以下语句执行后x,y
4、,z的值是(B)。 if(xy) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=2015、语句while(!E);中的表达式!E等价于(A). A)E=0 b)E!=1 C)E!=0 D)E=116、以下对二维数组a的正确说明是(C). A)int a3; B)float a(3,4); C)double a14 D)float a(3)(4);17、若二维数组a有m列,则计算任一元素aij在数组中位置的公式为(D).(假设a00位于数组的第一个位置上。) A)
5、i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+118、若p=&x,则下列关系表达式之值为1的是( B )A)p=xB)*p=xC)&p=xD)*x=p19、C语言中最基本的数据类型包括(B )A)整型、实型、逻辑型B)整型、实型、字符型C)整型、逻辑型、字符型D)整型、实型、字符串型20、C语言中,要求运算对象必须是整型数据的运算符是(A)A)%B)/C)D)&21、表示数学关系“xyz”的C语言表达式是( C)A)x=y=zB)x=y | y=zC)x=y&y=zD)xyz22、以下说法中正确的是(C)A)C程序总是从文件中第一个函数开始执行B)C程序中,只有main( )
6、函数才可以调用其他函数C)C程序总是从main( )函数开始执行D)C程序中的main( )函数必须放在程序的开头23、若有定义:int a=7;float x=2.5,y=4.7;24、则表达式x+a%3*(int)(x+y)%2/4的值为( A)A)2.5B)2.75C)3.5D)025、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( C)A)intB)floatC)doubleD)不确定26、有输入语句:scanf(%d,%d,&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为( B)A)5 3B)5,3C)a=5 b=3D)a=5,b
7、=327、定义如下变量和数组:int j;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(C )for (j=2; j=0; j-)printf(%2d,xj2-j);A)1 5 9B)1 4 7C)7 5 3D)3 6 928、执行下面程序后,a的值是(B )#include #define SQR(x) x*xvoid main( )int a=10,k=2,m=1; a=SQR(k+m); printf(%dn,a);A)10B)5C)2D)129、以下叙述不正确的是(C )A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)全局变量的作用范围
8、仅限于其所在的整个文件D)局部变量的作用范围仅限于本函数30、设a=3,b=4,c=2,d=1,则表达式“ab?a:cd?c:d”的值为( C)A)4B)3C)2D)131、有以下程序段:x=-1;dox=x*x;while(!x);32、执行时,循环体执行的次数为(B )A)0B)1C)2D)不确定33、以下不正确的if语句形式是(C)A)if (xy&x!=y);B)if (x= =y) x+=y;C)if (x!=y) scanf(%d,&x) else scanf(%d,&y);D)if (xy) x+;y+;34、以下程序的输出结果是(C)#include void main( )i
9、nt x=2,y=-1,z=2; if (xy)if (y0)z=0;elsez+=1; printf(%dn,z);A)0B)1C)2D)335、以下能正确计算12310的程序段是(A )A)i=1,s=1;B)s=1;i=1;dowhile(i=10) s=s*i;i+;s=s*(+i);while(i11);C)for(i=1,s=0;i=10;i+)D)for(i=1,s=1;i+) s=s*i;s=s*i;36、若j为整型变量,则以下循环执行次数是(C )for (j=0;j= =0;)printf(%d,j-);A)无限次B)0次C)1次D)2次37、若有说明:int a10;则对
10、a数组元素的正确引用是(C )A)a3.5B)a(8)C)a6-5D)a1038、C语言规定,变量做实参时,它和对应形参之间的数据传递方式是(B )A)地址传递B)单向值传递C)双向值传递D)由用户指定传递方式39、C中,一个float类型的数据在内存中占(C )个字节。A) 1 B) 2 C) 4 D) 840、设有程序段:int k=5;while (k=0)k-;则下列描述中正确的是(C )A) while循环执行5次B) 循环是无限循环 C) 循环语句一次也不执行D) 循环体语句执行一次41、下面程序段的运行结果是( B)char c5= a, b, 0, c, 0 ; printf(
11、%s, c);A) ab B) ab C) Abc D) abc42、以下不正确的字符串赋值语句是(C )A) char *s; s=abcde;B) char s =abcde;C) char s10; s=abcde;D) char *s=abcde;43、设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是(B)A) k=*p1+*p2;B) p2=k;C) p1=p2;D) k=p2-p1;44、下面程序的输出结果是(A)#include void main( ) char s = ABCD; char *p; for (p=s;pbc”属于哪种表达式?(A
12、 )A) 关系B) 赋值C) 逻辑D) 非法51、以下不合法的C表达式是( C)A) 10 | 8B) 12=9+1C) +5D) x!=y52、给定以下程序段:int n=10;while (n6)n-;printf(%3d,n);53、以上程序段输出结果是(D )A) 10 9 8B) 9 8 7C) 10 9 8 7D) 9 8 7 654、若i,j已定义为int型,则以下程序段中内循环总的执行次数是(C )for (i=5; i0; i-)for (j=1; jname C)*( (*p).name )D)*( p-num )63、系统定义的堆动态内存分配函数的返回值类型是:(B )A
13、)voidB)void型指针变量 C)char型指针变量D)char型变量64、以下语句执行后的输出结果是多少: (A )unsigned short a=3,b=4;printf(%dn, ab | c的值为_1_4、整数m既能被3整除又能被4整除的逻辑表达式为_(m%3=0)&(m%4=0)_ 5、设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为_32_。6、已知:char a=a,b=b,c=c;int i;则表达式i=a+b+c的值为_293_。7、设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int
14、)y为_3.5_。8、定义:int m=5,n=3;则表达式m/=n+4的值是_0_,表达式m=(m=1,n=2,n-m)的值是_1_。9、表达式m+=m-=(m=1)*(n=2)的值是_-2_。10、C 语言中,数组在内存中占一片_连续_的存储区,由_数组名_代表它的首地址。数组名是一个_地址_常量,不能对它进行赋值运算。11、供用户使用的存储空间可以分为程序区、_静态存储区_、_动态存储区_。12、若有定义:int *p4; 则标识符p表示 数组长度为_4_的一维指针数组13凡是函数中未指定存储类型的局部变量,其默认的存储类型为_auto_ 14、设x,i,j,k都是int型变量,表达式x
15、=(i=4,j=16,k=32)计算后,x的值为_32_。三、程序填空1、下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母则直接输出,请在_处填上合适内容,使程序完整。#include void main( ) char ch; ch=getchar( ); if (_ch=A&ch=Z_) ch+=32; printf(%c,ch);2、下面程序的功能是:求1100间的偶数和,请在_处填上合适内容,使程序完整。#include void main( ) int num, sum=0; for (num=2; num=100; num=num+2) _s
16、um=sum+num_ ; printf(1-100间的偶数和是:%dn, sum);3、判断m是否是素数#include main()int m,i,k,flag=1;scanf(“%d”,&m); k=sqrt(m);for(i=2;i=k;i+) if(m%i=0) _flag=0_;_break_;if(_!flag_) printf(“%d is not a prime numbern”,m);else printf(“%d is a prime numbern”,m);4、下面程序段是求n!的递归函数,请将函数补充完整。double fac(int n)double result;
17、if (n= =1)result=1;elseresult=_n*fac(n-1)_5、计算1+1/2+1/4+1/50的值,并显示出来。main() int i=2; float sum=1.0; while(i=_50_) sum+=1/_(i*1.0)_; _i+_; printf(“sum=%fn”,sum); 四、阅读程序1. #include void main( )char ch;int cnt1=0,cnt2=0;while (ch=getchar( )!=n)if (ch=a&ch=z) cnt1+;else cnt2+;printf(COUNT=%dn,cnt1);若输入“
18、This is a C program.”,运行结果:COUNT=132. #include void main( )int i,j,temp;int a =0,1,2,3,4,5,6,7,8,9;for(i=0,j=9;ij;i+,j-)temp=ai;ai=aj;aj=temp;for(j=0;j10;j+)printf(%2d,aj);运行结果:9 8 7 6 5 4 3 2 1 03. #include #include void main( )char str120=good,str2 =morning;int i,j;for (i=strlen(str1),j=0;str2j!=0
19、; i+, j+)str1i=str2j;str1i=0;printf(string1=%s,str1);运行结果:string1=goodmoring4. #include void main( )int i,j,pos;float val,a10;for(i=0;i10;i+)scanf(%f,&ai);val=a0;for(j=0;jval)val=aj;pos=j;printf(Max=%f,position:%d,val,pos);本程序的功能是:从键盘输入10个数存到数组a中,求10个数的最大值及其位置当程序运行时,从键盘输入“1 0 2 9 3 8 4 7 5 6”,运行结果:M
20、ax=9.000000,position:35. #include float average(int x , int n)int i;float sum=0;for(i=0;in;i+)sum+=xi;return (sum/n);void main( )int a5=2,4,6,8,10;float rst;rst=average(a,5);printf(result=%fn,rst);运行结果:result=6.000000给定如下程序:6. #include void main( )char grade;scanf(%c, &grade);switch (grade)case A: printf(85100n); break;case B: printf(7084n); break;case C: printf(6069n); break;case D: printf(60n); break;default: printf(errorn);当程序运行时,从键盘输入“D”,输出的结果是:606. 给定如下程序:#include void main( ) int a5=2,5,3,7,6,i,j,t; for (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高压实验室的电气系统建设与施工管理
- 2025年度业绩奖金补充协议劳动合同
- 营养餐供应链的优化与管理策略
- 二零二五年度琴行钢琴租赁与专业赛事组织服务合同
- 2025年度学术论文著作权转让及发表许可合同
- 二零二五年度林业灾害应急处理树木砍伐合同
- 二零二五年度信用卡透支服务费合同
- 二零二五年度航空货物运输合同的保价条款与时效性保障
- 2025年度餐饮行业服务员职业发展劳动合同
- 二零二五年度健身俱乐部会员返利协议集册
- 诊所规章制度汇编全套
- 2024年云南省中考英语题库【历年真题+章节题库+模拟试题】
- 麻醉药品、精神药品月检查记录表
- 演示文稿国库集中支付总流程图
- 浙江省宁波市海曙区2022学年第一学期九年级期末测试科学试题卷(含答案和答题卡)
- 为了自由呼吸的教育
- 高考英语词汇3500电子版
- 建院新闻社成立策划书
- GB/T 19675.2-2005管法兰用金属冲齿板柔性石墨复合垫片技术条件
- 运动技能学习与控制课件第十三章动作技能的保持和迁移
- 2023年春节后建筑施工复工复产专项方案
评论
0/150
提交评论