版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《二级C语言》模拟题与参考答案单项选择题1.以下叙述中正确的是()A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数答案:C分析:C程序从main函数开始执行,结束于main函数,main是固定的主函数名,不能由用户随意指定其他函数为主函数,也不能将main作为普通用户标识符。2.以下选项中不合法的标识符是()A.printB.FORC.&aD._00答案:C分析:标识符由字母、数字和下划线组成,且不能以数字开头,不能是C语言关键字,&是非法字符,所以&a不合法。3.以下定义语句中正确的是()A.inta=b=0;B.charA=65+1,b='b';C.floata=1,b=&a,c=&b;D.doublea=0.0;b=1.1;答案:B分析:A选项不能连续赋值;C选项中c是二级指针,&b类型不匹配;D选项b未定义就使用。4.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()A.2.500000B.2.750000C.3.500000D.0.000000答案:A分析:先算a%3=1,(int)(x+y)=7,17=7,7%2=1,1/4=0,最后x+0=2.5。5.有以下程序```cinclude<stdio.h>intmain(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c!=3)printf("%d,%d,%dn",a,b,c);elseprintf("%d,%d,%dn",a,b,c);elseprintf("%d,%d,%dn",a,b,c);return0;}```程序运行后的输出结果是()A.1,2,3B.1,3,2C.1,3,3D.3,2,1答案:C分析:第一个if条件成立,b自增为3,第二个if中b!=2成立,||运算有真则真,c不执行,所以输出1,3,3。6.有以下程序```cinclude<stdio.h>intmain(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j){if(ij>3)break;m=ij;}}printf("m=%dn",m);return0;}```程序运行后的输出结果是()A.m=6B.m=2C.m=4D.m=5答案:A分析:外层循环两次,内层循环当i=1时,j从3到1,m依次乘13、12、11;当i=2时,j=3时ij=6跳出内层循环,最终m=6。7.若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是()A.a[0][4]B.a[1][3]C.a[0][3]D.a[1][4]答案:B分析:二维数组按行优先存储,前一行6个元素,第10个元素在第二行第4个(下标从0开始),即a[1][3]。8.有以下程序```cinclude<stdio.h>voidfun(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n1i];a[n1i]=t;}}intmain(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti;fun(b,10);for(i=0;i<10;i++)printf("%d,",b[i]);printf("n");return0;}```程序运行后的输出结果是()A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.9,8,7,6,5,4,3,2,1,0,D.0,1,2,3,4,5,6,7,8,9,答案:B分析:fun函数的功能是将数组元素逆置,所以输出为10,9,8,7,6,5,4,3,2,1。9.有以下程序```cinclude<stdio.h>intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}intmain(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%dn",s);return0;}```程序运行后的输出结果是()A.45B.50C.60D.55答案:C分析:静态变量sum只初始化一次,第一次调用fun计算a数组元素和为15,第二次调用时sum接着累加b数组元素和30,最终s=15+45=60。10.以下关于指针的叙述正确的是()A.指针变量只能通过赋值运算来获得地址值B.指针变量中存储的是内存单元的地址C.指针变量的类型必须与所指向变量的类型相同D.指针变量可以直接参与算术运算答案:B分析:指针变量可以通过取地址运算符&获得地址值,A错误;指针变量类型与所指向变量类型要兼容,不一定完全相同,C错误;指针变量参与算术运算有特定规则,不是直接参与,D错误。11.有以下程序```cinclude<stdio.h>intmain(){chars[]="012xy08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%dn",n);return0;}```程序运行后的输出结果是()A.0B.3C.7D.8答案:B分析:字符串遇到'0'结束,统计'0'前数字字符个数为3。12.有以下程序```cinclude<stdio.h>include<string.h>intmain(){charstr[][20]={"OneWorld","OneDream!"},p=str[1];printf("%d,",strlen(p));printf("%sn",p);return0;}```程序运行后的输出结果是()A.9,OneWorldB.9,OneDream!C.10,OneDream!D.10,OneWorld答案:B分析:p指向str[1],即"OneDream!",其长度为9。13.有以下程序```cinclude<stdio.h>intfun(inta[],intn){if(n>1)returna[0]+fun(a+1,n1);elsereturna[0];}intmain(){inta[]={1,2,3,4,5};ints=fun(a,5);printf("%dn",s);return0;}```程序运行后的输出结果是()A.15B.14C.11D.10答案:A分析:fun函数是递归计算数组元素和,最终结果为1+2+3+4+5=15。14.若有以下结构体定义```cstructstudent{intnum;charname[20];floatscore;};```则以下定义结构体变量的语句中不正确的是()A.structstudents1;B.structstudents2={1001,"ZhangSan",85.5};C.structstudents3={1002,"LiSi"};D.structstudent{intnum;charname[20];floatscore;}s4;答案:C分析:初始化结构体变量时,提供的初始值个数要与结构体成员个数匹配,C选项缺少score的初始化值。15.有以下程序```cinclude<stdio.h>structSTU{intnum;floatTotalScore;};voidf(structSTUp){structSTUs[2]={{1002,90.0},{1004,85.0}};p.num=s[1].num;p.TotalScore=s[1].TotalScore;}intmain(){structSTUs[2]={{1001,80.0},{1003,85.0}};f(s[0]);printf("%d%.2fn",s[0].num,s[0].TotalScore);return0;}```程序运行后的输出结果是()A.100180.00B.100485.00C.100290.00D.100385.00答案:A分析:函数f中是值传递,对形参p的修改不影响实参s[0],所以输出s[0]原来的值。16.以下关于文件操作的叙述正确的是()A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对文件操作顺序没有统一规定D.以上说法都不对答案:B分析:在对文件进行读写等操作前,必须先打开文件,操作结束后再关闭文件。17.有以下程序```cinclude<stdio.h>intmain(){FILEfp;inti,a[6]={1,2,3,4,5,6};fp=fopen("data.dat","w");for(i=0;i<6;i++)fprintf(fp,"%dn",a[i]);fclose(fp);return0;}```该程序的功能是()A.将数组a中的6个整数写入文件data.datB.从文件data.dat中读取6个整数C.向文件data.dat中追加6个整数D.以上说法都不对答案:A分析:以"w"模式打开文件,将数组a中的元素依次写入文件data.dat。18.以下能正确定义一维数组的选项是()A.inta[5]={0,1,2,3,4,5};B.chara[]={'0','1','2','3','4','5'};C.chara={'A','B','C'};D.inta[5]="0123";答案:B分析:A选项初始化元素个数超过数组大小;C选项a是字符变量,不是数组;D选项不能用字符串初始化整型数组。19.有以下程序```cinclude<stdio.h>intmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%dn",a,b);return0;}```程序运行后的输出结果是()A.a=1,b=0B.a=2,b=1C.a=1,b=1D.a=2,b=2答案:B分析:外层switch进入case1,内层switch进入case0,a自增为1,由于没有break,继续执行case2,a和b都自增,所以a=2,b=1。20.有以下程序```cinclude<stdio.h>intmain(){inti;for(i=1;i<=40;i++){if(i%5==0&&i%8==0)printf("%d",i);}printf("n");return0;}```程序运行后的输出结果是()A.40B.24C.32D.无输出答案:A分析:找出1到40中能同时被5和8整除的数,即40。21.若有定义:inta[10];,则对a数组元素的正确引用是()A.a[10]B.a[3.5]C.a(5)D.a[1010]答案:D分析:数组下标从0到9,A选项越界;B选项下标不能是浮点数;C选项引用方式错误。22.有以下程序```cinclude<stdio.h>voidswap(inta,intb){intt;t=a;a=b;b=t;}intmain(){intx=3,y=5;swap(&x,&y);printf("%d%dn",x,y);return0;}```程序运行后的输出结果是()A.35B.53C.33D.55答案:B分析:swap函数通过指针交换了x和y的值。23.有以下程序```cinclude<stdio.h>include<string.h>intmain(){charstr1[10]="abc",str2[10]="ABC",str3[10];strcpy(str3,strcat(str1,str2));printf("%sn",str3);return0;}```程序运行后的输出结果是()A.abcABCB.ABCabcC.abcD.ABC答案:A分析:strcat函数将str2连接到str1后面,strcpy函数将连接后的字符串复制到str3中。24.有以下程序```cinclude<stdio.h>intfun(intx){staticintsum=0;sum+=x;returnsum;}intmain(){inti,a;for(i=1;i<=3;i++){a=fun(i);printf("%d",a);}printf("n");return0;}```程序运行后的输出结果是()A.123B.136C.333D.149答案:B分析:静态变量sum累加每次传入的i值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年天津市大港区医疗系统事业编人员招聘笔试参考题库及答案详解
- 2026年忻州市忻府区工会人员招聘考试参考题库及答案详解
- 2026年伊春市新青区政务服务中心(窗口人员)招聘笔试备考试题及答案详解
- 2026年开封市顺河回族区政务服务中心(窗口人员)招聘笔试参考试题及答案详解
- 2026年福建省漳州市工会人员招聘笔试模拟试题及答案详解
- 2026年渭南市临渭区工会人员招聘考试备考试题及答案详解
- 2026年广东省河源市政务服务中心(窗口人员)招聘笔试备考题库及答案详解
- 英语语法:it 作形式主语和形式宾语 的用法
- 2026年江西省上饶市医疗系统事业编人员招聘笔试参考题库及答案详解
- 2026年吉林市船营区工会人员招聘考试参考题库及答案详解
- 2026年恩施利川市城区学校公开遴选教师120人笔试参考题库及答案详解
- 2026年安全生产教育培训考试试题含答案
- 2025年云南卫生系统招聘(会计基础知识)考试综合能力测试题及答案
- 养老院章程范本2016
- DB52T 1283-2018 精准扶贫 农村“组组通”硬化路建设与管理养护规范
- 车厢维修合同范本
- CSAE标准-汽车整车气动声学风洞风噪试验-车内风噪测量方法编制说明
- (高清版)JTG 3810-2017 公路工程建设项目造价文件管理导则
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 安徽省蚌埠市蚌山区2023-2024学年八年级上学期月考数学试题
- SFSP5660锤片式粉碎机使用说明书
评论
0/150
提交评论