




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上常见考试题型选择题(13年20题,每题1分,共20分)填空题(13年20分,基本概念、写程序运行结果、完善程序)判断题(13年10题、每题1分,共10分)编程题(13年4题,共40分)其他题型练习题选讲选择题(1) 一个C程序的执行是从 。A) 本程序的main函数开始,本程序的main函数结束B) 本程序的第一个函数开始,本程序的最后一个函数结束C) 本程序的main函数开始,本程序的最后一个函数结束D) 本程序的第一个函数开始,本程序的main函数结束(2) C语言源程序名的后缀是 。A).exeB) .c C) .objD) .cpp(3) 以下不能用作C语言中
2、的标识符的是 。A)_ab12cdB)ab12cd_C)12abcdD)ab12_cd(4) 下面关于字符常量的说法错误的是 。A)一个字符常量代表ASCII字符集中的一个字符B)单引号中的大写字母和小写字母代表不同的字符常量 C)字符常量只能包含一个字符 D)字符常量可以用单引号或双引号括起来(5) 以下程序运行后的输出结果是 。 #include <stdio.h> main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”,a=2*b); A)0,0B)1,0C)3,2D)1,2(6) 以下关于C语言中初始化的说法中正确的是 。
3、A)若整型变量在定义时没有初始化,则此时变量的值为0B)若整型变量在定义时没有初始化,则变量的值是空值C)若整型数组在定义时做了不完全初始化,则无法确定未指定值的数组元素的取值D)变量定义时如果没有初始化,则无法确定该变量的值(7) 已知字符A的ASCII码值是65,以下程序 。#include <stdio.h>void main( )char a='A'int b=20;printf("%d,%o",(a=a+1),b );A)表达式非法,输出零或不确定值B)因输出项过多,无输出或输出不确定值C)输出结果为20,142D)输出结果为66,24
4、(8) 下列说法中错误的是 。A)只能在循环体内使用break语句B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环 C)在while和do-while循环中,continue语句并没有使整个循环终止 D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,继续执行下次循环(9) 若变量已正确定义并赋值,不符合C语言语法的表达式是 。A)a=a+7B)a=7+b+c,8C)a>b && b>cD)a=a+7=c+b(10) 设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是 。A)0至
5、255B)0至65535C)0至32767D)-32768至32767(11) 以下程序的输出结果是 。main()int x=10,y=10;printf(“%d %dn”,x-,-y);A)10 9B)9 9C)9 10D)10 10(12) 若以下选项中的变量已正确定义,则正确的赋值语句是 。A)x1=26.8%3B)x3=0x12C)1+2=x2D)x4=1+2=3; (13) 以下表示数学式子“a<b<c”的逻辑表达式中错误的是 。 A)a<b<cB)a<b && b<cC)!(a>=b) && !(b>
6、=c)D)!(a>=b | b>=c)(14) 已知字符A的ASCII码值是65,以下程序 。#include <stdio.h>void main( )char a='A'int b=20;printf("%d,%o",(a=a+1),b );A)表达式非法,输出零或不确定值B)因输出项过多,无输出或输出不确定值C)输出结果为20,142D)输出结果为66,24(15) 在下面的条件语句中(其中s1和s2代表C语言的语句),只有一个在功能上与其它三个语句不等价,它是 【13】 。Aif(a) s1 ; else s2; Bif(a=
7、0) s2 ; else s1;Cif(a!=0) s1 ; else s2; Dif(a=0) s1 ; else s2;(16) 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 。A)k%2 B)k%2=1C)(k%2)!=0 D)!k%2=1(17) 已知x=3,y=2,则表达式x*=y+8的值为 【4】 。A)3B)2C)30D)10(18) 读下列程序:#include <stdio.h>main( )float a,b,t; scanf("%f,%f",&a,&b); i
8、f ( a>b) t=a;a=b;b=t; printf ("%5.2f,%5.2f",a,b );运行时从键盘输入3.8和3.4,则正确的输出结果是 。A)3.40,3.80B)3.40,3.80C)3.4,3.8D)3.80,3.40(19) 运行以下程序,输入6以后的输出结果是 。#include <stdio.h>void main()int x,y;scanf("%d",&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf("%dn",y);A)0B)1C
9、)-1D)不确定(20) 已知:intx,a,b;下列选项中错误的if语句是 。A)if (a=b) x+; B)if (a =<b) x+;C)if (x) x+;D)if (a-b) x+;(21) 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。#include "stdio.h"void main()int x;scanf("%d",&x);if(x+>5) printf("%d",x);else printf("%dn",x-);A)7和5B)6和3C)7和4D)6和4
10、(22) 以下程序运行后的输出结果是 。#include "stdio.h"void main()int a;scanf(“%d”,&a);if (a>100)printf("%dn",a>100);elseprintf("%dn",a<=100);A)100B)1C)0D)不确定(23) 若变量已正确定义,则以下程序段的输出结果是: 。x=0; y=2; z=3;switch(x) case 0:switch(y=2)case 1:printf("*");break;case 2:pri
11、ntf("%");break;case 1:switch(z)case 1:printf("$");case 2:printf("*");break;default:printf("#");A)*B)*# C)*%#D)*%$*(24) 设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是 。A)while循环执行10次B)循环时无限循环C)循环体语句一次也不执行D)循环体语句执行一次(25) 有以下程序main() int s,i=0,x=0;for (;)if(i=3|i=5)
12、continue;if (i=6) break;i+;s+=i;printf("%dn",s);程序运行后的输出结果是 。A10B13C21D程序进入死循环(26) 运行以下程序,输入ADescriptor<CR>(<CR>表示回车),则输出结果是 。#include <stdio.h>main()char c;int v1=0,v2=0;doswitch(c=getchar()case 'A':case 'e':case 'i':case 'o':default:v1=v1
13、+1;v2+=1;while(c!='n');printf("v1=%d,v2=%dn",v1,v2);A)v1=0,v2=0B)v1=4,v2=4C)v1=11,v2=11D)v1=12,v2=12(27) 若a 、b均为int型变量且a=100,则对以下for循环语句的正确判断是 。for (b=100 ; a!= b; +a,b+) printf ( "-n"); A)循环体只执行一次B)是死循环C)循环体一次也不执行D)以上说法都不对(28) 以下程序运行后的输出结果是 。#include <stdio.h>void
14、main() int n=2,k=0;while(k+&&n+>2);printf(“%d %dn”,k,n);A)1 2B)1 3C)5 7D)0 2(29) 判断字符串s1是否大于字符串s2,应当使用 【10】 。A)if(s1>s2)B)if(strcmp(s1,s2)C)if(strcmp(s2,s1)>0)D)if(strcmp(s1,s2)>0)(30) 若有以下语句,则正确的描述是 。char x = " 12345"char y ='1','2','3','4
15、39;,'5'A)x数组和y数组的长度相同B)x数组长度大于y数组的长度C)x数组长度小于y数组的长度D)x数组等价于y数组(31) 下列选项中,能正确定义数组的语句是 。A)int num0.2008;B)int num;C)int N=2008;int numN;D)#define N 2008int numN;(32) 下列关于输出函数的说法中,不正确的 。A)putchar()函数只能输出一个字符B)printf()函数在输出整数时,使用"%f "格式控制符C)scanf()函数既可以输入数值,也可以输入字符串D)strcpy()函数可以实现字符串拷
16、贝(33) 若有以下定义 int x10, *pt=x; 则对x数组元素的正确引用是 。A)*&x10B)*(x+3)C)*(pt+10)D)pt+3 (34) 为了判断两个字符串s1和s2是否相等,应当使用 。A)if (s1= =s2) B)if (s1=s2)C)if ( strcpy (s1,s2) ) D)if ( strcmp( s1,s2)= =0 )(35) 现有如下定义语句 int *p,s20,i; p=s; 表示数组元素si的表达式不正确的是 。A)*(s+i)B)*(p+i)C)*(s=s+i)D)*(p=p+i) (36) 设有定义double a10,*s=
17、a;,以下能够代表数组元素a3的是 。A)(*s)3B)*(s+3)C)*s3D)*s+3(37) 以下程序的运行结果是 。 #include <stdio.h>struct st int x, y; data2=1,10,2,20;main() struct st *p=data;printf("%d,", p->y); printf("%dn",(+p)->x); A)10,1B)20,1 C)10,2D)20,2有以下程序运行后的输出结果是 。#include <stdio.h>void fun(char *c,
18、int d)*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main()char b='a',a='A'fun(&b,a);printf("%c,%cn",b,a);A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(38) 有以下程序#include <stdio.h>#include <string.h>struct A int a; char b10; double c;void f(struct A t);main() struct A
19、a=1001,"ZhangDa",1098.0;f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);void f(struct A t) t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;程序运行后的输出结果是 A 。A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.0D)1002,ZhangDa,1202.0(39) 以下程序的输出结果是 。 #include "stdio
20、.h" void fun(int x) printf("%dn",+x); void main() fun(12+5); A)12B)13C)17D)18(40) 以下叙述中不正确的是 。A)在不同的函数中可以使用相同的名字的变量B)函数中的形式参数是局部变量C)在一个函数内的复合语句中定义的变量在本函数范围内有效D)在一个函数内定义的变量只在本函数范围内有效填空题(1) C语言中最重要的一个函数是 main ,缺少该函数程序就无法运行。(2) 若有代数式:,则正确的C语言表达式为: x*x/(3*x-5*y) 。 (3) 设a=2,b=3,x=3.5,y=2.5
21、;算术表达式(float)(a+b)/2+(int)x%(int)y的值是 3.5 。(4) 若定义了一个指针变量int a=90,*p,假设p=&a ,则执行*p的值为 90 。(5) 在逻辑运算符 !、&&、|中,运算优先级别最高的是 ! 。(6) 表示年份y是闰年(能被4整除但不能被100整除或者能被400整除为闰年)的逻辑表达式为 y%4=0 && y%100!=0 | y%400=0 。(7) C语言中数组的起始下标默认为 0 。(8) 若x,y是int型变量,x=100,y=200 ,则程序段printf("%d",(x,
22、y);的输出是 200 。(9) break语句可以用在循环语句和 switch 语句中。(10) 定义数组int a10,则从键盘读入数组a的最后一个元素的语句是 scanf(“%d”,&a9 ); 。(11) 若有声明”int i=7;float x=3.1416;double y=3;”,则表达式i+a*x+i/y值的类型是 double 型。(12) 与数学算式等价的C语言表达式是 sqrt(abs(a-b)/(3*(a+b) 。(13) 设x为int型变量,请写出一个关系表达式 (x%3=0) &&(x%7=0) ,用以判断x同时为3和7的倍数时,关系表达式的
23、值为真。(14) 设x,y,z,k都是int型变量,当执行表达式x=(y=4,z=16,k=32)之后x的值为 32 。(15) 设char类型的数据长度为1个字节,则unsigned char类型数据的取值范围是 0255 。(16) 以下程序段的输出结果是: 1 0 。int a=-1,b=1;if (+a<0) && !(b-<=0)printf("%d %d",a,b);elseprintf("%d %d",b,a);(17) 以下程序的输出结果为 6 。 #include<s
24、tdio.h> void main() int k=5,n=0; while(k>0) switch(k) case 1: case 3:n+=1;k-;break;
25、0; default:n=0;k-; case 2: case 4: n+=2;k-;break; printf("%3d",n);
26、 (18) 以下程序运行后的输出结果是 1 。#include<stdio.h>void main()int i,j,m=1;for(i=1;i<3;i+)for(j=3;j>0;j-)if (i*j)>3)break;m=i*j;printf("m=%dn",m);(19) 运行下列程序,若输入are(回车),则输出结果为 Compare 。#include <stdio.h>void main() char str100="Computer" char *p=str; scanf("%s"
27、,p+4); puts(str);(20) 以下程序段的输出结果为 15 。注意:*运算优先级高于条件运算#include<stdio.h>#define MIN(x,y) (x)<(y)? (x):(y)void main() int i,j,k;i=10; j=15;k=10*MIN(i,j);printf("%dn",k);(21) 完善下列程序,计算sum=1+(1+2)+(1+2+3)+(1+2+3+n)的值。#include <stdio.h>main() int n,s,sum=0; scanf("%d",&a
28、mp;n); for(int i=1;i<=n;i+) s=0 ; for(int j=1;j<=i; j+ ) s+=j ; sum+=s; printf("%d",sum);(22) 完善下列程序,要求完成输入一个长度小于100的字符串,统计该字符串中大写字母、小写字母、数字及其他字符的个数。#include "stdio.h"void main() char str100; int i,big=0,small= 0,num= 0,other=0; printf("please input string:"); get
29、s(str); for(i= 0;stri;i+) if(stri>='A'&&stri<='Z') big+; else if(stri>='a' && stri<='z') small+; else if( stri>='0' && stri<='9' ) num+; else other+; printf("big= %d, small=%d,num=%d,other= %dn", big,
30、 small, num, other);(23) 完善下列程序,要求从键盘输入10个整数,使用冒泡法升序排序后输出该数组。#include "stdio.h"void main() int a10; int i,j,t; printf("请输入10个数:");for(i= 0;i<10;i+) scanf("%d",&ai);for(i= 0;i<9;i+) for(j=0; j<9-i ;j+) if( aj>aj+1 ) t=aj; aj=aj+1; aj+1=t; printf("排序后:n");for(i= 0;i<10;i+) for(j=0;j<4;j+) printf("%d",aij); (24) 完善下列程序,将一个数组中的数据奇数放在前面,偶数放在后面。#include <stdio.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45981.1-2025重型燃气轮机用大型铸锻件第1部分:钢质自由锻件
- 2024-2025学年临床执业医师考前冲刺练习试题附答案详解【基础题】
- 2025石油石化职业技能鉴定考试预测复习含答案详解(能力提升)
- 婴幼儿秋季腹泻的生理易感因素深度剖析
- 外墙装修工程合同(标准版)
- 2024年会计硕士能力提升B卷题库及参考答案详解(考试直接用)
- 2025年私人银行业务客户服务模式优化与创新研究报告
- 2025年建筑信息模型(BIM)在工程项目全过程管理中的项目可持续发展报告
- 2025年社区团购市场用户留存与社区电商模式研究报告
- 2025年环保产业技术创新与产业升级新能源利用研究报告
- 2025年秋人教版(2024)初中数学八年级第一学期教学计划及教学进度表
- 2025年全国计算机等级考试三级网络技术模拟题及答案
- 软件行业基础知识培训课件
- GB 46039-2025混凝土外加剂安全技术规范
- 传染病医院质量控制检查标准表
- 卷烟零售户培训课件
- 刑事诉讼法案例课件
- 2025年杭州市上城区九堡街道社区卫生服务中心招聘编外4人笔试备考试题及答案解析
- 2025年煤矿从业人员安全培训考试题库及答案
- 医院净化空调系统基本知识
- 内蒙锡林郭勒盟卫生系统招聘考试(护理学专业知识)题含答案2024年
评论
0/150
提交评论